* [#527] added panel to grant right for calendar delegation
* [#527] added rights management to access modal
* [#527] conditionnal rendering of access granting based on rights
* [#527] saves on close except cancel
* [#527] added tests
* [#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
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>
* 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>
* 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
* [#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
- 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
* 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
* [#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
- Replace default TimePicker field with custom EditableTimeField
- Allow free typing with multiple formats (HH:mm, HHmm, H, etc.)
- Show dropdown on click while maintaining typing capability
- Center-align time input text
- Add small prop support to PeopleSearch component
- Pass small prop to PeopleSearch in AttendeeSearch
- Use small prop in EventFormFields Participants field
- Use small prop in TempCalendarsInput for left sidebar
* [#337] added timezone loading from backend
* [#337] changed data structure to allow patching timezone while keeping other datetime params value
* [#337] fixed gap, event create modale sync with settings and added checkbox
* [#337] isBrowserDefaultTimezone is set to true when API return null timezone
Co-authored-by: Camille Moussu <cmoussu@linagora.com>
- added search in topbar
- added skeleton search results page
- added tests
- set personal calendars as default search in and allow to select personal and shared as a search in option
---------
Co-authored-by: Camille Moussu <cmoussu@linagora.com>