privateboard 0.1.18 → 0.1.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/version.d.ts CHANGED
@@ -12,6 +12,6 @@
12
12
  * number ends up surfaced in the user-facing footer or banner. Keep
13
13
  * this file as the canonical source — every callsite reads from here.
14
14
  */
15
- declare const VERSION = "0.1.18";
15
+ declare const VERSION = "0.1.19";
16
16
 
17
17
  export { VERSION };
package/dist/version.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  // src/version.ts
4
- var VERSION = "0.1.18";
4
+ var VERSION = "0.1.19";
5
5
  export {
6
6
  VERSION
7
7
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/version.ts"],"sourcesContent":["/**\n * Single source of truth for the app version.\n *\n * Imported by `cli.ts` (CLI banner / `--version`), `server.ts` (the\n * `/health` payload + the `/api/version` endpoint), and bundled into\n * the frontend via the version endpoint. Bump alongside `package.json`\n * on every release — the existing `npm version <patch|minor|major>`\n * + commit pattern updates package.json automatically; this file\n * needs the matching manual bump.\n *\n * If two strings drift (bumped one but not the other), the wrong\n * number ends up surfaced in the user-facing footer or banner. Keep\n * this file as the canonical source — every callsite reads from here.\n */\nexport const VERSION = \"0.1.18\";\n"],"mappings":";;;AAcO,IAAM,UAAU;","names":[]}
1
+ {"version":3,"sources":["../src/version.ts"],"sourcesContent":["/**\n * Single source of truth for the app version.\n *\n * Imported by `cli.ts` (CLI banner / `--version`), `server.ts` (the\n * `/health` payload + the `/api/version` endpoint), and bundled into\n * the frontend via the version endpoint. Bump alongside `package.json`\n * on every release — the existing `npm version <patch|minor|major>`\n * + commit pattern updates package.json automatically; this file\n * needs the matching manual bump.\n *\n * If two strings drift (bumped one but not the other), the wrong\n * number ends up surfaced in the user-facing footer or banner. Keep\n * this file as the canonical source — every callsite reads from here.\n */\nexport const VERSION = \"0.1.19\";\n"],"mappings":";;;AAcO,IAAM,UAAU;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "privateboard",
3
- "version": "0.1.18",
3
+ "version": "0.1.19",
4
4
  "description": "PrivateBoard · your private board meeting, on call. Local-first, multi-agent thinking amplifier.",
5
5
  "type": "module",
6
6
  "main": "electron-entry.cjs",
package/public/home.html CHANGED
@@ -370,6 +370,114 @@
370
370
  }
371
371
  @media (max-width: 700px) { .section { padding: 24px 18px; } }
372
372
 
373
+ /* ─── Mac download card · sits at the top of `#install` as the
374
+ primary install path for macOS users. Spans both grid columns
375
+ so the lime download button reads as the section's hero CTA.
376
+ Brutalist register · hairline border + bracketed corner marks
377
+ (lime ones, same vocabulary as `.install` / `.hero-right` /
378
+ `.final-cta`), mono kicker + meta, generous click target. */
379
+ .install-mac {
380
+ grid-column: 1 / -1;
381
+ display: flex;
382
+ align-items: center;
383
+ gap: 24px;
384
+ padding: 22px 26px;
385
+ background: var(--bg);
386
+ border: 1px solid var(--line-bright);
387
+ position: relative;
388
+ flex-wrap: wrap;
389
+ }
390
+ .install-mac::before,
391
+ .install-mac::after {
392
+ content: "";
393
+ position: absolute;
394
+ width: 10px; height: 10px;
395
+ border: 1px solid var(--lime);
396
+ }
397
+ .install-mac::before {
398
+ top: -1px; left: -1px;
399
+ border-right: none; border-bottom: none;
400
+ }
401
+ .install-mac::after {
402
+ bottom: -1px; right: -1px;
403
+ border-left: none; border-top: none;
404
+ }
405
+ .install-mac-meta {
406
+ flex: 1 1 320px;
407
+ min-width: 0;
408
+ }
409
+ .install-mac-kicker {
410
+ font-family: var(--mono);
411
+ font-size: 10px;
412
+ letter-spacing: 0.22em;
413
+ color: var(--lime);
414
+ text-transform: uppercase;
415
+ font-weight: 700;
416
+ margin-bottom: 8px;
417
+ }
418
+ .install-mac-kicker::before { content: "▸ "; }
419
+ .install-mac-title {
420
+ font-size: 22px;
421
+ font-weight: 700;
422
+ color: var(--text);
423
+ letter-spacing: -0.005em;
424
+ margin-bottom: 6px;
425
+ line-height: 1.2;
426
+ }
427
+ .install-mac-sub {
428
+ font-family: var(--mono);
429
+ font-size: 11px;
430
+ color: var(--text-soft);
431
+ letter-spacing: 0.06em;
432
+ display: flex;
433
+ flex-wrap: wrap;
434
+ gap: 6px 8px;
435
+ align-items: center;
436
+ }
437
+ .install-mac-sub .im-sep { color: var(--text-faint); }
438
+ .install-mac-sub .im-ok {
439
+ color: var(--lime);
440
+ /* Bracketed `[ ✓ ]` mark reused from `.install-bullet` vocabulary
441
+ — same visual cue for "verified / passes". */
442
+ }
443
+ .install-mac-btn {
444
+ display: inline-flex;
445
+ align-items: center;
446
+ gap: 10px;
447
+ padding: 14px 22px;
448
+ background: var(--lime);
449
+ color: var(--bg);
450
+ border: 1px solid var(--lime);
451
+ font-family: var(--mono);
452
+ font-size: 13px;
453
+ font-weight: 700;
454
+ letter-spacing: 0.14em;
455
+ text-transform: uppercase;
456
+ text-decoration: none;
457
+ transition: background 0.12s, color 0.12s, border-color 0.12s, transform 0.12s;
458
+ white-space: nowrap;
459
+ flex-shrink: 0;
460
+ }
461
+ .install-mac-btn:hover {
462
+ background: var(--bg);
463
+ color: var(--lime);
464
+ }
465
+ .install-mac-btn:active { transform: translateY(1px); }
466
+ .install-mac-btn .im-btn-mark {
467
+ font-size: 16px;
468
+ line-height: 1;
469
+ }
470
+ /* Mobile: stack meta above button, full-width button so it remains
471
+ a clear primary CTA on narrow screens. */
472
+ @media (max-width: 700px) {
473
+ .install-mac { padding: 18px 18px; gap: 16px; }
474
+ .install-mac-btn {
475
+ width: 100%;
476
+ justify-content: center;
477
+ padding: 14px 18px;
478
+ }
479
+ }
480
+
373
481
  /* ─── Install module · terminal-flavored ─── */
374
482
  .install {
375
483
  background: var(--panel);
@@ -1868,6 +1976,33 @@
1868
1976
 
1869
1977
  <!-- ─────────── INSTALL · LOCAL-FIRST ─────────── -->
1870
1978
  <section class="install bracketed" id="install">
1979
+ <!-- Mac download card · primary install path for macOS users.
1980
+ Sits above the terminal install card so it's the first thing
1981
+ the eye lands on inside the install section. CLI install
1982
+ (npx / npm) lives in the existing 2-col grid below for users
1983
+ who'd rather run from the terminal. -->
1984
+ <div class="install-mac">
1985
+ <div class="install-mac-meta">
1986
+ <div class="install-mac-kicker">macOS · desktop app</div>
1987
+ <div class="install-mac-title">PrivateBoard.app</div>
1988
+ <div class="install-mac-sub">
1989
+ <span>v0.1.18</span>
1990
+ <span class="im-sep">·</span>
1991
+ <span>Apple Silicon</span>
1992
+ <span class="im-sep">·</span>
1993
+ <span>123 MB</span>
1994
+ <span class="im-sep">·</span>
1995
+ <span class="im-ok">[ ✓ ] signed &amp; notarized</span>
1996
+ </div>
1997
+ </div>
1998
+ <a href="https://github.com/kaysaith1900/privateboard/releases/download/v0.1.18/PrivateBoard-0.1.18-arm64.dmg"
1999
+ class="install-mac-btn"
2000
+ download>
2001
+ <span class="im-btn-mark">↓</span>
2002
+ <span class="im-btn-text">Download .dmg</span>
2003
+ </a>
2004
+ </div>
2005
+
1871
2006
  <div class="install-head">
1872
2007
  <div class="install-tag">▸ install · runs locally</div>
1873
2008
  <h2 class="install-title">Bring PrivateBoard to your terminal.</h2>
package/public/index.html CHANGED
@@ -11428,6 +11428,14 @@
11428
11428
  display: grid !important;
11429
11429
  align-content: center !important;
11430
11430
  justify-items: stretch !important;
11431
+ /* `.chat` reserves 140 px of bottom padding for the floating
11432
+ `.ib-stack` (input-bar + speaking-queue strips). The
11433
+ new-room / new-agent composers don't mount an `.ib-stack` —
11434
+ the composer's own `.cmp-toolbar` IS the input row — so
11435
+ inheriting 140 px just pushes the composer off-centre by
11436
+ ~70 px. Reset to a balanced gutter that matches the top
11437
+ padding for visual symmetry. */
11438
+ padding-bottom: 14px !important;
11431
11439
  }
11432
11440
  .chat.chat--composer > [data-chat-messages] {
11433
11441
  width: 100% !important;
package/public/ppt.html CHANGED
@@ -395,6 +395,17 @@
395
395
  margin-top: 12px;
396
396
  }
397
397
 
398
+ /* Agenda slide body · top-align so a long list can't push the
399
+ "What we'll cover" headline above the slide's top edge. The
400
+ default `.ant-body` rule centres content vertically, which makes
401
+ the headline drift up out of `overflow: hidden` when there are
402
+ many agenda items. Clipping the BOTTOM of an overflowing list is
403
+ the lesser evil; clipping the TITLE of the slide is unforgivable. */
404
+ .ant-slide:has(.ant-agenda) .ant-body {
405
+ justify-content: flex-start;
406
+ padding-top: 96px;
407
+ }
408
+
398
409
  /* Agenda · decimal-leading-zero markers in italic serif */
399
410
  .ant-agenda {
400
411
  list-style: none;
@@ -404,6 +415,11 @@
404
415
  grid-template-columns: 1fr 1fr;
405
416
  gap: 6px 36px;
406
417
  counter-reset: aagenda;
418
+ /* `min-height: 0` lets the grid track shrink when the slide is
419
+ short; without it the implicit `min-height: auto` (== content
420
+ height) refuses to shrink and forces the body taller than the
421
+ slide — which makes the headline disappear behind the chrome. */
422
+ min-height: 0;
407
423
  }
408
424
  .ant-agenda li {
409
425
  display: grid;
@@ -1030,6 +1046,14 @@
1030
1046
  .key-deck { font-size: 19px; }
1031
1047
  }
1032
1048
 
1049
+ /* Agenda slide body · same top-align fix as the anthropic variant.
1050
+ A long agenda list can't push the "What we'll cover" headline
1051
+ above the slide's top edge with `justify-content: center`. */
1052
+ .key-slide:has(.key-agenda) .key-body {
1053
+ justify-content: flex-start;
1054
+ padding-top: 88px;
1055
+ }
1056
+
1033
1057
  /* Agenda · centered short list */
1034
1058
  .key-agenda {
1035
1059
  list-style: none;
@@ -1039,6 +1063,7 @@
1039
1063
  flex-direction: column;
1040
1064
  gap: 8px;
1041
1065
  counter-reset: kagenda;
1066
+ min-height: 0;
1042
1067
  }
1043
1068
  .key-agenda li {
1044
1069
  display: grid;