@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 +35 -23
- package/build/app.js +74 -6
- package/build/app.js.map +1 -1
- package/build/command-line-interface.js +15 -1
- package/build/command-line-interface.js.map +1 -1
- package/build/components/character.js +1 -2
- package/build/components/character.js.map +1 -1
- package/build/components/today-panel.js +11 -8
- package/build/components/today-panel.js.map +1 -1
- package/build/content.js +58 -20
- package/build/content.js.map +1 -1
- package/build/i18n.js +78 -9
- package/build/i18n.js.map +1 -1
- package/build/pixel-art.js +592 -296
- package/build/pixel-art.js.map +1 -1
- package/build/progress.js +1 -0
- package/build/progress.js.map +1 -1
- package/build/update.js +61 -0
- package/build/update.js.map +1 -0
- package/package.json +1 -1
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
|
|
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
|
|
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,
|
|
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
|
-
###
|
|
106
|
+
### Character
|
|
106
107
|
|
|
107
|
-
Your character is a pixel-art
|
|
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 |
|
|
112
|
-
| Profile |
|
|
113
|
-
| Today's Logs | It
|
|
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
|
|
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 `
|
|
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 `
|
|
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
|
|
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,
|
|
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
|
|
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[
|
|
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,
|
|
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
|
-
|
|
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;
|
|
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,
|
|
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,
|
|
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
|
|
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
|
|
21
|
-
const barWidth = Math.max(width -
|
|
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(
|
|
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":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAsBzC,
|
|
1
|
+
{"version":3,"file":"today-panel.js","sourceRoot":"","sources":["../../source/components/today-panel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAsBzC,MAAM,SAAS,GAAG,CAAC,MAAc,EAAE,EAAE,CACpC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAEtD,2EAA2E;AAC3E,6EAA6E;AAC7E,uEAAuE;AACvE,SAAS,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,EAA+C;IAC1E,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IAE7D,OAAO,CACN,oBAAC,IAAI;QACJ,oBAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,KAAK,IAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAQ;QACtD,oBAAC,IAAI,IAAC,KAAK,EAAE,OAAO,CAAC,MAAM,IAAG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,CAAQ,CAC1D,CACP,CAAC;AACH,CAAC;AAED,oEAAoE;AACpE,gCAAgC;AAChC,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAClC,KAAK,EACL,QAAQ,EACR,KAAK,EACL,SAAS,GAAG,KAAK,GACA;IACjB,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,qCAAqC;IACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAExC,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,QAAQ,EAAE,GAAG,EACb,KAAK,EAAE,KAAK;QAEZ,oBAAC,IAAI,IAAC,IAAI,UAAE,KAAK,CAAQ;QACxB,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CACjC,oBAAC,GAAG,IACH,GAAG,EAAE,OAAO,CAAC,KAAK,IAAI,WAAW,KAAK,EAAE,EACxC,aAAa,EAAC,QAAQ,EACtB,SAAS,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAE/B,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAChB,oBAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAE,OAAO,CAAC,IAAI,IAC5B,OAAO,CAAC,KAAK,CACR,CACP,CAAC,CAAC,CAAC,IAAI;YACP,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAChC,oBAAC,GAAG,IAAC,GAAG,EAAE,MAAM,CAAC,KAAK,EAAE,aAAa,EAAC,QAAQ;gBAC7C,oBAAC,GAAG,IAAC,GAAG,EAAE,CAAC,EAAE,cAAc,EAAC,eAAe;oBAC1C,oBAAC,GAAG,IAAC,UAAU,EAAE,CAAC;wBACjB,oBAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,KAAK,IAAG,MAAM,CAAC,KAAK,CAAQ,CAC3C;oBACN,oBAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,EAAE,cAAc,EAAC,UAAU;wBAC1C,oBAAC,IAAI,IAAC,QAAQ,QAAC,IAAI,EAAC,cAAc,IAChC,MAAM,CAAC,MAAM,CACR,CACF;oBACN,oBAAC,GAAG,IAAC,UAAU,EAAE,CAAC;wBACjB,oBAAC,IAAI,QAAE,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAQ,CACjC,CACD;gBACN,oBAAC,GAAG,IAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAI,CACnC,CACN,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CACjB,oBAAC,IAAI,IAAC,IAAI,EAAC,cAAc;gBACxB,oBAAC,IAAI,IACJ,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,IAE9D,IAAI,CACC;gBACP,oBAAC,IAAI,IAAC,QAAQ,UAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAQ,CACrC,CACP,CAAC,CAAC,CAAC,IAAI,CACH,CACN,CAAC,CACG,CACN,CAAC;AACH,CAAC"}
|