multy-stub/server/routers/questioneer/public/admin.html

103 lines
3.8 KiB
HTML
Raw Normal View History

2025-03-11 23:50:50 +03:00
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Управление опросом</title>
2025-03-12 00:09:36 +03:00
<!-- Добавляем проверку на различные пути -->
<script>
// Определяем путь к статическим файлам с учетом prod и dev окружений
function getStaticPath() {
if (window.location.pathname.includes('/ms/questioneer')) {
// Для продакшна
return '/ms/questioneer/static';
} else {
// Для локальной разработки
const basePath = window.location.pathname.split('/admin')[0];
// Проверяем, заканчивается ли путь на слеш
return basePath + (basePath.endsWith('/') ? 'static' : '/static');
2025-03-12 00:09:36 +03:00
}
}
// Динамически добавляем CSS
const cssLink = document.createElement('link');
cssLink.rel = 'stylesheet';
cssLink.href = getStaticPath() + '/css/style.css';
document.head.appendChild(cssLink);
</script>
<!-- Добавляем jQuery -->
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/qrcode-generator/1.4.4/qrcode.min.js"></script>
<script>
document.addEventListener('DOMContentLoaded', function() {
// Динамически добавляем скрипты
const scriptPaths = [
'/js/common.js',
'/js/admin.js'
];
const staticPath = getStaticPath();
scriptPaths.forEach(path => {
const script = document.createElement('script');
script.src = staticPath + path;
document.body.appendChild(script);
});
});
</script>
2025-03-11 23:50:50 +03:00
</head>
<body>
<!-- Навигационная шапка -->
<header class="nav-header">
<div class="nav-container">
<a href="/questioneer" class="nav-logo">Анонимные опросы</a>
<nav class="nav-menu">
<a href="/questioneer" class="nav-link">Главная</a>
<a href="/questioneer/create" class="nav-link">Создать опрос</a>
</nav>
</div>
</header>
<div class="container">
<h1>Управление опросом</h1>
<div id="loading">Загрузка опроса...</div>
<div id="questionnaire-container" style="display: none;">
<div class="questionnaire-header">
<h2 id="questionnaire-title"></h2>
<p id="questionnaire-description"></p>
</div>
<div class="questionnaire-links">
<div class="link-group">
<h3>Ссылка для голосования:</h3>
<div class="link-input-group">
<input type="text" id="public-link" readonly>
<button class="btn btn-small" id="copy-public-link">Копировать</button>
<button class="btn btn-small" id="show-qr-code">QR-код</button>
</div>
</div>
<div class="link-group">
<h3>Административная ссылка:</h3>
<div class="link-input-group">
<input type="text" id="admin-link" readonly>
<button class="btn btn-small" id="copy-admin-link">Копировать</button>
</div>
</div>
</div>
<div class="questionnaire-stats">
<h3>Статистика ответов</h3>
<div id="stats-container"></div>
</div>
<div class="questionnaire-actions">
<button id="edit-questionnaire" class="btn">Редактировать опрос</button>
<button id="delete-questionnaire" class="btn btn-danger">Удалить опрос</button>
</div>
</div>
</div>
</body>
</html>