TreeMap
무료 오픈소스 디스크 사용량 시각화 도구로, 사각형 트리맵·중복 파일 탐색·디스크 가득 예측·정리 시 파일을 휴지통으로만 이동한다
작업을 선택하면 SeexAI가 신경망과 설정을 자동 선택, 하나의 구독으로 50여 개 신경망·시나리오 제공, 몇 분 안에 결과 도출
Выберите задачу — SeexAI сам подберёт нейросеть и настройки. 50+ нейросетей в одной подписке, готовые сценарии и результат за пару минут.
생산성TypeScript · CSSGitHub @amir25122007온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기landing for seex_ai
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Landing page for SeexAI: desktop (Main page v5) and mobile (Main page v5 – mobile v2).
Current design sources, decisions and section status: docs/PROJECT_CONTEXT.md.
1394:3268, 1440×8626).
https://www.figma.com/design/p7uvqo3CWJzF1SIuP49WnU/SpectrAI--Copy-?node-id=1394-3268docs/PROJECT_CONTEXT.md).src/ directory), React 19noUncheckedIndexedAccess)src/app/globals.css via @theme)eslint-config-next)| Font | Source | Usage |
|---|---|---|
| SF Pro Text → Inter | system font on Apple devices; Inter via next/font/google elsewhere | all body text (font-sans) |
| Archivo | next/font/google | logo, SEEX / SeexAI watermarks |
| Unbounded | next/font/google | accents ("AI для каждого", "1 200+") |
| Druk Text Wide Cyr Medium | local, licensed | section headings (font-druk) |
| Neuropol | local, licensed | hero title (font-neuropol) |
font-sans is -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif.
SF Pro files are never added to the repo or served (Apple licence): Apple devices use the
installed system font.
The licensed WOFF2 files live in public/fonts/ (DrukTextWideCyr-Medium.woff2,
Neuropol-Regular.woff2). The .otf originals are kept outside git in design-refs/fonts/
and must never be put into public/.
To replace a font: convert it outside the project (e.g. pip install fonttools brotli in a temp
venv, then fonttools ttLib.woff2 compress -o Neuropol-Regular.woff2 Neuropol-Regular.otf), drop
it into public/fonts/ under the same name and rebuild. src/lib/brandFonts.ts checks the files
at build time and emits @font-face (font-display: swap) plus a <link rel="preload"> for each
one; a missing file is simply skipped (fallback stack, no 404).
Positions of the Druk / Neuropol text are calibrated against design-refs/final/ with the real
fonts (report 15).
src/
app/ layout, page, global CSS + design tokens
components/
layout/ desktop header
ui/ primitives: Button, IconButton, SectionHeading, Marquee, LayoutImage, InlineSvg
landing/ desktop sections
mobile/ mobile layout (< 768) and its sections
icons/ SVG icons exported from Figma
data/ section content (shared by both layouts)
lib/ fonts, site config, helpers
public/
images/ exported Figma assets per section
fonts/ licensed local fonts
| Ширина | Что показывается | Где |
|---|---|---|
| < 768 | мобильная вёрстка, резиновая 360–767, эталон 390 (design-refs/mobile/) | src/components/mobile/ (MobileLanding и секции Mobile*) |
| 768–1439 | десктопный холст 1440, масштабированный по ширине окна (CSS zoom, коэффициент --desktop-zoom ставит инлайн-скрипт в layout.tsx) | src/components/landing/ |
| ≥ 1440 | десктоп как есть, не меняется ни на пиксель | src/components/landing/ |
src/app/globals.css (.desktop-root / .mobile-root) — без JS-брейкпоинтов, мигания и ошибок гидратации.src/data/); мобильные переносы и тексты — поля mobileText, mobileLabel,
mobileQuestion, mobileAnswer; блоки, которых нет на десктопе v5, — src/data/mobileArchive.ts, faqArchive.m- (#m-pricing); mobileHref() в src/lib/mobileAnchors.ts
переводит десктопные ссылки, MobileHashLinks при загрузке и на hashchange ведёт /#pricing
к #m-pricing (только < 768).ui/Marquee, свайп-карусели — mobile/MobileCarousel, аккордеон FAQ —
landing/FaqAccordion (с пропсами для мобильной копии), растр только одной вёрстки — ui/LayoutImage.viewport-fit=cover + env(safe-area-inset-*) (лента, header, меню, footer), поле композера
16 px (масштабировано до 13 px макета — без автоувеличения), области нажатия ≥ 44 px.Как проверять (production-сборка на :3123, playwright-core и Chromium из кеша Playwright):
pnpm build && pnpm start -p 3123
node qa-screenshots/mobile.mjs # заход 1: экраны, header, меню, Hero
node qa-screenshots/mobile-2.mjs # заход 2: сценарии, «От идеи…», How it works
node qa-screenshots/mobile-3.mjs # заход 3: Learning, аудитория, тарифы, баннер
node qa-screenshots/mobile-4.mjs # заход 4: FAQ, Final CTA, footer, якоря, ширины 360–1920
node qa-screenshots/guard.mjs qa-screenshots/v5 -new # десктоп 1440 / 1920
python3 qa-screenshots/diff.py qa-screenshots/v5/guard-1440.png qa-screenshots/v5/guard-1440-new.png # должно быть 0
Скриншоты — qa-screenshots/mobile/ (page-360/390/430.png и по секциям). Отчёты заходов — docs/reports/20–24.
pnpm install
pnpm dev # http://localhost:3000
pnpm lint
pnpm typecheck
pnpm build