Stage 6 (part 2): rest of the client app in the new style, promo code in the order form
Profile with club card, plum theme for buttons/selections and the sticky total, move screens with the full-width hero, services/docs headers, empty docs fix. Promo code field: applies to the quote, shows why a code is rejected, says when the membership discount is bigger. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
ff527ad6d2
commit
bbb25d3d0d
12 files changed
+371
-85
No files matched your search
@@ -2,7 +2,7 @@ import { useQuery } from '@tanstack/react-query';
|
||||
import { CATEGORY_ICON, Center, Icon, Spinner, type CategoryCode } from '@barev/ui';
|
||||
import { useI18n, useLocation, useTRPC } from '@barev/web';
|
||||
import { useEffect } from 'react';
|
||||
import { levelDiscount, PageHead, toneClass, type Level } from '../lib.tsx';
|
||||
import { levelDiscount, toneClass, type Level } from '../lib.tsx';
|
||||
|
||||
/** Каталог: направления со скидкой по уровню клиента; услуги без онлайн-записи — заявка «перезвоните» */
|
||||
export function Services() {
|
||||
@@ -25,7 +25,9 @@ export function Services() {
|
||||
const level = catalog.data.level as Level;
|
||||
return (
|
||||
<main className="app">
|
||||
<PageHead title={t('client.services.title')} back={false} />
|
||||
<header className="screen-head">
|
||||
<h1 className="screen-head__title">{t('client.services.title')}</h1>
|
||||
</header>
|
||||
{catalog.data.categories
|
||||
.filter((c) => c.code !== 'PERKS')
|
||||
.map((c) => (
|
||||
|
||||
Reference in new issue
Block a user