├── src
├── vite-env.d.ts
├── lib
│ └── API.ts
├── pages
│ ├── NotFound.tsx
│ ├── Loading.tsx
│ ├── Error.tsx
│ ├── Login.tsx
│ ├── Blogs.tsx
│ ├── Admins.tsx
│ └── Trainers.tsx
├── middlewares
│ ├── Axios.tsx
│ └── Fetcher.tsx
├── index.css
├── layouts
│ └── RootLayout.tsx
├── main.tsx
├── Store
│ └── indexStore.tsx
├── Types
│ └── indexTypes.tsx
├── Slicers
│ └── UserSlicer.tsx
├── components
│ ├── ui
│ │ ├── Header.tsx
│ │ ├── PhotoCarousel.tsx
│ │ └── UserDropDown.tsx
│ └── shared
│ │ ├── AdminModal.tsx
│ │ ├── AdminEditModal.tsx
│ │ ├── ChangePassword.tsx
│ │ ├── BlogModal.tsx
│ │ ├── TrainerModal.tsx
│ │ ├── TrainerEditModal.tsx
│ │ └── BlogEditModal.tsx
└── App.tsx
├── postcss.config.js
├── vercel.json
├── tsconfig.json
├── vite.config.ts
├── tailwind.config.js
├── .gitignore
├── index.html
├── tsconfig.node.json
├── tsconfig.app.json
├── eslint.config.js
├── package.json
└── README.md
/src/vite-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
что-то не так, пожалуйста, вернитесь назад
9 | 13 | Назад 14 | 15 |Нет фото
21 |75 | {user?.fullName} 76 |
77 |78 | {user?.phoneNumber} 79 |
80 |{error}
114 |{error}
83 |{error}
92 || Foydalanuvchi | 113 |Action | 114 |
|---|---|
|
120 |
121 | {admin.fullName}
122 | {currentUser._id === admin._id ? (
123 |
124 | ) : null}
125 |
126 |
130 | {formatUzPhone(admin.phoneNumber)}
131 |
132 | |
133 |
134 |
135 |
142 |
143 | {activeDropdown === admin._id && (
144 |
164 |
145 |
162 | )}
163 |
146 |
153 |
160 |
161 | |
165 |
90 | Yangi parolni kiriting. Parol kamida 6 ta belgidan iborat bo'lishi 91 | kerak. 92 |
93 |{error}
83 || Фото | 110 |Имя | 111 |Опыт | 112 |113 | Действия 114 | | 115 |
|---|---|---|---|
|
121 |
122 |
132 | |
133 |
134 |
135 | {trainer.fullName}
136 |
137 | |
138 | 139 | 140 | {trainer.experience} лет опыта 141 | 142 | | 143 |
144 |
145 |
152 |
153 | {activeDropdown === trainer._id && (
154 |
174 |
155 |
172 | )}
173 |
156 |
163 |
170 |
171 | |
175 |
{error}
134 |