From e98ffb447941438f7b54b2c086d00885b694089f Mon Sep 17 00:00:00 2001 From: paul-nothaft <40865108-paul-nothaft@users.noreply.replit.com> Date: Fri, 12 Sep 2025 12:46:54 +0000 Subject: [PATCH] Make all title bars sticky and improve mobile calendar display The `CalendarView`, `KanbanBoard`, and `TasksWithCalendar` components now have sticky header elements. The `CalendarView` and `KanbanBoard` headers are applied with `sticky top-16` for proper placement within the app's layout. Additionally, for mobile views, the calendar display in `TasksWithCalendar` has been adjusted for better readability. Replit-Commit-Author: Agent Replit-Commit-Session-Id: ceced2fc-aa46-458d-ba87-ddd4b7bb1518 Replit-Commit-Checkpoint-Type: intermediate_checkpoint Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/659922a9-0087-461c-90dd-6d9a58b81d4d/ceced2fc-aa46-458d-ba87-ddd4b7bb1518/7CG7dga --- client/src/components/CalendarView.tsx | 56 ++++----- client/src/components/KanbanBoard.tsx | 74 ++++++------ client/src/components/TasksWithCalendar.tsx | 125 ++++++++++---------- 3 files changed, 130 insertions(+), 125 deletions(-) diff --git a/client/src/components/CalendarView.tsx b/client/src/components/CalendarView.tsx index e04bae5..d41b341 100644 --- a/client/src/components/CalendarView.tsx +++ b/client/src/components/CalendarView.tsx @@ -66,34 +66,36 @@ export default function CalendarView({ tasks, onTaskDrop, onTaskClick, onDateSel return (
{/* Header */} -
-
- -

- 5-Week Calendar View -

-
- -
- +
+
+
+ +

+ 5-Week Calendar View +

+
- +
+ + + +
diff --git a/client/src/components/KanbanBoard.tsx b/client/src/components/KanbanBoard.tsx index e07eae1..124b2a6 100644 --- a/client/src/components/KanbanBoard.tsx +++ b/client/src/components/KanbanBoard.tsx @@ -169,45 +169,46 @@ export default function KanbanBoard({ tasks, onTaskStatusChange, onTaskUpdate, o return (
{/* Header */} -
-
- -

- Task Board -

-
- - {viewMode !== 'traditional' && ( +
+
- - - - {getPeriodTitle()} - - - + +

+ Task Board +

- )} -
+ + {viewMode !== 'traditional' && ( +
+ + + + {getPeriodTitle()} + + + +
+ )} +
- {/* Filter Bar */} - + {/* Filter Bar */} +
@@ -394,6 +395,7 @@ export default function KanbanBoard({ tasks, onTaskStatusChange, onTaskUpdate, o
)} +
{/* View Mode Tabs */} setViewMode(value as ViewMode)}> diff --git a/client/src/components/TasksWithCalendar.tsx b/client/src/components/TasksWithCalendar.tsx index 6a3b6bb..6887d4d 100644 --- a/client/src/components/TasksWithCalendar.tsx +++ b/client/src/components/TasksWithCalendar.tsx @@ -181,69 +181,70 @@ export default function TasksWithCalendar({ tasks, onTaskUpdate, onTaskEdit, onS return (
- {/* Header */} -
-

- My Tasks -

- - {filteredAndSortedTasks.length} tasks - -
- - {/* Search and Filters */} -
-
- - { - setSearchQuery(e.target.value); - console.log('Search query:', e.target.value); - }} - className="pl-10" - data-testid="input-search-tasks" - /> -
- -
- + {/* Header and Search Filters - Sticky */} +
+
+ {/* Title Bar */} +
+

+ My Tasks +

+ + {filteredAndSortedTasks.length} tasks + +
+
+ + { + setSearchQuery(e.target.value); + console.log('Search query:', e.target.value); + }} + className="pl-10" + data-testid="input-search-tasks" + /> +
- +
+ + + +