-
-
Notifications
You must be signed in to change notification settings - Fork 663
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
fix: css alignment of calendar component on the home page #3276
base: master
Are you sure you want to change the base?
Changes from 14 commits
c49a672
0021c7c
38d074d
c136e36
62f32c1
2bbb730
e307506
ab81c1d
d7ad631
23e7a3c
488b88b
2677a18
2ddd0c1
7bbb928
f4cf284
de8650b
abf167d
01d7953
fe25c55
e6555c9
1a29373
67166ba
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
@@ -1,5 +1,6 @@ | ||||||||||||||||||||||||||
import { isAfter, parseISO } from 'date-fns'; | ||||||||||||||||||||||||||
import moment from 'moment'; | ||||||||||||||||||||||||||
import React from 'react'; | ||||||||||||||||||||||||||
import React, { useMemo } from 'react'; | ||||||||||||||||||||||||||
import { twMerge } from 'tailwind-merge'; | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
import type { IEvent } from '@/types/event'; | ||||||||||||||||||||||||||
|
@@ -28,10 +29,19 @@ export default function Calendar({ className = '', size }: ICalendarProps) { | |||||||||||||||||||||||||
|
||||||||||||||||||||||||||
const CALENDAR_URL = | ||||||||||||||||||||||||||
'https://calendar.google.com/calendar/embed?src=c_q9tseiglomdsj6njuhvbpts11c%40group.calendar.google.com&ctz=UTC'; | ||||||||||||||||||||||||||
const eventsExist = eventsData.length > 0; | ||||||||||||||||||||||||||
const currentDate = new Date(); | ||||||||||||||||||||||||||
const eventsExist = useMemo( | ||||||||||||||||||||||||||
() => eventsData?.some((event: IEvent) => isAfter(parseISO(event.date), currentDate)), | ||||||||||||||||||||||||||
[currentDate] | ||||||||||||||||||||||||||
); | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
return ( | ||||||||||||||||||||||||||
<div className={twMerge('overflow-hidden rounded-md border border-gray-200 bg-white p-4', className)}> | ||||||||||||||||||||||||||
<div | ||||||||||||||||||||||||||
className={twMerge( | ||||||||||||||||||||||||||
'overflow-hidden rounded-md border border-gray-200 bg-white p-4 h-full flex flex-col gap-2', | ||||||||||||||||||||||||||
className | ||||||||||||||||||||||||||
)} | ||||||||||||||||||||||||||
> | ||||||||||||||||||||||||||
Comment on lines
+35
to
+40
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Address mobile view alignment issue While the flex container improvements help with layout, the mobile view alignment issue mentioned in the past review still needs attention. The calendar div appears shifted to the right on mobile/tab views instead of being centered like other cards. Apply this diff to center the component on mobile views: <div
className={twMerge(
- 'overflow-hidden rounded-md border border-gray-200 bg-white p-4 h-full flex flex-col gap-2',
+ 'overflow-hidden rounded-md border border-gray-200 bg-white p-4 h-full flex flex-col gap-2 mx-auto w-full',
className
)}
> 📝 Committable suggestion
Suggested change
|
||||||||||||||||||||||||||
<Heading level={HeadingLevel.h2} typeStyle={HeadingTypeStyle.mdSemibold}> | ||||||||||||||||||||||||||
{t('calendar.title')} | ||||||||||||||||||||||||||
</Heading> | ||||||||||||||||||||||||||
|
@@ -43,7 +53,7 @@ export default function Calendar({ className = '', size }: ICalendarProps) { | |||||||||||||||||||||||||
<span className='flex-1 self-center text-center'>{moment(event.date).format('D')}</span> | ||||||||||||||||||||||||||
</div> | ||||||||||||||||||||||||||
<div className='grow text-left sm:mt-0 sm:pl-6'> | ||||||||||||||||||||||||||
<h2 className='title-font text-xl font-medium text-gray-900 hover:text-gray-500'>{event.title}</h2> | ||||||||||||||||||||||||||
<h2 className='title-font font-medium text-gray-900 hover:text-gray-500'>{event.title}</h2> | ||||||||||||||||||||||||||
<p className='text-gray-600'> | ||||||||||||||||||||||||||
{moment(event.date).local().format('LLLL')} UTC | ||||||||||||||||||||||||||
{moment(event.date).local().format('Z')} | ||||||||||||||||||||||||||
|
@@ -53,13 +63,12 @@ export default function Calendar({ className = '', size }: ICalendarProps) { | |||||||||||||||||||||||||
</li> | ||||||||||||||||||||||||||
))} | ||||||||||||||||||||||||||
</ul> | ||||||||||||||||||||||||||
{eventsExist ? ( | ||||||||||||||||||||||||||
<div className='pt-4' data-testid='Calendar-button'> | ||||||||||||||||||||||||||
<div className='h-full content-center lg:pb-8'> | ||||||||||||||||||||||||||
{!eventsExist && <div className='font-bold text-gray-700'>{t('calendar.noMeetingsMessage')}</div>} | ||||||||||||||||||||||||||
<div className='sm:pt-0 md:pt-2 lg:pt-0' data-testid='Calendar-button'> | ||||||||||||||||||||||||||
<GoogleCalendarButton href={CALENDAR_URL} text={t('calendar.viewCalendarBtn')} /> | ||||||||||||||||||||||||||
</div> | ||||||||||||||||||||||||||
) : ( | ||||||||||||||||||||||||||
<div className='mt-2 text-gray-700'>{t('calendar.noMeetingsMessage')}</div> | ||||||||||||||||||||||||||
)} | ||||||||||||||||||||||||||
</div> | ||||||||||||||||||||||||||
</div> | ||||||||||||||||||||||||||
); | ||||||||||||||||||||||||||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In the mobile/tab view, the calendar div is not in the center, rather it is slightly shifted towards the right.
It should be in the center like other cards: