2 Commits

Author SHA1 Message Date
119661628e refactor: enhance styling and structure in DayDetailContent component
All checks were successful
CI / lint-and-test (push) Successful in 1m3s
Docker Build and Release / build-and-push (push) Successful in 55s
Docker Build and Release / release (push) Successful in 14s
- Updated list styling in DayDetailContent to use a cleaner format without bullet points, improving visual consistency.
- Added decorative bullet points for duty, unavailable, vacation, and event summaries to enhance readability.
- Adjusted spacing and layout for better alignment of list items, ensuring a more polished user interface.
2026-03-04 10:06:22 +03:00
336e6d48c5 fix: adjust animation duration for SheetContent component
- Updated the animation duration for the open state of the SheetContent component from 500ms to 300ms, improving the responsiveness of the UI during state transitions.
2026-03-03 19:47:49 +03:00
2 changed files with 44 additions and 12 deletions

View File

@@ -112,13 +112,21 @@ export function DayDetailContent({
> >
{t("event_type.duty")} {t("event_type.duty")}
</h3> </h3>
<ul className="list-[disc] pl-5 m-0 text-[0.9rem] leading-snug space-y-1 [&_li]:flex [&_li]:items-baseline [&_li]:gap-1"> <ul className="list-none pl-5 m-0 text-[0.9rem] leading-snug space-y-1 [&_li]:flex [&_li]:items-baseline [&_li]:gap-2">
{dutyRows.map((r) => ( {dutyRows.map((r) => (
<li key={r.id}> <li key={r.id}>
{r.timePrefix && ( <span
<span className="text-muted-foreground">{r.timePrefix} </span> className="text-muted-foreground -ml-5 mr-0 shrink-0 select-none"
)} aria-hidden
<span className="font-semibold">{r.fullName}</span> >
</span>
<span className="inline-flex items-baseline gap-1">
{r.timePrefix && (
<span className="text-muted-foreground">{r.timePrefix} </span>
)}
<span className="font-semibold">{r.fullName}</span>
</span>
</li> </li>
))} ))}
</ul> </ul>
@@ -136,9 +144,17 @@ export function DayDetailContent({
> >
{t("event_type.unavailable")} {t("event_type.unavailable")}
</h3> </h3>
<ul className="list-[disc] pl-5 m-0 text-[0.9rem] leading-snug space-y-1"> <ul className="list-none pl-5 m-0 text-[0.9rem] leading-snug space-y-1 [&_li]:flex [&_li]:items-baseline [&_li]:gap-2">
{uniqueUnavailable.map((name) => ( {uniqueUnavailable.map((name) => (
<li key={name}>{name}</li> <li key={name}>
<span
className="text-muted-foreground -ml-5 mr-0 shrink-0 select-none"
aria-hidden
>
</span>
{name}
</li>
))} ))}
</ul> </ul>
</section> </section>
@@ -155,9 +171,17 @@ export function DayDetailContent({
> >
{t("event_type.vacation")} {t("event_type.vacation")}
</h3> </h3>
<ul className="list-[disc] pl-5 m-0 text-[0.9rem] leading-snug space-y-1"> <ul className="list-none pl-5 m-0 text-[0.9rem] leading-snug space-y-1 [&_li]:flex [&_li]:items-baseline [&_li]:gap-2">
{uniqueVacation.map((name) => ( {uniqueVacation.map((name) => (
<li key={name}>{name}</li> <li key={name}>
<span
className="text-muted-foreground -ml-5 mr-0 shrink-0 select-none"
aria-hidden
>
</span>
{name}
</li>
))} ))}
</ul> </ul>
</section> </section>
@@ -174,9 +198,17 @@ export function DayDetailContent({
> >
{t("hint.events")} {t("hint.events")}
</h3> </h3>
<ul className="list-[disc] pl-5 m-0 text-[0.9rem] leading-snug space-y-1"> <ul className="list-none pl-5 m-0 text-[0.9rem] leading-snug space-y-1 [&_li]:flex [&_li]:items-baseline [&_li]:gap-2">
{summaries.map((s) => ( {summaries.map((s) => (
<li key={String(s)}>{String(s)}</li> <li key={String(s)}>
<span
className="text-muted-foreground -ml-5 mr-0 shrink-0 select-none"
aria-hidden
>
</span>
{String(s)}
</li>
))} ))}
</ul> </ul>
</section> </section>

View File

@@ -80,7 +80,7 @@ function SheetContent({
forceMount={useForceMount ? true : undefined} forceMount={useForceMount ? true : undefined}
onAnimationEnd={handleAnimationEnd} onAnimationEnd={handleAnimationEnd}
className={cn( className={cn(
"fixed z-50 flex flex-col gap-4 bg-background shadow-lg data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=closed]:ease-out data-[state=open]:animate-in data-[state=open]:duration-500", "fixed z-50 flex flex-col gap-4 bg-background shadow-lg data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=closed]:ease-out data-[state=open]:animate-in data-[state=open]:duration-300",
side === "right" && side === "right" &&
"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm", "inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm",
side === "left" && side === "left" &&