Files
WFL/templates/admin_db_player_edit.html
Юрий Черненко 57907fd86b обновление для Кубка России
переделаны все парсеры на ссылки из базы
2026-07-02 12:46:29 +03:00

263 lines
8.3 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Редактирование игрока</title>
<link rel="icon" href="/static/smith.ico" type="image/x-icon">
<style>
:root {
--bg: #0f1115;
--panel: #171a21;
--panel-2: #1d222b;
--border: #2b3240;
--text: #e8ecf3;
--muted: #9aa4b2;
--accent: #4f8cff;
--accent-hover: #3e78e6;
--shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
--radius: 16px;
}
* {
box-sizing: border-box;
}
body {
margin: 0;
background: var(--bg);
color: var(--text);
font-family: Arial, sans-serif;
}
.page {
max-width: 900px;
margin: 0 auto;
padding: 24px;
}
.panel {
background: var(--panel);
border: 1px solid var(--border);
border-radius: var(--radius);
box-shadow: var(--shadow);
padding: 20px;
}
.title {
font-size: 24px;
font-weight: 700;
margin-bottom: 18px;
}
.form-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
}
.form-group {
display: flex;
flex-direction: column;
gap: 6px;
}
.form-group.full {
grid-column: 1 / -1;
}
label {
color: var(--muted);
font-size: 13px;
font-weight: 600;
}
input[type="text"],
input[type="date"] {
min-height: 42px;
padding: 0 12px;
border-radius: 10px;
border: 1px solid var(--border);
background: var(--panel-2);
color: var(--text);
}
.actions {
margin-top: 20px;
display: flex;
gap: 10px;
}
.btn {
min-height: 42px;
padding: 0 14px;
border: none;
border-radius: 10px;
cursor: pointer;
font-weight: 600;
text-decoration: none;
display: inline-flex;
align-items: center;
}
.btn-primary {
background: var(--accent);
color: white;
}
.btn-secondary {
background: transparent;
color: var(--text);
border: 1px solid var(--border);
}
.small-meta {
margin-bottom: 16px;
color: var(--muted);
font-size: 13px;
}
select,
input[type="text"],
input[type="date"] {
min-height: 42px;
padding: 0 12px;
border-radius: 10px;
border: 1px solid var(--border);
background: var(--panel-2);
color: var(--text);
}
.media-preview-box {
margin-top: 10px;
padding: 12px;
border-radius: 12px;
border: 1px dashed var(--border);
background: var(--panel-2);
}
.media-preview-image {
max-width: 180px;
max-height: 180px;
object-fit: contain;
display: block;
}
input[readonly] {
color: var(--muted);
cursor: default;
}
.checkbox-row {
min-height: 42px;
display: flex;
align-items: center;
gap: 10px;
color: var(--text);
}
.checkbox-row input[type="checkbox"] {
width: 18px;
height: 18px;
accent-color: var(--accent);
}
.hint {
color: var(--muted);
font-size: 12px;
line-height: 1.4;
}
</style>
</head>
<body>
<div class="page">
<div class="panel">
<div class="title">Редактирование игрока</div>
<div class="small-meta">ID: {{ player.id }}</div>
<form method="post" action="/admin/db/players/{{ player.id }}/edit">
{% set positions = [
"",
"Вратарь",
"Защитник",
"Полузащитник",
"Нападающий",
] %}
<div class="form-grid">
<div class="form-group full">
<label>Полное имя</label>
<input type="text" name="full_name" value="{{ player.full_name }}">
</div>
<div class="form-group">
<label>Имя</label>
<input type="text" name="first_name" value="{{ player.first_name }}">
</div>
<div class="form-group">
<label>Фамилия</label>
<input type="text" name="last_name" value="{{ player.last_name }}">
</div>
<div class="form-group">
<label>External ID</label>
<input type="text" name="external_id" value="{{ player.external_id }}">
</div>
<div class="form-group">
<label>Название команды</label>
<input type="text" value="{{ player.team_name }}" readonly>
</div>
<div class="form-group">
<label>Амплуа</label>
<select name="position">
{% for pos in positions %}
<option value="{{ pos }}" {% if player.position==pos %}selected{% endif %}>
{{ pos if pos else "Не выбрано" }}
</option>
{% endfor %}
</select>
</div>
<div class="form-group">
<label>Дата рождения</label>
<input type="date" name="birth_date" value="{{ player.birth_date or '' }}">
</div>
<div class="form-group full">
<label>Файл фото игрока</label>
<input type="text" name="photo" value="{{ player.photo }}" placeholder="Например: Динамо\Иванов Иван.png или Иванов Иван.png">
<label class="checkbox-row">
<input type="checkbox" name="photo_enabled" value="true" {% if player.photo_enabled %}checked{% endif %}>
Использовать фото в JSON/vMix
</label>
<div class="hint">Если поле пустое, путь генерируется автоматически: папка фотографий источника + Команда\Фамилия Имя.png. Если поле заполнено, можно указать имя файла или относительный путь. Если галочка выключена — отдается EMPTY.png из папки выбранного источника.</div>
{% if player.photo %}
<div class="media-preview-box">
<img src="{{ player.photo }}" alt="{{ player.full_name }}" class="media-preview-image">
</div>
{% endif %}
</div>
<div class="form-group full">
<label>Видео игрока</label>
<input type="text" name="video" value="{{ player.video }}">
</div>
</div>
<div class="actions">
<button type="submit" class="btn btn-primary">Сохранить</button>
<a href="/admin/db/players" class="btn btn-secondary">К списку</a>
<a href="/admin/db" class="btn btn-secondary">Разделы</a>
</div>
</form>
</div>
</div>
</body>
</html>