Commit Graph

40 Commits

Author SHA1 Message Date
lenhanphung 40f0179be6 fix: directly delete recurring events when converting to non-recurring
- Use direct API call to delete recurring events instead of going through Redux store
- Construct event URL directly for more reliable deletion
- Add error handling and small delay to ensure complete deletion
- Clean up all instances from store after deletion
2025-10-15 08:29:28 +02:00
lenhanphung 2ba80fcdb6 fix: handle converting recurring events to non-recurring events in edit all mode 2025-10-15 08:29:28 +02:00
lenhanphung 9ff8354950 fix: update EventDisplay and EventRepetition tests
- Fix formatLocalDateTime import in EventDisplay.tsx (now in EventFormFields)
- Update test expectations: 'Edit Event' -> 'Update Event'
- Remove getEventAsync spy (no longer called before modal opens)
2025-10-15 08:29:28 +02:00
lenhanphung 6433086332 fix: use main's EventDisplay.tsx and fix test imports
- Revert to main's EventDisplay.tsx (had wrong version from old commits)
- Fix EventRepetition.test.tsx import path
2025-10-15 08:29:28 +02:00
lenhanphung 64393bf161 fix: preserve original timezone when reopening event update modal
- Add formatDateTimeInTimezone() helper to format dates in event's original timezone
- Fix EventUpdateModal to display event times in original timezone instead of browser timezone
- Fix EventModal (duplicate event) with same timezone handling
- Update EventDisplay tests to use flexible date pattern
2025-10-15 08:29:28 +02:00
lenhanphung 80c1babb7f refactor: remove 'mark as important' field and clean up console.log statements
- Remove 'important' field from EventFormFields component and all event modals
- Remove all console.log statements from event create/update flow
- Fix import issues and type compatibility in EventModal
2025-10-15 08:29:28 +02:00
lenhanphung 42c953ccf9 feat(events): align Update modal with Create; extract shared form fields
- ux: close Update modal immediately on Save; run API in background
- fix: remove stale single-instance when converting to repeating
- test: adjust EventDisplay expectations
- refactor: share form via components/Event/EventFormFields (used by Create/Update)
2025-10-15 08:29:28 +02:00
Camille Moussu c86db8fa49 refactor recurring event modification (#173) 2025-10-07 18:16:00 +02:00
Camille Moussu 3f8f3eff23 [#162] changed preview modal looks to follow figma (#163)
Co-authored-by: Camille Moussu <cmoussu@linagora.com>
2025-10-07 11:20:09 +02:00
lenhanphung f245991816 feat: improve video conference UI in EventModal
- Replace 'Meeting link generated' text with 'Join Visio conference' button
- Button opens video conference link in new tab when clicked
- Use contained variant styling to match Save button appearance
- Maintain copy and delete functionality for meeting links
2025-10-03 14:51:40 +07:00
lenhanphung 4eb2c86771 fix: update test cases to match new UI labels
- Update RepeatEvent.test.tsx to use correct selectors and text matching
- Update EventDisplay.test.tsx to use 'Notification' instead of 'Alarm'
- Update EventModal.test.tsx to use new label names and fix description input tests
- Update Calendar.test.tsx to use new placeholder text 'Start typing a name or email'
- Fix EventDisplay.tsx to use 'Notification' label consistently
2025-10-02 14:19:05 +07:00
lenhanphung 3870bceb6d feat: prepare project for cozy-ui migration (#157)
* feat: prepare project for cozy-ui migration

Build Configuration
- Add Stylus support via @rsbuild/plugin-stylus
- Add SVGR support via @rsbuild/plugin-svgr
- Update rsbuild.config.ts with custom configuration
- Add historyApiFallback for SPA routing

ESLint Configuration
- Create .eslintrc.json with react-app configuration
- Remove eslintConfig from package.json

CSS to Stylus Migration
Convert all 5 CSS files to Stylus (.styl) format:
  - src/App.css to src/App.styl
  - src/index.css to src/index.styl
  - src/components/Calendar/Calendar.css to src/components/Calendar/Calendar.styl
  - src/components/Calendar/CustomCalendar.css to src/components/Calendar/CustomCalendar.styl
  - src/components/Menubar/Menubar.css to src/components/Menubar/Menubar.styl
- Update all imports from .css to .styl
- Preserve all styling rules and values

MUI Styling Cleanup
- Replace all MUI sx props with standard style props across 15+ components
- Convert MUI spacing units (mr: 2 to marginRight: 16px)
- Convert MUI shorthand props (p: 2 to padding: 16px, mb: 1 to marginBottom: 8px)
- Remove MUI-specific syntax (&.Mui-checked selectors)
- Maintain exact visual appearance

FullCalendar Fixes
- Comment out problematic CSS rule in CustomCalendar.styl
- Fix display issues with timegrid slot labels

Files Modified
- Config: rsbuild.config.ts, .eslintrc.json, package.json
- Styling: 5 CSS to Stylus conversions, 15+ component sx to style updates
- Components: All components using MUI sx props updated

Development Workflow
- Continue using existing development commands
- Stylus files are now the source of truth for styling
- MUI components work with standard style props
- ESLint uses familiar react-app rules

Dependencies Added
- @rsbuild/plugin-stylus
- @rsbuild/plugin-svgr
2025-10-01 17:31:18 +02:00
Camille Moussu cd724a30a0 ability to register a shared calendar (#118)
Co-authored-by: Camille Moussu <cmoussu@linagora.com>
2025-09-22 20:45:02 +02:00
lenhanphung e24aa40cce fix(user): guard openpaasId access during initial render\n\n- Use optional chaining across components reading userData.openpaasId\n- Prevent F5 crash when user data not yet hydrated\n- Cleanup unused imports 2025-09-19 14:29:10 +07:00
Camille Moussu 24c6788c2c [#92] added free busy and missing tests 2025-09-09 17:19:27 +02:00
Camille Moussu 94a18dd845 [#78] added tests 2025-09-09 11:53:13 +02:00
Camille Moussu b87b77beef [#78] added valarm support 2025-09-09 11:53:12 +02:00
Camille Moussu 37ab51784c [#77] added event start day selected by default when repetition is set to weekly 2025-09-08 11:23:24 +02:00
Camille Moussu 353d6761b4 [#77] event date modification doesnt duplicate anymore 2025-09-08 09:37:01 +02:00
Camille Moussu 0549a77d92 [#77] fixed when getEventAsync is dispatched to prevent missing data 2025-09-05 13:07:51 +02:00
Camille Moussu 80028b3f26 [#77] added repetition proper display and editing 2025-09-04 15:02:55 +02:00
Camille Moussu a58373854e [#7] removed free/busy field 2025-09-03 16:09:21 +02:00
Camille Moussu b3c05e0aa5 [#7] fixed attendance update when editing event 2025-09-03 11:10:17 +02:00
Camille Moussu a83bf2fd5c [#7] removed timezones from popup and added toggle when select free busy 2025-09-03 10:46:22 +02:00
Camille Moussu ee01e1d027 [#77] added complex ui for repetition, fixed broken tests due to new feature 2025-09-02 18:14:55 +02:00
Camille Moussu b6f55da506 [#7] fixed state update when moving event from calednars 2025-08-29 14:50:52 +02:00
Camille Moussu 64f3ff0aa4 [#7] fixed move destination 2025-08-29 10:21:43 +02:00
Camille Moussu 8ce8839383 [#7] fixed attendee management in the list 2025-08-28 16:45:49 +02:00
Camille Moussu 282cbfc80e [#7] fixed attendee search in full display 2025-08-28 16:27:08 +02:00
Camille Moussu a2b0ab32b7 [#7] added MOVE support for changing calendar for event + missing tests for this PR 2025-08-28 13:08:10 +02:00
Camille Moussu 6669eeb456 [#7] fixed allday implementation to prevent errors with openpaas 2025-08-27 14:55:14 +02:00
Camille Moussu b1c3331518 [#7] added missing complex params to event creation 2025-08-26 16:46:03 +02:00
Camille Moussu 07a17af478 [#7] added selector to add attendee when editing 2025-08-26 15:46:27 +02:00
Camille Moussu 502b6d6783 [#7] added saving to editing event 2025-08-26 14:17:14 +02:00
Camille Moussu e8a0ac41ef [#7] skeleton for complexe display 2025-08-25 17:01:18 +02:00
Camille Moussu b3d85eb15c [#4] added attendance management 2025-08-21 15:49:34 +02:00
Camille Moussu aa498ac91f [#32] added app list and user icon to menubar 2025-08-21 09:27:29 +02:00
Camille Moussu 2377cde057 [#3] added pretty attendee list and tests + fixed broken tests due to dates 2025-07-29 11:09:21 +02:00
Camille Moussu 2ad41dc4f5 [#3] added event deletion to display 2025-07-25 15:29:40 +02:00
Camille Moussu 5f59831be0 [#3] first basic modal for event display 2025-07-25 14:57:53 +02:00