peemodoro 1.0.1 → 1.0.3

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "peemodoro",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "Pomodoro timer that reminds you to pee. Seriously.",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -1,87 +0,0 @@
1
- import { UrgencyLevel } from '../types.js';
2
- /**
3
- * ASCII art collection for compact statusline display.
4
- * Provides visual mood indicators alongside emoji.
5
- *
6
- * Face progression designed so neutral face doesn't appear
7
- * until ~30 minutes into a 45-minute session.
8
- */
9
- /**
10
- * Extended mood faces based on percent remaining.
11
- * More granular than urgency levels for smoother transitions.
12
- *
13
- * For a 45-minute session:
14
- * - (^_^) 100-80%: 0-9 mins - very relaxed
15
- * - (^.^) 80-65%: 9-16 mins - happy
16
- * - (^-^) 65-50%: 16-23 mins - content
17
- * - ('_') 50-40%: 23-27 mins - calm
18
- * - (-_-) 40-33%: 27-30 mins - neutral (appears ~27 mins in)
19
- * - (._.) 33-20%: 30-36 mins - thinking
20
- * - (o_o) 20-10%: 36-41 mins - alert
21
- * - (>_<) 10-5%: 41-43 mins - stressed
22
- * - (O_O) 5-0%: 43-45 mins - urgent
23
- * - (X_X) <0%: overdue - critical
24
- */
25
- export declare const MOOD_FACES: {
26
- veryRelaxed: string;
27
- happy: string;
28
- content: string;
29
- calm: string;
30
- neutral: string;
31
- thinking: string;
32
- alert: string;
33
- stressed: string;
34
- urgent: string;
35
- critical: string;
36
- };
37
- /**
38
- * Legacy urgency faces - kept for backwards compatibility
39
- */
40
- export declare const URGENCY_FACES: Record<UrgencyLevel, string>;
41
- /**
42
- * Water level indicators for statusline
43
- */
44
- export declare const WATER_LEVELS: {
45
- full: string;
46
- medium: string;
47
- low: string;
48
- empty: string;
49
- overdue: string;
50
- };
51
- /**
52
- * Gets water level indicator based on percent remaining
53
- */
54
- export declare function getWaterLevel(percentRemaining: number): string;
55
- /**
56
- * Gets ASCII mood face based on urgency level (legacy)
57
- */
58
- export declare function getMoodFace(urgency: UrgencyLevel): string;
59
- /**
60
- * Gets ASCII mood face based on percent remaining.
61
- * Provides smoother transitions with more face options.
62
- * Neutral face doesn't appear until ~60% of time has elapsed.
63
- */
64
- export declare function getMoodFaceByPercent(percentRemaining: number): string;
65
- /**
66
- * Break mode art - for when user is on a break
67
- */
68
- export declare const BREAK_ART: {
69
- relaxed: string;
70
- relieved: string;
71
- };
72
- /**
73
- * Focus mode art - for when user is in focus mode
74
- */
75
- export declare const FOCUS_ART: {
76
- focused: string;
77
- zen: string;
78
- };
79
- /**
80
- * Paused state art
81
- */
82
- export declare const PAUSED_ART = "(z_z)";
83
- /**
84
- * Gets the appropriate ASCII art based on timer state
85
- */
86
- export declare function getStateArt(status: 'running' | 'break' | 'paused' | 'focus', urgency: UrgencyLevel): string;
87
- //# sourceMappingURL=ascii-art.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ascii-art.d.ts","sourceRoot":"","sources":["../../src/ui/ascii-art.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C;;;;;;GAMG;AAEH;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;CAWtB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAKtD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;CAMxB,CAAC;AAEF;;GAEG;AACH,wBAAgB,aAAa,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAM9D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAEzD;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAWrE;AAED;;GAEG;AACH,eAAO,MAAM,SAAS;;;CAGrB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS;;;CAGrB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,UAAU,CAAC;AAElC;;GAEG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,EAChD,OAAO,EAAE,YAAY,GACpB,MAAM,CAYR"}
@@ -1,135 +0,0 @@
1
- /**
2
- * ASCII art collection for compact statusline display.
3
- * Provides visual mood indicators alongside emoji.
4
- *
5
- * Face progression designed so neutral face doesn't appear
6
- * until ~30 minutes into a 45-minute session.
7
- */
8
- /**
9
- * Extended mood faces based on percent remaining.
10
- * More granular than urgency levels for smoother transitions.
11
- *
12
- * For a 45-minute session:
13
- * - (^_^) 100-80%: 0-9 mins - very relaxed
14
- * - (^.^) 80-65%: 9-16 mins - happy
15
- * - (^-^) 65-50%: 16-23 mins - content
16
- * - ('_') 50-40%: 23-27 mins - calm
17
- * - (-_-) 40-33%: 27-30 mins - neutral (appears ~27 mins in)
18
- * - (._.) 33-20%: 30-36 mins - thinking
19
- * - (o_o) 20-10%: 36-41 mins - alert
20
- * - (>_<) 10-5%: 41-43 mins - stressed
21
- * - (O_O) 5-0%: 43-45 mins - urgent
22
- * - (X_X) <0%: overdue - critical
23
- */
24
- export const MOOD_FACES = {
25
- veryRelaxed: '(^_^)', // 100-80%
26
- happy: '(^.^)', // 80-65%
27
- content: '(^-^)', // 65-50%
28
- calm: "('_')", // 50-40%
29
- neutral: '(-_-)', // 40-33%
30
- thinking: '(._.)', // 33-20%
31
- alert: '(o_o)', // 20-10%
32
- stressed: '(>_<)', // 10-5%
33
- urgent: '(O_O)', // 5-0%
34
- critical: '(X_X)', // overdue
35
- };
36
- /**
37
- * Legacy urgency faces - kept for backwards compatibility
38
- */
39
- export const URGENCY_FACES = {
40
- 1: '(^_^)', // happy/relaxed
41
- 2: '(-_-)', // neutral/calm
42
- 3: '(>_<)', // concerned/stressed
43
- 4: '(X_X)', // critical/desperate
44
- };
45
- /**
46
- * Water level indicators for statusline
47
- */
48
- export const WATER_LEVELS = {
49
- full: '~.~', // plenty of time
50
- medium: '~_~', // moderate
51
- low: '_._', // getting low
52
- empty: '...', // empty/critical
53
- overdue: '!!!', // overdue
54
- };
55
- /**
56
- * Gets water level indicator based on percent remaining
57
- */
58
- export function getWaterLevel(percentRemaining) {
59
- if (percentRemaining <= 0)
60
- return WATER_LEVELS.overdue;
61
- if (percentRemaining > 0.75)
62
- return WATER_LEVELS.full;
63
- if (percentRemaining > 0.50)
64
- return WATER_LEVELS.medium;
65
- if (percentRemaining > 0.25)
66
- return WATER_LEVELS.low;
67
- return WATER_LEVELS.empty;
68
- }
69
- /**
70
- * Gets ASCII mood face based on urgency level (legacy)
71
- */
72
- export function getMoodFace(urgency) {
73
- return URGENCY_FACES[urgency];
74
- }
75
- /**
76
- * Gets ASCII mood face based on percent remaining.
77
- * Provides smoother transitions with more face options.
78
- * Neutral face doesn't appear until ~60% of time has elapsed.
79
- */
80
- export function getMoodFaceByPercent(percentRemaining) {
81
- if (percentRemaining <= 0)
82
- return MOOD_FACES.critical;
83
- if (percentRemaining <= 0.05)
84
- return MOOD_FACES.urgent;
85
- if (percentRemaining <= 0.10)
86
- return MOOD_FACES.stressed;
87
- if (percentRemaining <= 0.20)
88
- return MOOD_FACES.alert;
89
- if (percentRemaining <= 0.33)
90
- return MOOD_FACES.thinking;
91
- if (percentRemaining <= 0.40)
92
- return MOOD_FACES.neutral;
93
- if (percentRemaining <= 0.50)
94
- return MOOD_FACES.calm;
95
- if (percentRemaining <= 0.65)
96
- return MOOD_FACES.content;
97
- if (percentRemaining <= 0.80)
98
- return MOOD_FACES.happy;
99
- return MOOD_FACES.veryRelaxed;
100
- }
101
- /**
102
- * Break mode art - for when user is on a break
103
- */
104
- export const BREAK_ART = {
105
- relaxed: '(~_~)', // taking it easy
106
- relieved: '(^o^)', // relieved
107
- };
108
- /**
109
- * Focus mode art - for when user is in focus mode
110
- */
111
- export const FOCUS_ART = {
112
- focused: '(@_@)', // intense focus
113
- zen: '(._. )', // calm focus
114
- };
115
- /**
116
- * Paused state art
117
- */
118
- export const PAUSED_ART = '(z_z)';
119
- /**
120
- * Gets the appropriate ASCII art based on timer state
121
- */
122
- export function getStateArt(status, urgency) {
123
- switch (status) {
124
- case 'break':
125
- return BREAK_ART.relaxed;
126
- case 'paused':
127
- return PAUSED_ART;
128
- case 'focus':
129
- return FOCUS_ART.zen;
130
- case 'running':
131
- default:
132
- return URGENCY_FACES[urgency];
133
- }
134
- }
135
- //# sourceMappingURL=ascii-art.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ascii-art.js","sourceRoot":"","sources":["../../src/ui/ascii-art.ts"],"names":[],"mappings":"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"}