@siegesailor/terminal-sigma 1.4.0 → 1.5.0

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/README.md CHANGED
@@ -10,7 +10,7 @@ Terminal-Sigma is a terminal-based application that gives game-style feedback on
10
10
 
11
11
  | Component | What It Does |
12
12
  | --------------------- | ------------------------------------------------------------------------------------------------------------- |
13
- | Character Progression | A pixel-art pet, shaped by your profile, dressed by your level, and woken up by what you log today |
13
+ | Character Progression | A pixel-art you, shaped by your profile, dressed by your level, and woken up by what you log today |
14
14
  | Everyday Quotes | An inspiring quote that refreshes on your schedule, filtered by category, author, or work |
15
15
  | Health | Your meals and workouts against daily targets worked out from your profile, with advice for the rest of today |
16
16
  | Logs | Every focus, meal, workout, and action you took, with the latest 4 in a Recent block under the menu |
@@ -50,7 +50,7 @@ Download the file for your system from the [latest release](https://github.com/S
50
50
  > xattr -dr com.apple.quarantine "/Applications/Terminal Sigma.app"
51
51
  > ```
52
52
 
53
- The desktop app opens the dashboard in its own window, sends a system notification when a focus or break ends, and uses your profile's name and the default timer options below.
53
+ The desktop app opens the dashboard in its own window, sends a system notification when a focus or break ends, and uses your profile's name and the default timer options below. It updates itself from **Software Update** in the menu.
54
54
 
55
55
  ## Usage
56
56
 
@@ -72,19 +72,20 @@ On the first run, it asks for your language and saves the answer in `progress.js
72
72
 
73
73
  The menu drives everything. It sits in 2 boxes: the items on the left, and on the right what the focused item does, which turns into its options once you press Enter:
74
74
 
75
- | Key | Item | Enter Opens |
76
- | --- | --------------- | ----------------------------------------------------------------------------------------- |
77
- | `1` | Everyday Quotes | A new quote, and the settings below |
78
- | `2` | Tomato Timer | Start a focus, or pause, resume, or stop the running one |
79
- | `3` | Health | Today's targets and advice, then log a meal or a workout |
80
- | `4` | Logs | Every log and action, newest first, with a filter per kind |
81
- | `5` | Profile | Your name, age, height, weight, gender, work style, and health goal, showing saved values |
82
- | `6` | Theme | The color tone of the dashboard and your pet, previewing each one as the cursor moves |
83
- | `7` | Language | English, Traditional Chinese, or Korean |
75
+ | Key | Item | Enter Opens |
76
+ | --- | --------------- | ------------------------------------------------------------------------------------------- |
77
+ | `1` | Everyday Quotes | A new quote, and the settings below |
78
+ | `2` | Tomato Timer | Start a focus, or pause, resume, or stop the running one |
79
+ | `3` | Health | Today's targets and advice, then log a meal or a workout |
80
+ | `4` | Logs | Every log and action, newest first, with a filter per kind |
81
+ | `5` | Profile | Your name, age, height, weight, gender, work style, and health goal, showing saved values |
82
+ | `6` | Theme | The color tone of the dashboard and your character, previewing each one as the cursor moves |
83
+ | `7` | Language | English, Traditional Chinese, or Korean |
84
+ | `8` | Software Update | The version you run and the newest one, with an update when there is one |
84
85
 
85
86
  A meal asks for the food, its calories, and its protein; a workout asks for the activity, its minutes, and its intensity, one at a time. The food field suggests as you type, your past meals first and then 112 common foods matched in any of the 3 languages, and picking one fills in its calories and protein. The activity offers your 3 latest workouts to repeat in 1 step. A stopped focus earns nothing.
86
87
 
87
- Everything else you do is logged too, without experience: opening the app, starting, pausing, resuming, or stopping a tomato, finishing a break, leveling up, drawing a quote, and changing the language, the theme, the profile, or a quote setting.
88
+ Everything else you do is logged too, without experience: opening the app, starting, pausing, resuming, or stopping a tomato, finishing a break, leveling up, drawing a quote, changing the language, the theme, the profile, or a quote setting, and updating.
88
89
 
89
90
  ### Everyday Quotes
90
91
 
@@ -102,17 +103,28 @@ Each setting is saved as soon as you choose it:
102
103
 
103
104
  Without an API key, the settings filter the 28 bundled quotes, which cover every category in all 3 languages, and fall back to all of them when nothing matches. With `API_NINJAS_KEY`, they become the query to API Ninjas.
104
105
 
105
- ### Pet
106
+ ### Character
106
107
 
107
- Your character is a pixel-art pet in the spirit of Claude Code's mascot. It wanders around its panel and switches to typing at a laptop, sipping from a cup, eating, running, lifting, or stretching to match what you do. 3 things shape it:
108
+ Your character is a pixel-art you, standing on its own shadow. It wanders around its panel, looks about, and switches to typing at a desk, sipping a coffee, eating, running, lifting, or stretching to match what you do. 3 things shape it:
108
109
 
109
- | Shaped By | What Changes |
110
- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
111
- | Level | It grows at levels 4 and 7, and gains 1 piece of gear per level up to level 9: headphones, a scarf, a cap, an orb, an antenna, a cape, a crown, and sparkles |
112
- | Profile | Its size follows your height and its width your weight for that height; a bow, a tuft, or a sprout follows your gender |
113
- | Today's Logs | It naps until you log something, and beams once you meet your protein and exercise targets or finish 4 focus sessions; a tomato, an apple, and a dumbbell show what you logged |
110
+ | Shaped By | What Changes |
111
+ | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
112
+ | Level | 1 piece of gear per level up to level 9: headphones, a scarf, a cap, a backpack, a smartwatch, a jacket, a crown, and a medal |
113
+ | Profile | The height follows yours, and the build your weight for that height, from slim to heavy; gender sets the shoulders, hips, and hair, age greys the hair, and a muscle goal broadens the shoulders |
114
+ | Today's Logs | It dozes on its feet until you log something, and smiles and waves once you meet your protein and exercise targets or finish 4 focus sessions |
114
115
 
115
- Your health goal adds a sweatband to lose fat, a heart to maintain, bigger arms to build muscle, or sneakers for endurance.
116
+ Your work style dresses it: a hoodie and jeans at a desk, a shirt and an apron when standing, a tee and cargo pants when active, and a tank top and shorts as an athlete.
117
+
118
+ ### Software Update
119
+
120
+ **Software Update** shows the version you run and the newest one, and checks once on start so the menu can tell you when there is a newer one. Choosing the update installs it, and **Restart now** starts the new version in place:
121
+
122
+ | Running As | How It Updates |
123
+ | ---------- | -------------------------------------------------------------------------------------------------- |
124
+ | CLI | `npm install --global @siegesailor/terminal-sigma@<version>`, then the same command starts again |
125
+ | Desktop | Downloads this system's file from the release, swaps it in for the running app, and opens it again |
126
+
127
+ The desktop app waits until the release has its file for your system, a few minutes after the CLI. On Linux it updates the AppImage, and on Windows it runs the installer silently.
116
128
 
117
129
  ### Health Targets
118
130
 
@@ -132,7 +144,7 @@ Every view shows its keys at the bottom right:
132
144
 
133
145
  | Key | Action |
134
146
  | ------------------------- | ------------------------------------------------------------------------ |
135
- | `1` to `7` | Jump to a menu item |
147
+ | `1` to `8` | Jump to a menu item |
136
148
  | Arrows or `h` `j` `k` `l` | Move through the menu, a list, a suggestion, or the log filters |
137
149
  | Enter | Open the item, choose the option, or go to the next field |
138
150
  | Esc | Go back to the menu, or out of a quote setting, without logging anything |
@@ -208,7 +220,7 @@ Each setting takes 1 of a fixed set of values:
208
220
 
209
221
  | Field | Values |
210
222
  | -------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
211
- | `events.action` | `appOpened`, `breakOver`, `languageChanged`, `levelUp`, `profileSaved`, `quoteDrawn`, `quoteSettingsChanged`, `themeChanged`, `timerPaused`, `timerResumed`, `timerStarted`, or `timerStopped` |
223
+ | `events.action` | `appOpened`, `breakOver`, `languageChanged`, `levelUp`, `profileSaved`, `quoteDrawn`, `quoteSettingsChanged`, `themeChanged`, `timerPaused`, `timerResumed`, `timerStarted`, `timerStopped`, or `updateInstalled` |
212
224
  | `language` | `en`, `ko`, or `zh-TW` |
213
225
  | `profile.gender` | `female`, `male`, or `other` |
214
226
  | `profile.goal` | `buildMuscle`, `endurance`, `loseFat`, or `maintain` |
@@ -222,7 +234,7 @@ Each setting takes 1 of a fixed set of values:
222
234
 
223
235
  Every setting is optional, and files written by version 1 still load as they are.
224
236
 
225
- Every 100 XP is a level, and every level from level 2 to level 9 gives your pet 1 piece of gear. Experience is earned as follows:
237
+ Every 100 XP is a level, and every level from level 2 to level 9 gives your character 1 piece of gear. Experience is earned as follows:
226
238
 
227
239
  | Entry | Experience |
228
240
  | -------------- | --------------------------------------------------------------------- |
package/build/app.js CHANGED
@@ -11,13 +11,13 @@ import Footer from "./components/footer.js";
11
11
  import LogsView, { LogRow } from "./components/logs-view.js";
12
12
  import MultiChoice from "./components/multi-choice.js";
13
13
  import TodayPanel from "./components/today-panel.js";
14
- import { categoryOptionsOf, characterWidth, dietFieldsOf, intervalOptionsOf, layoutOf, menuEntriesOf, menuListWidth, menuOrder, petStateOf, profileFieldsOf, quoteOptionsOf, sectionsOf, workoutFieldsOf, } from "./content.js";
14
+ import { categoryOptionsOf, characterWidth, dietFieldsOf, intervalOptionsOf, layoutOf, menuEntriesOf, menuListWidth, menuOrder, moodOf, profileFieldsOf, quoteOptionsOf, sectionsOf, updateViewOf, workoutFieldsOf, } from "./content.js";
15
15
  import { adviceOf, targetsOf } from "./health.js";
16
16
  import { formatNumber, genders, healthGoals, intensities, languages, messagesOf, workoutActivities, workStyles, } from "./i18n.js";
17
17
  import { lookOf } from "./pixel-art.js";
18
18
  import { experienceOf, experiencePerMeal, levelOf, logsOf, saveProgress, todayOf, workoutExperience, } from "./progress.js";
19
19
  import { bundledQuotes, defaultQuoteSettings, fetchQuote, hasQuoteApi, localizedQuote, pickBundled, quoteCategories, quoteIntervals, } from "./quotes.js";
20
- import { paletteContext, themeNames, themes, uiThemeOf, } from "./theme.js";
20
+ import { paletteContext, spinnerFrames, themeNames, themes, uiThemeOf, } from "./theme.js";
21
21
  import { advanceTimer, formatClock, idleTimer, remainingOf, toggleTimer, } from "./timer.js";
22
22
  export const optionsSchema = zod.object({
23
23
  name: zod.string().min(1).optional(),
@@ -36,6 +36,7 @@ const languageOptions = languages.map((language) => ({
36
36
  label: messagesOf(language).languageName,
37
37
  value: language,
38
38
  }));
39
+ const errorText = (error) => error instanceof Error ? error.message : String(error);
39
40
  const pick = (options, value, fallback) => options.find((option) => option === value) ?? fallback;
40
41
  // Appends an event, so every action lands in the logs with the change it made.
41
42
  const withEvent = (progress, action, detail) => ({
@@ -68,7 +69,7 @@ function Titled({ title, children, }) {
68
69
  function Swatches({ palette }) {
69
70
  return (React.createElement(Text, null, Object.values(palette.metrics).map((color) => (React.createElement(Text, { key: color, color: color }, "\u2588\u2588")))));
70
71
  }
71
- export default function App({ options, file, initialProgress }) {
72
+ export default function App({ options, file, initialProgress, updater, }) {
72
73
  const { exit } = useApp();
73
74
  const { stdout } = useStdout();
74
75
  const size = useWindowSize();
@@ -96,6 +97,28 @@ export default function App({ options, file, initialProgress }) {
96
97
  text: messages.savedTo(file.replace(homedir(), "~")),
97
98
  tone: "info",
98
99
  }));
100
+ const [release, setRelease] = React.useState({ phase: "checking" });
101
+ // The latest progress, for work that finishes long after it started.
102
+ const latest = React.useRef(progress);
103
+ React.useEffect(() => {
104
+ latest.current = progress;
105
+ }, [progress]);
106
+ const lookUp = React.useCallback(async () => updater.newest().then((newest) => ({ phase: "ready", newest }), (error) => ({
107
+ phase: "checkFailed",
108
+ error: errorText(error),
109
+ })), [updater]);
110
+ // Looks for an update once on start, so the menu can say there is one.
111
+ React.useEffect(() => {
112
+ let isCurrent = true;
113
+ void lookUp().then((next) => {
114
+ if (isCurrent) {
115
+ setRelease(next);
116
+ }
117
+ });
118
+ return () => {
119
+ isCurrent = false;
120
+ };
121
+ }, [lookUp]);
99
122
  const say = (text, tone = "info") => {
100
123
  setMessage({ text, tone });
101
124
  };
@@ -353,6 +376,40 @@ export default function App({ options, file, initialProgress }) {
353
376
  }
354
377
  }
355
378
  };
379
+ const checkForUpdate = () => {
380
+ if (release.phase === "installed") {
381
+ return;
382
+ }
383
+ setRelease({ phase: "checking" });
384
+ void lookUp().then(setRelease);
385
+ };
386
+ const chooseUpdateAction = (value) => {
387
+ const { newest } = release;
388
+ if (value === "install" && newest) {
389
+ setRelease({ phase: "installing", newest });
390
+ updater.install(newest).then(() => {
391
+ setRelease({ phase: "installed", newest });
392
+ const { current } = latest;
393
+ commit(withEvent(current, "updateInstalled", newest), messagesOf(current.language ?? "en").update.installed(newest), "success");
394
+ }, (error) => {
395
+ setRelease({
396
+ phase: "installFailed",
397
+ newest,
398
+ error: errorText(error),
399
+ });
400
+ });
401
+ }
402
+ else if (value === "restart") {
403
+ updater.restart();
404
+ exit();
405
+ }
406
+ else if (value === "check") {
407
+ checkForUpdate();
408
+ }
409
+ else {
410
+ backToMenu();
411
+ }
412
+ };
356
413
  const openMenu = (value) => {
357
414
  const item = pick(menuOrder, value, "quotes");
358
415
  setFocusedMenu(item);
@@ -360,6 +417,9 @@ export default function App({ options, file, initialProgress }) {
360
417
  if (item === "theme") {
361
418
  setPreviewTheme(themeName);
362
419
  }
420
+ if (item === "update" && release.phase !== "installing") {
421
+ checkForUpdate();
422
+ }
363
423
  };
364
424
  const experience = experienceOf(progress);
365
425
  const level = levelOf(experience);
@@ -368,7 +428,7 @@ export default function App({ options, file, initialProgress }) {
368
428
  const columns = size.columns || 100;
369
429
  const rows = size.rows || 40;
370
430
  const layout = layoutOf(columns, rows);
371
- const pet = petStateOf(progress, now);
431
+ const mood = moodOf(progress, now);
372
432
  const activity = flash && flash.until > now
373
433
  ? flash.activity
374
434
  : view === "diet"
@@ -380,7 +440,7 @@ export default function App({ options, file, initialProgress }) {
380
440
  : "idle";
381
441
  let activityLabel = messages.activity[activity];
382
442
  if (activity === "idle") {
383
- activityLabel = messages.mood[pet.mood];
443
+ activityLabel = messages.mood[mood];
384
444
  }
385
445
  else if (activity === "levelUp") {
386
446
  activityLabel = `${messages.activity.levelUp} ${messages.level(level)}`;
@@ -398,6 +458,8 @@ export default function App({ options, file, initialProgress }) {
398
458
  theme: themeName,
399
459
  focus: durations.focus,
400
460
  rest: durations.break,
461
+ version: updater.current,
462
+ newest: release.newest,
401
463
  });
402
464
  const focusedEntry = entries.find((entry) => entry.key === focusedMenu) ?? entries[0];
403
465
  const isTyping = view === "diet" ||
@@ -451,7 +513,13 @@ export default function App({ options, file, initialProgress }) {
451
513
  },
452
514
  { label: messages.timer.stop, value: "stop" },
453
515
  ];
516
+ const updateView = updateViewOf(messages, release, updater);
454
517
  const panels = {
518
+ update: (React.createElement(Titled, { title: messages.menu.update },
519
+ React.createElement(Text, null, messages.update.current(updater.current)),
520
+ React.createElement(Text, { color: release.phase.endsWith("Failed") ? palette.error : palette.soft }, updateView.status),
521
+ React.createElement(Text, { dimColor: true }, messages.update.via[updater.source]),
522
+ React.createElement(Box, { marginTop: 1 }, release.phase === "installing" ? (React.createElement(Text, { color: palette.accent }, `${spinnerFrames[Math.floor(now / 1000) % spinnerFrames.length] ?? "·"} ${updateView.status}`)) : (React.createElement(Choice, { key: release.phase, options: updateView.options, onSelect: chooseUpdateAction }))))),
455
523
  quotes: (React.createElement(Titled, { title: messages.menu.quotes },
456
524
  React.createElement(Text, { dimColor: true, italic: true, wrap: "truncate-end" }, `“${shownQuote.quote}” — ${shownQuote.author}`),
457
525
  React.createElement(Box, { marginTop: 1 }, quoteEditor ? (React.createElement(Box, { key: quoteEditor }, quoteEditors[quoteEditor])) : (React.createElement(Choice, { key: "options", initialValue: quoteOption, options: quoteOptionsOf(messages, quoteSettings), onSelect: chooseQuoteOption }))))),
@@ -496,7 +564,7 @@ export default function App({ options, file, initialProgress }) {
496
564
  React.createElement(Text, { dimColor: true }, new Date(now).toTimeString().slice(0, 8))),
497
565
  React.createElement(Text, { dimColor: true, italic: true, wrap: "truncate-end" }, `“${shownQuote.quote}” — ${shownQuote.author}`)),
498
566
  React.createElement(Box, { flexDirection: layout.stacked ? "column-reverse" : "row", flexGrow: 1 },
499
- layout.showCharacter ? (React.createElement(Character, { activity: activity, badges: pet.badges, label: activityLabel, level: messages.level(level), levelNumber: level, look: lookOf(progress.profile), mood: pet.mood, name: name, width: characterWidth })) : null,
567
+ layout.showCharacter ? (React.createElement(Character, { activity: activity, label: activityLabel, level: messages.level(level), levelNumber: level, look: lookOf(progress.profile), mood: mood, name: name, width: characterWidth })) : null,
500
568
  layout.showToday && layout.todayBeside ? todayPanel : null,
501
569
  React.createElement(Box, { flexDirection: "column", width: layout.panelWidth },
502
570
  React.createElement(Box, { flexDirection: layout.isMenuSplit ? "row" : "column", flexGrow: 1 },
package/build/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../source/app.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../source/app.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env node
2
+ import { spawnSync } from "node:child_process";
2
3
  import process from "node:process";
3
4
  import React from "react";
4
5
  import { render } from "ink";
@@ -6,6 +7,7 @@ import meow from "meow";
6
7
  import zod from "zod";
7
8
  import App, { optionsSchema } from "./app.js";
8
9
  import { loadProgress, progressFile } from "./progress.js";
10
+ import { npmUpdater } from "./update.js";
9
11
  const cli = meow(`
10
12
  Usage
11
13
  $ siegesailor-terminal-sigma [options]
@@ -38,8 +40,20 @@ catch (error) {
38
40
  console.error(error instanceof Error ? error.message : error);
39
41
  process.exit(1);
40
42
  }
41
- render(React.createElement(App, { file: file, initialProgress: initialProgress, options: options.data }), {
43
+ let isRestarting = false;
44
+ const updater = npmUpdater(() => {
45
+ isRestarting = true;
46
+ });
47
+ const instance = render(React.createElement(App, { file: file, initialProgress: initialProgress, options: options.data, updater: updater }), {
42
48
  alternateScreen: true,
43
49
  incrementalRendering: true,
44
50
  });
51
+ await instance.waitUntilExit();
52
+ // After an update, the same command starts the version just installed.
53
+ if (isRestarting) {
54
+ const { status } = spawnSync(process.execPath, process.argv.slice(1), {
55
+ stdio: "inherit",
56
+ });
57
+ process.exit(status ?? 0);
58
+ }
45
59
  //# sourceMappingURL=command-line-interface.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"command-line-interface.js","sourceRoot":"","sources":["../source/command-line-interface.tsx"],"names":[],"mappings":";AACA,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,GAAG,EAAE,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE3D,MAAM,GAAG,GAAG,IAAI,CACf;;;;;;;;CAQA,EACA;IACC,UAAU,EAAE,MAAM,CAAC,IAAI;IACvB,iBAAiB,EAAE,KAAK;IACxB,KAAK,EAAE;QACN,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KACzB;CACD,CACD,CAAC;AAEF,MAAM,OAAO,GAAG,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAEnD,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IACtB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC;AAED,4EAA4E;AAC5E,MAAM,IAAI,GAAG,YAAY,EAAE,CAAC;AAC5B,IAAI,eAAe,CAAC;AAEpB,IAAI,CAAC;IACJ,eAAe,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IAChB,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC;AAED,MAAM,CACL,oBAAC,GAAG,IAAC,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,GAAI,EAC5E;IACC,eAAe,EAAE,IAAI;IACrB,oBAAoB,EAAE,IAAI;CAC1B,CACD,CAAC"}
1
+ {"version":3,"file":"command-line-interface.js","sourceRoot":"","sources":["../source/command-line-interface.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,GAAG,EAAE,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,GAAG,GAAG,IAAI,CACf;;;;;;;;CAQA,EACA;IACC,UAAU,EAAE,MAAM,CAAC,IAAI;IACvB,iBAAiB,EAAE,KAAK;IACxB,KAAK,EAAE;QACN,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KACzB;CACD,CACD,CAAC;AAEF,MAAM,OAAO,GAAG,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAEnD,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IACtB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC;AAED,4EAA4E;AAC5E,MAAM,IAAI,GAAG,YAAY,EAAE,CAAC;AAC5B,IAAI,eAAe,CAAC;AAEpB,IAAI,CAAC;IACJ,eAAe,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IAChB,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC;AAED,IAAI,YAAY,GAAG,KAAK,CAAC;AACzB,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;IAC/B,YAAY,GAAG,IAAI,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,MAAM,QAAQ,GAAG,MAAM,CACtB,oBAAC,GAAG,IACH,IAAI,EAAE,IAAI,EACV,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,OAAO,CAAC,IAAI,EACrB,OAAO,EAAE,OAAO,GACf,EACF;IACC,eAAe,EAAE,IAAI;IACrB,oBAAoB,EAAE,IAAI;CAC1B,CACD,CAAC;AAEF,MAAM,QAAQ,CAAC,aAAa,EAAE,CAAC;AAE/B,uEAAuE;AACvE,IAAI,YAAY,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QACrE,KAAK,EAAE,SAAS;KAChB,CAAC,CAAC;IACH,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;AAC3B,CAAC"}
@@ -2,7 +2,7 @@ import React from "react";
2
2
  import { Box, Text, useAnimation } from "ink";
3
3
  import { composeScene, intervalOf, paletteOf, toSegments, } from "../pixel-art.js";
4
4
  import { spinnerFrames, usePalette } from "../theme.js";
5
- export default function Character({ name, level, levelNumber, activity, look, mood, badges, label, width, }) {
5
+ export default function Character({ name, level, levelNumber, activity, look, mood, label, width, }) {
6
6
  const palette = usePalette();
7
7
  const { frame } = useAnimation({ interval: intervalOf(activity) });
8
8
  // Border and padding take 4 columns; the rest is the stage it roams.
@@ -12,7 +12,6 @@ export default function Character({ name, level, levelNumber, activity, look, mo
12
12
  level: levelNumber,
13
13
  look,
14
14
  mood,
15
- badges,
16
15
  width: width - 4,
17
16
  }), paletteOf(palette));
18
17
  return (React.createElement(Box, { borderColor: palette.border, borderStyle: "round", flexDirection: "column", flexShrink: 0, paddingX: 1, width: width },
@@ -1 +1 @@
1
- {"version":3,"file":"character.js","sourceRoot":"","sources":["../../source/components/character.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,KAAK,CAAC;AAE9C,OAAO,EAGN,YAAY,EACZ,UAAU,EAEV,SAAS,EACT,UAAU,GACV,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAcxD,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EACjC,IAAI,EACJ,KAAK,EACL,WAAW,EACX,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,KAAK,EACL,KAAK,GACW;IAChB,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnE,qEAAqE;IACrE,MAAM,KAAK,GAAG,UAAU,CACvB,YAAY,CAAC;QACZ,QAAQ;QACR,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,WAAW;QAClB,IAAI;QACJ,IAAI;QACJ,MAAM;QACN,KAAK,EAAE,KAAK,GAAG,CAAC;KAChB,CAAC,EACF,SAAS,CAAC,OAAO,CAAC,CAClB,CAAC;IAEF,OAAO,CACN,oBAAC,GAAG,IACH,WAAW,EAAE,OAAO,CAAC,MAAM,EAC3B,WAAW,EAAC,OAAO,EACnB,aAAa,EAAC,QAAQ,EACtB,UAAU,EAAE,CAAC,EACb,QAAQ,EAAE,CAAC,EACX,KAAK,EAAE,KAAK;QAEZ,oBAAC,GAAG,IAAC,GAAG,EAAE,CAAC,EAAE,cAAc,EAAC,eAAe;YAC1C,oBAAC,IAAI,IAAC,IAAI,QAAC,IAAI,EAAC,cAAc,IAC5B,IAAI,CACC;YACP,oBAAC,IAAI,IAAC,KAAK,EAAE,OAAO,CAAC,MAAM,IAAG,KAAK,CAAQ,CACtC;QACN,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,EAAE,cAAc,EAAC,UAAU,IAChE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAGzB,oBAAC,GAAG,IAAC,GAAG,EAAE,GAAG,IACX,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAC9B,oBAAC,IAAI;QACJ,oDAAoD;;YAApD,oDAAoD;YACpD,GAAG,EAAE,MAAM,EACX,eAAe,EAAE,OAAO,CAAC,eAAe,EACxC,KAAK,EAAE,OAAO,CAAC,KAAK,IAEnB,OAAO,CAAC,IAAI,CACP,CACP,CAAC,CACG,CACN,CAAC,CACG;QACN,oBAAC,GAAG,IAAC,SAAS,EAAE,CAAC;YAChB,oBAAC,IAAI,IAAC,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,EAAC,cAAc,IAC9C,GAAG,aAAa,CAAC,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,KAAK,EAAE,CAC3D,CACF,CACD,CACN,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"character.js","sourceRoot":"","sources":["../../source/components/character.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,KAAK,CAAC;AAE9C,OAAO,EAEN,YAAY,EACZ,UAAU,EAEV,SAAS,EACT,UAAU,GACV,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAaxD,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EACjC,IAAI,EACJ,KAAK,EACL,WAAW,EACX,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,KAAK,GACW;IAChB,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnE,qEAAqE;IACrE,MAAM,KAAK,GAAG,UAAU,CACvB,YAAY,CAAC;QACZ,QAAQ;QACR,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,WAAW;QAClB,IAAI;QACJ,IAAI;QACJ,KAAK,EAAE,KAAK,GAAG,CAAC;KAChB,CAAC,EACF,SAAS,CAAC,OAAO,CAAC,CAClB,CAAC;IAEF,OAAO,CACN,oBAAC,GAAG,IACH,WAAW,EAAE,OAAO,CAAC,MAAM,EAC3B,WAAW,EAAC,OAAO,EACnB,aAAa,EAAC,QAAQ,EACtB,UAAU,EAAE,CAAC,EACb,QAAQ,EAAE,CAAC,EACX,KAAK,EAAE,KAAK;QAEZ,oBAAC,GAAG,IAAC,GAAG,EAAE,CAAC,EAAE,cAAc,EAAC,eAAe;YAC1C,oBAAC,IAAI,IAAC,IAAI,QAAC,IAAI,EAAC,cAAc,IAC5B,IAAI,CACC;YACP,oBAAC,IAAI,IAAC,KAAK,EAAE,OAAO,CAAC,MAAM,IAAG,KAAK,CAAQ,CACtC;QACN,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,EAAE,cAAc,EAAC,UAAU,IAChE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAGzB,oBAAC,GAAG,IAAC,GAAG,EAAE,GAAG,IACX,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAC9B,oBAAC,IAAI;QACJ,oDAAoD;;YAApD,oDAAoD;YACpD,GAAG,EAAE,MAAM,EACX,eAAe,EAAE,OAAO,CAAC,eAAe,EACxC,KAAK,EAAE,OAAO,CAAC,KAAK,IAEnB,OAAO,CAAC,IAAI,CACP,CACP,CAAC,CACG,CACN,CAAC,CACG;QACN,oBAAC,GAAG,IAAC,SAAS,EAAE,CAAC;YAChB,oBAAC,IAAI,IAAC,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,EAAC,cAAc,IAC9C,GAAG,aAAa,CAAC,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,KAAK,EAAE,CAC3D,CACF,CACD,CACN,CAAC;AACH,CAAC"}
@@ -1,24 +1,24 @@
1
1
  import React from "react";
2
2
  import { Box, Text } from "ink";
3
3
  import { usePalette } from "../theme.js";
4
+ const percentOf = (metric) => Math.min(Math.max(Math.round(metric.value), 0), 100);
4
5
  // A half-height bar: "▀" fills only the top of its row, so the bottom half
5
- // spaces the items apart without a whole blank row.
6
+ // spaces the items apart without a whole blank row. Text centers in its row,
7
+ // so the percentage sits on the label's row instead of beside the bar.
6
8
  function Bar({ metric, width }) {
7
9
  const palette = usePalette();
8
- const value = Math.min(Math.max(Math.round(metric.value), 0), 100);
9
- const filled = Math.round((value / 100) * width);
10
+ const filled = Math.round((percentOf(metric) / 100) * width);
10
11
  return (React.createElement(Text, null,
11
12
  React.createElement(Text, { color: metric.color }, "▀".repeat(filled)),
12
- React.createElement(Text, { color: palette.border }, "▀".repeat(width - filled)),
13
- React.createElement(Text, { dimColor: true }, ` ${String(value).padStart(3)}%`)));
13
+ React.createElement(Text, { color: palette.border }, "▀".repeat(width - filled))));
14
14
  }
15
15
  // Breathing room inside the border and between sections, unless the
16
16
  // terminal is too short for it.
17
17
  export default function TodayPanel({ title, sections, width, isCompact = false, }) {
18
18
  const palette = usePalette();
19
19
  const gap = isCompact ? 0 : 1;
20
- // Border and padding take 6 columns, and " 100%" takes 5.
21
- const barWidth = Math.max(width - 11, 4);
20
+ // Border and padding take 6 columns.
21
+ const barWidth = Math.max(width - 6, 4);
22
22
  return (React.createElement(Box, { borderColor: palette.border, borderStyle: "round", flexDirection: "column", flexShrink: 0, paddingX: 2, paddingY: gap, width: width },
23
23
  React.createElement(Text, { bold: true }, title),
24
24
  sections.map((section, index) => (React.createElement(Box, { key: section.title ?? `section-${index}`, flexDirection: "column", marginTop: index === 0 ? gap : 1 },
@@ -27,7 +27,10 @@ export default function TodayPanel({ title, sections, width, isCompact = false,
27
27
  React.createElement(Box, { gap: 1, justifyContent: "space-between" },
28
28
  React.createElement(Box, { flexShrink: 0 },
29
29
  React.createElement(Text, { color: metric.color }, metric.label)),
30
- React.createElement(Text, { dimColor: true, wrap: "truncate-end" }, metric.detail)),
30
+ React.createElement(Box, { flexGrow: 1, justifyContent: "flex-end" },
31
+ React.createElement(Text, { dimColor: true, wrap: "truncate-end" }, metric.detail)),
32
+ React.createElement(Box, { flexShrink: 0 },
33
+ React.createElement(Text, null, `${percentOf(metric)}%`))),
31
34
  React.createElement(Bar, { metric: metric, width: barWidth })))),
32
35
  section.advice ? (React.createElement(Text, { wrap: "truncate-end" },
33
36
  React.createElement(Text, { color: section.advice.isDone ? palette.success : palette.accent }, "⏺ "),
@@ -1 +1 @@
1
- {"version":3,"file":"today-panel.js","sourceRoot":"","sources":["../../source/components/today-panel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"today-panel.js","sourceRoot":"","sources":["../../source/components/today-panel.tsx"],"names":[],"mappings":"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"}