Fix Upcoming card height constraint with flex column + maxHeight
Root cause: h-full on Card inside a flex-col parent with no explicit height meant nothing constrained the card — ScrollArea max-h never triggered overflow. Fix: Card uses maxHeight 520px as the outer cap, flex-col layout with shrink-0 header, and min-h-0 on CardContent + ScrollArea so the flex chain allows content to shrink and scroll. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
27a5002c74
commit
99161f1b47
@ -174,8 +174,8 @@ export default function UpcomingWidget({ items }: UpcomingWidgetProps) {
|
|||||||
const dayEntries = Array.from(grouped.entries());
|
const dayEntries = Array.from(grouped.entries());
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Card className="h-full">
|
<Card className="flex flex-col" style={{ maxHeight: '520px' }}>
|
||||||
<CardHeader>
|
<CardHeader className="shrink-0">
|
||||||
<div className="flex items-center justify-between">
|
<div className="flex items-center justify-between">
|
||||||
<CardTitle className="flex items-center gap-2">
|
<CardTitle className="flex items-center gap-2">
|
||||||
<div className="p-1.5 rounded-md bg-accent/10">
|
<div className="p-1.5 rounded-md bg-accent/10">
|
||||||
@ -210,13 +210,13 @@ export default function UpcomingWidget({ items }: UpcomingWidgetProps) {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</CardHeader>
|
</CardHeader>
|
||||||
<CardContent>
|
<CardContent className="flex-1 min-h-0 flex flex-col">
|
||||||
{filteredCount === 0 ? (
|
{filteredCount === 0 ? (
|
||||||
<p className="text-sm text-muted-foreground text-center py-8">
|
<p className="text-sm text-muted-foreground text-center py-8">
|
||||||
{focusMode ? 'Nothing for today or tomorrow' : 'Nothing upcoming'}
|
{focusMode ? 'Nothing for today or tomorrow' : 'Nothing upcoming'}
|
||||||
</p>
|
</p>
|
||||||
) : (
|
) : (
|
||||||
<ScrollArea className="max-h-[400px] -mr-2 pr-2">
|
<ScrollArea className="flex-1 min-h-0 -mr-2 pr-2">
|
||||||
<div>
|
<div>
|
||||||
{dayEntries.map(([dateKey, dayItems], groupIdx) => {
|
{dayEntries.map(([dateKey, dayItems], groupIdx) => {
|
||||||
const isCollapsed = collapsedDays.has(dateKey);
|
const isCollapsed = collapsedDays.has(dateKey);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user