Skip to content

feat: add draggable desktop widgets (clock, calendar, weather, youtube)#635

Open
maateusx wants to merge 1 commit intoDustinBrett:mainfrom
maateusx:feat/desktop-widgets
Open

feat: add draggable desktop widgets (clock, calendar, weather, youtube)#635
maateusx wants to merge 1 commit intoDustinBrett:mainfrom
maateusx:feat/desktop-widgets

Conversation

@maateusx
Copy link
Copy Markdown

Introduce a widget layer on the Desktop with four draggable widgets:

  • ClockWidget: live clock with 1s tick using Intl.DateTimeFormat
  • CalendarWidget: interactive month grid with navigation (uses existing createCalendar)
  • WeatherWidget: current weather from wttr.in with 30min auto-refresh and emoji mapping
  • YouTubeWidget: embedded YouTube player with a generic public video

Shared infrastructure includes a base StyledWidget styled-component with backdrop blur/border/shadow, and a useDraggableWidget hook that supports mouse-based drag constrained within the viewport (respecting TASKBAR_HEIGHT).

A WidgetManager component orchestrates all widgets and is rendered inside the Desktop component after the FileManager.

Introduce a widget layer on the Desktop with four draggable widgets:
- ClockWidget: live clock with 1s tick using Intl.DateTimeFormat
- CalendarWidget: interactive month grid with navigation (uses existing createCalendar)
- WeatherWidget: current weather from wttr.in with 30min auto-refresh and emoji mapping
- YouTubeWidget: embedded YouTube player with a generic public video

Shared infrastructure includes a base StyledWidget styled-component with
backdrop blur/border/shadow, and a useDraggableWidget hook that supports
mouse-based drag constrained within the viewport (respecting TASKBAR_HEIGHT).

A WidgetManager component orchestrates all widgets and is rendered inside
the Desktop component after the FileManager.

Made-with: Cursor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant