Commit Graph

42 Commits

Author SHA1 Message Date
Mo Tarbin
b73586f81b Add support for iOS and android widgets 2026-07-18 17:10:23 -04:00
Mo Tarbin
6508eb57fc Merge branch 'develop' of https://github.com/Donetick/frontend into bugfixes-07-09-2026 2026-07-12 18:11:22 -04:00
tanomitsu
2fd6d5cd2e feat: add Japanese (ja) localization
- Add ja translations for common, settings, and chores namespaces
- Register ja in AVAILABLE_LANGUAGES so it appears in the language picker
- Import moment/locale/ja so date and relative-time formatting uses Japanese
2026-07-12 18:07:17 -04:00
Mohamad Tarbin
c43dc175d0 Merge branch 'develop' into feature/ja-localization 2026-07-07 23:01:46 -04:00
tanomitsu
08f3928ebc feat: add Japanese (ja) localization
- Add ja translations for common, settings, and chores namespaces
- Register ja in AVAILABLE_LANGUAGES so it appears in the language picker
- Import moment/locale/ja so date and relative-time formatting uses Japanese
2026-05-26 15:28:29 +09:00
Mohamad Tarbin
6ff38e8068 Merge pull request #90 from felipellc/add-pt-br-translation
feature/add-ptbr-support
2026-05-25 01:59:06 -04:00
tinect
ca7d71eed4 feat: add German translation 2026-04-20 21:24:59 +02:00
Felipe Camargo
6b80bc5b5e Rename pt-BR locale to pt to match project convention
All existing locales use two-letter codes (ar, en, es, fr, nl) and the
crowdin.yml output path uses %two_letters_code% — using pt-BR would
conflict with any future Crowdin-imported Portuguese.

The display name stays 'Portuguese (Brazil)' / 'Português (Brasil)' so
users still see it's the Brazilian dialect.
2026-04-13 08:08:38 -07:00
Felipe Camargo
016a613fd5 Add Brazilian Portuguese (pt-BR) translation
Adds public/locales/pt-BR/ with complete translations for common,
chores, and settings namespaces. Registers pt-BR in the
AVAILABLE_LANGUAGES picker in LocalizationContext.jsx.

Tone: informal 'você' form, natural Brazilian Portuguese.
2026-04-13 07:49:34 -07:00
Mo Tarbin
fc91894336 Refactor localization handling across components
- Updated LocalizationContext to consolidate date and time formatting functions into a single `fmt` object.
- Modified ChoreCardHelpers to accept a time format parameter for due date text.
- Adjusted ChoreView, RepeatSection, TimePassedCard, and other components to utilize the new `fmt` object for date and time formatting.
- Enhanced HistoryCard and TimerEditModal to use the new localization functions for consistent date and time display.
- Refined Settings and CircleSettings to leverage the updated localization methods for subscription and member date displays.
- Improved ThingsHistory and UserActivities to format dates and times using the new localization structure.
- Ensured CalendarCard and CalendarDual components utilize the new formatting functions for better readability.
2026-03-08 23:08:37 -04:00
Mo Tarbin
7f74574a7f fix: Add localization route and settings menu entry
- Add LocalizationSettings to RouterContext routes
- Add localization card to SettingsOverview menu
- Update LocalizationSettings to use SettingsLayout
- Add Language icon import

Now accessible at /settings/localization
2026-03-08 16:22:13 +00:00
Mo Tarbin
6d6185dc5e feat: Add comprehensive internationalization (i18n) support
- Add multi-language support with i18next and react-i18next
- Implement user-selectable date format preferences (5 formats)
- Add time format preferences (12-hour/24-hour)
- Implement RTL (right-to-left) support for Arabic, Hebrew, Persian, Urdu
- Add first day of week preference
- Create LocalizationContext for managing i18n settings
- Add LocalizationSettings component to Settings page
- Include sample translations: English, Spanish, Arabic
- Configure 10 languages: en, es, fr, de, ar, he, zh, ja, pt, ru
- Add translation management documentation and Crowdin config
- Create date formatting utilities that respect user preferences
- Add RTL CSS styles for proper layout mirroring
- Update Settings and ThemeToggle components to use translations
- Add comprehensive documentation (implementation guide, quick reference, translation guide)

All user preferences are persisted to localStorage and apply throughout the app.
2026-03-08 15:57:57 +00:00
Mo Tarbin
1006254090 fix: update landing page routing based on domain conditions 2026-02-09 23:23:26 -05:00
Mo Tarbin
448b8fa160 feat: enhance filter functionality and UI improvements
- Added FilterView component for managing custom filters.
- Implemented temporary filter application in MyChores and custom filter hooks.
- Improved sorting of archived chores by updated date.
- Enhanced SortAndGrouping component with keyboard navigation support.
- Updated CustomFilterChips to visually indicate active filters.
- Refactored AdvancedFilterBuilder to improve usability and added listbox positioning.
- Integrated project selection caching in ProjectView for better navigation.
- Cleaned up unused imports and optimized existing code for better performance.
2026-01-27 23:50:49 -05:00
Mo Tarbin
ad45bafd62 feat: Refactor Filter Section and Add Filter View
- Removed unused props and components from FilterSection.
- Introduced FilterView component to manage and display saved filters.
- Implemented swipe functionality for filter actions (edit, delete, pin).
- Enhanced AdvancedFilterBuilder with description and color selection.
- Deleted obsolete SaveFilterModal component.
- Updated NavBar to include a link to the new Filters page.
- Adjusted chore filter hooks for improved functionality and organization.
2026-01-26 17:27:27 -05:00
Mo Tarbin
371631856a feat: Add Developer Settings page and integrate with SSE context for debugging
refactor: Update ApiClient to support dynamic server URL and improve token handling
refactor: Modify TokenStorage to utilize Capacitor for native platforms
refactor: Adjust Fetcher to use updated ApiClient methods
refactor: Enhance SettingsOverview to include Developer Settings option
2026-01-18 12:54:13 -05:00
Mo Tarbin
7fbae16a53 Add Support Project 2026-01-16 12:11:03 -05:00
Mo Tarbin
8edd3774d2 Support Refresh token and improve authentication and security.
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.
2025-12-25 22:54:39 -05:00
Mo Tarbin
d41d6bd758 feat: add sub user management features including creation, deletion, and password updates 2025-09-28 19:12:26 -04:00
Mo Tarbin
9ff2359b4c Remove Websocket code since we are only using SSE 2025-09-27 13:38:45 -04:00
Mo Tarbin
f27bbd318f Refactor chore management to use React Query hooks for timer and chore actions
- 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.
2025-09-21 12:46:03 -04:00
Mo Tarbin
3bf9126595 refactor: replace NotificationSettings component with NotificationSetting in RouterContext 2025-09-20 19:07:26 -04:00
Mo Tarbin
707ba55e1d feat: implement push notification registration and nudge feature; enhance user settings and notification handling 2025-09-18 01:13:37 -04:00
Mo Tarbin
b71a533024 enhance impersonation context and user profile handling; improve UI interactions in chore history and timer details 2025-09-15 23:52:28 -04:00
Mo Tarbin
43decb21f4 Refactor StorageSettings to use SettingsLayout and improve layout structure; add ThemeSettings component; update TermsView with new terms and structure; enhance ThingsView styling; clean up AddTaskModal by removing experimental feature chip; create CalendarCard component for calendar overview; optimize CustomParsers for repeat parsing; update NavBar for improved navigation and search parameter handling. 2025-09-11 01:17:27 -04:00
Mo Tarbin
cf4d0565c5 feat: Enhance Signup and Chores functionality
- 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.
2025-08-29 00:50:54 -04:00
Mo Tarbin
0f125cd63f Enhance modal components with consistent button sizes and improve calendar styles for better responsiveness and layout 2025-08-23 17:15:18 -04:00
Mo Tarbin
953c62cc66 feat: Enhance UserPoints component with improved filtering and layout
- 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.
2025-07-11 20:10:28 -04:00
Mo Tarbin
6cb6b1534d Websocket and SSE in working state :
Add Server-Sent Events (SSE) support with connection status and settings components

- Implemented SSEConnectionStatus component to display real-time connection status.
- Created SSESettings component for enabling/disabling SSE based on user profile.
- Introduced SSEContext and useSSE hook for managing SSE connections and state.
- Added auto-connect functionality for SSE based on user profile and token validity.
- Updated WebSocketSettings to ensure proper handling of WebSocket state.
- Enhanced MyChores view with bulk archive functionality and improved UI feedback.
- Refactored NotificationSetting to ensure boolean values are set correctly.
- Updated Settings view to include RealTimeSettings component for SSE configuration.
2025-06-17 01:07:14 -04:00
Mo Tarbin
a443582ca9 Implement WebSocket connection management and settings UI 2025-06-13 16:38:34 -04:00
Mo Tarbin
64668147d9 refactor: Remove UserContext as it is no longer needed 2025-06-08 02:19:33 -04:00
Mo Tarbin
709a91b1db Your commit message 2025-05-27 11:58:52 -04:00
Mo Tarbin
d0b1addc6f Add Custom 404 to allow navigating back to login 2025-02-11 20:46:27 -05:00
Mo Tarbin
bd49f4314d Add useResource hook for fetching resource data
Add Support or authenticating using OIDC
2025-02-06 19:35:33 -05:00
Mo Tarbin
a57def2f92 Android app default route is /my/chores 2025-02-01 19:23:06 -05:00
Mo Tarbin
32583b1a9e Add Points view, Don't allow completion outside the completion window, migrate more things to react query 2024-12-31 02:20:52 -05:00
Mo Tarbin
d4c36e2057 Initial Activity View
Add New Colors.jsx
Allow Dark model Toggle from the Navbar
2024-12-28 18:52:06 -05:00
Mohamad Tarbin
bcd32a8616 Mobile app (#3)
* 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>
2024-12-26 02:13:47 -05:00
Mo Tarbin
42182371ff Add Support for LabelV2, Add LabelModal and LabelView.
Add React Query
2024-11-23 20:23:59 -05:00
Mo Tarbin
e25a6d3be9 Add VITE_IS_LANDING_DEFAULT flag for conditional rendering of landing page 2024-07-09 21:21:00 -04:00
Mo Tarbin
9a07689dfe feat: Add NFC tag writing functionality to ChoreCard component, Add Email to sign up 2024-07-06 02:33:06 -04:00
Mo Tarbin
2657469964 move to Donetick Org, First commit frontend 2024-06-30 18:55:39 -04:00