diff --git a/frontend/src/main.tsx b/frontend/src/main.tsx index b874295c..2e13fc8d 100644 --- a/frontend/src/main.tsx +++ b/frontend/src/main.tsx @@ -1,35 +1,22 @@ import { ApolloClient, ApolloProvider, InMemoryCache } from "@apollo/client"; import { StrictMode } from "react"; import { createRoot } from "react-dom/client"; -import { RouterProvider, createBrowserRouter } from "react-router-dom"; +import { RouterProvider } from "react-router-dom"; import "./i18n"; - -import App from "./App.tsx"; -import SignUp from "./pages/SignUp"; +import router from "./routes"; import "./index.css"; -const router = createBrowserRouter([ - { - path: "/", - element: , - }, - { - path: "/sign-up", - element: , - }, -]); - const client = new ApolloClient({ - uri: "http://localhost:4000", - cache: new InMemoryCache(), + uri: "http://localhost:4000", + cache: new InMemoryCache(), }); // biome-ignore lint/style/noNonNullAssertion: createRoot(document.getElementById("root")!).render( - - - - - + + + + + , ); diff --git a/frontend/src/pages/HomePage/HomePage.scss b/frontend/src/pages/HomePage/HomePage.scss new file mode 100644 index 00000000..e69de29b diff --git a/frontend/src/pages/HomePage/Views/HomePageView/HomePageView.scss b/frontend/src/pages/HomePage/Views/HomePageView/HomePageView.scss new file mode 100644 index 00000000..e69de29b diff --git a/frontend/src/pages/HomePage/Views/HomePageView/Views/DashBoardHeaderView/DashBoardHeaderView.scss b/frontend/src/pages/HomePage/Views/HomePageView/Views/DashBoardHeaderView/DashBoardHeaderView.scss new file mode 100644 index 00000000..e69de29b diff --git a/frontend/src/pages/HomePage/Views/HomePageView/Views/DashBoardHeaderView/index.tsx b/frontend/src/pages/HomePage/Views/HomePageView/Views/DashBoardHeaderView/index.tsx new file mode 100644 index 00000000..83e921f8 --- /dev/null +++ b/frontend/src/pages/HomePage/Views/HomePageView/Views/DashBoardHeaderView/index.tsx @@ -0,0 +1,12 @@ +import "./DashBoardHeaderView.scss"; + +// Existe seulement en phone +const DashBoardHeaderView = () => { + return ( +
+

DashBoardHeaderView

+
+ ); +}; + +export default DashBoardHeaderView; diff --git a/frontend/src/pages/HomePage/Views/HomePageView/Views/ProgramListView/ProgramListView.scss b/frontend/src/pages/HomePage/Views/HomePageView/Views/ProgramListView/ProgramListView.scss new file mode 100644 index 00000000..e69de29b diff --git a/frontend/src/pages/HomePage/Views/HomePageView/Views/ProgramListView/index.tsx b/frontend/src/pages/HomePage/Views/HomePageView/Views/ProgramListView/index.tsx new file mode 100644 index 00000000..348c1c81 --- /dev/null +++ b/frontend/src/pages/HomePage/Views/HomePageView/Views/ProgramListView/index.tsx @@ -0,0 +1,11 @@ +import "./ProgramListView.scss"; + +const ProgramListView = () => { + return ( +
+

ProgramListView

+
+ ); +}; + +export default ProgramListView; diff --git a/frontend/src/pages/HomePage/Views/HomePageView/Views/index.tsx b/frontend/src/pages/HomePage/Views/HomePageView/Views/index.tsx new file mode 100644 index 00000000..a59a3e5f --- /dev/null +++ b/frontend/src/pages/HomePage/Views/HomePageView/Views/index.tsx @@ -0,0 +1,2 @@ +export { default as DashBoardHeaderView } from "./DashBoardHeaderView"; +export { default as ProgramListView } from "./ProgramListView"; diff --git a/frontend/src/pages/HomePage/Views/HomePageView/index.tsx b/frontend/src/pages/HomePage/Views/HomePageView/index.tsx new file mode 100644 index 00000000..f9adf142 --- /dev/null +++ b/frontend/src/pages/HomePage/Views/HomePageView/index.tsx @@ -0,0 +1,13 @@ +import { DashBoardHeaderView, ProgramListView } from "./Views"; +import "./HomePageView.scss"; + +const HomePageView = () => { + return ( +
+ + +
+ ); +}; + +export default HomePageView; diff --git a/frontend/src/pages/HomePage/Views/UserProfileView/UserProfileView.scss b/frontend/src/pages/HomePage/Views/UserProfileView/UserProfileView.scss new file mode 100644 index 00000000..e69de29b diff --git a/frontend/src/pages/HomePage/Views/UserProfileView/Views/DashBoardView/DashBoardView.scss b/frontend/src/pages/HomePage/Views/UserProfileView/Views/DashBoardView/DashBoardView.scss new file mode 100644 index 00000000..e69de29b diff --git a/frontend/src/pages/HomePage/Views/UserProfileView/Views/DashBoardView/index.tsx b/frontend/src/pages/HomePage/Views/UserProfileView/Views/DashBoardView/index.tsx new file mode 100644 index 00000000..18c3bb86 --- /dev/null +++ b/frontend/src/pages/HomePage/Views/UserProfileView/Views/DashBoardView/index.tsx @@ -0,0 +1,11 @@ +import "./DashBoardView.scss"; + +const DashBoardView = () => { + return ( +
+

DashBoardView

+
+ ); +}; + +export default DashBoardView; diff --git a/frontend/src/pages/HomePage/Views/UserProfileView/Views/HistoryView/HistoryView.scss b/frontend/src/pages/HomePage/Views/UserProfileView/Views/HistoryView/HistoryView.scss new file mode 100644 index 00000000..e69de29b diff --git a/frontend/src/pages/HomePage/Views/UserProfileView/Views/HistoryView/index.tsx b/frontend/src/pages/HomePage/Views/UserProfileView/Views/HistoryView/index.tsx new file mode 100644 index 00000000..93b46a2c --- /dev/null +++ b/frontend/src/pages/HomePage/Views/UserProfileView/Views/HistoryView/index.tsx @@ -0,0 +1,11 @@ +import "./HistoryView.scss"; + +const HistoryView = () => { + return ( +
+

HistoryView

+
+ ); +}; + +export default HistoryView; diff --git a/frontend/src/pages/HomePage/Views/UserProfileView/Views/index.tsx b/frontend/src/pages/HomePage/Views/UserProfileView/Views/index.tsx new file mode 100644 index 00000000..224493fc --- /dev/null +++ b/frontend/src/pages/HomePage/Views/UserProfileView/Views/index.tsx @@ -0,0 +1,2 @@ +export { default as DashBoardView } from "./DashBoardView"; +export { default as HistoryView } from "./HistoryView"; diff --git a/frontend/src/pages/HomePage/Views/UserProfileView/index.tsx b/frontend/src/pages/HomePage/Views/UserProfileView/index.tsx new file mode 100644 index 00000000..9eb95fd6 --- /dev/null +++ b/frontend/src/pages/HomePage/Views/UserProfileView/index.tsx @@ -0,0 +1,13 @@ +import { DashBoardView, HistoryView } from "./Views"; +import "./UserProfileView.scss"; + +const UserProfileView = () => { + return ( +
+ + {/* apparait onClick et remplace DashBoardView */} +
+ ); +}; + +export default UserProfileView; diff --git a/frontend/src/pages/HomePage/Views/index.tsx b/frontend/src/pages/HomePage/Views/index.tsx new file mode 100644 index 00000000..7f81ca0c --- /dev/null +++ b/frontend/src/pages/HomePage/Views/index.tsx @@ -0,0 +1,2 @@ +export { default as HomePageView } from "./HomePageView"; +export { default as UserProfileView } from "./UserProfileView"; diff --git a/frontend/src/pages/HomePage/index.tsx b/frontend/src/pages/HomePage/index.tsx new file mode 100644 index 00000000..61f44b1c --- /dev/null +++ b/frontend/src/pages/HomePage/index.tsx @@ -0,0 +1,25 @@ +import { HomePageView, UserProfileView } from "./Views"; +import "./HomePage.scss"; +const HomePage = () => { + return ( + <> + {/*if screen size = phone */} +
+ {" "} + {/* même URL mais on fait toggle entre les 2 vues HomePageView et UserProfilView */} + +
+ + {/*if screen size = desktop */} +
+ {" "} + {/* colonne de gauche avec le dashboard de l'utilisateur toujours visible */} +
+
+ {/* colonne de droite avec la liste des programmes*/} +
+ + ); +}; + +export default HomePage; diff --git a/frontend/src/pages/ProgramPage/ProgramPage.scss b/frontend/src/pages/ProgramPage/ProgramPage.scss new file mode 100644 index 00000000..e69de29b diff --git a/frontend/src/pages/ProgramPage/Views/CurrentExerciseView/CurrentExerciceView.scss b/frontend/src/pages/ProgramPage/Views/CurrentExerciseView/CurrentExerciceView.scss new file mode 100644 index 00000000..e69de29b diff --git a/frontend/src/pages/ProgramPage/Views/CurrentExerciseView/index.tsx b/frontend/src/pages/ProgramPage/Views/CurrentExerciseView/index.tsx new file mode 100644 index 00000000..1c09de5e --- /dev/null +++ b/frontend/src/pages/ProgramPage/Views/CurrentExerciseView/index.tsx @@ -0,0 +1,11 @@ +import "./CurrentExerciceView.scss"; + +const CurrentExerciceView = () => { + return ( +
+

CurrentExerciceView

+
+ ); +}; + +export default CurrentExerciceView; diff --git a/frontend/src/pages/ProgramPage/Views/ExerciseListView/ExerciseListDesktopView/ExerciseListDesktopView.scss b/frontend/src/pages/ProgramPage/Views/ExerciseListView/ExerciseListDesktopView/ExerciseListDesktopView.scss new file mode 100644 index 00000000..e69de29b diff --git a/frontend/src/pages/ProgramPage/Views/ExerciseListView/ExerciseListDesktopView/ExerciseListDesktopView.tsx b/frontend/src/pages/ProgramPage/Views/ExerciseListView/ExerciseListDesktopView/ExerciseListDesktopView.tsx new file mode 100644 index 00000000..4cbbfecd --- /dev/null +++ b/frontend/src/pages/ProgramPage/Views/ExerciseListView/ExerciseListDesktopView/ExerciseListDesktopView.tsx @@ -0,0 +1,13 @@ +import "./ExerciseListDesktopView.scss"; + +const ExerciseListDesktopView = () => { + return ( + <> +
+

ExerciseListDesktopView

+
+ + ); +}; + +export default ExerciseListDesktopView; diff --git a/frontend/src/pages/ProgramPage/Views/ExerciseListView/ExerciseListMobileView/ExerciseListMobileView.scss b/frontend/src/pages/ProgramPage/Views/ExerciseListView/ExerciseListMobileView/ExerciseListMobileView.scss new file mode 100644 index 00000000..e69de29b diff --git a/frontend/src/pages/ProgramPage/Views/ExerciseListView/ExerciseListMobileView/ExerciseListMobileView.tsx b/frontend/src/pages/ProgramPage/Views/ExerciseListView/ExerciseListMobileView/ExerciseListMobileView.tsx new file mode 100644 index 00000000..f42fe640 --- /dev/null +++ b/frontend/src/pages/ProgramPage/Views/ExerciseListView/ExerciseListMobileView/ExerciseListMobileView.tsx @@ -0,0 +1,13 @@ +import "./ExerciseListMobileView.scss"; + +const ExerciseListMobileView = () => { + return ( + <> +
+

ExerciseListMobileView

+
+ + ); +}; + +export default ExerciseListMobileView; diff --git a/frontend/src/pages/ProgramPage/Views/ExerciseListView/ExerciseListView.scss b/frontend/src/pages/ProgramPage/Views/ExerciseListView/ExerciseListView.scss new file mode 100644 index 00000000..e69de29b diff --git a/frontend/src/pages/ProgramPage/Views/ExerciseListView/index.tsx b/frontend/src/pages/ProgramPage/Views/ExerciseListView/index.tsx new file mode 100644 index 00000000..2aa46684 --- /dev/null +++ b/frontend/src/pages/ProgramPage/Views/ExerciseListView/index.tsx @@ -0,0 +1,20 @@ +import ExerciseListDesktopView from "./ExerciseListDesktopView/ExerciseListDesktopView"; +import ExerciseListMobileView from "./ExerciseListMobileView/ExerciseListMobileView"; +import "./ExerciseListView.scss"; + +const ExerciseListView = () => { + return ( + <> + {/* if phone size */} +
+ +
+ {/* if desktop size */} +
+ +
+ + ); +}; + +export default ExerciseListView; diff --git a/frontend/src/pages/ProgramPage/Views/ExitProgramView/ExitProgramView.scss b/frontend/src/pages/ProgramPage/Views/ExitProgramView/ExitProgramView.scss new file mode 100644 index 00000000..e69de29b diff --git a/frontend/src/pages/ProgramPage/Views/ExitProgramView/index.tsx b/frontend/src/pages/ProgramPage/Views/ExitProgramView/index.tsx new file mode 100644 index 00000000..a319332f --- /dev/null +++ b/frontend/src/pages/ProgramPage/Views/ExitProgramView/index.tsx @@ -0,0 +1,11 @@ +import "./ExitProgramView.scss"; + +const ExitProgramView = () => { + return ( +
+

ExitProgramView

+
+ ); +}; + +export default ExitProgramView; diff --git a/frontend/src/pages/ProgramPage/Views/FinishedProgramView/FinishedProgramView.scss b/frontend/src/pages/ProgramPage/Views/FinishedProgramView/FinishedProgramView.scss new file mode 100644 index 00000000..e69de29b diff --git a/frontend/src/pages/ProgramPage/Views/FinishedProgramView/index.tsx b/frontend/src/pages/ProgramPage/Views/FinishedProgramView/index.tsx new file mode 100644 index 00000000..f8d69244 --- /dev/null +++ b/frontend/src/pages/ProgramPage/Views/FinishedProgramView/index.tsx @@ -0,0 +1,11 @@ +import "./FinishedProgramView.scss"; + +const FinishedProgramView = () => { + return ( +
+

ExitProgramView

+
+ ); +}; + +export default FinishedProgramView; diff --git a/frontend/src/pages/ProgramPage/Views/RestView/RestView.scss b/frontend/src/pages/ProgramPage/Views/RestView/RestView.scss new file mode 100644 index 00000000..e69de29b diff --git a/frontend/src/pages/ProgramPage/Views/RestView/index.tsx b/frontend/src/pages/ProgramPage/Views/RestView/index.tsx new file mode 100644 index 00000000..7830bc82 --- /dev/null +++ b/frontend/src/pages/ProgramPage/Views/RestView/index.tsx @@ -0,0 +1,10 @@ +import "./RestView.scss"; +const RestView = () => { + return ( +
+

RestView

+
+ ); +}; + +export default RestView; diff --git a/frontend/src/pages/ProgramPage/Views/StartProgramView/StartProgramView.scss b/frontend/src/pages/ProgramPage/Views/StartProgramView/StartProgramView.scss new file mode 100644 index 00000000..e69de29b diff --git a/frontend/src/pages/ProgramPage/Views/StartProgramView/index.tsx b/frontend/src/pages/ProgramPage/Views/StartProgramView/index.tsx new file mode 100644 index 00000000..69c00aa0 --- /dev/null +++ b/frontend/src/pages/ProgramPage/Views/StartProgramView/index.tsx @@ -0,0 +1,12 @@ +import "./StartProgramView.scss"; + +//EXISTE UNIQUEMENT EN VERSION DESKTOP (C'EST L'IMAGE AU CENTRE DU FRAME 'Exercice List - Desktop' + texte 'Démarre ta séance' + bouton 'Démarrer' SUR FIGMA) +const StartProgramView = () => { + return ( +
+

StartProgramView

+
+ ); +}; + +export default StartProgramView; diff --git a/frontend/src/pages/ProgramPage/Views/index.tsx b/frontend/src/pages/ProgramPage/Views/index.tsx new file mode 100644 index 00000000..4b99dca8 --- /dev/null +++ b/frontend/src/pages/ProgramPage/Views/index.tsx @@ -0,0 +1,6 @@ +export { default as CurrentExerciceView } from "./CurrentExerciseView"; +export { default as ExerciseListView } from "./ExerciseListView"; +export { default as ExitProgramView } from "./ExitProgramView"; +export { default as FinishedProgramView } from "./FinishedProgramView"; +export { default as RestView } from "./RestView"; +export { default as StartProgramView } from "./StartProgramView"; diff --git a/frontend/src/pages/ProgramPage/index.tsx b/frontend/src/pages/ProgramPage/index.tsx new file mode 100644 index 00000000..73806ff8 --- /dev/null +++ b/frontend/src/pages/ProgramPage/index.tsx @@ -0,0 +1,40 @@ +import { + CurrentExerciceView, + ExerciseListView, + ExitProgramView, + FinishedProgramView, + RestView, + StartProgramView, +} from "./Views"; +import "./ProgramPage.scss"; +const ProgramPage = () => { + return ( + <> + {/*if screen size = phone */} +
+ {" "} + {/* on fait défiler une à une les vues avec un state*/} + + + + +
+ + {/*if screen size = desktop */} +
+ {" "} + {/* colonne de gauche de l'écran avec liste des exos reste visible tout le temps pendant le process*/} +
+
+ + {" "} + {/* colonne de droite de l'écran qui fait défiler les vues avec un state*/} + + + +
+ + ); +}; + +export default ProgramPage; diff --git a/frontend/src/routes.tsx b/frontend/src/routes.tsx new file mode 100644 index 00000000..3df90937 --- /dev/null +++ b/frontend/src/routes.tsx @@ -0,0 +1,31 @@ +import { createBrowserRouter } from "react-router-dom"; +import App from "./App"; +import HomePage from "./pages/HomePage"; +import ProgramPage from "./pages/ProgramPage"; +import SignUp from "./pages/SignUp"; + +const router = createBrowserRouter([ + { + path: "/", + element: , + }, + { + path: "/sign-up", + element: , + }, + { + path: "/program/:id", + element: , + }, + { + path: "/home", + element: , + }, + // Page 404 à faire + { + path: "*", + element:
404 - Page Not Found
, + }, +]); + +export default router;