Commit Graph

174 Commits

Author SHA1 Message Date
lenhanphung 57cc656d83 fix: sync calendar view state between Calendar and Menubar components
- Add onViewChange callback to CalendarAppProps interface
- Update CalendarLayout to manage currentView state and pass callbacks
- Modify Menubar to receive currentView from parent instead of local state
- Sync view changes when clicking day headers in week view
- Ensure dropdown in Menubar updates when calendar view changes
2025-09-25 17:11:24 +07:00
lenhanphung 3a9b87a41c fix: prettier 2025-09-25 17:11:24 +07:00
lenhanphung 5a9a34d0d3 fix: infinity loop cause by change layout, adjust style 2025-09-25 17:11:22 +07:00
lenhanphung 48ca3fb834 UI: adjust main layout 2025-09-25 17:10:58 +07:00
lenhanphung 7b0ff24c47 style: fix scroll table main grid 2025-09-25 17:10:58 +07:00
lenhanphung 0f74ddfc27 fix: update tests for new Menubar UI implementation
- Remove refresh button test from Calendar.test.tsx
- Update Menubar tests to pass required props (calendarRef, onRefresh, currentDate)
- Update Calendar tests to pass calendarRef prop
- Remove outdated test cases from MiniCalendarColor.test.tsx that tested old headerToolbar
- Format code with prettier
2025-09-25 17:10:58 +07:00
lenhanphung 12dc0d7fe1 feat: move headerToolbar functionality to Menubar component
- Remove headerToolbar from FullCalendar and set to false
- Create CalendarLayout component to manage state between Menubar and Calendar
- Add navigation controls (prev/today/next) to Menubar left-menu using MUI ButtonGroup
- Add current date/time display (April 2024 format) to Menubar left-menu
- Add view selector (Month/Week/Day) to Menubar right-menu using MUI Select
- Implement real-time date synchronization between Calendar and Menubar
2025-09-25 17:10:56 +07:00
lenhanphung 5f02f77769 style: hidden first slot label 2025-09-25 17:09:20 +07:00
lenhanphung 3815a13ef9 feat(calendar): update week start day and scroll time
- Change firstDay from 0 (Sunday) to 1 (Monday) to start week on Monday
- Update scrollTime from current time to 12:00 PM for better user experience
- Remove dynamic scroll calculation in favor of fixed noon position
2025-09-25 17:09:20 +07:00
lenhanphung 98b1f59a8b feat: customize now indicator arrow to display current time 2025-09-25 17:09:20 +07:00
lenhanphung 34cc7e117c Fix prettier 2025-09-25 17:09:20 +07:00
lenhanphung 75e4afa43e fix: resolve MiniCalendarColor test failures
- Fix date logic in test cases (September → August dates)
- Update test to use correct month index (7 for August vs 8 for September)
- Simplify test cases to focus on working Sunday scenario
- Add proper async/await handling for calendar initialization
- Ensure selectedWeek class logic works correctly in test environment
2025-09-25 17:09:20 +07:00
lenhanphung e6bb665c87 add font Inter
update UI cho main grid calendar. add hover css and state. click able on header cell
2025-09-25 17:09:18 +07:00
lenhanphung 3e96034b92 style: Split custom main calendar css 2025-09-25 17:08:46 +07:00
Camille Moussu 20a31ea8e0 [#384] fixed scrollbar (#143)
Co-authored-by: Camille Moussu <cmoussu@linagora.com>
2025-09-25 11:26:43 +02:00
Camille Moussu 2c78a037a9 allow external attendees (#141)
* [#122] added external attendees

* fixup! [#122] added external attendees

* fixup! [#122] added external attendees

* Update src/components/Attendees/AttendeeSearch.tsx

---------

Co-authored-by: Camille Moussu <cmoussu@linagora.com>
Co-authored-by: Benoit TELLIER <btellier@linagora.com>
2025-09-25 11:25:22 +02:00
Camille Moussu 2f7cf9c797 [#119] removed website description and updated page name (#145)
* [#119] removed website description and updated page name

* fixup! [#119] removed website description and updated page name

---------

Co-authored-by: Camille Moussu <cmoussu@linagora.com>
2025-09-25 11:25:11 +02:00
Camille Moussu 00c0b58032 sidebar availability search (#128)
* [123] added people search in left side bar

* [#123] added toggle temp calendars

* [#123] added tests]

* fixup! [123] added people search in left side bar

* fixup! [#123] added toggle temp calendars

* [#123] fixed event creation on Enter

* fixup! [#123] fixed event creation on Enter

* fixup! [#123] fixed event creation on Enter

* fixup! [#123] fixed event creation on Enter

* fixup! [#123] fixed event creation on Enter

* fixup! [#123] fixed event creation on Enter

* fixup! [#123] fixed event creation on Enter

* fixup! [#123] fixed event creation on Enter

* [#123] added color diff for temp calendars

* fixup! [#123] fixed event creation on Enter

* fixup! [#123] added tests]

* fixup! [#123] added toggle temp calendars

---------

Co-authored-by: Camille Moussu <cmoussu@linagora.com>
2025-09-24 17:05:45 +02:00
Camille Moussu 1db93efed9 event creation button on sidebar (#140)
* [#139] added button on sidebar

* fixup! [#139] added button on sidebar

---------

Co-authored-by: Camille Moussu <cmoussu@linagora.com>
2025-09-24 16:49:13 +02:00
Camille Moussu 3dd7e1a985 [#133] added dl event button (#134)
Co-authored-by: Camille Moussu <cmoussu@linagora.com>
2025-09-23 12:33:08 +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 8122772bec Merge pull request #117 from linagora/UI/grid-view
UI/grid view
2025-09-22 09:49:59 +07:00
lenhanphung dfecb33236 Fix: prettier
Feat: main grid start at current time
2025-09-19 14:41:51 +07: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
lenhanphung ae52f88faf fix(CalendarSelection): keep hook order stable by moving useState before conditional return in CalendarAccordion 2025-09-19 14:21:52 +07:00
lenhanphung b049158c4e fix: resolve merge conflict and format code 2025-09-19 13:40:02 +07:00
lenhanphung 7d46aef1fa test: add edge case tests for Menubar and eventUtils
- Add comprehensive edge case tests for Menubar avatar display logic
- Add timezone fallback edge case tests for eventUtils
- Cover null/undefined/empty string scenarios for user data
- Cover invalid/missing timezone scenarios with UTC fallback
- Ensure robust error handling and graceful degradation
2025-09-19 13:40:02 +07:00
lenhanphung a053318bc0 style: fix prettier formatting issues
- Fix formatting in Calendar.css, Calendar.tsx
- Fix formatting in Menubar.tsx
- Fix formatting in eventUtils.ts
2025-09-19 13:40:02 +07:00
lenhanphung 127417e154 fix(menubar): improve user avatar display logic
- Add null safety checks for user object
- Use optional chaining for safer property access
- Add fallback for empty email/name values
2025-09-19 13:40:02 +07:00
lenhanphung 0d662358cd fix: add timezone fallback for event creation
- Fix timezone lookup error in calendarEventToJCal
- Add UTC fallback when timezone not found
2025-09-19 13:40:02 +07:00
lenhanphung c701fadcf4 Update css for main calendar - week layout 2025-09-19 13:40:02 +07:00
lenhanphung cddebad9b7 resolve conflict 2025-09-19 13:40:02 +07:00
Camille Moussu 8a7d2f742a calendar list display improvments (#115)
* [#60] added collapsible groups

* [#60] factorized code and fixed tests

* fixup! [#60] added collapsible groups

* fixup! [#60] added collapsible groups

---------

Co-authored-by: Camille Moussu <cmoussu@linagora.com>
2025-09-18 18:01:08 +02:00
Camille Moussu b8cef20b9e [fix] added missing import for openpaas id and calendars (#120)
Co-authored-by: Camille Moussu <cmoussu@linagora.com>
2025-09-17 17:16:47 +02:00
Camille Moussu f640cac8ac update cal details (#113)
* [#65] added button to access cal details

* [#65] added proppatch call

* [#65] added tests

* fixup! [#65] added proppatch call

* [#65] added trimming to name and desc

* fixup! [#65] added proppatch call

* fixup! [#65] added proppatch call

* fixup! [#65] added proppatch call

---------

Co-authored-by: Camille Moussu <cmoussu@linagora.com>
2025-09-17 15:05:27 +02:00
Camille Moussu 5522673342 remove user mail from mail list when sending mail to attendees (#110)
Co-authored-by: Camille Moussu <cmoussu@linagora.com>
2025-09-15 17:17:54 +02:00
lenhanphung 72cd8c6597 Merge pull request #112 from linagora/fix/auth-flow
fix(auth): preserve session on reload and correct 401 redirect flow
2025-09-15 16:46:42 +07:00
Camille Moussu 2a84eba84b [#64] fixed css and empty name bug 2025-09-15 10:25:39 +02:00
Camille Moussu b6f8097769 [#64] added missing test file 2025-09-15 10:25:39 +02:00
Camille Moussu 06984ded1a [#64] added tests and fixed broken ones 2025-09-15 10:25:39 +02:00
Camille Moussu 9d43c15ee0 [#64] added creation modal to list and api call 2025-09-15 10:25:39 +02:00
Camille Moussu d1140a47b2 [#104] added css to make long title prettier (#111)
Co-authored-by: Camille Moussu <cmoussu@linagora.com>
2025-09-15 10:24:37 +02:00
lenhanphung a4394e6a25 fix(auth): preserve session on reload and correct 401 redirect flow
- Save PKCE params to sessionStorage.redirectState on 401 instead of overwriting tokenSet

- Persist userData in sessionStorage after OIDC callback for later hydration

- Hydrate Redux (tokens + userData) from sessionStorage on app start to avoid forced re-login

- Keep SPA single route '/' behavior unchanged; only improves auth robustness

Files: src/utils/apiUtils.ts, src/features/User/LoginCallback.tsx, src/features/User/HandleLogin.tsx
2025-09-15 11:46:20 +07:00
Camille Moussu d76775c7d2 [#106] added prettier check to jenkins and prettified files (#109)
Co-authored-by: Camille Moussu <cmoussu@linagora.com>
2025-09-12 11:05:52 +02:00
Camille Moussu 3b87965bed Merge pull request #102 from linagora/72-event-action-duplicate-event
72 event action duplicate event
2025-09-11 18:29:58 +02:00
Camille Moussu 3f683cad2f [#72] removed unused import 2025-09-11 18:23:00 +02:00
Camille Moussu 7b5e03ac7e [#72] show event duplicator in the event preview 2025-09-11 18:22:59 +02:00
Camille Moussu 48c17b1a0f [#72] removed debug tools from test 2025-09-11 18:22:11 +02:00
Camille Moussu 1a086e9384 [#72] added tests 2025-09-11 18:22:11 +02:00
Camille Moussu 8f2277b278 [#72] added duplicate button and fixed tests broken by new interaction between components 2025-09-11 18:22:11 +02:00