refactor: натравил форматтер на весь фронт

This commit is contained in:
2026-05-25 02:06:11 +03:00
parent 24df65a13c
commit 98aaa86ec4
43 changed files with 1947 additions and 657 deletions
+19 -7
View File
@@ -11,7 +11,8 @@ const message = ref('Завершаем вход через Microsoft...')
onMounted(async () => {
const code = typeof route.query.code === 'string' ? route.query.code : ''
const state = typeof route.query.state === 'string' ? route.query.state : null
const error = typeof route.query.error_description === 'string' ? route.query.error_description : ''
const error =
typeof route.query.error_description === 'string' ? route.query.error_description : ''
const hashParams = new URLSearchParams(window.location.hash.replace(/^#/, ''))
const accessToken = hashParams.get('access_token')
@@ -28,7 +29,10 @@ onMounted(async () => {
else await router.replace('/')
} catch (err) {
message.value = err instanceof Error ? err.message : 'Не удалось завершить авторизацию.'
window.setTimeout(() => router.replace({ path: '/login', query: { error: message.value } }), 1600)
window.setTimeout(
() => router.replace({ path: '/login', query: { error: message.value } }),
1600,
)
}
})
</script>
@@ -54,14 +58,22 @@ onMounted(async () => {
}
.callback-card {
width: min(420px, 100%);
background: rgba(255,255,255,0.86);
background: rgba(255, 255, 255, 0.86);
border: 1px solid var(--color-border-glass);
border-radius: var(--radius-lg);
padding: 32px;
text-align: center;
box-shadow: 0 24px 70px rgba(0,0,0,0.12);
box-shadow: 0 24px 70px rgba(0, 0, 0, 0.12);
}
.spinner {
margin: 0 auto 16px;
}
h1 {
font-size: 24px;
margin: 0 0 8px;
}
p {
color: var(--color-text-secondary);
margin: 0;
}
.spinner { margin: 0 auto 16px; }
h1 { font-size: 24px; margin: 0 0 8px; }
p { color: var(--color-text-secondary); margin: 0; }
</style>
+15 -17
View File
@@ -17,22 +17,19 @@ const featureCards = [
icon: 'search' as const,
tone: 'blue',
title: 'Поиск лекций',
description:
'Найдите самые интересные курсы и открытые лекции от ведущих преподавателей ЮФУ.',
description: 'Найдите самые интересные курсы и открытые лекции от ведущих преподавателей ЮФУ.',
},
{
icon: 'coin' as const,
tone: 'green',
title: 'Зарабатывайте монеты',
description:
'Оставляйте конструктивные отзывы после занятий и получайте вознаграждение.',
description: 'Оставляйте конструктивные отзывы после занятий и получайте вознаграждение.',
},
{
icon: 'trophy' as const,
tone: 'amber',
title: 'Достижения и награды',
description:
'Отслеживайте свой рост и открывайте уникальные достижения за активность.',
description: 'Отслеживайте свой рост и открывайте уникальные достижения за активность.',
},
]
@@ -85,11 +82,13 @@ async function loginViaYufu() {
</section>
<section class="login-brand" aria-label="О платформе UniVerse">
<ul class="feature-list">
<li v-for="(card, index) in featureCards" :key="card.title" class="feature-card"
:style="{ '--stagger': `${index * 80}ms` }">
<li
v-for="(card, index) in featureCards"
:key="card.title"
class="feature-card"
:style="{ '--stagger': `${index * 80}ms` }"
>
<div class="feature-icon" :class="`feature-icon--${card.tone}`" aria-hidden="true">
<AppIcon :icon="card.icon" :size="22" />
</div>
@@ -100,13 +99,10 @@ async function loginViaYufu() {
</li>
</ul>
</section>
</main>
<footer class="login-footer">
<div class="footer-left">
</div>
<div class="footer-left"></div>
<nav class="footer-center" aria-label="Правовая информация">
<a href="#">Политика конфиденциальности</a>
<a href="#">Техническая поддержка</a>
@@ -142,11 +138,13 @@ async function loginViaYufu() {
position: absolute;
inset: 0;
background:
linear-gradient(115deg,
linear-gradient(
115deg,
rgba(224, 242, 254, 0.92) 0%,
rgba(220, 252, 231, 0.78) 38%,
rgba(255, 255, 255, 0.55) 62%,
rgba(224, 242, 254, 0.88) 100%),
rgba(224, 242, 254, 0.88) 100%
),
linear-gradient(to top, rgba(255, 255, 255, 0.35) 0%, transparent 42%);
pointer-events: none;
}
@@ -178,7 +176,7 @@ async function loginViaYufu() {
z-index: 1;
flex: 1;
display: grid;
grid-template-columns: minmax(340px, 440px) minmax(340px, 1fr) ;
grid-template-columns: minmax(340px, 440px) minmax(340px, 1fr);
gap: clamp(32px, 2vw, 72px);
align-content: center;
align-items: stretch;