refactor: enhance TimerPage layout and functionality; update theme and tokens for improved design consistency
- Refactored TimerPage component to improve layout and user experience. - Updated theme configuration to utilize design tokens for better maintainability. - Introduced new tokens for colors and typography to align with design principles. - Simplified state management and improved timer functionality. - Enhanced accessibility and responsiveness of UI elements.
This commit is contained in:
84 files changed
+4501
-2682
No files matched your search
@@ -49,6 +49,9 @@ class PomodoroSettings(BaseModel):
|
||||
alarm_sound: bool = True
|
||||
alarm_volume: int = Field(default=70, ge=0, le=100)
|
||||
|
||||
timer_enabled: bool = True
|
||||
"""When false the timer controls are hidden — the app becomes view-only."""
|
||||
|
||||
desktop_notifications: bool = True
|
||||
keep_on_top_during_work: bool = False
|
||||
"""Desktop app: float the window above everything while a work interval runs."""
|
||||
@@ -76,12 +79,6 @@ class JiraSourceSettings(BaseModel):
|
||||
|
||||
max_issues: int = Field(default=200, ge=1, le=2000)
|
||||
|
||||
writeback_done: bool = True
|
||||
"""Completing a Jira task here transitions the issue to Done in Jira."""
|
||||
|
||||
done_transition_name: str = "Done"
|
||||
"""Preferred transition name when writing back; falls back to any 'done' one."""
|
||||
|
||||
|
||||
class GoogleTasksSourceSettings(BaseModel):
|
||||
"""Google Tasks, via an OAuth refresh token (see jira-helper's README)."""
|
||||
@@ -96,8 +93,6 @@ class GoogleTasksSourceSettings(BaseModel):
|
||||
include_undated: bool = True
|
||||
"""Keep tasks with no due date (jira-helper drops them; here they are todos)."""
|
||||
|
||||
writeback_done: bool = True
|
||||
|
||||
|
||||
class TodoistSourceSettings(BaseModel):
|
||||
"""Todoist, via a personal API token."""
|
||||
@@ -110,8 +105,6 @@ class TodoistSourceSettings(BaseModel):
|
||||
filter_query: str = ""
|
||||
"""Override the server-side filter. Empty = all open tasks."""
|
||||
|
||||
writeback_done: bool = True
|
||||
|
||||
|
||||
class LaundrySourceSettings(BaseModel):
|
||||
"""Campus laundry bookings — not a todo, but a thing that owns your time."""
|
||||
@@ -157,13 +150,23 @@ class BlockerSettings(BaseModel):
|
||||
|
||||
block_during_breaks: bool = False
|
||||
blocked_domains: list[str] = Field(default_factory=list)
|
||||
"""Bare hostnames, e.g. `youtube.com`. `www.` and subdomains are added for you."""
|
||||
"""Hostnames or masks.
|
||||
|
||||
`youtube.com` blocks the site (plus `www.` and `m.`); `*.youtube.com` blocks
|
||||
its subdomains too, expanded with `subdomain_expansions` because a hosts file
|
||||
has no wildcards of its own.
|
||||
"""
|
||||
|
||||
allowed_domains: list[str] = Field(default_factory=list)
|
||||
"""Exceptions that survive a wildcard entry, e.g. `music.youtube.com`."""
|
||||
"""Exceptions, masks allowed: `music.youtube.com`, `*.docs.google.com`."""
|
||||
|
||||
subdomain_expansions: list[str] = Field(
|
||||
default_factory=lambda: ["www", "m", "mobile", "app", "web", "i", "old", "new"]
|
||||
)
|
||||
"""What `*.example.com` turns into. Add the subdomains you actually visit."""
|
||||
|
||||
blocked_apps: list[str] = Field(default_factory=list)
|
||||
"""Process names, e.g. `steam`, `discord`, `Telegram`."""
|
||||
"""Process names or masks: `steam`, `*discord*`, `telegram-*`."""
|
||||
|
||||
kill_blocked_apps: bool = True
|
||||
"""Terminate a blocked app when it appears; otherwise only warn and log."""
|
||||
|
||||
Reference in new issue
Block a user