WIP: February 2026 event improvements and calendar refactor #1

Draft
andrew wants to merge 10 commits from feb-2026-event-improvements into master
4 changed files with 48 additions and 13 deletions
Showing only changes of commit 07399d7d45 - Show all commits

View File

@ -98,6 +98,7 @@ body {
main { main {
@apply overflow-hidden rounded-lg; @apply overflow-hidden rounded-lg;
max-height: calc(100dvh - 1rem); max-height: calc(100dvh - 1rem);
container: main / inline-size;
/* app */ /* app */
body#app & { body#app & {
@ -186,6 +187,7 @@ main {
@apply overflow-y-auto; @apply overflow-y-auto;
grid-template-rows: 5rem auto; grid-template-rows: 5rem auto;
container: content / inline-size; container: content / inline-size;
transition: margin 200ms ease-in-out, width 200ms ease-in-out;
/* main content title and actions */ /* main content title and actions */
header { header {
@ -208,6 +210,13 @@ main {
} }
} }
/* expand button */
button.calendar-expand-toggle {
svg {
transition: transform 150ms ease-in-out;
}
}
/* header menu */ /* header menu */
menu { menu {
@apply fixed right-0 top-2 flex flex-col bg-gray-100 gap-6 p-6 rounded-l-xl; @apply fixed right-0 top-2 flex flex-col bg-gray-100 gap-6 p-6 rounded-l-xl;
@ -246,7 +255,6 @@ main {
/* section specific */ /* section specific */
&#calendar { &#calendar {
header { header {
h2 {
.calendar-expand-toggle { .calendar-expand-toggle {
@apply ml-1 opacity-0 pointer-events-none transition-opacity duration-150; @apply ml-1 opacity-0 pointer-events-none transition-opacity duration-150;
} }
@ -257,11 +265,20 @@ main {
} }
} }
} }
}
&#settings { &#settings {
/* */ /* */
} }
} }
/* expanded */
&.expanded {
button.calendar-expand-toggle {
svg {
transform: rotate(180deg);
}
}
}
} }
/* container sizing */ /* container sizing */
@ -305,8 +322,8 @@ main {
*/ */
/* show app nav on the left at md */ /* show app nav on the left at md */
@media (width >= theme(--breakpoint-md)) { @media (width >= theme(--breakpoint-md))
{
body#app { body#app {
grid-template-columns: 5rem auto; grid-template-columns: 5rem auto;
grid-template-rows: 1fr 0; grid-template-rows: 1fr 0;
@ -338,13 +355,15 @@ main {
} }
main { main {
&:has(aside) { &:has(aside) {
grid-template-columns: minmax(16rem, 20dvw) auto; grid-template-columns: max(16rem, 20dvw) auto;
grid-template-rows: 1fr; grid-template-rows: 1fr;
} }
aside { aside {
@apply bg-white overflow-y-auto h-full; @apply bg-white overflow-y-auto h-full min-w-48;
transition: translate 200ms ease-in-out, visibility 200ms ease-in-out, opacity 200ms ease-in-out;
> h1 { > h1 {
@apply backdrop-blur-xs sticky top-0 z-1 shrink-0 h-20 min-h-20; @apply backdrop-blur-xs sticky top-0 z-1 shrink-0 h-20 min-h-20;
@ -355,6 +374,20 @@ main {
article { article {
@apply w-full ml-0 pl-3 2xl:pl-4 pr-6 2xl:pr-8 rounded-l-none rounded-r-lg; @apply w-full ml-0 pl-3 2xl:pl-4 pr-6 2xl:pr-8 rounded-l-none rounded-r-lg;
} }
/* when the calendar is expanded and aside is gone */
&.expanded {
aside {
@apply -translate-x-6 invisible opacity-0;
}
article {
@apply pl-6;
margin-left: min(-16rem, -20dvw) !important;
width: 100cqw !important;
}
}
} }
} }
} }

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-left-to-line-icon lucide-arrow-left-to-line"><path d="M3 19V5"/><path d="m13 6-6 6 6 6"/><path d="M7 12h14"/></svg>

After

Width:  |  Height:  |  Size: 323 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right-to-line-icon lucide-arrow-right-to-line"><path d="M17 12H3"/><path d="m11 18 6-6-6-6"/><path d="M21 5v14"/></svg>

After

Width:  |  Height:  |  Size: 327 B

View File

@ -91,7 +91,7 @@
data-calendar-expand data-calendar-expand
aria-label="{{ __('calendar.toggle_sidebar') }}" aria-label="{{ __('calendar.toggle_sidebar') }}"
> >
<x-icon-chevron-left /> <x-icon-collapse />
</button> </button>
</h2> </h2>
<menu> <menu>