Skip to content

Introduce Global Settings Page with User Preferences & Custom API Key Support #78

@Antarik06

Description

@Antarik06

Currently, there is no dedicated Settings page in the app.

User profile and name are displayed in the sidebar, but:

  • There is no centralized place for user-level configuration
  • Some preference controls (like available hours, energy peak, distraction level) are awkwardly placed inside the Routine page

This issue proposes creating a proper Global Settings system.

Goals

  1. Add a clean and structured Settings page
  2. Improve the sidebar profile section layout
  3. Centralize user preferences
  4. Add advanced personalization metrics
  5. Introduce a “Use Your Own API Key” system safely and cleanly

Sidebar Improvements

In the sidebar section where the user’s:

  • Profile image
  • Name

are displayed:

  • Improve the layout (clean spacing, alignment, hierarchy)
  • Add a small Settings (⚙️) icon
  • Clicking it should navigate to the Settings page

UI must:

  • Match existing design language
  • Feel polished, not cluttered

Dedicated Settings Page

Create a proper Settings page where users can configure preferences.

Move Existing Preferences

The following options currently exist in the Routine page settings:

  • Available hours per day
  • Energy peak (Morning / Evening / Night)
  • Distraction level

These must be:

  • Removed from the Routine page
  • Moved to the new global Settings page

Add Additional Personalization Metrics (Important)

Beyond the existing 3 fields, introduce more meaningful configuration such as:

  • Preferred session length
  • Preferred break length
  • Study goal intensity (Light / Moderate / Aggressive)
  • Notification preference (future-ready)
  • Learning style preference (Optional)
  • Motivation tone preference (Serious / Casual / Fun)

These are suggestions , you may expand thoughtfully.

Settings must:

  • Persist properly
  • Integrate cleanly with AI features
  • Not feel cosmetic

“Use Your Own API Key” Feature (Very Important)

Introduce a secure option in Settings:

Feature: Use Your Own API Key

Users should be able to:

  • Input their own AI API key
  • Enable/disable usage of personal key

Critical Constraints:

  • Must NOT break existing AI implementation
  • Must NOT remove or modify the hardcoded default API key
  • Must act as a layer on top of the current system

System behavior:

  • If user API key is enabled → use that key
  • Otherwise → fallback to default implementation
  • System must fail gracefully if user key is invalid

Security considerations:

  • Store key securely
  • Avoid exposing it unnecessarily
  • Ensure proper error handling

This must be implemented carefully.

UI & UX Expectations

  • Clean, modern layout
  • Logical grouping of settings
  • Clear section separation
  • No clutter
  • Scalable for future additions

Constraints

  • Do not break existing AI flows
  • Maintain backward compatibility
  • Ensure data persistence
  • Keep performance stable

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions