Skip to content

feat(MAC-6): Settings App Overhaul, Calendar Slice & CI/CD Workflow Modernisation - #90

Merged
ar022 merged 2 commits into
developmentfrom
amitraikwar/MAC-6/settings-overhaul-calendar-cicd
Jul 13, 2026
Merged

feat(MAC-6): Settings App Overhaul, Calendar Slice & CI/CD Workflow Modernisation#90
ar022 merged 2 commits into
developmentfrom
amitraikwar/MAC-6/settings-overhaul-calendar-cicd

Conversation

@ar022

@ar022 ar022 commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Description of changes

This PR delivers a comprehensive macOS Settings app overhaul, introduces a Calendar app state slice, modernises the CI/CD pipeline, and adds data-driven context menus across all simulated applications.

Requirement

  • Redesign the Settings app to faithfully replicate macOS System Preferences with 20+ preference panels.
  • Introduce a Calendar app slice and selector in appStore so Calendar window state is consistently managed.
  • Add data/Options.ts context menu data files for every simulated application, driven by a shared src/types/menu.ts type.
  • Replace the legacy monolithic GitHub Actions workflows with purpose-built build-web.yml (build verification) and ci-web.yml (CI checks) for better maintainability.
  • Simplify DateTimeDrawer by removing the standalone WorldClockComponent and revamp the Wifi top-bar component.

Implementation

  • Settings app (src/screens/private/program/Settings/): Extracted each preference category into its own TSX component (20+ panels: General, Wi-Fi, Bluetooth, Network, Notifications, Sound, Focus, Screen Time, Appearance, Accessibility, Siri, Privacy & Security, Desktop & Dock, Displays, Battery, Lock Screen, Touch ID & Password, Users & Groups, Internet Accounts, Wallet, iCloud, Game Centre, Wallpaper). A const.tsx and data/Options.ts centralise sidebar navigation config and context menu options.
  • Calendar slice (src/store/appStore/slice/Calendar/): New Zustand slice + Immer types + selector, wired into appStore and exported via src/store/appStore/selector/index.ts.
  • Context menu data (data/Options.ts per app): Each app now exports a typed options array via the new shared src/types/menu.ts interface, enabling a consistent data-driven rendering pattern for right-click menus.
  • Store refactoring: appStore, settingsStore, and processStore slice types updated to accommodate the Options pattern and window state extensions across Bin, Finder, Terminal, VsCode, and Calendar.
  • CI/CD (.github/workflows/): Replaced main.yml, deploy.yaml, and release.yml with build-web.yml and ci-web.yml — separating build and CI responsibilities for cleaner pipeline management.
  • UI fixes: DateTimeDrawer simplified (WorldClockComponent removed), Wifi top-bar revamped, minor fixes to Window, Launchpad, Lock screen, and Power screen components.

Ticket: MAC-6
Author: Amit Raikwar

@ar022
ar022 force-pushed the amitraikwar/MAC-6/settings-overhaul-calendar-cicd branch from 8a76c8f to b639e0a Compare July 13, 2026 22:16
@ar1603 ar1603 self-assigned this Jul 13, 2026
- Redesigned Settings app with 20+ macOS-faithful preference panels (General, Wi-Fi, Bluetooth, Network, Notifications, Sound, Focus, Screen Time, Appearance, Accessibility, Siri, Privacy & Security, Desktop & Dock, Displays, Battery, Lock Screen, Touch ID, Users & Groups, Internet Accounts, Wallet, iCloud, Game Centre, Wallpaper).
- Added Calendar app slice and selector to appStore for consistent window state management.
- Introduced data/Options.ts context menu data files for all simulated apps (Bin, Calendar, Chrome, Finder, Github, Notes, Settings, Spotify, Terminal, VsCode) driven by a shared src/types/menu.ts type.
- Refactored appStore, settingsStore, and processStore slices and types to align with new Options data pattern and window state extensions.
- Replaced legacy CI/CD workflows (main.yml, deploy.yaml, release.yml) with purpose-built build-web.yml and ci-web.yml for cleaner separation of build and CI concerns.
- Simplified DateTimeDrawer by removing WorldClockComponent; revamped Wifi top-bar component; applied minor UI fixes to Window, Launchpad, Lock, and Power screens.
- Addresses requirements specified in MAC-6.
@ar022
ar022 force-pushed the amitraikwar/MAC-6/settings-overhaul-calendar-cicd branch from b639e0a to b639998 Compare July 13, 2026 22:20
- Explicitly define packageManager as yarn@4.17.0 in package.json.
- Add paths configuration for Yarn v4 cache, install state, patches, and virtual folders inside node_modules in .yarnrc.yml.
@ar022
ar022 merged commit 5eba829 into development Jul 13, 2026
1 check passed
@ar1603
ar1603 deleted the amitraikwar/MAC-6/settings-overhaul-calendar-cicd branch July 13, 2026 22:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants