mirror of
https://github.com/wasrusgen/zov-tech.git
synced 2026-06-03 15:44:47 +00:00
ui: замена «Новый клиент» на «Заказы», стили карточек клиентов, Свободный день, splash −30%
- quickActions: «Новый клиент» → «Заказы» (clipboard → #/assembly), убрали дублирующую кнопку «Сборки» из быстрых действий - «Свободный день»: текст теперь использует var(--ink)/var(--muted) вместо rgba белых значений, которые были невидимы на светлом фоне --card; заголовок — шрифт карточки ×1.3 (17.5px 600), описание — моно uppercase 9.5px - styles.css: добавлены явные стили .client-card/.client-name/.client-phone/ .client-avatar и др. — исправлен невидимый текст в карточках клиентов во всех темах (Foundry, Boardroom, Atelier) - splash: minShow 1200 → 840 мс (−30%) - index.html: версия ресурсов → 20260517c Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
2f50f6e920
commit
eae5e61fcf
@ -200,10 +200,9 @@ async function renderManagerHome(me) {
|
||||
// Quick actions
|
||||
const quickActions = [
|
||||
{ icon: "user", title: "Клиенты", subtitle: "История + хронология", href: "#/clients" },
|
||||
{ icon: "plus", title: "Новый клиент", subtitle: "Завести карточку", href: "#/clients/new" },
|
||||
{ icon: "clipboard", title: "Заказы", subtitle: "Сборки + заявки", href: "#/assembly" },
|
||||
{ icon: "package", title: "Подбор техники", subtitle: "Встройка + AI", href: "#/podbor" },
|
||||
{ icon: "ruler", title: "Заказать замер", subtitle: "Назначить замерщика", href: "#/request" },
|
||||
{ icon: "wrench", title: "Сборки", subtitle: "Заявки на сборку", href: "#/assembly" },
|
||||
];
|
||||
app.appendChild(el(`<div class="section-head"><span class="label">Быстрые действия</span></div>`));
|
||||
const grid = el(`<div class="quick-grid"></div>`);
|
||||
@ -445,9 +444,9 @@ function renderManagerToday(container, measurements, firstName, greetingEl) {
|
||||
|
||||
if (todayEvents.length === 0 && overdueEvents.length === 0 && noDateEvents.length === 0) {
|
||||
container.appendChild(el(`
|
||||
<section class="hero" style="background:var(--card,#fff);border:1px dashed rgba(107,74,43,0.25);">
|
||||
<div class="hero-meta"><span class="left">Свободный день</span></div>
|
||||
<div class="hero-address" style="margin-top:8px;">Замеров на сегодня нет.<br>Можно поработать с клиентами или заказать новые замеры.</div>
|
||||
<section class="hero" style="background:var(--card);border:1px dashed var(--line-strong);">
|
||||
<div style="font-family:var(--font-ui);font-size:17.5px;font-weight:600;letter-spacing:-0.01em;color:var(--ink);line-height:1.2;margin-bottom:8px;">Свободный день</div>
|
||||
<div style="font-family:var(--font-mono);font-size:9.5px;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);line-height:1.5;">Замеров на сегодня нет · можно поработать с клиентами или заказать новые замеры</div>
|
||||
</section>
|
||||
`));
|
||||
}
|
||||
@ -1618,7 +1617,7 @@ function hideSplash() {
|
||||
const splash = document.getElementById("splash");
|
||||
if (!splash) return;
|
||||
const elapsed = Date.now() - _splashStart;
|
||||
const minShow = 1200; // минимум показа, мс — 1.2 сек хватает чтобы рассмотреть лого и не блокировать UI
|
||||
const minShow = 840; // минимум показа, мс — было 1200, сокращено на 30%
|
||||
const wait = Math.max(0, minShow - elapsed);
|
||||
setTimeout(() => {
|
||||
splash.classList.add("hide");
|
||||
|
||||
@ -1361,3 +1361,120 @@ html[data-variant="d"] .section-head .label {
|
||||
letter-spacing: 0.16em;
|
||||
color: var(--ink-2);
|
||||
}
|
||||
|
||||
/* ============================================================
|
||||
Client list cards — все темы
|
||||
Явные стили чтобы текст не сливался с фоном ни в одной теме
|
||||
============================================================ */
|
||||
.client-list {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: var(--s3);
|
||||
}
|
||||
|
||||
.client-card {
|
||||
background: var(--card);
|
||||
border: 1px solid var(--line-strong);
|
||||
border-radius: var(--r-card);
|
||||
padding: var(--s4);
|
||||
cursor: pointer;
|
||||
transition: background 0.12s;
|
||||
}
|
||||
|
||||
.client-card:active { background: var(--paper-2); }
|
||||
|
||||
.client-card-head {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: var(--s3);
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
|
||||
.client-avatar {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
border-radius: var(--r-pill);
|
||||
background: var(--warm);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-family: var(--font-ui);
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
color: var(--accent-1);
|
||||
flex-shrink: 0;
|
||||
text-transform: uppercase;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.client-avatar.lg {
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.client-meta {
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.client-name {
|
||||
font-family: var(--font-ui);
|
||||
font-size: 13.5px;
|
||||
font-weight: 600;
|
||||
color: var(--ink);
|
||||
line-height: 1.2;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.client-phone {
|
||||
font-family: var(--font-mono);
|
||||
font-size: 9.5px;
|
||||
font-weight: 500;
|
||||
letter-spacing: 0.05em;
|
||||
color: var(--muted);
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
.client-arrow {
|
||||
color: var(--muted);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.client-footer {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
font-family: var(--font-mono);
|
||||
font-size: 9.5px;
|
||||
font-weight: 500;
|
||||
letter-spacing: 0.06em;
|
||||
text-transform: uppercase;
|
||||
color: var(--muted);
|
||||
}
|
||||
|
||||
.client-detail-head {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: var(--s3);
|
||||
}
|
||||
|
||||
.client-detail-name {
|
||||
font-family: var(--font-ui);
|
||||
font-size: 20px;
|
||||
font-weight: 700;
|
||||
color: var(--ink);
|
||||
margin: 0 0 2px;
|
||||
letter-spacing: -0.01em;
|
||||
}
|
||||
|
||||
.client-detail-meta {
|
||||
font-family: var(--font-mono);
|
||||
font-size: 10px;
|
||||
font-weight: 500;
|
||||
letter-spacing: 0.08em;
|
||||
text-transform: uppercase;
|
||||
color: var(--muted);
|
||||
}
|
||||
|
||||
@ -12,8 +12,8 @@
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700&family=Inter:wght@400;500;600;700;800&family=Geist:wght@400;500;600&family=Manrope:wght@400;500;600;700&family=Newsreader:ital,wght@0,400..600;1,400..600&family=Instrument+Serif:ital@0;1&family=JetBrains+Mono:wght@400;500&family=Cormorant+Garamond:ital,wght@1,400;1,500;1,600&family=Caveat:wght@500;700&display=swap">
|
||||
<script src="https://telegram.org/js/telegram-web-app.js"></script>
|
||||
<link rel="stylesheet" href="assets/styles.css?v=20260517b">
|
||||
<link rel="stylesheet" href="assets/podbor.css?v=20260517b">
|
||||
<link rel="stylesheet" href="assets/styles.css?v=20260517c">
|
||||
<link rel="stylesheet" href="assets/podbor.css?v=20260517c">
|
||||
</head>
|
||||
<body>
|
||||
<!-- Splash — лого @wasrusgen1 + опилки (16) + вращающийся диск -->
|
||||
@ -38,13 +38,13 @@
|
||||
<script src="assets/icons.js?v=20260516h"></script>
|
||||
<script src="assets/podbor.config.js?v=20260516h"></script>
|
||||
<script src="assets/podbor.picts.js?v=20260516h"></script>
|
||||
<script src="assets/podbor.js?v=20260517b"></script>
|
||||
<script src="assets/clients.js?v=20260517b"></script>
|
||||
<script src="assets/podbor.js?v=20260517c"></script>
|
||||
<script src="assets/clients.js?v=20260517c"></script>
|
||||
<script src="assets/zamer-picts.js?v=20260516h"></script>
|
||||
<script src="assets/measurements.js?v=20260517b"></script>
|
||||
<script src="assets/request.js?v=20260517b"></script>
|
||||
<script src="assets/assembly.js?v=20260517b"></script>
|
||||
<script src="assets/measurements.js?v=20260517c"></script>
|
||||
<script src="assets/request.js?v=20260517c"></script>
|
||||
<script src="assets/assembly.js?v=20260517c"></script>
|
||||
<script src="assets/proposals.js?v=20260516h"></script>
|
||||
<script src="assets/app.js?v=20260517b"></script>
|
||||
<script src="assets/app.js?v=20260517c"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user