Commit Graph

538 Commits

Author SHA1 Message Date
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
aa46eb4c6d fix: Update notification timing label and refactor notification rendering for improved clarity 2026-01-26 23:08:36 -05:00
Mo Tarbin
7e35fa8710 feat: Enhance FadeModal with title and footer support; update AdvancedFilterBuilder to use fullWidth 2026-01-26 23:08:28 -05:00
Mo Tarbin
66b9e9b5c1 fix: Ensure 'Content-Type' header is set for POST, PUT, and DELETE requests 2026-01-26 23:08:13 -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
2b8482cb06 feat: add custom filter chips and filter section components
- Implemented CustomFilterChips component for displaying and managing custom filters with context menu options for pinning, editing, and deleting filters.
- Created FilterSection component to integrate CustomFilterChips and provide UI for creating advanced filters and displaying active filters.
- Introduced useCustomFilters hook to manage custom filter logic, including loading, saving, updating, and deleting filters.
- Added AdvancedFilterBuilder modal for creating and editing advanced filters with dynamic condition handling.
- Implemented SaveFilterModal for saving filters with preview functionality and validation for filter names.
- Enhanced useChoreFilters and useProjectFilter hooks for improved filter management and state handling.
2026-01-26 01:58:21 -05:00
Mo Tarbin
57bc6ad98e Refactor MyChores component for improved maintainability
Reduced MyChores.jsx from 2,839 to 1,364 lines (52% reduction) by extracting reusable hooks and components.

   Created 6 custom hooks:
   - useMultiSelect: Multi-select mode and selection state management
   - useChoreModals: Centralized modal state management
   - useProjectFilter: Project filtering with localStorage sync
   - useChoreFilters: Multi-layer filtering (project, search, user filters)
   - useKeyboardShortcuts: All keyboard event handling
   - useChoreActions: Chore actions and bulk operations

   Created 3  components:
   - SearchBar: Clean search input with keyboard hints
   - MultiSelectToolbar: Full multi-select toolbar with action buttons
   - ChoreModals: Centralized modal rendering
2026-01-25 21:26:15 -05:00
Mohamad Tarbin
8ec8816e45 Merge pull request #27 from Tirzono/fix-notification-typo
fix: change Notificaiton to Notification
2026-01-25 19:59:27 -05:00
Mohamad Tarbin
801bc2ab66 Merge branch 'main' into fix-notification-typo 2026-01-25 19:58:31 -05:00
Mohamad Tarbin
5fec87e688 Merge pull request #43 from natea/main
fix: remove optional=false from .npmrc to fix esbuild installation
2026-01-25 19:52:53 -05:00
Mohamad Tarbin
9490c00f9f Merge pull request #36 from SlIdE42/patch-1
Fix missing HTML title
2026-01-25 19:35:05 -05:00
Mohamad Tarbin
b742cda635 Merge pull request #47 from hoborm/feature/windows-developer-build
Add windows developer build
2026-01-22 22:50:54 -05:00
Mihaly Hobor
7af904d860 Add windows developer build 2026-01-22 23:15:16 +01:00
Mo Tarbin
59289a2f40 Merge branch 'dev' 2026-01-21 00:26:18 -05:00
Mo Tarbin
b08d0a76ee fix: Update import path for apiClient to use consistent casing 2026-01-21 00:26:12 -05:00
Mo Tarbin
cc8fdbe4a6 Merge branch 'dev' 2026-01-21 00:19:18 -05:00
Mo Tarbin
64eb477f4f fix: Correct import path formatting for apiClient 2026-01-21 00:19:08 -05:00
Mo Tarbin
68f368dc94 Merge branch 'dev' 2026-01-21 00:16:40 -05:00
Mo Tarbin
219d9b2a59 fix: Update import paths for apiClient to use consistent casing 2026-01-21 00:16:26 -05:00
Mo Tarbin
a7e1506ea0 Merge branch 'dev' 2026-01-21 00:12:55 -05:00
Mo Tarbin
f61cfaa781 fix: Update import path for apiClient to use consistent casing 2026-01-21 00:12:42 -05:00
Mo Tarbin
66de395549 Merge branch 'dev' 2026-01-21 00:09:44 -05:00
Mo Tarbin
242f382da3 chore: Remove empty optionalDependencies section from package.json 2026-01-21 00:09:38 -05:00
Mo Tarbin
a879bd09b4 feat: Add android build script and baseline-browser-mapping dependency 2026-01-21 00:09:15 -05:00
Mo Tarbin
ed273fbfce chore: Bump version to 0.1.120 in package.json 2026-01-21 00:08:08 -05:00
Mo Tarbin
31cb8f9fab Update import paths for apiClient to use consistent casing 2026-01-21 00:07:13 -05:00
Mo Tarbin
2aeb6598dc Merge branch 'dev' 2026-01-20 19:40:11 -05:00
Mo Tarbin
9810083304 fix: Correct import path for apiClient in useAuth hook 2026-01-20 19:40:00 -05:00
Mohamad Tarbin
23fd0482c8 Merge pull request #38 from pano9000/main
fix: UI strings - use consistent spacing/capitalization
2026-01-18 12:57:38 -05:00
Mohamad Tarbin
39f9e16a61 Merge pull request #39 from louim/bugfix/week-of-month
Replace nth_day_of_month with week_of_month
2026-01-18 12:56:58 -05:00
Mo Tarbin
c3a5e759b7 Merge branch 'dev' 2026-01-18 12:54:58 -05:00
Mo Tarbin
f9d5aeee91 feat: Add reconnection schedule and timeout configuration to Developer Settings 2026-01-18 12:54:49 -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
Mohamad Tarbin
73f33bc0a3 Merge pull request #44 from ricmatsui/feature/avoid-tab-search-conflict
Ignore Cmd/Ctrl+Shift+A to avoid conflict with Chrome tab search shortcut
2026-01-17 19:37:59 -05:00
Mohamad Tarbin
ed595a3815 Merge pull request #37 from lauraneto/bugfix/android-allow-http-requests
Allow HTTP (non secure) requests in Android app
2026-01-17 19:37:01 -05:00
Mo Tarbin
7c8fa27aaf feat: Add unarchive functionality to ChoreView and enhance project management features
- Implemented unarchive button for archived chores in ChoreView.
- Updated chore status handling to disable actions for archived chores.
- Enhanced MyChores component to filter tasks based on project selection, including a default project.
- Improved ProjectModal to streamline project creation and editing with a new footer layout.
- Refactored ProjectView to accurately count tasks for default and user projects.
- Added project selection dropdown in AddTaskModal with default project handling.
- Updated NavBar to handle logout using apiClient.
- Enhanced ProjectSelector to manage projects with a new menu item for project management.
2026-01-17 19:35:36 -05:00
Mo Tarbin
b326b1b3d7 refactor: update localStorage keys for token and expiration in authentication components 2026-01-16 15:04:27 -05:00
Mo Tarbin
f527064e55 implement View Transitions API for smoother page navigation and replace the current implementation 2026-01-16 12:12:36 -05:00
Mo Tarbin
3a074ef6c5 Add Support Project 2026-01-16 12:12:00 -05:00
Mo Tarbin
7fbae16a53 Add Support Project 2026-01-16 12:11:03 -05:00
Mo Tarbin
98018ca590 fix: update SSE message handler to reflect latest userProfile changes
there was issue where userprofile was undefined cause the message being display for same user how make the action.  The new useEffect hook updates the EventSource's handler whenever handleSSEMessage changes
2026-01-10 14:14:45 -05:00
Mo Tarbin
7d5724d8d5 add project filtering to MyChores component 2026-01-01 02:14:19 -05:00
Mo Tarbin
ba17a5592c feat: add ProjectModal component for creating and editing projects 2026-01-01 01:32:23 -05:00
Mo Tarbin
7332e81e6e Fix https://github.com/donetick/donetick/issues/373 compact card not showing the right performer 2025-12-27 16:45:49 -05:00
Mo Tarbin
5aeacef511 fix: enhance SSE error handling and token refresh logic; improve user profile checks in MyChores component 2025-12-26 19:59:39 -05:00
Ricardo Matsui
8f3fd3b37e Ignore cmd/ctrl+shift+a to avoid conflict with Chrome tab search shortcut 2025-12-26 12:42:12 -08:00
Mo Tarbin
0fd58860a8 Improve the flow for archive screen. Fix https://github.com/donetick/frontend/issues/41 2025-12-25 22:55:09 -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
Nate Aune
dd1a4cba76 fix: remove optional=false from .npmrc to fix esbuild installation
Problem:
npm install was failing with the error:
  Error: Expected "0.21.5" but got "0.18.20"

This occurred because esbuild's install.js validates that the installed
binary version matches the package.json version, but was finding an
older cached binary.

Root cause:
The .npmrc setting `optional=false` was preventing esbuild from
downloading its platform-specific binary package (@esbuild/darwin-arm64,
etc.). These platform binaries are marked as optionalDependencies in
esbuild's package.json.

Without the correct platform binary, esbuild's postinstall script would
find a stale/cached binary from a previous installation and fail the
version check.

Troubleshooting steps taken:
1. Attempted rm -rf node_modules && npm install - same error
2. Cleared npm cache with npm cache clean --force - same error
3. Checked for global esbuild installations - none found
4. Reviewed npm config and found optional=false in .npmrc
5. Ran npm install --include=optional - succeeded
6. Removed optional=false from .npmrc to permanently fix

The fund=false and audit=false settings are retained as they don't
affect dependency installation, only npm's output behavior.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-06 11:24:19 -05:00
Mo Tarbin
1123fb3ca6 fix: update onAction handler to accept extra data in ChoreCard component 2025-12-02 18:42:16 -05:00