calendar design progress

This commit is contained in:
elise
2024-08-09 22:07:03 +02:00
parent 9d78cf2822
commit d83653dc2b
3 changed files with 93 additions and 21 deletions

View File

@ -272,7 +272,7 @@ const EventCalendar = ({ events }: { events: EventFragment[] }) => {
data-collapsed={!visibleYearMonths.includes(yearMonth)} data-collapsed={!visibleYearMonths.includes(yearMonth)}
> >
<h2 onClick={() => toggleYearMonth(yearMonth)}> <h2 onClick={() => toggleYearMonth(yearMonth)}>
{formatYearMonth(yearMonth)} {formatYearMonth(yearMonth)} <span className={styles.eventCounter}>({Object.keys(eventsByDate[yearMonth]).length})</span>
</h2> </h2>
{Object.keys(eventsByDate[yearMonth]).map((week) => ( {Object.keys(eventsByDate[yearMonth]).map((week) => (
<CalendarWeek key={week} days={eventsByDate[yearMonth][week]} /> <CalendarWeek key={week} days={eventsByDate[yearMonth][week]} />

View File

@ -41,31 +41,61 @@
.eventCalendar { .eventCalendar {
position: relative; position: relative;
margin: var(--spacing-sitepadding-block) 0 var(--spacing-section-bottom);
} }
.calendarYearMonth { .calendarYearMonth {
margin: var(--spacing-sitepadding-block) 0; border-top: var(--border);
&:last-child {
border-bottom: var(--border);
}
h2 { h2 {
font-size: var(--font-size-lead); font-size: var(--font-size-h3);
padding: calc(var(--spacing-gap-column)/2); padding: var(--spacing-s) 0;
background: var(--color-chateauBlue); position: relative;
color: var(--color-betongGray); cursor: pointer;
position: sticky;
&:first-letter { &:first-letter {
text-transform: capitalize; text-transform: capitalize;
} }
&:before {
content: "";
display: block;
position: absolute;
width: var(--size-icon);
height: var(--size-icon);
background-size: 100%;
background-image: url("/assets/icons/circle-arrow-right.svg");
right: 0;
transform: rotate(-90deg);
transition: transform .3s ease;
}
} }
&[data-collapsed=true] > .calendarWeek { &[data-collapsed=true] {
display: none; > .calendarWeek {
display: none;
}
h2:before {
transform: rotate(90deg);
}
} }
} }
.calendarWeek { .calendarWeek {
display: grid; display: grid;
grid-template-columns: repeat(7, 1fr); grid-template-columns: repeat(7, 1fr);
border: 1px solid var(--color-background-secondary);
.calendarDay {
background: var(--color-background-secondary);
&:nth-of-type(even) {
background: var(--color-background);
}
}
&:nth-of-type(even) { &:nth-of-type(even) {
.calendarDay { .calendarDay {
@ -76,22 +106,33 @@
} }
} }
} }
&:first-of-type {
margin-top: var(--spacing-s);
}
&:last-child {
margin-bottom: var(--spacing-section-bottom);
}
} }
.calendarDay { .calendarDay {
background: var(--color-background-secondary); min-height: 11rem;
min-height: 12rem; padding: .4rem;
padding: calc(var(--spacing-gap-column)/2);
&:nth-of-type(even) { &:nth-of-type(even) {
background: var(--color-background); background: var(--color-background);
} }
h3 { h3 {
font-family: var(--font-serif); font-family: var(--font-main);
font-size: var(--font-size-body); font-size: var(--font-size-caption);
font-weight: 400; font-weight: 500;
margin-bottom: var(--spacing-s); margin: -.3rem -.3rem .4rem -.3rem;
text-align: center;
background: var(--color-chateauBlue);
color: var(--color-betongGray);
padding: .3em .4em;
&:first-letter { &:first-letter {
@ -100,6 +141,14 @@
} }
} }
.eventCounter {
font-family: var(--font-serif);
font-weight: 400;
font-size: var(--font-size-body);
display: inline-block;
vertical-align: middle;
}
@media (max-width: 1200px) { @media (max-width: 1200px) {
.eventList { .eventList {
grid-template-columns: 1fr 1fr; grid-template-columns: 1fr 1fr;
@ -112,7 +161,11 @@
.calendarDay { .calendarDay {
min-height: 0; min-height: 0;
padding: calc(var(--spacing-gap-column)/2) var(--spacing-sitepadding-inline); padding: 0 0 calc(var(--spacing-gap-column)/2);
h3 {
margin: 0 0 .4rem;
}
&.empty { &.empty {
display: none; display: none;
@ -120,14 +173,14 @@
ul { ul {
display: grid; display: grid;
grid-template-columns: repeat(3, 1fr); grid-template-columns: repeat(4, 1fr);
column-gap: var(--spacing-gap-column); column-gap: var(--spacing-gap-column);
row-gap: var(--spacing-gap-row); row-gap: var(--spacing-gap-row);
} }
&:first-child, &:first-child,
&:last-child { &:last-child {
padding: calc(var(--spacing-gap-column)/2) var(--spacing-sitepadding-inline); padding: 0 0 calc(var(--spacing-gap-column)/2);
} }
} }
} }
@ -136,6 +189,14 @@
.eventList { .eventList {
grid-template-columns: 1fr; grid-template-columns: 1fr;
} }
.calendarDay {
ul {
display: flex;
flex-wrap: wrap;
column-gap: var(--spacing-gap-column);
row-gap: var(--spacing-gap-row);
}
}
.displayOptions { .displayOptions {
.displayButtons { .displayButtons {
width: 100%; width: 100%;

View File

@ -7,15 +7,26 @@
&.small { &.small {
.title, .title,
.details { .details,
font-size: var(--font-size-body); .dates {
font-size: var(--font-size-caption);
} }
.text { .text {
padding: 0;
margin: .4em 0;
&:before { &:before {
display: none; display: none;
} }
} }
@media (max-width: 700px) {
--size-image-width: 8.2rem;
grid-template-columns: var(--size-image-width) auto;
column-gap: .6rem;
align-items: flex-start;
width: var(--size-item-width);
}
} }
&.medium { &.medium {