Commit Graph

277 Commits

Author SHA1 Message Date
Camille Moussu 8c3fa4bc1b added integration for calendar to have twake top bar (#576) 2026-02-25 11:01:09 +01:00
Camille Moussu 5989b3661e [#562] added DAV_BASE_URL to env (#570)
Co-authored-by: Camille Moussu <cmoussu@linagora.com>
2026-02-23 11:29:02 +01:00
Camille Moussu f40165d2e2 559 delegation create event in another user calendar (#561)
* [#559] added delegated calendars in user selector
* [#559] selector for calendar display delegated and personal separatly

Co-authored-by: Camille Moussu <cmoussu@linagora.com>
2026-02-20 23:14:48 +01:00
Camille Moussu cfb2b59584 [DELEGATION] Edit attendance and events, delete event for someone (#553)
* [#523] added way to manage attendance for delegated calendars

* [DELEGATION] #523 & #524 changed eventURL calculation for delegated events to have the rigth one

* [#524] added drag and drop authorisation to delegated event

* [#524] added tests

* [#524] support for the permission access

* [#524] no edit when delegated event is not public
2026-02-19 09:50:29 +01:00
Camille Moussu f520a9b6fe [#440] changed behavior for localised default name to be only a display thing (#556) 2026-02-18 17:26:39 +01:00
Camille Moussu f8e159a618 [#533] updated localisation of field (#536)
* [#533] updated localisation of field + removed empty display for repetition

* [#533 & #545] fixed bug date in repetition field & set limit to repetition end to not be before start date
2026-02-16 11:11:59 +01:00
Camille Moussu 7664d8bb38 [#548] peoplesearch validate input on blur (#550)
Co-authored-by: Camille Moussu <cmoussu@linagora.com>
2026-02-13 15:57:23 +01:00
lenhanphung ccb5d2d1bc hide timezone border (#546) 2026-02-13 11:03:56 +01:00
lenhanphung 53f763d6eb UI/update recurring event section (#544)
* Update global recurring event style

* #538 update date selector consistance

* update test cases
2026-02-13 09:34:33 +01:00
lenhanphung 1e312c1c8b Fix/time picker glitch (#542)
* update twake-mui

* #537 fix time picker glitch
2026-02-12 11:03:55 +01:00
Camille Moussu d275d62f06 [#498] chip color helpers now returns 'accepted' style for private events without partstat (#531) 2026-02-11 11:21:04 +01:00
Camille Moussu 6b42597a2c [#520] fix event order flicker (#530) 2026-02-10 17:32:54 +01:00
Camille Moussu d6e464afad [#421] added eslint check to CI (#534)
Co-authored-by: Camille Moussu <cmoussu@linagora.com>
2026-02-10 10:41:37 +01:00
lenhanphung ce9ad27256 Update add calendar modal, update menu list style (#521) 2026-02-09 11:06:05 +01:00
Camille Moussu 1720965f0f [#497 & #517] updated event editability in the calendar grid (#519)
* [#497 & #517] updated event editability in the calendar grid to prevent accidental editing and editing event we are not organizer of
2026-02-06 11:23:29 +01:00
lenhanphung fe8e19686d Merge pull request #504 from linagora/UI/update-header-bar
UI/update header bar
2026-02-05 19:18:30 +07:00
lenhanphung af53ad158a Bump local twake-mui lockfile to 1.1.8.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-05 17:38:41 +07:00
Camille Moussu 9cf8d7f3ab [#494] switched UTC offset and timeZone name in timezone selector (#513) 2026-02-05 11:30:01 +01:00
lenhanphung 41c839f38b update header bar 2026-02-05 17:20:00 +07:00
Camille Moussu b142eb4e03 [#487] fixed recurring event input glitch (#505) 2026-02-05 11:10:20 +01:00
lenhanphung ec258f4d42 restyle current date state 2026-02-05 17:08:51 +07:00
lenhanphung 309ac0d23b update icon event preview modal 2026-02-05 17:08:51 +07:00
lenhanphung 201f9c722b Use @linagora/twake-mui 1.1.6 from registry 2026-02-05 17:08:51 +07:00
lenhanphung da0dba423e update normal mode event createa update modal 2026-02-05 17:08:51 +07:00
Camille Moussu 7c45d47634 [#501] removed useless shared calendar from search (#507) 2026-02-05 11:07:05 +01:00
Camille Moussu 72052a6fec [#496] changed adapterLocal to be the handled local in DateTimeFields (#511) 2026-02-05 11:05:58 +01:00
Camille Moussu c1f50b8719 [#499] changed russian translations and changed way standalone months are handled (#506) 2026-02-05 11:05:02 +01:00
Yadd 6014681f29 Refactor: centralize timezone utilities in src/utils/timezone.ts (#491)
Deduplicate resolveTimezone, resolveTimezoneId, convertEventDateTimeToISO,
and getTimezoneOffset into a single canonical module, removing copies from
EventApi, eventUtils, TimezoneSelector, EventUpdateModal, and calendarUtils.

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 11:20:12 +01:00
lenhanphung 5ae838c425 UI/update sidebar (#480)
* update minicalendar

* update left sidebar

* chore: update twake-mui to version 1.1.4

- Update @linagora/twake-mui from local file to npm package 1.1.4
- Add margin to TempCalendarsInput section in sidebar
- Remove margin from PeopleSearch component (moved to parent)

* Changed wording on my calendars and event creation button

---------

Co-authored-by: Camille Moussu <cmoussu@linagora.com>
2026-02-02 10:02:23 +01:00
Camille Moussu 1fc85e141e [#475] fixed calendars selection persistence (#479) 2026-01-26 11:14:42 +01:00
lenhanphung 7058f1c2d6 Feat/update login flow reload page (#467)
* update spacing event modal

* update spacing create calendar modal

* fix evenchip description color

* using variant instead of sx

* update login flow

* fix: add useEffect import back to Calendar.tsx
2026-01-26 11:13:26 +01:00
Camille Moussu 00742119be [#446] removed direct state update (#468) 2026-01-21 15:17:49 +01:00
Camille Moussu 23d50f250d Refactor imports (#470) 2026-01-20 17:33:30 +01:00
lenhanphung aeb8670895 UI/update global UI (#459)
* Update loading screen to use Lottie animation

- Replace simple logo with Lottie animation from loadercalendar.lottie
- Center animation on screen with full viewport coverage
- Set animation width to 175px
- Install @lottiefiles/dotlottie-react package

* update spacing event modal

* add twake workplace logo to loading screen

* update spacing create calendar modal

* fix evenchip description color

* using variant instead of sx
2026-01-20 09:14:03 +01:00
Camille Moussu 00c3c0d6f0 444 use websocket to trigger reloads (#458)
* [#444] added refresh on sync token calendar update

* [#444] added refresh on register and tests

* [#444] extracted logic for useEffects and updates

* [#444] refactored code structure to use absolute paths
2026-01-19 09:09:23 +01:00
lenhanphung 80110bdf52 #461 Fix color picker for calendar modify modal (#462) 2026-01-15 15:38:46 +01:00
Camille Moussu 2fa8a7f16a [#451] added websocket connexion (#453)
* [#451] added websocket connexion

* [#451] added tests

* [#451] add missing cleanup for web socket causing memory leaks
2026-01-14 15:17:29 +01:00
lenhanphung 8b3afc1737 - Replace avatar image from API with gradient avatar from twake-mui (#457)
- Display 2-letter initials (e.g., "JD" for "John Doe") instead of single letter
- Add getInitials helper function in avatarUtils for reusability
- Update Avatar in PeopleSearch, CalendarSearch, and Menubar components
- Remove avatarUrl prop usage across all Avatar components
2026-01-13 14:44:42 +01:00
lenhanphung 00266d2701 [#452] UI/update event extend mode (#454)
* Update event modal extend mode UI consistency

- Fix label font-size and fontWeight in extended mode to match normal mode
- Replace Lock icon with LockOutline icon for visibility toggle buttons
- Add displayEmpty prop to notification select to show default value

* Replace video icon with outlined variant for consistency

- Update VideocamIcon to VideocamOutlinedIcon in event form fields
- Update VideocamIcon to VideocamOutlinedIcon in event preview modal
2026-01-13 14:39:40 +01:00
lenhanphung 2482e9f957 Fix button style, button type (#450) 2026-01-13 11:36:10 +01:00
Camille Moussu 478a0e0eb0 405 back reload token with synctokens (#436)
* [#405] added syncToken in calendar params and fetch with sync token

* [#405] changed reload to work with sync-token

* [#405] fixup promise handling, added calendar adding and removing hanlding with refresh

* [#405]  fixed event expansion calls

* [#405 & refactor] added helperfunction to get base event uid + refactored synctoken updates management

* [#405] added pMap lib to process event expansion

* [#405] added flag for no synctoken / new synctoken
2026-01-13 11:06:34 +01:00
lenhanphung 994ea1c45e fix url endcoding 2026-01-08 13:31:13 +07:00
lenhanphung 24f8895baa Update avatar component 2026-01-08 11:41:38 +07:00
lenhanphung 462ad6d250 chore: update twake-mui dependency and use radius.lg for create event button 2026-01-08 11:41:37 +07:00
lenhanphung 5f0479e34a implement twake mui 2026-01-08 11:40:40 +07:00
Camille Moussu 9ff75056c7 [#397 bis] added participation management on event from thunderbird (#432)
Co-authored-by: Camille Moussu <cmoussu@linagora.com>
2026-01-07 11:45:17 +01:00
Camille Moussu e59d878e6c [#419] removed duplicate adornment and ugly padding (#428)
Co-authored-by: Camille Moussu <cmoussu@linagora.com>
2026-01-05 11:48:05 +01:00
Camille Moussu 6839353f34 [#418] improved retry logic to prevent loading loop (#427)
* [#418] improved retry logic to prevent loading loop

* [#418] added FullJitter algorithm

Co-authored-by: Benoit TELLIER <btellier@linagora.com>
2025-12-19 12:24:34 +01:00
Camille Moussu 403517e827 [#430] removed red from canceled event icon (#433) 2025-12-17 22:13:38 +01:00
lenhanphung a935d2bc43 372 drag and drop multiple days event to use normal mode instead of extended mode (#407)
- When dragging from allday slot: open normal mode with allday checked, show start date and end date
- When dragging from week/month view grid: open normal mode with allday checked, show 4 fields (start date, start time, end date, end time)
- Update DateTimeFields logic to support displaying time fields when allday=true and hasEndDateChanged=true for multiple days events

Add setHasEndDateChanged(false) to resetAllStateToDefault function to prevent stale state when:
- User creates multi-day event from grid (sets hasEndDateChanged = true)
- Closes the modal
- Opens modal again for a single-day event

This ensures hasEndDateChanged is properly reset to false when modal is closed or reset.

Fix drag and drop logic: keep allday=false when dragging from week view

- Remove setAllDay(true) when dragging multiple days from week view grid
- Keep allday=false to show time fields for week view drag scenarios
- Add comprehensive test cases for drag and drop scenarios
- Test cases cover allday slot and week view drag scenarios
- Prevent regressions with test coverage for display logic
2025-12-17 10:28:11 +01:00