🚀 Обновление административной панели и функциональности WoW-патчей в Next.js + Tailwind CSS

В этом обновлении я значительно улучшил административный интерфейс и логику работы с патчами World of Warcraft в моём проекте на базе Next.js 15, Tailwind CSS, ShadCN, и Turbopack. Ниже рассказываю, какие задачи были решены и какие компоненты были реализованы.

👥 Управление пользователями: новая админка

Image

✅ Основные улучшения:

  • Создана страница AdminUsersPage, где администраторы могут просматривать и управлять пользователями.
  • Хук useAdminUsers реализует логику получения данных, поиска, пагинации и обновления состояния пользователей.
  • Компонент AdminUsersPanel объединяет таблицу, строку поиска и пагинацию в единую панель.
  • Добавлен компонент строки пользователя — позволяет менять роль пользователя прямо из таблицы.
  • Реализована система пагинации и фильтрации по имени/почте.
  • Добавлен метод updateUserRole для смены ролей через API.

🛠 Работа с патчами World of Warcraft

Image

Новые функции:

  • addPatchAction теперь возвращает добавленный патч и запускает повторную валидацию страницы.
  • updatePatchAction добавлен для обновления патчей с валидацией и повторной подгрузкой данных.
  • В компонент add-patch-wow добавлены функции редактирования и удаления патча, включая модальное окно для редактирования.
  • Функция удаления теперь также инициирует повторную валидацию страницы.

🧱 Новые UI-компоненты

  • Sidebar: адаптивная боковая панель с контекстным управлением состоянием (открытие/закрытие на мобильных).
  • Table: компонент таблицы для структурированного отображения данных.
  • Pagination: UI-контролы для переключения страниц с пользовательскими стрелками и логикой.
  • useIsMobile: хук для определения мобильного устройства и адаптации интерфейса.

🔐 Аутентификация и структура API

  • Создан клиент API с конфигурацией базового URL и авторизацией через токен.
  • auth service реализует регистрацию, вход и управление сессией.
  • Оптимизирован импорт в auth-options.ts — устранён лишний код.

0

87

Тут пока никого нет...

Загрузка комментариев...