diff --git a/components/calendar/calendar-sidebar-panel.tsx b/components/calendar/calendar-sidebar-panel.tsx index aadb7bf51..ae5f09512 100644 --- a/components/calendar/calendar-sidebar-panel.tsx +++ b/components/calendar/calendar-sidebar-panel.tsx @@ -2,6 +2,7 @@ import { useMemo, useRef, useState } from "react"; import { useLongPress } from "@/hooks/use-long-press"; +import { IconButton } from "@/components/ui/icon-button"; import { useTranslations } from "next-intl"; import { Check, ChevronDown, ChevronRight, Globe, ListTodo, MoreVertical, Pencil, RefreshCw, Share2, Star, Trash2, Cake, User, Users, Plus, Eraser, Palette, Shuffle } from "@/components/icons"; import { cn, formatDateTime } from "@/lib/utils"; @@ -297,11 +298,11 @@ export function CalendarSidebarPanel({ data-account={cal.accountName ?? ''} data-visible={isVisible} className={cn( - "flex items-center gap-2 w-full ps-5 pe-3 text-sm text-foreground/80 transition-colors duration-150", + "flex items-center gap-2 w-full ps-5 pe-3 min-h-8 pointer-coarse:min-h-11 text-sm text-foreground/80 transition-colors duration-150", "hover:bg-muted", - hasMenu && "pe-9" + hasMenu && "pe-11" )} - style={{ paddingBlock: 'var(--density-sidebar-py, 4px)', minHeight: '32px' }} + style={{ paddingBlock: 'var(--density-sidebar-py, 4px)' }} > {/* A checkbox filled in the calendar colour, empty when hidden. */} {hasMenu && ( - + + )} ); @@ -487,15 +486,13 @@ export function CalendarSidebarPanel({ {label} {onAdd && ( - + + )} ); @@ -517,8 +514,8 @@ export function CalendarSidebarPanel({ {enableCalendarTasks && ( + + + )} {onNavigateBack && ( - + + + )} {hasDateNav && ( - + + + )} {getDateLabel()} {hasDateNav && ( <> - - @@ -258,7 +251,7 @@ export function CalendarToolbar({ key={v} onClick={() => onViewModeChange(v)} className={cn( - "flex-1 py-1.5 text-[11px] font-medium transition-colors touch-manipulation", + "flex-1 min-h-11 text-[11px] font-medium transition-colors touch-manipulation", v === viewMode ? "bg-primary text-primary-foreground" : "text-muted-foreground active:bg-muted" @@ -271,16 +264,16 @@ export function CalendarToolbar({ {calendars && selectedCalendarIds && onToggleVisibility && (
- + + {showCalendarDropdown && (

@@ -295,7 +288,7 @@ export function CalendarToolbar({ key={cal.id} onClick={() => onToggleVisibility(cal.id)} className={cn( - "flex items-center gap-2 w-full px-2 py-2 rounded-md text-sm transition-colors duration-150 touch-manipulation", + "flex items-center gap-2 w-full px-2 min-h-11 rounded-md text-sm transition-colors duration-150 touch-manipulation", "hover:bg-muted" )} > @@ -335,7 +328,7 @@ export function CalendarToolbar({ key={cal.id} onClick={() => onToggleVisibility(cal.id)} className={cn( - "flex items-center gap-2 w-full px-2 py-2 rounded-md text-sm transition-colors duration-150 touch-manipulation", + "flex items-center gap-2 w-full px-2 min-h-11 rounded-md text-sm transition-colors duration-150 touch-manipulation", "hover:bg-muted" )} > diff --git a/components/calendar/mini-calendar.tsx b/components/calendar/mini-calendar.tsx index 99561cc74..8604a1ae1 100644 --- a/components/calendar/mini-calendar.tsx +++ b/components/calendar/mini-calendar.tsx @@ -13,6 +13,7 @@ import { displayNow } from "@/lib/timezone"; import type { CalendarEvent } from "@/lib/jmap/types"; import { useCalendarLocale } from "@/hooks/use-calendar-locale"; import { PluginDayLabel } from "./plugin-day-label"; +import { IconButton } from "@/components/ui/icon-button"; type PickerView = "days" | "months" | "years"; @@ -124,13 +125,13 @@ export function MiniCalendar({ return (
- + + - + +
{pickerView === "days" && ( @@ -185,22 +186,26 @@ export function MiniCalendar({ );