Commit Graph

137 Commits

Author SHA1 Message Date
lenhanphung 24efa2b62e feat: get back 30mins divided 2025-09-25 17:11:24 +07:00
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 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 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 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 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 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 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 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
Camille Moussu 2291e64731 Merge pull request #103 from linagora/73-event-action-mail-to-attendees
73 event action mail to attendees
2025-09-11 18:21:18 +02:00
Camille Moussu 4b31d34414 [#63] added reload button and corresponding tests 2025-09-11 14:42:38 +02:00
Camille Moussu e486c9637e [#73] added tests 2025-09-11 12:19:17 +02:00
Camille Moussu 61ca0ce198 [#73] added button to send mail 2025-09-11 11:41:31 +02:00
ducdonghiem 4b71a6e3c7 ISSUE-91 add lock icon indication for private events (#98) 2025-09-11 09:17:54 +02:00
Camille Moussu 24c6788c2c [#92] added free busy and missing tests 2025-09-09 17:19:27 +02:00
Camille Moussu 8eaee8bbda Merge pull request #99 from linagora/78-add-valarm-support
Add valarm support
2025-09-09 15:58:28 +02:00
DNgMinh 54709ac994 Set calendar week to start on Monday (#94) 2025-09-09 15:35:39 +02:00
Camille Moussu 3e9530a0a5 [#78] fixed undefined email 2025-09-09 14:52:51 +02:00