Add hotel registration flow on login page and staff users management page

LoginPage:
- Toggle between login and registration mode
- 2-step registration: step 1 (hotel name + legal entity: type ООО/ИП/АО/ПАО/Другое, company name, INN, KPP hidden for ИП, legal address), step 2 (first/last name, email, phone, password with strength indicator, confirm)
- Step indicator dots, validation with inline errors, success screen after submit
- Left panel shows benefits list when in registration mode
- «Зарегистрировать отель» / «Войти» toggle links

UsersPage (/users):
- Staff list table: avatar with custom color, name, role badge, position, contacts, last login, active status
- Roles: hotel_manager, receptionist, housekeeper, accountant, security — each with label+color
- Stats cards by role (clickable to filter)
- Search by name/email/position + role filter buttons
- UserModal: avatar color picker, name/email/phone, role selector (6 roles), position field with quick-pick suggestions per role, password field, active toggle
- Delete confirmation dialog
- Sidebar: «Сотрудники» link added to Управление section

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-11 22:45:11 +03:00
parent 401825c01e
commit c3723dec90
4 changed files with 1015 additions and 112 deletions

View File

@@ -25,6 +25,7 @@ import { RoomServicePage } from './pages/RoomServicePage'
import { RentalPage } from './pages/RentalPage'
import { RoomCategoriesPage } from './pages/RoomCategoriesPage'
import { DocumentsPage } from './pages/DocumentsPage'
import { UsersPage } from './pages/UsersPage'
export default function App() {
return (
@@ -59,6 +60,7 @@ export default function App() {
<Route path="/rental" element={<RentalPage />} />
<Route path="/room-categories" element={<RoomCategoriesPage />} />
<Route path="/documents" element={<DocumentsPage />} />
<Route path="/users" element={<UsersPage />} />
</Route>
{/* Admin routes */}