Refactor authentication handling and API client integration
- Updated UserProfileAvatar to use 'access_token' instead of 'ca_token' for logout.
- Removed SSEProvider from Contexts and adjusted related imports.
- Introduced useAuth hook for centralized authentication logic, including login, logout, and token management.
- Refactored useSSE to utilize the new useAuth hook for token validation.
- Updated UserQueries to check for token validity using the new method.
- Deleted AuthenticationService as its functionality is now handled by useAuth.
- Created a new ApiClient utility for handling API requests and token management.
- Updated various components and views to use the new ApiClient for API interactions.
- Removed TokenManager and migrated its functionality to the new ApiClient.
- Adjusted LoginView and related components to utilize the new authentication flow.
- Cleaned up unused variables and improved code consistency across components.
- Replaced direct API calls with React Query hooks in ChoreView, ChoreCard, CompactChoreCard, and TimerDetails components for better state management and error handling.
- Updated ArchivedTasks to utilize useUnArchiveChore hook for restoring archived chores.
- Enhanced NotificationSetting to include device registration logic and improved user feedback for push notifications.
- Refactored TimerEditModal and TimerDetails to streamline timer session updates and deletions using hooks.
- Improved ChoreActionMenu to handle archiving and unarchiving chores with hooks.
- Adjusted various components to use getSafeBottomStyles for consistent bottom padding.
- Cleaned up unused imports and optimized loading states across components.
- Introduced NOTIFICATION_TYPE constants for pre-due, due date, and post-due notifications in Colors.jsx.
- Updated HistoryCard.jsx to utilize TASK_COLOR for chip colors based on task status.
- Created DemoCalendar.jsx to showcase a visual task calendar with sample chore data.
- Enhanced DemoMyChore.jsx to include status for demo tasks.
- Added DemoNotificationTemplate.jsx for demonstrating smart notification scheduling.
- Revamped FeaturesSection.jsx to reflect updated feature descriptions and icons.
- Updated Footer.jsx to link to the correct API reference documentation.
- Improved GettingStarted.jsx with new mobile app download options and enhanced layout.
- Integrated TabletInstallationSection into Landing.jsx for better user guidance.
- Added query invalidation on signup to refresh user profile data.
- Improved MyChores component to ensure data is loaded before rendering.
- Introduced dynamic sidepanel configuration with drag-and-drop functionality.
- Created TasksByAssigneeCard to visualize tasks assigned to users.
- Updated MFASettings and Settings components for better structure and usability.
- Implemented SettingsOverview for a comprehensive settings navigation experience.
- Added SidepanelSettings for customizing sidepanel card visibility and order.
- Refactored NavBar to include user profile avatar and improved layout.
- Removed redundant priority color function from CompactChoreCard and imported from Colors utility.
- Replaced FadeModal with ResponsiveModal in MultiSelectHelp for improved modal handling.
- Simplified MyChores component by removing archived chores state and related logic, and added keyboard shortcut for navigating to archived tasks.
- Integrated ResponsiveModal in RedeemPointsModal for consistent modal usage.
- Added quick scheduling options in ChoreActionMenu for better task management, including scheduling for today, tomorrow, weekend, and next week.
- Enhanced CustomParsers to support nth occurrence of days in monthly scheduling.
- Updated NavBar links and navigation logic for improved user experience.
- Integrated RevenueCat for subscription management in Settings.
- Added subscription and user deletion modals in Settings.
- Improved analytics display in Things History with update frequency and trend calculations.
- Enhanced User Activities timeline with a more structured layout.
- Revamped User Points section with a leaderboard and detailed points analytics.
- Introduced responsive design elements and improved user experience across various components.
- Add permission for Camera to support uploading photo via camera
- Updated UserPoints component to include a more user-friendly filter bar with enhanced styling.
- Added a summary section to display the current filter context.
- Refactored user selection and time period filtering logic for better clarity and performance.
- Improved the layout of points cards and history sections for better visual hierarchy.
- Integrated a bar chart for visual representation of points over time.
- Updated redeem points functionality with better user feedback.
feat: Add keyboard shortcuts in AddTaskModal for improved usability
- Implemented keyboard shortcuts for adding descriptions, subtasks, and due dates.
- Enhanced user experience by providing visual hints for keyboard shortcuts.
- Refactored task creation logic to streamline the process.
fix: Refactor ChoreActionMenu to handle mouse events and improve accessibility
- Added mouse enter and leave event handlers for better interaction feedback.
- Adjusted menu positioning for improved usability.
refactor: Update RichTextEditor to support focus handling from parent components
- Converted RichTextEditor to use forwardRef for better integration with parent components.
- Exposed focus and blur methods for external control.
- Improved image upload handling with better error management.
fix: Adjust SubTask component to handle Enter key behavior correctly
- Modified key event handling to prevent unintended task creation when holding meta or ctrl keys.
- Added autoFocus prop to new task input for better user experience.
- Introduced `useUserProfile` hook to centralize user profile fetching and management.
- Updated various components to utilize the new `useUserProfile` hook instead of context.
- Enhanced token validation logic in `Fetch` function to prevent unnecessary redirects.
- Added `parseDueDate` function to handle due date parsing with improved logic.
- Cleaned up user profile state management across multiple views and settings.
- Improved loading states and error handling in user-related components.
- remove usercontext and just use react query for userProfile
- Added MFA verification modal to handle MFA during login.
- Integrated MFA checks in login and OAuth login processes.
- Created MFASettings component to manage MFA setup, enabling, disabling, and backup codes.
- Updated ProfileSettings to include timezone selection.
- Enhanced CalendarView to display assignee names with avatars.
- Added RichTextEditor enhancements for image uploads based on user account type.
- Minor adjustments to ChoreEdit and ChoreView components for better UX.
- Support filters in ChoreGrouper
- completion window only available if due date selected
- Add SortAndGrouping Component : support Filter by Assignee
- update Notification Switch to align left of the text
- Support caching filters
* Initial Capacitor Config and plugins
* Add Android project files and resources
* Add local notification scheduling for chores
* Add NotificationAccessSnackbar component for handling notification preferences
* Add capacitor-preferences to Android project
* Update notification Snackbar
* Add local notification scheduling for chores
* Add ionic.config.json file for custom project configuration
* chore: Add environment variables for production deployment
* Add Support for IOS, pass notificaiton token(push notifications)
* Add Capacitor Device support and refactor notification handling
* Refactor GoogleAuth client IDs to use environment variables
* Remove google-services.json to enhance security by eliminating sensitive data from the repository
* Remove environment files to enhance security by eliminating sensitive data from the repository
* Rename project from fe-template to Donetick in ionic.config.json
* Remove GoogleService-Info.plist and Info.plist to enhance security by eliminating sensitive data from the repository
---------
Co-authored-by: Mo Tarbin <mohamad@Mos-MacBook-Pro.local>