You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: DESIGN_SYSTEM.md
+69-1Lines changed: 69 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -132,7 +132,7 @@ Minimal, directional shadows create a sense of layering without being heavy-hand
132
132
-**Secondary Text**: Smaller (12pt), lighter gray
133
133
-**Centered vertically and horizontally**
134
134
135
-
### Drawer Layout (NEW)
135
+
### Drawer Layout
136
136
-**Window Width**: 400px (compact side panel)
137
137
-**Drawer Width**: 280px
138
138
-**Editor Width**: Full 400px (336px usable after 32px padding on each side)
@@ -153,6 +153,62 @@ Minimal, directional shadows create a sense of layering without being heavy-hand
153
153
#### Design Rationale
154
154
The drawer pattern maximizes editor space (336px usable width vs. previous 44px) while maintaining quick access to the note list. The semi-transparent overlay and slide-in animation clearly communicate the layered interaction model. This approach keeps the window compact (400px) suitable for a side panel application while providing full editing capability.
155
155
156
+
### Settings Window
157
+
-**Window Size**: 450px × 570px (expands to 620px when auto-hide is enabled)
158
+
-**Background**: Pure white (#FFFFFF)
159
+
-**Content Padding**: 24px horizontal, 24px vertical top
160
+
-**Section Spacing**: 20px between major sections
161
+
-**Dividers**: Full-width horizontal lines between sections
162
+
163
+
#### Settings Components
164
+
**Custom Toggle Switch**:
165
+
-**Dimensions**: 48px × 28px rounded rectangle
166
+
-**Off State**: Light gray background (#E0E0E0)
167
+
-**On State**: Sage green background (#7C9885)
168
+
-**Toggle Circle**: White with 2px shadow, 3px padding, slides with spring animation
169
+
-**Animation**: Spring response 0.3, dampingFraction 0.7
170
+
171
+
**Custom Slider** (for delay adjustment):
172
+
-**Track**: 4px height, 2px corner radius
173
+
-**Track Color**: Light gray (#E0E0E0) inactive, sage green (#7C9885) active
174
+
-**Thumb**: 16px white circle with shadow
175
+
-**Range**: 0.0-3.0 seconds, 0.1 step increments
176
+
-**Value Display**: Shows formatted delay (e.g., "0.5 s") in sage green
177
+
178
+
**Shortcut Recorder**:
179
+
-**Dimensions**: Auto-width × 32px height
180
+
-**Corner Radius**: 6px
181
+
-**States**:
182
+
-**Default**: Light gray background (#F5F5F5), placeholder "Click to record"
183
+
-**Recording**: Light green background (#E8F5E9), sage green border (2px), "Press keys..." text
184
+
-**Set**: Displays shortcut symbols (⌘⌃⌥⇧) + key name
185
+
-**Clear Button**: 16px circle with "×" icon, appears on hover when shortcut is set
186
+
-**Text**: 12pt system font, medium weight when active
187
+
188
+
#### Settings Categories
189
+
1.**Appearance**
190
+
- Show Dock Icon toggle
191
+
- Note: "Requires app restart to take effect"
192
+
193
+
2.**Storage Location**
194
+
- Current path display (gray box, 12px padding)
195
+
- "Choose Folder" button (sage green)
196
+
- Reload alert when path changes
197
+
198
+
3.**Window Behavior**
199
+
- Auto-hide toggle
200
+
- Hide delay slider (only visible when auto-hide enabled)
201
+
- Smooth height animation (0.3s) when toggling
202
+
203
+
4.**Keyboard Shortcuts**
204
+
- Toggle Window shortcut recorder
205
+
- Custom key combination capture
206
+
207
+
**Reset Button**: Bottom-left, gray background (#F0F0F0), "Reset to Default" text
208
+
209
+
#### Design Rationale
210
+
The settings window uses custom-styled components that match the app's editorial minimalism aesthetic while providing modern, intuitive controls. The sage green accent color creates visual consistency with the main interface. Inline help text (#999999) provides context without cluttering the design. The expandable layout (570→620px) accommodates conditional controls smoothly.
211
+
156
212
---
157
213
158
214
## Animation & Motion
@@ -168,6 +224,10 @@ The drawer pattern maximizes editor space (336px usable width vs. previous 44px)
168
224
-**Drawer Slide**: 0.2s easeInOut with `.move(edge: .leading)` transition
169
225
-**Background Overlay**: Fade in/out with drawer (automatic with SwiftUI animation)
170
226
-**Menu Button Hover**: Instant opacity change from 8% to 15%
227
+
-**Toggle Switch**: Spring animation (response 0.3, damping 0.7) for smooth toggle
228
+
-**Settings Height**: 0.3s easeInOut when showing/hiding delay slider
229
+
-**Auto-hide**: Configurable delay (0-3s) before window slides out
230
+
-**Shortcut Recorder**: Instant visual feedback when entering recording state
171
231
172
232
### Future Enhancements (Optional)
173
233
- Fade-in for newly created notes
@@ -188,6 +248,10 @@ The drawer pattern maximizes editor space (336px usable width vs. previous 44px)
188
248
-**Hover feedback**: Visual change on all interactive elements
189
249
-**Focus indicators**: System default for keyboard navigation
190
250
-**Semantic colors**: Green for positive/active, red for destructive
251
+
-**Keyboard navigation**: Full keyboard support in settings (Tab to navigate)
252
+
-**Custom shortcuts**: User-configurable for accessibility needs
253
+
-**Clear affordances**: Buttons and controls clearly indicate interactivity
254
+
-**Shortcut recorder**: Visual state changes guide recording process
191
255
192
256
### Font Sizes
193
257
- Minimum body text: 15pt (exceeds 12pt minimum recommendation)
@@ -243,6 +307,10 @@ Unlike typical note apps with cold blue accents or stark white backgrounds, Open
0 commit comments