diff --git a/client/src/App.css b/client/src/App.css
index b9d355d..35709b8 100644
--- a/client/src/App.css
+++ b/client/src/App.css
@@ -1,8 +1,15 @@
#root {
- max-width: 1280px;
- margin: 0 auto;
- padding: 2rem;
- text-align: center;
+ width: 100%;
+ height: 100vh;
+ margin: 0;
+ padding: 0;
+}
+
+.app {
+ width: 100%;
+ height: 100vh;
+ margin: 0;
+ padding: 0;
}
.logo {
diff --git a/client/src/App.tsx b/client/src/App.tsx
index c82b294..1a63a45 100644
--- a/client/src/App.tsx
+++ b/client/src/App.tsx
@@ -1,87 +1,99 @@
-import { CssBaseline, ThemeProvider, createTheme, CircularProgress, Box } from '@mui/material'
-import { useDeviceType } from './hooks/useDeviceType'
-import { useTaskData } from './hooks/useTaskData'
-import { DesktopLayout } from './layouts/DesktopLayout'
-import { MobileLayout } from './layouts/MobileLayout'
-import { StepDetails } from './components/StepDetails'
-import type { GroupWithTasks, TaskWithSteps, StepWithNotes } from './types'
-
-const theme = createTheme()
+import React, { useCallback } from 'react';
+import { ApolloProvider } from '@apollo/client';
+import { client } from './graphql/client';
+import { DesktopLayout } from './layouts/DesktopLayout';
+import { MobileLayout } from './layouts/MobileLayout';
+import { UserSelection } from './components/UserSelection';
+import { useTaskData } from './hooks/useTaskData';
+import { useDeviceType } from './hooks/useDeviceType';
+import { useUserSelection } from './hooks/useUserSelection';
+import './App.css';
export function App() {
- const deviceType = useDeviceType()
+ const { selectedUser, users, selectUser } = useUserSelection();
+ const deviceType = useDeviceType();
const {
+ loading,
groups,
step,
- loading,
selectedGroup,
selectedTask,
selectedStep,
setSelectedGroup,
setSelectedTask,
setSelectedStep,
- handlePrintStep,
handlePrintTask,
- handleAddNote,
- } = useTaskData()
+ handlePrintStep,
+ handleAddNote
+ } = useTaskData();
- const handleBack = () => {
+ const handleBack = useCallback(() => {
if (selectedStep) {
- setSelectedStep(undefined)
+ setSelectedStep(undefined);
} else if (selectedTask) {
- setSelectedTask(undefined)
+ setSelectedTask(undefined);
} else if (selectedGroup) {
- setSelectedGroup(undefined)
+ setSelectedGroup(undefined);
}
- }
+ }, [selectedStep, selectedTask, selectedGroup, setSelectedStep, setSelectedTask, setSelectedGroup]);
- if (loading) {
+ console.log('App render:', {
+ selectedUser,
+ deviceType,
+ loading,
+ groups,
+ step,
+ selectedGroup,
+ selectedTask,
+ selectedStep
+ });
+
+ console.log('App rendering main content, conditions:', {
+ hasUser: selectedUser !== null,
+ deviceType,
+ hasGroups: groups.length > 0,
+ hasStep: step !== null
+ });
+
+ if (!selectedUser) {
return (
-