├── .gitignore ├── README.md ├── index.html ├── package.json ├── public └── vite.svg ├── src ├── App.css ├── App.tsx ├── assets │ └── react.svg ├── index.css ├── main.tsx ├── react-query │ ├── CommentList.tsx │ ├── MasterDetail.tsx │ ├── PostList.tsx │ ├── TodoForm.tsx │ ├── TodoList.tsx │ ├── constants.ts │ ├── hooks │ │ ├── useAddTodo.ts │ │ ├── useComments.ts │ │ ├── usePosts.ts │ │ └── useTodos.ts │ └── services │ │ ├── apiClient.ts │ │ └── todoService.ts ├── routing │ ├── About.tsx │ ├── Contact.tsx │ ├── ContactPage.tsx │ ├── ErrorPage.tsx │ ├── HomePage.tsx │ ├── Layout.tsx │ ├── LoginPage.tsx │ ├── NavBar.tsx │ ├── PrivateRoutes.tsx │ ├── UserDetail.tsx │ ├── UserList.tsx │ ├── UsersPage.tsx │ ├── hooks │ │ └── useAuth.ts │ └── routes.tsx ├── state-management │ ├── HomePage.tsx │ ├── NavBar.tsx │ ├── auth │ │ ├── LoginStatus.tsx │ │ └── store.ts │ ├── counter │ │ ├── Counter.tsx │ │ └── store.ts │ └── tasks │ │ ├── TaskList.tsx │ │ ├── TasksProvider.tsx │ │ ├── index.ts │ │ └── tasksContext.ts └── vite-env.d.ts ├── tsconfig.json ├── tsconfig.node.json └── vite.config.ts /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mosh-hamedani/react-course-part2-finish/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mosh-hamedani/react-course-part2-finish/HEAD/README.md -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mosh-hamedani/react-course-part2-finish/HEAD/index.html -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mosh-hamedani/react-course-part2-finish/HEAD/package.json -------------------------------------------------------------------------------- /public/vite.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mosh-hamedani/react-course-part2-finish/HEAD/public/vite.svg -------------------------------------------------------------------------------- /src/App.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/App.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mosh-hamedani/react-course-part2-finish/HEAD/src/App.tsx -------------------------------------------------------------------------------- /src/assets/react.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mosh-hamedani/react-course-part2-finish/HEAD/src/assets/react.svg -------------------------------------------------------------------------------- /src/index.css: -------------------------------------------------------------------------------- 1 | body { 2 | padding: 1rem; 3 | } -------------------------------------------------------------------------------- /src/main.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mosh-hamedani/react-course-part2-finish/HEAD/src/main.tsx -------------------------------------------------------------------------------- /src/react-query/CommentList.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mosh-hamedani/react-course-part2-finish/HEAD/src/react-query/CommentList.tsx -------------------------------------------------------------------------------- /src/react-query/MasterDetail.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mosh-hamedani/react-course-part2-finish/HEAD/src/react-query/MasterDetail.tsx -------------------------------------------------------------------------------- /src/react-query/PostList.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mosh-hamedani/react-course-part2-finish/HEAD/src/react-query/PostList.tsx -------------------------------------------------------------------------------- /src/react-query/TodoForm.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mosh-hamedani/react-course-part2-finish/HEAD/src/react-query/TodoForm.tsx -------------------------------------------------------------------------------- /src/react-query/TodoList.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mosh-hamedani/react-course-part2-finish/HEAD/src/react-query/TodoList.tsx -------------------------------------------------------------------------------- /src/react-query/constants.ts: -------------------------------------------------------------------------------- 1 | 2 | export const CACHE_KEY_TODOS = ['todos']; -------------------------------------------------------------------------------- /src/react-query/hooks/useAddTodo.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mosh-hamedani/react-course-part2-finish/HEAD/src/react-query/hooks/useAddTodo.ts -------------------------------------------------------------------------------- /src/react-query/hooks/useComments.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mosh-hamedani/react-course-part2-finish/HEAD/src/react-query/hooks/useComments.ts -------------------------------------------------------------------------------- /src/react-query/hooks/usePosts.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mosh-hamedani/react-course-part2-finish/HEAD/src/react-query/hooks/usePosts.ts -------------------------------------------------------------------------------- /src/react-query/hooks/useTodos.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mosh-hamedani/react-course-part2-finish/HEAD/src/react-query/hooks/useTodos.ts -------------------------------------------------------------------------------- /src/react-query/services/apiClient.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mosh-hamedani/react-course-part2-finish/HEAD/src/react-query/services/apiClient.ts -------------------------------------------------------------------------------- /src/react-query/services/todoService.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mosh-hamedani/react-course-part2-finish/HEAD/src/react-query/services/todoService.ts -------------------------------------------------------------------------------- /src/routing/About.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mosh-hamedani/react-course-part2-finish/HEAD/src/routing/About.tsx -------------------------------------------------------------------------------- /src/routing/Contact.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mosh-hamedani/react-course-part2-finish/HEAD/src/routing/Contact.tsx -------------------------------------------------------------------------------- /src/routing/ContactPage.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mosh-hamedani/react-course-part2-finish/HEAD/src/routing/ContactPage.tsx -------------------------------------------------------------------------------- /src/routing/ErrorPage.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mosh-hamedani/react-course-part2-finish/HEAD/src/routing/ErrorPage.tsx -------------------------------------------------------------------------------- /src/routing/HomePage.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mosh-hamedani/react-course-part2-finish/HEAD/src/routing/HomePage.tsx -------------------------------------------------------------------------------- /src/routing/Layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mosh-hamedani/react-course-part2-finish/HEAD/src/routing/Layout.tsx -------------------------------------------------------------------------------- /src/routing/LoginPage.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mosh-hamedani/react-course-part2-finish/HEAD/src/routing/LoginPage.tsx -------------------------------------------------------------------------------- /src/routing/NavBar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mosh-hamedani/react-course-part2-finish/HEAD/src/routing/NavBar.tsx -------------------------------------------------------------------------------- /src/routing/PrivateRoutes.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mosh-hamedani/react-course-part2-finish/HEAD/src/routing/PrivateRoutes.tsx -------------------------------------------------------------------------------- /src/routing/UserDetail.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mosh-hamedani/react-course-part2-finish/HEAD/src/routing/UserDetail.tsx -------------------------------------------------------------------------------- /src/routing/UserList.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mosh-hamedani/react-course-part2-finish/HEAD/src/routing/UserList.tsx -------------------------------------------------------------------------------- /src/routing/UsersPage.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mosh-hamedani/react-course-part2-finish/HEAD/src/routing/UsersPage.tsx -------------------------------------------------------------------------------- /src/routing/hooks/useAuth.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mosh-hamedani/react-course-part2-finish/HEAD/src/routing/hooks/useAuth.ts -------------------------------------------------------------------------------- /src/routing/routes.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mosh-hamedani/react-course-part2-finish/HEAD/src/routing/routes.tsx -------------------------------------------------------------------------------- /src/state-management/HomePage.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mosh-hamedani/react-course-part2-finish/HEAD/src/state-management/HomePage.tsx -------------------------------------------------------------------------------- /src/state-management/NavBar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mosh-hamedani/react-course-part2-finish/HEAD/src/state-management/NavBar.tsx -------------------------------------------------------------------------------- /src/state-management/auth/LoginStatus.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mosh-hamedani/react-course-part2-finish/HEAD/src/state-management/auth/LoginStatus.tsx -------------------------------------------------------------------------------- /src/state-management/auth/store.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mosh-hamedani/react-course-part2-finish/HEAD/src/state-management/auth/store.ts -------------------------------------------------------------------------------- /src/state-management/counter/Counter.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mosh-hamedani/react-course-part2-finish/HEAD/src/state-management/counter/Counter.tsx -------------------------------------------------------------------------------- /src/state-management/counter/store.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mosh-hamedani/react-course-part2-finish/HEAD/src/state-management/counter/store.ts -------------------------------------------------------------------------------- /src/state-management/tasks/TaskList.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mosh-hamedani/react-course-part2-finish/HEAD/src/state-management/tasks/TaskList.tsx -------------------------------------------------------------------------------- /src/state-management/tasks/TasksProvider.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mosh-hamedani/react-course-part2-finish/HEAD/src/state-management/tasks/TasksProvider.tsx -------------------------------------------------------------------------------- /src/state-management/tasks/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mosh-hamedani/react-course-part2-finish/HEAD/src/state-management/tasks/index.ts -------------------------------------------------------------------------------- /src/state-management/tasks/tasksContext.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mosh-hamedani/react-course-part2-finish/HEAD/src/state-management/tasks/tasksContext.ts -------------------------------------------------------------------------------- /src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mosh-hamedani/react-course-part2-finish/HEAD/tsconfig.json -------------------------------------------------------------------------------- /tsconfig.node.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mosh-hamedani/react-course-part2-finish/HEAD/tsconfig.node.json -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mosh-hamedani/react-course-part2-finish/HEAD/vite.config.ts --------------------------------------------------------------------------------