Skip to content

[FEAT] Premium UI/UX Modernization & Persistent Dark Mode Toggle #145

@deekshinowdu-collab

Description

@deekshinowdu-collab

Feature Description

Modernize the current Productivity Tracker's interface into a premium, responsive, glassmorphism-style dashboard. Additionally, implement a persistent Light/Dark Mode toggle that respects the user's system preferences and saves their selection across sessions.

This upgrade will significantly elevate the visual appearance of the application, making it more engaging for users and showcasing standard modern frontend practices.


Key Requirements

1. Theme Configuration & Toggle (Dark/Light)

  • Define a robust design system in style.css using CSS Variables (custom properties) for colors, backgrounds, borders, shadows, and text colors.
  • Build a toggle button in the navbar/header area with smooth transitions (e.g., transition: background-color 0.3s ease, color 0.3s ease).
  • Automatically detect the user's preferred color scheme on first load (prefers-color-scheme: dark).
  • Store the user's chosen theme in localStorage so it persists after page refreshes.

2. Modern Glassmorphism Styling

  • Update the main layout container to use a modern, glassmorphism-inspired aesthetic:
    • Semi-transparent background with a blur filter (backdrop-filter: blur(12px)).
    • Harmony-based colors (e.g., deep slate/indigo for dark mode, soft blue-gray/violet tint for light mode).
    • Subtle gradient borders and soft drop-shadows (box-shadow).
  • Avoid using browser defaults; employ premium typography (e.g., importing Google Fonts like Inter or Outfit).

3. Responsive & Interactive Elements

  • Ensure the tracker adjusts perfectly across all screen sizes (mobile, tablet, desktop).
  • Add micro-animations:
    • Hover scaling for buttons.
    • Smooth checklist strike-through animations.
    • Interactive states for inputs.
  • Create a beautiful, styled empty-state illustration/message when there are no tasks in the list.

Proposed Implementation Steps

  • HTML (index.html): Add a toggle button structure (preferably using SVG or icons from FontAwesome/Lucide) and style elements.
  • CSS (style.css):
    • Refactor all colors to use variables: e.g., --bg-color, --card-bg, --text-color, --accent-color.
    • Add media queries to support smooth layout transitions on smaller screens.
  • JS (script.js): Add logic to detect current theme preferences, toggling the .dark-mode class on the <body>, and saving choices in localStorage.

Design References (Optional Suggestion)

  • Colors (Dark): Dark slate #0f172a, container #1e293b with 80% opacity, accent #6366f1 (indigo).
  • Colors (Light): Cool gray #f8fafc, container #ffffff with 85% opacity, accent #4f46e5.
  • Transitions: Apply a universal transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); to layout changes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions