/
Centermant
/
web-nodejs
Обзор
Документация
Войти
/
Centermant
/
web-nodejs
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
public/lab10/task1/admin.html
313 строк
15 KB
Centermant
feat(lab10 finaly uraaaa dodelal.radost')
08 дек 2025, 21:50
08 дек 2025, 21:50
e643b41
Код
Авторство
О чём код?
<!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>MARKETPLACE - Админ панель</title> <link rel="stylesheet" href="/css/styles_lab.css"> <link rel="stylesheet" href="./css/main.css"> <link rel="stylesheet" href="./css/admin.css"> </head> <body> <div class="wrapper"> <header class="header"> <div class="container"> <div class="header-content"> <div class="logo"> <h1>MARKET<span class="accent">PLACE</span></h1> </div> <div class="search-bar"> <input type="text" id="searchInput" placeholder="Поиск товаров..."> <button id="searchButton"><i class="fas fa-search"></i></button> <div id="searchResults" class="search-results"></div> </div> <div class="header-actions"> <div class="cart-icon" id="cartIcon"> <i class="fas fa-shopping-cart"></i> <span class="cart-count">0</span> </div> <div class="auth-buttons"> <button id="loginBtn" class="btn btn-outline">Войти</button> <button id="adminBtn" class="btn btn-admin">Админ панель</button> <button id="userInfoBtn" class="btn user-info hidden"> <i class="fas fa-user"></i> <span id="userName"></span> </button> <button id="logoutBtn" class="btn btn-outline hidden">Выйти</button> </div> </div> </div> <nav class="main-nav"> <ul> <li><a href="/lab10/task1/">Главная</a></li> <li class="active"><a href="#">Админ панель</a></li> </ul> </nav> </div> </header> <main class="container"> <section class="admin-section"> <h1 class="section-title">Админ панель</h1> <div class="admin-tabs"> <button class="tab-btn active" data-tab="products">Товары</button> <button class="tab-btn" data-tab="users">Пользователи</button> <button class="tab-btn" data-tab="orders">Заказы</button> </div> <div class="tab-content active" id="products-tab"> <div class="admin-actions"> <button id="addProductBtn" class="btn btn-primary"> <i class="fas fa-plus"></i> Добавить товар </button> <div class="search-filter"> <input type="text" id="productSearch" placeholder="Поиск товаров..."> </div> </div> <div class="products-table"> <table> <thead> <tr> <th>ID</th> <th>Название</th> <th>Цена</th> <th>Категория</th> <th>Количество</th> <th>Действия</th> </tr> </thead> <tbody id="productsTableBody"> <tr> <td colspan="6" class="loading">Загрузка товаров...</td> </tr> </tbody> </table> </div> </div> <div class="tab-content" id="users-tab"> <div class="admin-actions"> <button id="addUserBtn" class="btn btn-primary"> <i class="fas fa-plus"></i> Добавить пользователя </button> <div class="search-filter"> <input type="text" id="userSearch" placeholder="Поиск пользователей..."> </div> </div> <div class="users-table"> <table> <thead> <tr> <th>ID</th> <th>Логин</th> <th>Email</th> <th>Роль</th> <th>Дата регистрации</th> <th>Действия</th> </tr> </thead> <tbody id="usersTableBody"> <tr> <td colspan="6" class="loading">Загрузка пользователей...</td> </tr> </tbody> </table> </div> </div> <div class="tab-content" id="orders-tab"> <div class="admin-actions"> <div class="search-filter"> <select id="orderStatusFilter"> <option value="">Все статусы</option> <option value="created">Создан</option> <option value="processing">В обработке</option> <option value="shipped">Отправлен</option> <option value="delivered">Доставлен</option> <option value="cancelled">Отменен</option> </select> </div> </div> <div class="orders-table"> <table> <thead> <tr> <th>ID</th> <th>Пользователь</th> <th>Сумма</th> <th>Статус</th> <th>Дата</th> <th>Действия</th> </tr> </thead> <tbody id="ordersTableBody"> <tr> <td colspan="6" class="loading">Загрузка заказов...</td> </tr> </tbody> </table> </div> </div> </section> </main> <footer class="footer"> <div class="container"> <div class="footer-content"> <div class="footer-section"> <h3>О магазине</h3> <p>Интернет-магазин не качественных товаров по высочайшим ценам.</p> </div> <div class="footer-section"> <h3>Контакты</h3> <p>Email: nepishite@mne.ru</p> </div> </div> <div class="copyright"> © 2025 Laba10 sdelal lol. Все права не защищены. </div> </div> </footer> </div> <!-- Модальные окна --> <!-- Модальное окно добавления/редактирования товара --> <div class="modal-overlay" id="productModal"> <div class="modal-content"> <button class="modal-close" id="closeProductModal">×</button> <h2 class="modal-title" id="productModalTitle">Добавить товар</h2> <form id="productForm"> <div class="form-group"> <label for="productTitle">Название товара *</label> <input type="text" id="productTitle" required> </div> <div class="form-group"> <label for="productDescription">Описание</label> <textarea id="productDescription" rows="3"></textarea> </div> <div class="form-row"> <div class="form-group"> <label for="productPrice">Цена (в копейках) *</label> <input type="number" id="productPrice" required> </div> <div class="form-group"> <label for="productAmount">Количество *</label> <input type="number" id="productAmount" required> </div> </div> <div class="form-group"> <label for="productCategory">Категория *</label> <select id="productCategory" required> <option value="">Выберите категорию</option> <!-- Категории будут загружены через JS --> </select> </div> <div class="form-group"> <label for="productImage">URL изображения</label> <input type="url" id="productImage"> </div> <div class="form-actions"> <button type="button" class="btn btn-outline" id="cancelProductBtn">Отмена</button> <button type="submit" class="btn btn-primary">Сохранить</button> </div> <div class="form-error" id="productFormError"></div> </form> </div> </div> <!-- Модальное окно добавления/редактирования пользователя --> <div class="modal-overlay" id="userModal"> <div class="modal-content"> <button class="modal-close" id="closeUserModal">×</button> <h2 class="modal-title" id="userModalTitle">Добавить пользователя</h2> <form id="userForm"> <div class="form-group"> <label for="userUsername">Логин *</label> <input type="text" id="userUsername" required> </div> <div class="form-group"> <label for="userEmail">Email *</label> <input type="email" id="userEmail" required> </div> <div class="form-group"> <label for="userPassword">Пароль *</label> <input type="password" id="userPassword" required> </div> <div class="form-group"> <label for="userRole">Роль *</label> <select id="userRole" required> <option value="user">Пользователь</option> <option value="admin">Администратор</option> <option value="guest">Гость</option> </select> </div> <div class="form-actions"> <button type="button" class="btn btn-outline" id="cancelUserBtn">Отмена</button> <button type="submit" class="btn btn-primary">Сохранить</button> </div> <div class="form-error" id="userFormError"></div> </form> </div> </div> <!-- Модальное окно деталей заказа --> <div class="modal-overlay" id="orderModal"> <div class="modal-content order-modal"> <button class="modal-close" id="closeOrderModal">×</button> <h2 class="modal-title">Детали заказа #<span id="orderId"></span></h2> <div id="orderDetailsContent"> <div class="loading">Загрузка деталей заказа...</div> </div> <div class="form-actions"> <button type="button" class="btn btn-outline" id="closeOrderDetailsBtn">Закрыть</button> </div> </div> </div> <!-- Модальное окно изменения статуса заказа --> <div class="modal-overlay" id="statusModal"> <div class="modal-content"> <button class="modal-close" id="closeStatusModal">×</button> <h2 class="modal-title">Изменить статус заказа</h2> <form id="statusForm"> <input type="hidden" id="statusOrderId"> <div class="form-group"> <label for="orderStatus">Новый статус *</label> <select id="orderStatus" required> <option value="created">Создан</option> <option value="processing">В обработке</option> <option value="shipped">Отправлен</option> <option value="delivered">Доставлен</option> <option value="cancelled">Отменен</option> </select> </div> <div class="form-actions"> <button type="button" class="btn btn-outline" id="cancelStatusBtn">Отмена</button> <button type="submit" class="btn btn-primary">Сохранить</button> </div> <div class="form-error" id="statusFormError"></div> </form> </div> </div> <!-- Модальное окно подтверждения удаления --> <div class="modal-overlay" id="confirmModal"> <div class="modal-content confirm-modal"> <button class="modal-close" id="closeConfirmModal">×</button> <h2 class="modal-title">Подтверждение</h2> <p id="confirmMessage">Вы уверены, что хотите удалить этот элемент?</p> <div class="form-actions"> <button type="button" class="btn btn-outline" id="cancelConfirmBtn">Отмена</button> <button type="button" class="btn btn-danger" id="confirmDeleteBtn">Удалить</button> </div> </div> </div> <script src="./js/auth.js" defer></script> <script src="./js/admin.js" defer></script> </body> </html>