83 lines
3.4 KiB
HTML
83 lines
3.4 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="ru">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<title>AirLLM Node.js</title>
|
||
<link rel="stylesheet" href="style.css">
|
||
</head>
|
||
<body>
|
||
<div class="app-container">
|
||
|
||
<!-- САЙДБАР (450px) -->
|
||
<aside class="sidebar" id="sidebar">
|
||
|
||
<!-- Кнопка сворачивания -->
|
||
<div class="sidebar-toggle-header">
|
||
<button id="toggle-sidebar-btn" class="toggle-btn">◀</button>
|
||
</div>
|
||
|
||
<div class="sidebar-content">
|
||
<div class="sidebar-header">
|
||
<button id="new-chat-btn" class="new-chat-btn">
|
||
<span>+</span> Новый чат
|
||
</button>
|
||
</div>
|
||
|
||
<div class="chat-list" id="chat-list">
|
||
<div class="chat-item active" data-id="tab-1">
|
||
<span class="chat-icon">💬</span>
|
||
<span class="chat-title">Новый чат</span>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="sidebar-footer">
|
||
<button id="stop-server-btn" class="sidebar-footer-btn">Остановить сервер</button>
|
||
</div>
|
||
</div>
|
||
</aside>
|
||
|
||
<!-- ОСНОВНАЯ ОБЛАСТЬ (Flex: 1) -->
|
||
<main class="main-area">
|
||
|
||
<!-- Шапка с моделью -->
|
||
<header class="main-header">
|
||
<div class="header-left">
|
||
<div class="logo-container">
|
||
<img src="/uikit/bot.png" alt="Logo" class="logo-img" onerror="this.style.display='none'">
|
||
<h1>AirLLM Manager</h1>
|
||
</div>
|
||
<div id="status-indicator" class="status-indicator">● Модель: Не загружена</div>
|
||
</div>
|
||
|
||
<div class="controls-panel">
|
||
<div class="model-controls">
|
||
<div class="input-wrapper">
|
||
<input type="text" id="global-model-input" value="./model/" placeholder="./model/file.gguf" autocomplete="off">
|
||
<div id="suggestions" class="suggestions-list" style="display: none;"></div>
|
||
</div>
|
||
<button id="global-load-btn" class="btn btn-primary">Загрузить</button>
|
||
<button id="global-unload-btn" class="btn btn-secondary" disabled>Выгрузить</button>
|
||
</div>
|
||
</div>
|
||
</header>
|
||
|
||
<!-- Контент (Чат + Инпут) -->
|
||
<div class="content-area">
|
||
<div class="chat-window">
|
||
<div class="message system">Привет! Загрузите модель сверху.</div>
|
||
</div>
|
||
<div class="input-area">
|
||
<textarea id="global-input" placeholder="Введите сообщение..." rows="2" disabled></textarea>
|
||
<button id="global-send-btn" class="btn btn-primary" disabled>Отправить</button>
|
||
</div>
|
||
</div>
|
||
|
||
</main>
|
||
</div>
|
||
|
||
<audio id="msg-sound" src="/sound/message.mp3" preload="auto"></audio>
|
||
<script src="script.js"></script>
|
||
|
||
</body>
|
||
</html> |