Skip to content

Commit 614fb0b

Browse files
authored
chore: delete reminder code (#1875)
1 parent 7ca3d49 commit 614fb0b

16 files changed

Lines changed: 35 additions & 784 deletions

File tree

.impeccable/design.json

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@
144144
},
145145
"script": {
146146
"displayName": "Script",
147-
"purpose": "Caveat handwriting on the weekly Reminder and Dedication only."
147+
"purpose": "Caveat handwriting on the Dedication only."
148148
}
149149
},
150150
"shadows": [
@@ -213,19 +213,11 @@
213213
"description": "A row in the keyboard-first command palette; a floating light surface above the dark canvas.",
214214
"html": "<div class=\"ds-cmd\"><div class=\"ds-cmd-row ds-cmd-active\">Go to Today</div><div class=\"ds-cmd-row\">Create event</div><div class=\"ds-cmd-row\">Open Now mode</div></div>",
215215
"css": ".ds-cmd { width: 320px; padding: 6px; border-radius: 6px; background: #fafafa; box-shadow: 0 6px 24px hsla(0 0% 0% / 0.35); font-family: Rubik, ui-sans-serif, system-ui, sans-serif; } .ds-cmd-row { padding: 8px 10px; border-radius: 4px; color: #0d1017; font-size: 0.875rem; cursor: pointer; transition: background-color 0.15s; } .ds-cmd-row:hover { background: hsl(219 18% 34% / 0.12); } .ds-cmd-active { background: #57c1ff; color: #0d1017; }"
216-
},
217-
{
218-
"name": "Handwritten Reminder",
219-
"kind": "custom",
220-
"refersTo": "button-priority",
221-
"description": "The weekly Reminder/Dedication; Caveat handwriting as the single human accent in an otherwise precise system.",
222-
"html": "<p class=\"ds-reminder\">Lock in. One thing at a time.</p>",
223-
"css": ".ds-reminder { margin: 0; font-family: \"Caveat\", cursive; font-size: 1.6rem; line-height: 1.2; color: #bfbdb5; }"
224216
}
225217
],
226218
"narrative": {
227219
"northStar": "The Dark Calendar Canvas, One Accent",
228-
"overview": "Compass is a near-black blue canvas where the only truly saturated color is a single sky-blue accent (#57c1ff). Everything structural, the grid lines, panels, borders, and most text, lives in a narrow blue-gray band against a deep #0d1017 background. Color enters the screen only where it carries meaning: the accent marks selection and primary actions, and a small set of muted priority colors tints the event blocks themselves. The interface is dim and low-contrast at rest so the user's events and current task are the brightest things on screen. The one deliberately human note is handwriting: the Caveat script font on the weekly Reminder and Dedication, a personal touch at the margin of an otherwise precise instrument.",
220+
"overview": "Compass is a near-black blue canvas where the only truly saturated color is a single sky-blue accent (#57c1ff). Everything structural, the grid lines, panels, borders, and most text, lives in a narrow blue-gray band against a deep #0d1017 background. Color enters the screen only where it carries meaning: the accent marks selection and primary actions, and a small set of muted priority colors tints the event blocks themselves. The interface is dim and low-contrast at rest so the user's events and current task are the brightest things on screen. The one deliberately human note is handwriting: the Caveat script font on the Dedication, a personal touch at the margin of an otherwise precise instrument.",
229221
"keyCharacteristics": [
230222
"Deep blue-black surface (#0d1017), built up by tonal layering, not boxes.",
231223
"Exactly one bright accent (#57c1ff); meaning, not decoration.",
@@ -246,7 +238,7 @@
246238
},
247239
{
248240
"name": "The One Voice Rule",
249-
"body": "Rubik is the only UI typeface. Display fonts in labels, buttons, or data are forbidden. Caveat is the single exception, on the Reminder/Dedication only.",
241+
"body": "Rubik is the only UI typeface. Display fonts in labels, buttons, or data are forbidden. Caveat is the single exception, on the Dedication only.",
250242
"section": "typography"
251243
},
252244
{
@@ -266,7 +258,7 @@
266258
"Do leave controls borderless at rest and reveal them via background/color shift on hover and focus.",
267259
"Do reserve priority colors (Work/Relations/Self/Unassigned) for event blocks and tags, not chrome.",
268260
"Do carry all UI in Rubik, using weight (400/500/700) and the fixed rem scale for hierarchy.",
269-
"Do confine Caveat handwriting to the Reminder and Dedication.",
261+
"Do confine Caveat handwriting to the Dedication.",
270262
"Do hold body/label text to WCAG AA contrast against the dark surfaces; bump muted blue-grays toward fg-primary when contrast is close."
271263
],
272264
"donts": [

DESIGN.md

Lines changed: 28 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -91,11 +91,12 @@ components:
9191

9292
Compass is a near-black blue canvas where the only truly saturated color is a single sky-blue accent (`#57c1ff`). Everything structural, the grid lines, panels, borders, and most text, lives in a narrow blue-gray band against a deep `#0d1017` background. Color enters the screen only where it carries meaning: the accent marks selection and primary actions, and a small set of muted priority colors (work, relations, self, unassigned) tints the event blocks themselves. The interface is dim and low-contrast at rest so the user's events and current task are the brightest things on screen.
9393

94-
This is a planning tool for people who want the calendar to get out of the way. Density is welcome where it serves the task (a full week of events, a packed sidebar), but chrome is kept quiet: no borders until you interact, no decorative fills, no second accent competing for attention. The one deliberately human note is handwriting: the Caveat script font on the weekly Reminder and Dedication, a personal touch at the margin of an otherwise precise instrument.
94+
This is a planning tool for people who want the calendar to get out of the way. Density is welcome where it serves the task (a full week of events, a packed sidebar), but chrome is kept quiet: no borders until you interact, no decorative fills, no second accent competing for attention. The one deliberately human note is handwriting: the Caveat script font is a personal touch at the margin of an otherwise precise instrument.
9595

9696
What this system rejects: the cluttered toolbars and nested menus of Google/Outlook Calendar; the neutral-gray card grids and stock radii of a generic shadcn or SaaS dashboard; playful candy colors and mascots; and heavy navy-and-gray corporate density. Compass owns its dark, blue-accented identity rather than reaching for any of those defaults.
9797

9898
**Key Characteristics:**
99+
99100
- Deep blue-black surface (`#0d1017`), built up by tonal layering, not boxes.
100101
- Exactly one bright accent (`#57c1ff`); meaning, not decoration.
101102
- Muted priority colors are the only other saturation, and only on events.
@@ -107,17 +108,21 @@ What this system rejects: the cluttered toolbars and nested menus of Google/Outl
107108
A monochrome blue-gray system on a near-black base, punctuated by one sky-blue accent and a muted priority palette reserved for event content.
108109

109110
### Primary
111+
110112
- **Sky Accent** (`#57c1ff`, `hsl(202 100 67)`): The single saturated color. Used for the current selection, primary actions, links, info status, and the first tag color. It is the brightest, most attention-pulling element on any screen; that scarcity is the point.
111113

112114
### Secondary
115+
113116
- **Soft Cyan** (`#aed3e0`, `hsl(196 45 78)`): The light end of the accent gradient (`accent-primary → soft-cyan`) and the Work priority tint. A calmer companion to the sky accent, never used as a competing focal point.
114117

115118
### Tertiary (priority palette, events only)
119+
116120
- **Relations Teal** (`#86d0bb`, `hsl(163 44 67)`): The Relations priority color on event blocks.
117121
- **Self Blue-Gray** (`#9fb0bf`, `hsl(205 36 62)`): The Self priority color.
118122
- **Unassigned Slate** (`#8293a1`, `hsl(207 14 57)`): The default/unassigned priority color.
119123

120124
### Neutral
125+
121126
- **Canvas** (`#0d1017`, `hsl(222 28 7)`): The body background and the darkest surface. Also the text color on light/colored fills (`text-dark`).
122127
- **Raised Canvas** (`#11151c`, `hsl(218 24 9)`): One step up in lightness; secondary surfaces and raised panels. Depth comes from this lightness step, not from boxes.
123128
- **UI Text** (`#bfbdb5`, `hsl(47 7 73)`): The primary foreground; a faintly warm light gray for body and label text on dark surfaces. Also the secondary border color.
@@ -126,9 +131,11 @@ A monochrome blue-gray system on a near-black base, punctuated by one sky-blue a
126131
- **Menu Surface** (`#fafafa`, `hsl(0 0 98)`): The one inverted surface; the light background used for the command palette / menu, where `text-dark` and `text-dark-placeholder` apply.
127132

128133
### Status
134+
129135
- **Success** (`#81d963`), **Error** (`#d95959`), **Warning** (`#ff9142`), **Info** (`#57c1ff`, the accent). State signals only.
130136

131137
### Named Rules
138+
132139
**The One Accent Rule.** Exactly one saturated accent (`#57c1ff`) on any screen, reserved for selection, primary action, and info. If a second saturated hue appears anywhere outside an event block or a status signal, it is wrong.
133140

134141
**The Color-Means-Something Rule.** Saturation is forbidden as decoration. The accent means "selected / primary / info"; priority colors mean "this event's category"; status colors mean "this state." Structural chrome stays in the blue-gray band.
@@ -139,20 +146,22 @@ A monochrome blue-gray system on a near-black base, punctuated by one sky-blue a
139146
**Script Accent Font:** Caveat (with `cursive` fallback)
140147
**Mono:** `ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas` (system stack; no custom mono shipped)
141148

142-
**Character:** One humanist sans (Rubik) carries the entire UI, headings through data, with weight and size doing the hierarchy work. The only departure is Caveat, a casual handwriting face used as a deliberate human accent on the weekly Reminder and Dedication, never for UI chrome.
149+
**Character:** One humanist sans (Rubik) carries the entire UI, headings through data, with weight and size doing the hierarchy work. The only departure is Caveat, a casual handwriting face used as a deliberate human accent on the Dedication, never for UI chrome.
143150

144151
### Hierarchy
152+
145153
The scale is a fixed rem ramp (product UI, not fluid display type). Steps: `xs 0.563rem`, `s 0.688rem`, `m 0.8125rem`, `l 1rem`, `xl 1.125rem`, `xxl 1.3rem`, `xxxl 1.6rem`, `4xl 1.7rem`, `5xl 2rem`. Weights: light 300, regular 400, medium 500, bold 700, extraBold 900.
146154

147155
- **Display** (Rubik, 700, `2rem`/5xl): The largest headings; view titles and prominent moments. Top of the ramp; used sparingly.
148156
- **Title** (Rubik, 500, `1.3rem`/xxl): Section and panel headings.
149157
- **Body** (Rubik, 400, `1rem`/l): Default reading and input text. Cap prose at 65–75ch.
150158
- **Label** (Rubik, 500, `0.8125rem`/m): Dense UI labels, event titles, controls. The workhorse size for the calendar grid.
151159
- **Micro** (Rubik, 400, `0.563–0.688rem`/xs–s): Timestamps, axis labels, secondary metadata.
152-
- **Script** (Caveat, 400, `1.6rem`+): The weekly Reminder and Dedication only.
160+
- **Script** (Caveat, 400, `1.6rem`+): The Dedication only.
153161

154162
### Named Rules
155-
**The One Voice Rule.** Rubik is the only UI typeface. Display fonts in labels, buttons, or data are forbidden. Caveat is the single sanctioned exception and only on the Reminder/Dedication.
163+
164+
**The One Voice Rule.** Rubik is the only UI typeface. Display fonts in labels, buttons, or data are forbidden. Caveat is the single sanctioned exception and only on the Dedication.
156165

157166
**The No All-Caps Body Rule.** Uppercase is reserved for short labels and badges (≤4 words). No sentences in all caps.
158167

@@ -161,10 +170,12 @@ The scale is a fixed rem ramp (product UI, not fluid display type). Steps: `xs 0
161170
Depth is conveyed two ways, in order of priority. **First, tonal layering:** surfaces stack by stepping lightness within the near-black blue band (`bg-primary #0d1017``bg-secondary #11151c` → translucent panel fills like `panel-bg hsl(219 8 46 / 20%)`). A higher surface is a slightly lighter blue, not a boxed-and-shadowed card. **Second, shadow reserved for state and floating layers:** drop shadows are not a resting decoration; they appear when an element leaves the plane, hover, focus, an active drag/resize Interaction Overlay, or a menu/overlay panel that floats above the grid. The default shadow is a soft `hsla(0 0 0 / 25%)`.
162171

163172
### Shadow Vocabulary
173+
164174
- **State lift** (`box-shadow` with `hsla(0 0 0 / 25%)`): Applied on hover/focus and during drag or resize to signal the element is now interactive or in motion.
165175
- **Floating panel** (`panel-shadow hsl(221 9 37)`): Separates overlays, menus, and the command palette from the grid beneath.
166176

167177
### Named Rules
178+
168179
**The Layer-By-Light Rule.** Build depth by stepping surface lightness, not by drawing borders or dropping shadows on resting elements. A raised surface is a lighter blue.
169180

170181
**The Shadow-Is-State Rule.** A shadow at rest is a bug. Shadows appear only on hover, focus, active drag/resize, or for layers that genuinely float above the grid (menus, overlays, the command palette).
@@ -174,46 +185,55 @@ Depth is conveyed two ways, in order of priority. **First, tonal layering:** sur
174185
Controls are quiet, borderless, and hover-revealing: they sit flush on their surface with no resting border and announce themselves through a background or color shift on interaction. Radii are small (2–6px). Transitions are short (≈0.3s).
175186

176187
### Buttons
188+
177189
- **Shape:** Small radius (`2px` for priority buttons, `4px` default).
178190
- **Priority button:** Background is the priority color (darkened at rest); `text-dark` (`#0d1017`) label; `min-width` ~158px; `padding: 0 8px`. Disabled drops to `opacity: 0.5` and `pointer-events: none`.
179191
- **Hover:** Background shifts to `bg-primary` and the label color brightens toward the priority color (`brighten()`); ~0.5s color transition. This hover-reveal is the signature button behavior.
180192
- **Focus:** A `2px solid` dark border (`border-primary-dark`) appears on focus, the one place a border is added intentionally.
181193

182194
### Inputs / Fields
195+
183196
- **Style:** No border, no resting outline; `height: 34px`; `padding: 0 8px`; `l`/`1rem` font size; background set by context (light `menu-bg` in the palette, surface-matched elsewhere).
184197
- **Placeholder:** `text-dark-placeholder` (`hsl(219 8 46 / 90.2%)`) on light fields.
185198
- **Hover:** Background shifts to `border-primary`; the field reveals itself rather than carrying a permanent box.
186199
- **Focus:** `outline: none` globally; focus is conveyed by context (selection state, surrounding chrome), consistent with the quiet-control philosophy.
187200

188201
### Tags / Priority Chips
202+
189203
- **Style:** Filled with the muted priority color (Work soft-cyan, Relations teal, Self blue-gray, Unassigned slate); `text-dark` label.
190204
- **State:** Hover brightens the fill via `brighten()`. Used to categorize events; never as decorative accents elsewhere.
191205

192206
### Navigation / Planner Sidebar
207+
193208
- **Style:** A translucent panel (`panel-bg`) layered over the canvas by lightness, holding navigation, account context, and Someday Events. Text is `panel-text` (`#fafafa`). Custom thin scrollbars are transparent until hover (`compass-scroll`).
194209

195210
### Calendar Grid (signature surface)
211+
196212
- **Grid lines:** `grid-line-primary` hairlines (`hsl(219 18 34 / 20%)`) structure the Timed Grid without visual weight.
197213
- **Events:** Priority-colored blocks are the brightest content on the canvas. A selected event uses `event-selected` (`#abb9c4`). During drag/resize, an Interaction Overlay carries a state shadow while the source element either dims (`dim-source`) or hides (`hide-source`).
198214

199215
### Command Palette
216+
200217
- **Style:** A floating light surface (`menu-bg #fafafa`) with `text-dark`, lifted above the dark canvas by a panel shadow. Keyboard-first; the primary navigation path.
201218

202-
### Handwritten Reminder / Dedication (signature)
219+
### Handwritten Dedication (signature)
220+
203221
- **Style:** Caveat script (`"Caveat", cursive`) at display size. The single human, informal touch in an otherwise precise system; a note-to-self pinned to the week.
204222

205223
## 6. Do's and Don'ts
206224

207-
### Do:
225+
### Do
226+
208227
- **Do** keep exactly one saturated accent (`#57c1ff`) per screen, for selection, primary action, and info only.
209228
- **Do** build depth by stepping surface lightness (`#0d1017``#11151c` → translucent panels), per the Layer-By-Light Rule.
210229
- **Do** leave controls borderless at rest and reveal them via background/color shift on hover and focus.
211230
- **Do** reserve priority colors (Work/Relations/Self/Unassigned) for event blocks and tags, not chrome.
212231
- **Do** carry all UI in Rubik, using weight (400/500/700) and the fixed rem scale for hierarchy.
213-
- **Do** confine Caveat handwriting to the Reminder and Dedication.
232+
- **Do** confine Caveat handwriting to the Dedication.
214233
- **Do** hold body/label text to WCAG AA contrast against the dark surfaces; bump muted blue-grays toward `fg-primary` when contrast is close.
215234

216-
### Don't:
235+
### Don't
236+
217237
- **Don't** rebuild the cluttered toolbars, nested menus, or busy chrome of Google/Outlook Calendar.
218238
- **Don't** fall into the generic shadcn look: neutral-gray cards, stock radii and shadows, the interchangeable component-library surface. Compass is dark and blue-accented on purpose.
219239
- **Don't** ship a generic SaaS dashboard: card grids, hero-metric templates, or gradient accents standing in for design.

README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ It'll be around for the long-term:
2323

2424
- **Day Mode**: See your tasks and events side-by-side
2525
- **Now Mode**: Lock-in on a single task
26-
- **Custom Note**: Display a note-to-self for motivation or reminders
2726
- **Someday/Maybe List**: Organize future tasks without cluttering your schedule
2827
- **One-Click Adjustments**: Move events forwards or back effortlessly
2928

docs/acceptance/shortcuts.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@ Helpful notes:
4444
| --------------------------- | --------- | --------------------------------- |
4545
| `D` | Global | Navigate to Day view |
4646
| `W` | Global | Navigate to Week view |
47-
| `R` | Global | Edit personal reminder note |
4847
| `Z` | Global | Log out |
4948
| `Cmd+K` / `Ctrl+K` | Global | Open command palette |
5049
| `[` | Global | Toggle sidebar |

packages/web/src/__tests__/__mocks__/state/state.weekEvents.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -95,11 +95,7 @@ export const preloadedState: InitialReduxState = {
9595
end: "2025-12-13T23:59:59Z",
9696
},
9797
sidebar: {
98-
tab: "tasks",
9998
isOpen: true,
10099
},
101-
header: {
102-
reminder: "",
103-
},
104100
},
105101
};

packages/web/src/__tests__/utils/state/store.test.util.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -110,9 +110,6 @@ export const createInitialState = (
110110
tab: "tasks",
111111
isOpen: true,
112112
},
113-
header: {
114-
reminder: "",
115-
},
116113
},
117114
settings: {
118115
isCmdPaletteOpen: false,
Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,13 @@
11
import { z } from "zod";
22

33
export const StorageKeySchema = z.enum([
4-
"compass.reminder",
54
"compass.auth",
65
"compass.onboarding.has-seen-welcome",
76
]);
87

98
export type StorageKey = z.infer<typeof StorageKeySchema>;
109

11-
export const STORAGE_KEYS: Record<
12-
"REMINDER" | "AUTH" | "HAS_SEEN_WELCOME",
13-
StorageKey
14-
> = {
15-
REMINDER: "compass.reminder",
10+
export const STORAGE_KEYS: Record<"AUTH" | "HAS_SEEN_WELCOME", StorageKey> = {
1611
AUTH: "compass.auth",
1712
HAS_SEEN_WELCOME: "compass.onboarding.has-seen-welcome",
1813
} as const;

packages/web/src/common/constants/web.constants.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ export const ID_GRID_COLUMNS_TIMED = "timedColumns";
1313
export const ID_WEEK_GRID_SCROLLER = "weekGridScroller";
1414
export const ID_SOMEDAY_WEEK_COLUMN = "somedayWeekColumn";
1515
export const ID_GRID_MAIN = "mainGrid";
16-
export const ID_REMINDER_INPUT = "reminderInput";
1716
export const ID_MAIN = "mainSection";
1817
export const ID_DATEPICKER_SIDEBAR = "sidebarDatePicker";
1918
export const ID_SIDEBAR = "sidebar";

packages/web/src/ducks/events/selectors/view.selectors.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,3 @@ import { type RootState } from "@web/store";
33
export const selectDatesInView = (state: RootState) => state.view.dates;
44
export const selectIsSidebarOpen = (state: RootState) =>
55
state.view.sidebar.isOpen;
6-
7-
export const selectReminder = (state: RootState) => state.view.header.reminder;

0 commit comments

Comments
 (0)