Files
web_app/index.html

86 lines
3.7 KiB
HTML

<!doctype html>
<html lang="ru">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AI Project Editor MVP</title>
<link rel="stylesheet" href="./styles.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.52.2/min/vs/loader.min.js"></script>
</head>
<body>
<main class="layout" id="layout-root">
<section class="panel" id="tree-panel">
<div class="row-header">
<h2>Проект</h2>
</div>
<div class="row-controls">
<label for="pick-project-fallback" class="picker-label">Выбрать директорию</label>
<input id="pick-project-fallback" class="picker-input" type="file" webkitdirectory directory multiple />
</div>
<div id="tree-root" class="scroll"></div>
<div class="editor-footer">
<span id="tree-info" class="editor-info">Файлов: 0 • 0 KB</span>
</div>
</section>
<div class="splitter" id="splitter-left" aria-label="resize left"></div>
<section class="panel" id="editor-panel">
<div class="row-header">
<h2>Открытые файлы</h2>
</div>
<div class="row-controls tabs-row">
<div id="file-tabs" class="tabs"></div>
<button id="new-text-tab" type="button" class="new-tab-btn" title="Новая вкладка .md">+MD</button>
<button id="md-toggle-mode" type="button" class="md-toggle hidden" title="Переключить режим markdown">👁</button>
</div>
<div class="editor-workspace">
<textarea id="file-editor" class="file-editor large" spellcheck="false"></textarea>
<div id="file-editor-monaco" class="file-editor monaco-host large hidden"></div>
<div id="md-preview" class="md-preview large hidden"></div>
</div>
<div class="editor-footer">
<span id="editor-info" class="editor-info">Файл не выбран</span>
<div class="editor-actions">
<button id="save-file" type="button" disabled>Сохранить</button>
<button id="close-file" type="button" disabled>Закрыть</button>
</div>
</div>
</section>
<div class="splitter" id="splitter-right" aria-label="resize right"></div>
<section class="panel" id="right-panel">
<div class="chat-wrap">
<div class="row-header">
<h2>Чат</h2>
</div>
<div class="row-controls right-controls">
<button id="new-chat-session" type="button">Новая сессия</button>
</div>
<div id="chat-log" class="scroll chat-log"></div>
<form id="chat-form" class="chat-form">
<textarea id="chat-input" rows="4" placeholder="Введите задачу. Для теста changeset: /changeset { ... }"></textarea>
<button type="submit">Отправить</button>
</form>
</div>
<div class="review-wrap hidden">
<h2>Ревью изменений</h2>
<div id="review-toolbar" class="toolbar hidden">
<button id="accept-file">Accept file</button>
<button id="reject-file">Reject file</button>
<button id="accept-selected">Accept selected</button>
<button id="reject-selected">Reject selected</button>
<button id="apply-accepted">Apply accepted</button>
</div>
<div id="change-list" class="change-list"></div>
<div id="diff-view" class="diff-view"></div>
</div>
</section>
</main>
<script type="module" src="./src/main.js"></script>
</body>
</html>