├── .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
--------------------------------------------------------------------------------