Skip to content

User Preferences & Settings#139

Merged
llinsss merged 2 commits intoDogStark:mainfrom
miss-yusrah:feat/settings
Mar 24, 2026
Merged

User Preferences & Settings#139
llinsss merged 2 commits intoDogStark:mainfrom
miss-yusrah:feat/settings

Conversation

@miss-yusrah
Copy link
Contributor

Summary

closes #57

This PR implements the User Preferences & Settings task by expanding the existing settings flow to support notification, privacy, and account preference management in a more complete way.

It adds support for:

  • Email notification preferences
  • SMS notification preferences
  • Push notification preferences
  • Data sharing consent
  • Language preference
  • Timezone settings

What Changed

Backend

  • Ensured users always have a default preferences record available
  • Added default values for:
    • preferred language
    • timezone
    • privacy visibility settings
  • Updated registration-related preference initialization flow so new users can manage settings immediately
  • Updated auth service test coverage to reflect default preference creation during registration

Frontend

  • Fixed and completed the preferences page data-loading flow
  • Improved notification preference handling for:
    • email notifications
    • SMS notifications
    • push notification preference state
  • Extended privacy/settings UI to include:
    • data sharing consent
    • language preference
    • timezone selection
  • Updated the user API client to support the additional preference fields

Acceptance Criteria Coverage

  • Email notification preferences
    • Added and wired through the settings flow
  • SMS notification preferences
    • Added and wired through the settings flow
  • Push notification preferences
    • Added and managed through notification settings
  • Data sharing consent
    • Added to privacy/data settings
  • Language preference
    • Added to settings UI and API payloads
  • Timezone settings
    • Added to settings UI and API payloads

Files Changed

Backend

  • backend/src/auth/auth.service.ts
  • backend/src/auth/auth.service.spec.ts
  • backend/src/modules/users/services/user-preference.service.ts

Frontend

  • src/pages/preferences.tsx
  • src/components/Settings/NotificationPreferences.tsx
  • src/components/Settings/PrivacySettings.tsx
  • src/components/Settings/PrivacySettings.module.css
  • src/lib/api/userAPI.ts

Testing

  • Verified implementation changes for backend preference initialization and frontend settings flow
  • Recommended manual QA:
    1. Open Preferences page
    2. Update email, SMS, and push notification settings
    3. Update data sharing consent
    4. Change language preference
    5. Change timezone
    6. Save and confirm values persist after reload

@drips-wave
Copy link

drips-wave bot commented Mar 23, 2026

@miss-yusrah Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@llinsss llinsss merged commit aa537f3 into DogStark:main Mar 24, 2026
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.

User Preferences & Settings

2 participants