новый дизайн

This commit is contained in:
2026-07-25 18:36:45 +04:00
parent df7f98fe8b
commit c43a73e148
54 changed files with 4234 additions and 1110 deletions
@@ -1,7 +1,10 @@
<script setup>
import { arrowSvg, moonMark } from './symbols';
defineProps({ playUrl: { type: String, required: true } });
defineProps({
playUrl: { type: String, required: true },
legalUrls: { type: Object, required: true },
});
</script>
<template>
@@ -32,14 +35,15 @@ defineProps({ playUrl: { type: String, required: true } });
</div>
<p>Приватный сервер World of Warcraft 3.3.5a с индивидуальным прогрессом, соло-данжами и режимом «Предатель». Бесплатно и без pay-to-win.</p>
</div>
<div class="footer-col"><h4>Сервер</h4><a href="#">Статус реалмов</a><a href="#">Скачать клиент</a><a href="#">Правила</a><a href="#">Дорожная карта</a></div>
<div class="footer-col"><h4>Сервер</h4><a href="#">Статус реалмов</a><a :href="playUrl">Скачать клиент</a><a v-if="legalUrls.published" :href="legalUrls.offer">Публичная оферта</a><a v-if="legalUrls.published" :href="legalUrls.privacy">Конфиденциальность</a></div>
<div class="footer-col"><h4>Сообщество</h4><a href="#">Discord</a><a href="#">Форум</a><a href="#">Поддержка</a><a href="#">Вакансии</a></div>
<div class="footer-col"><h4>База знаний</h4><a href="#">Гайды</a><a href="#">База данных</a><a href="#">Рейтинги</a><a href="#">API</a></div>
</div>
<div class="footer-bottom">
<span>© 2026 MoonWell · fan project · не связан с Blizzard Entertainment</span>
<span>Сделано с лунным светом</span>
<span v-if="legalUrls.published"><a :href="legalUrls.offer">Оферта</a> · <a :href="legalUrls.privacy">Политика конфиденциальности</a></span>
<span v-else>Сделано с лунным светом</span>
</div>
</div>
</footer>
@@ -8,6 +8,7 @@ const props = defineProps({
inviteRequired: { type: Boolean, default: true },
auth: { type: Object, required: true },
flash: { type: Object, required: true },
legalUrls: { type: Object, required: true },
});
const hints = {
@@ -159,7 +160,11 @@ function submit(event) {
<label class="join-check">
<input type="checkbox" name="terms" value="1" :checked="form.terms" @change="updateField('terms', $event.target.checked)" />
<span class="box" aria-hidden="true"></span>
<span>Я принимаю <a href="#">правила сервера</a> и согласен на обработку данных для создания игрового аккаунта.</span>
<span v-if="legalUrls.published">
Я принимаю <a :href="legalUrls.offer" target="_blank" rel="noopener">публичную оферту</a>
и <a :href="legalUrls.privacy" target="_blank" rel="noopener">политику конфиденциальности</a>.
</span>
<span v-else>Я принимаю правила проекта и согласен на обработку данных для создания игрового аккаунта.</span>
</label>
<div v-if="errorFor('terms')" class="join-error">{{ errorFor('terms') }}</div>
+3 -2
View File
@@ -18,6 +18,7 @@ const props = defineProps({
posts: { type: Array, default: () => [] },
tweaks: { type: Object, default: () => ({}) },
registerEndpoint: { type: String, required: true },
legalUrls: { type: Object, required: true },
csrfToken: { type: String, required: true },
inviteRequired: { type: Boolean, default: true },
auth: { type: Object, default: () => ({}) },
@@ -59,8 +60,8 @@ onBeforeUnmount(() => revealObserver?.disconnect());
<Realm :realm="realm" />
<About />
<Features />
<Join :register-endpoint="registerEndpoint" :csrf-token="csrfToken" :invite-required="inviteRequired" :auth="auth" :flash="flash" />
<Join :register-endpoint="registerEndpoint" :csrf-token="csrfToken" :invite-required="inviteRequired" :auth="auth" :flash="flash" :legal-urls="legalUrls" />
<News :posts="posts" />
<Footer :play-url="playUrl" />
<Footer :play-url="playUrl" :legal-urls="legalUrls" />
<Tweaks :tweaks="tweaks" />
</template>