UI: light theme default, remove free mentions, fix scroll animation

- Default theme: light (was dark)
- Removed all бесплатно/free/навсегда mentions across all pages
- Landing: title, hero badge, hero text, CTA button, advantages, footer CTA
- Dashboard: hero text, about section, stats
- Register: subtitle
- Fixed scroll-hint animation (was bouncing infinitely, now static)
- Removed class=dark from all 18 HTML files (theme managed by JS)
This commit is contained in:
treamz 2026-03-22 00:10:12 +03:00
parent 01c31ec35b
commit 69ec8f4ede
18 changed files with 34 additions and 34 deletions

View File

@ -1,5 +1,5 @@
<!DOCTYPE html>
<html lang="ru" class="dark">
<html lang="ru">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />

View File

@ -1,5 +1,5 @@
<!DOCTYPE html>
<html lang="ru" class="dark">
<html lang="ru">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />

View File

@ -1,5 +1,5 @@
<!DOCTYPE html>
<html lang="ru" class="dark">
<html lang="ru">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
@ -94,7 +94,7 @@
Добро пожаловать
</h1>
<p style="font-size:14px;color:var(--text-secondary);margin-top:8px;line-height:1.6;max-width:600px;">
14 бесплатных инструментов для веб-разработки: сжатие картинок и видео,
14 инструментов для веб-разработки: сжатие картинок и видео,
форматирование кода, тестирование API, генерация паролей и многое другое.
</p>
</div>
@ -203,7 +203,7 @@
<div class="about-card fade-d4">
<h2>О сервисе</h2>
<p>
<strong style="color:var(--text-primary);">WA Dev Tools</strong> — набор бесплатных инструментов для веб-разработчиков.
<strong style="color:var(--text-primary);">WA Dev Tools</strong> — набор инструментов для веб-разработчиков.
Все инструменты работают прямо в браузере: сжимайте изображения, форматируйте код, тестируйте API,
генерируйте пароли и многое другое — без установки, без ограничений, без подписок.
Загруженные файлы обрабатываются на лету и не сохраняются на сервере.
@ -218,8 +218,8 @@
<div class="label">категории</div>
</div>
<div class="about-stat">
<div class="num" style="color:#22c55e;">Free</div>
<div class="label">бесплатно</div>
<div class="num">14</div>
<div class="label">инструментов</div>
</div>
</div>
</div>

View File

@ -1,5 +1,5 @@
<!DOCTYPE html>
<html lang="ru" class="dark">
<html lang="ru">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />

View File

@ -1,5 +1,5 @@
<!DOCTYPE html>
<html lang="ru" class="dark">
<html lang="ru">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />

View File

@ -1,5 +1,5 @@
<!DOCTYPE html>
<html lang="ru" class="dark">
<html lang="ru">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />

View File

@ -1,10 +1,10 @@
<!DOCTYPE html>
<html lang="ru" class="dark">
<html lang="ru" >
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>WA Dev Tools — 13 бесплатных инструментов для веб-разработчика</title>
<meta name="description" content="Сжатие картинок, форматирование кода, HTTP-клиент и ещё 10 инструментов для веб-разработчиков — всё в браузере, бесплатно." />
<title>WA Dev Tools — инструменты для веб-разработчика</title>
<meta name="description" content="Сжатие картинок, форматирование кода, HTTP-клиент и ещё 10 инструментов для веб-разработчиков — всё в браузере, " />
<script src="/vendor/tailwind.js"></script>
<script>
tailwind.config = {
@ -245,7 +245,7 @@
font-size: 10px;
letter-spacing: 0.15em;
text-transform: uppercase;
animation: float 2.5s ease-in-out infinite;
animation: none;
}
/* ── Section common ── */
@ -612,7 +612,7 @@
<div style="position:relative;z-index:1;width:100%;">
<div class="hero-badge animate-fade-in">
<span class="dot"></span>
<span id="hero-badge-text">13 инструментов — бесплатно навсегда</span>
<span id="hero-badge-text">14 инструментов для разработчиков</span>
</div>
<div class="hero-logo animate-slide-up delay-100">
@ -626,7 +626,7 @@
<p class="hero-sub animate-slide-up delay-300" id="hero-sub">
Сжатие картинок, форматирование кода, HTTP-клиент и ещё 10 инструментов —
всё в браузере, бесплатно и без регистрации карты.
всё в браузере, без установки и регистрации карты.
</p>
<div class="hero-cta-group animate-slide-up delay-400">
@ -636,7 +636,7 @@
<path d="M17 3h4v4"/>
<path d="M10 14 21 3"/>
</svg>
Начать бесплатно
Начать работу
</a>
<a href="/auth/login" class="btn-secondary">
<span class="link-text">Уже есть аккаунт? Войти</span>
@ -796,7 +796,7 @@
<path d="M12 7h4.5a2.5 2.5 0 0 0 0-5C13 2 12 7 12 7z"/>
</svg>
</div>
<div class="adv-title">Бесплатно навсегда</div>
<div class="adv-title">Без ограничений</div>
<p class="adv-desc">Никаких подписок и скрытых платежей. Все 13 инструментов доступны сразу после регистрации.</p>
</div>
@ -847,7 +847,7 @@
<p class="section-label" style="margin-bottom:16px;">Начните прямо сейчас</p>
<h2 class="cta-headline">Готовы начать?</h2>
<p class="cta-sub">
Зарегистрируйтесь бесплатно и получите доступ ко всем инструментам — без кредитной карты.
Зарегистрируйтесь и получите доступ ко всем инструментам.
</p>
<a href="/auth/register" class="btn-primary" style="font-size:17px;padding:17px 40px;">
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">

View File

@ -1,5 +1,5 @@
<!DOCTYPE html>
<html lang="ru" class="dark">
<html lang="ru">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
@ -58,7 +58,7 @@
// Theme init (before render)
(function(){
const s = localStorage.getItem('theme');
if (s === '' || (s === null && !window.matchMedia('(prefers-color-scheme: dark)').matches)) {
if (s !== 'dark') {
document.documentElement.classList.remove('dark');
}
})();

View File

@ -1,5 +1,5 @@
<!DOCTYPE html>
<html lang="ru" class="dark">
<html lang="ru">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />

View File

@ -1,5 +1,5 @@
<!DOCTYPE html>
<html lang="ru" class="dark">
<html lang="ru">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />

View File

@ -1,5 +1,5 @@
<!DOCTYPE html>
<html lang="ru" class="dark">
<html lang="ru">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />

View File

@ -1,5 +1,5 @@
<!DOCTYPE html>
<html lang="ru" class="dark">
<html lang="ru">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />

View File

@ -1,5 +1,5 @@
<!DOCTYPE html>
<html lang="ru" class="dark">
<html lang="ru">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />

View File

@ -1,5 +1,5 @@
<!DOCTYPE html>
<html lang="ru" class="dark">
<html lang="ru">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
@ -58,7 +58,7 @@
<script>
(function(){
const s = localStorage.getItem('theme');
if (s === '' || (s === null && !window.matchMedia('(prefers-color-scheme: dark)').matches)) {
if (s !== 'dark') {
document.documentElement.classList.remove('dark');
}
})();
@ -90,7 +90,7 @@
<div class="auth-card">
<div class="auth-card-inner">
<div class="auth-title">Создать аккаунт</div>
<div class="auth-subtitle">Бесплатный доступ ко всем инструментам</div>
<div class="auth-subtitle">Доступ ко всем инструментам</div>
<div id="error" class="auth-error" style="margin-top:20px;"></div>
<form id="regForm" style="display:flex;flex-direction:column;gap:16px;margin-top:24px;" onsubmit="return handleRegister(event)">
<div>

View File

@ -1,5 +1,5 @@
<!DOCTYPE html>
<html lang="ru" class="dark">
<html lang="ru">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />

View File

@ -141,9 +141,9 @@ async function _loadUser() {
function initTheme() {
const html = document.documentElement;
const saved = localStorage.getItem('theme');
if (saved === 'dark' || (!saved && window.matchMedia('(prefers-color-scheme: dark)').matches)) {
if (saved === 'dark') {
html.classList.add('dark');
} else if (saved === '') {
} else {
html.classList.remove('dark');
}

View File

@ -1,5 +1,5 @@
<!DOCTYPE html>
<html lang="ru" class="dark">
<html lang="ru">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />

View File

@ -1,5 +1,5 @@
<!DOCTYPE html>
<html lang="ru" class="dark">
<html lang="ru">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />