Skip to content

Feature/chore profile page#591

Open
1sraeliteX wants to merge 2 commits into
rinafcode:mainfrom
1sraeliteX:feature/chore-profile-page
Open

Feature/chore profile page#591
1sraeliteX wants to merge 2 commits into
rinafcode:mainfrom
1sraeliteX:feature/chore-profile-page

Conversation

@1sraeliteX
Copy link
Copy Markdown
Contributor

@1sraeliteX 1sraeliteX commented May 29, 2026

Closes #467


Description

Brief description of changes

Related Issue

Closes #

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Documentation update

Checklist

  • Code follows project style guidelines
  • Self-review completed
  • No console errors
  • Uses Lucide icons consistently
  • Responsive design implemented
  • Starknet best practices followed

)

- Add SMS provider abstraction supporting Twilio, AWS SNS, and Vonage
- Implement SMSQueue with retry logic, exponential backoff, and per-job
  delivery logs (capped at 1,000 entries)
- Add SMSService with event dispatch for verification-code, security-alert,
  course-enrollment, and account-warning message types
- Add SMSLogAggregator with queryable store (5,000 entry cap), metrics
  generation (success/error rates, avg delivery time, by-provider and
  by-event-type breakdowns), anomaly detection, and JSON/CSV export
- Add API routes: POST /api/sms/send and GET /api/sms/logs
- Update NotificationService with SMS methods and multi-channel helpers
  (sendSecurityAlertMultiChannel, sendCourseEnrollmentMultiChannel)
- Add unit tests for queue, service, and aggregator
- Update .env.example with SMS provider configuration vars
- Add SMS_LOG_AGGREGATION.md implementation reference

Closes rinafcode#448
- Add CustomerSupportPanel component with three sections:
  - Contact options (email, live chat, phone) as accessible links
  - FAQ accordion with 5 common questions (keyboard accessible)
  - Contact form with subject + message fields and success state
- Extend ProfileTabId union type to include 'support'
- Add supportFaqs and supportContactOptions data to profile-data.ts
- Lazy-load CustomerSupportPanel via next/dynamic with skeleton fallback
- Full ARIA compliance: role=tabpanel, aria-expanded, aria-controls,
  aria-labelledby, role=status, aria-live, role=alert
- Follows existing panel patterns (SettingsPanel, AchievementsPanel)
@1sraeliteX
Copy link
Copy Markdown
Contributor Author

@RUKAYAT-CODER check and merge PR, thanks!

@drips-wave
Copy link
Copy Markdown

drips-wave Bot commented May 29, 2026

@1sraeliteX 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

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.

chore Profile Page : Customer Support

1 participant