From 023913656561dc922796933bae8370da9ee8c2d0 Mon Sep 17 00:00:00 2001 From: paul-nothaft <40865108-paul-nothaft@users.noreply.replit.com> Date: Thu, 23 Oct 2025 12:04:16 +0000 Subject: [PATCH] Improve app responsiveness and visual consistency across devices Adjusted layout, spacing, and element sizing in CalendarView, KanbanBoard, and ProjectTemplate components to enhance responsiveness and user experience on various screen sizes. 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/gFHkSPu --- client/src/App.tsx | 2 +- client/src/components/CalendarView.tsx | 16 +++++----- client/src/components/KanbanBoard.tsx | 36 +++++++++++------------ client/src/components/ProjectTemplate.tsx | 28 ++++++++++-------- 4 files changed, 42 insertions(+), 40 deletions(-) diff --git a/client/src/App.tsx b/client/src/App.tsx index 2d4bce3..7e6b82d 100644 --- a/client/src/App.tsx +++ b/client/src/App.tsx @@ -316,7 +316,7 @@ function App() { {/* Main Content */} -
+
{renderContent()}
diff --git a/client/src/components/CalendarView.tsx b/client/src/components/CalendarView.tsx index d41b341..67c8981 100644 --- a/client/src/components/CalendarView.tsx +++ b/client/src/components/CalendarView.tsx @@ -66,12 +66,12 @@ export default function CalendarView({ tasks, onTaskDrop, onTaskClick, onDateSel return (
{/* Header */} -
+
- -

- 5-Week Calendar View + +

+ Calendar

@@ -81,7 +81,7 @@ export default function CalendarView({ tasks, onTaskDrop, onTaskClick, onDateSel size="icon" onClick={() => navigateWeek('prev')} data-testid="button-prev-week" - className="w-8 h-8" + className="h-11 w-11" > @@ -91,7 +91,7 @@ export default function CalendarView({ tasks, onTaskDrop, onTaskClick, onDateSel size="icon" onClick={() => navigateWeek('next')} data-testid="button-next-week" - className="w-8 h-8" + className="h-11 w-11" > @@ -100,7 +100,7 @@ export default function CalendarView({ tasks, onTaskDrop, onTaskClick, onDateSel
{/* Calendar Grid */} -
+
{dates.map((date, index) => { const dayTasks = getTasksForDate(date); const isToday = isSameDay(date, new Date()); @@ -110,7 +110,7 @@ export default function CalendarView({ tasks, onTaskDrop, onTaskClick, onDateSel return ( {/* Header */} -
-
+
+
- -

- Task Board + +

+ Board

@@ -185,7 +185,7 @@ export default function KanbanBoard({ tasks, onTaskStatusChange, onTaskUpdate, o size="icon" onClick={() => navigatePeriod('prev')} data-testid="button-prev-period" - className="w-8 h-8" + className="h-11 w-11" > @@ -199,7 +199,7 @@ export default function KanbanBoard({ tasks, onTaskStatusChange, onTaskUpdate, o size="icon" onClick={() => navigatePeriod('next')} data-testid="button-next-period" - className="w-8 h-8" + className="h-11 w-11" > @@ -208,8 +208,8 @@ export default function KanbanBoard({ tasks, onTaskStatusChange, onTaskUpdate, o
{/* Filter Bar */} - -
+ +
Filters @@ -416,14 +416,14 @@ export default function KanbanBoard({ tasks, onTaskStatusChange, onTaskUpdate, o {/* All view modes use the same kanban layout, just with different filtering */} -
+
{columns.map((column) => { const columnTasks = getTasksForColumn(column.status); return ( handleDrop(column.status)} data-testid={`column-${column.id}`} @@ -437,7 +437,7 @@ export default function KanbanBoard({ tasks, onTaskStatusChange, onTaskUpdate, o
-
+
{columnTasks.map((task) => (
-
+
{columns.map((column) => { const columnTasks = getTasksForColumn(column.status); return ( handleDrop(column.status)} data-testid={`column-${column.id}`} @@ -501,7 +501,7 @@ export default function KanbanBoard({ tasks, onTaskStatusChange, onTaskUpdate, o
-
+
{columnTasks.map((task) => (
-
+
{columns.map((column) => { const columnTasks = getTasksForColumn(column.status); return ( handleDrop(column.status)} data-testid={`column-${column.id}`} @@ -565,7 +565,7 @@ export default function KanbanBoard({ tasks, onTaskStatusChange, onTaskUpdate, o
-
+
{columnTasks.map((task) => (
{/* Header */} -
-

- Settings & Project Management +
+

+ Settings

- - - Projects - Labels + + + Projects + Labels - + {/* Project Kanban Board */} -
+
{projectColumns.map((column) => { const columnProjects = getProjectsByStatus(column.status); return ( handleDrop(column.status)} data-testid={`column-${column.id}`} > -
+

{column.title}

@@ -564,14 +566,14 @@ export default function ProjectTemplate({
-
+
{columnProjects.map((project) => ( handleDragStart(project.id)} onDragEnd={handleDragEnd} - className={`p-4 cursor-move hover-elevate transition-all ${ + className={`p-3 sm:p-4 cursor-move hover-elevate transition-all ${ draggedProject === project.id ? 'opacity-50 scale-95' : '' }`} data-testid={`project-card-${project.id}`}