Add AI auto-check worker, share link message/link fields, and update journal/settings UI
This commit is contained in:
+39
-35
@@ -58,6 +58,14 @@
|
||||
<button type="button" id="aiCorrectBtn" class="ai-btn" title="Исправить ошибки ИИ">✨</button>
|
||||
</label>
|
||||
<textarea id="editDesc" class="settings-input" required></textarea>
|
||||
<div id="editAiStatus" class="ai-status" style="display:none"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="settings-row">
|
||||
<div class="settings-field" style="flex:1">
|
||||
<label>Фотография</label>
|
||||
<input type="file" id="editPhoto" accept=".jpg,.jpeg,.png,.gif,.webp,.bmp,.avif,.ico,.heic,.heif,.jfif">
|
||||
<div class="files-preview" id="editPhotoPreview"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="settings-row">
|
||||
@@ -88,50 +96,46 @@
|
||||
</div>
|
||||
|
||||
<div class="modal-overlay" id="linkModal">
|
||||
<div class="edit-modal" style="max-width:480px">
|
||||
<div class="edit-modal" style="max-width:640px">
|
||||
<div id="linkCreateView">
|
||||
<h3>Создать ссылку</h3>
|
||||
<div style="font-size:.85rem;color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:10px 12px;line-height:1.5" id="linkPreview"></div>
|
||||
<div class="settings-stack" style="gap:12px">
|
||||
<div class="settings-row">
|
||||
<div class="settings-field" style="flex:1">
|
||||
<label>Название ссылки <span style="color:#ef4444">*</span></label>
|
||||
<input type="text" id="linkNameInput" class="settings-input" required placeholder="Например: Апрельский журнал">
|
||||
</div>
|
||||
<div class="link-fields">
|
||||
<div class="settings-field">
|
||||
<label>Название ссылки <span style="color:#ef4444">*</span></label>
|
||||
<input type="text" id="linkNameInput" class="settings-input" required placeholder="Например: Апрельский журнал">
|
||||
</div>
|
||||
<div class="settings-row">
|
||||
<div class="settings-field" style="flex:1">
|
||||
<label>Группа (если выбрана)</label>
|
||||
<input type="text" id="linkGroupPreview" class="settings-input" readonly style="background:var(--bg);color:var(--muted);cursor:not-allowed">
|
||||
</div>
|
||||
<div class="settings-field">
|
||||
<label>Группа (если выбрана)</label>
|
||||
<input type="text" id="linkGroupPreview" class="settings-input" readonly style="background:var(--bg);color:var(--muted);cursor:not-allowed">
|
||||
</div>
|
||||
<div class="settings-row">
|
||||
<div class="settings-field" style="flex:1">
|
||||
<label>Ученик (необязательно)</label>
|
||||
<input type="text" id="linkStudent" class="settings-input" list="linkStudentList" placeholder="Все / введите имя..."><datalist id="linkStudentList"></datalist>
|
||||
</div>
|
||||
<div class="settings-field">
|
||||
<label>Ученик (необязательно)</label>
|
||||
<input type="text" id="linkStudent" class="settings-input" list="linkStudentList" placeholder="Все / введите имя..."><datalist id="linkStudentList"></datalist>
|
||||
</div>
|
||||
<div class="settings-row">
|
||||
<div class="settings-field" style="flex:1">
|
||||
<label>Истекает через (дни)</label>
|
||||
<input type="number" id="linkExpiresDays" class="settings-input" min="1" max="365" value="7" placeholder="7">
|
||||
</div>
|
||||
<div class="settings-field">
|
||||
<label>Ссылка</label>
|
||||
<input type="url" id="linkUrl" class="settings-input" placeholder="https://...">
|
||||
</div>
|
||||
<div class="settings-row">
|
||||
<div class="settings-field" style="flex:1">
|
||||
<label style="display:flex;align-items:center;gap:8px;cursor:pointer">
|
||||
<input type="checkbox" id="linkAnonymizeNames">
|
||||
Показывать только инициалы учеников (анонимизировать)
|
||||
</label>
|
||||
</div>
|
||||
<div class="settings-field full">
|
||||
<label>Сообщение</label>
|
||||
<textarea id="linkMessage" class="settings-input" rows="3" placeholder="Текст, который увидят на публичной странице"></textarea>
|
||||
</div>
|
||||
<div class="settings-row">
|
||||
<div class="settings-field" style="flex:1">
|
||||
<label>Пароль для доступа (необязательно)</label>
|
||||
<input type="password" id="linkPassword" class="settings-input" placeholder="Оставьте пустым для открытого доступа">
|
||||
</div>
|
||||
<div class="settings-field">
|
||||
<label>Истекает через (дни)</label>
|
||||
<input type="number" id="linkExpiresDays" class="settings-input" min="1" max="365" value="7" placeholder="7">
|
||||
</div>
|
||||
<div class="card-foot" style="justify-content:flex-end;gap:8px">
|
||||
<div class="settings-field">
|
||||
<label>Пароль для доступа (необязательно)</label>
|
||||
<input type="password" id="linkPassword" class="settings-input" placeholder="Оставьте пустым для открытого доступа">
|
||||
</div>
|
||||
<div class="settings-field full">
|
||||
<label style="display:flex;align-items:center;gap:8px;cursor:pointer">
|
||||
<input type="checkbox" id="linkAnonymizeNames">
|
||||
Показывать только инициалы учеников (анонимизировать)
|
||||
</label>
|
||||
</div>
|
||||
<div class="card-foot full" style="justify-content:flex-end;gap:8px">
|
||||
<button type="button" class="btn-primary ghost" id="linkCreateCloseBtn">Отмена</button>
|
||||
<button type="button" class="btn-primary" id="linkCreateSaveBtn">Создать</button>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user