Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enh: free busy UI #5671

Merged
merged 1 commit into from
Feb 29, 2024
Merged

Enh: free busy UI #5671

merged 1 commit into from
Feb 29, 2024

Conversation

hamza221
Copy link
Contributor

@hamza221 hamza221 commented Jan 8, 2024

Fixes #39

Current state Goal
https://github.com/nextcloud/calendar/assets/40746210/50a499d4-4c40-413e-b171-a8d76843c762 image

Todo list from design team:
--Nimisha
Differences from current free/busy view:

  • Use components for all the elements (eg, date picker, today/previous day/next day buttons)
  • Add a heading "Find a time"
  • Add the time and time zone below the date in the top left corner
  • Nice-to-haves:
    • The "guide" for the color (currently below the free/busy section) can be shifted into a small help section on the top right, which on hover opens a tooltip showing the guide
    • change the colors:
      • busy: --color-error in 0.3 opacity
      • out of office/unavailable: --color-background-darker
      • busy tentatively: --color-warning in 0.3 opacity
      • unknown: --color-info in 0.3 opacity

New features:

  • Allow selecting different times in the modal itself: the selected time is indicated by the border (2px solid --color-primary-element with --border-radius)
  • Selected time is also reflected in the top left date and time
  • Show detailed attendees: Attendee names are shown as well as avatar and role, similar to how it's shown in the attendee list in the sidebar
  • Add and remove attendees: Add attendees via a select component, similar to the attendee list in the sidebar,
  • newly added attendees are shown at the bottom
  • Remove attendees using a close button
  • A done button to save changes
    -- Jan
  • Scroll point: Currently when opening the free/busy modal, it always starts at midnight. Instead, it should scroll so the current time slot is in the middle. If it’s a full-day event, it could start at e.g. 8/9/10 AM, something of the sort. (If the person has out of office set, at their start of day for example)
  • Color contrast: We need to make sure that the out of office, busy etc. blocks have proper contrast and/or are understandable without color. E.g. for out of office we could use grey with diagonal hatch pattern lines, and for busy we could use the red with diagonal criss-cross lines.
  • Width: Since this element will most likely always scroll horizontally, it would be good to give it more space to the sides. Currently it is a box inside the modal, but it could also extend to the left and right edge (the text on the left should still be aligned with the other text of course). This is mostly a detail though, and least important of the points. :)

Copy link

codecov bot commented Jan 8, 2024

Codecov Report

Attention: Patch coverage is 0% with 56 lines in your changes are missing coverage. Please review.

Project coverage is 24.00%. Comparing base (7a307bb) to head (ccaca16).
Report is 3 commits behind head on main.

Files Patch % Lines
src/components/Editor/FreeBusy/FreeBusy.vue 0.00% 45 Missing ⚠️
src/utils/freebusy.js 0.00% 4 Missing ⚠️
src/views/EditSidebar.vue 0.00% 4 Missing ⚠️
src/components/Editor/Invitees/InviteesList.vue 0.00% 3 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##               main    #5671      +/-   ##
============================================
- Coverage     24.13%   24.00%   -0.14%     
  Complexity      423      423              
============================================
  Files           243      243              
  Lines         11038    11100      +62     
  Branches       1833     1838       +5     
============================================
  Hits           2664     2664              
- Misses         8374     8436      +62     
Flag Coverage Δ
javascript 14.96% <0.00%> (-0.11%) ⬇️
php 61.97% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@hamza221 hamza221 changed the title Enh/free busy UI Enh: free busy UI Jan 8, 2024
@tcitworld
Copy link
Member

Adding the delete option to fullCalendar is tricky since it's a premium feature

We are entitled to the premium features: https://fullcalendar.io/license

schedulerLicenseKey: 'GPL-My-Project-Is-Open-Source',

@hamza221 hamza221 self-assigned this Jan 12, 2024
@hamza221 hamza221 added the 2. developing Work in progress label Jan 12, 2024
@hamza221 hamza221 added enhancement New feature request 3. to review Waiting for reviews and removed 2. developing Work in progress labels Feb 22, 2024
@hamza221 hamza221 marked this pull request as ready for review February 22, 2024 17:27
@ChristophWurst
Copy link
Member

ChristophWurst commented Feb 27, 2024

  • Nitpick: remove ":" at Bildschirmfoto vom 2024-02-27 11-56-08
  • Bug: text is just cut and not ellipsized at Bildschirmfoto vom 2024-02-27 11-56-02
  • Bug: only have border radius for top left and top right of first and bottom left and bottom right for last row of the fake event at Bildschirmfoto vom 2024-02-27 11-55-52

css/freebusy.scss Outdated Show resolved Hide resolved
src/components/Editor/FreeBusy/FreeBusy.vue Outdated Show resolved Hide resolved
src/components/Editor/FreeBusy/FreeBusy.vue Outdated Show resolved Hide resolved
src/components/Editor/FreeBusy/FreeBusy.vue Outdated Show resolved Hide resolved
@GVodyanov GVodyanov self-requested a review February 27, 2024 14:30
Copy link
Contributor

@GVodyanov GVodyanov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Error when opening the ? icon

image

Bad contrast of calendar icon
Screenshot from 2024-02-27 15-28-09

@hamza221
Copy link
Contributor Author

Bad contrast of calendar icon

It's a bug in nc/vue

Comment on lines +474 to 486
:deep(.vs__search ) {
text-overflow: ellipsis;
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this a generic issue with NcSelect? then let's make sure this is tracked and fixed upstream

we can keep this as temporary fix

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ChristophWurst
Copy link
Member

Scroll point

Is it fixable? That was the highest priority change requested by Jan. We should have this here or in a follow-up.

Copy link
Member

@ChristophWurst ChristophWurst left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Works 🚀

Bildschirmfoto vom 2024-02-28 13-23-08

^ IMO needs a bit of padding but we can leave that open until the design review

Great work!

src/components/Editor/FreeBusy/FreeBusy.vue Outdated Show resolved Hide resolved
src/components/Editor/FreeBusy/FreeBusy.vue Outdated Show resolved Hide resolved
Signed-off-by: hamza mahjoubi <hamzamahjoubi221@gmail.com>
@hamza221 hamza221 merged commit 40b5be5 into main Feb 29, 2024
38 of 40 checks passed
@hamza221 hamza221 deleted the enh/free-busy-ui branch February 29, 2024 10:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3. to review Waiting for reviews enhancement New feature request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Improvements for Free/Busy UI
4 participants