From f1dd9786e586c650b389c0d97cde241eb30f8115 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9B=B7=E7=94=B5=E8=8A=BD=E8=A1=A3?= Date: Thu, 16 Apr 2026 23:01:11 -0400 Subject: [PATCH] onboarding: remove AsciiAnimation decoration and 'by ELYDORA' signatures (P1-17, P1-18); move hero-drift keyframes to global CSS (P3-60) --- .../company-onboarding/AsciiAnimation.tsx | 85 ------------------- .../company-onboarding/OnboardingHero.tsx | 35 -------- .../company-onboarding/WelcomeStep.tsx | 21 ----- src/renderer/styles.css | 12 +-- 4 files changed, 4 insertions(+), 149 deletions(-) delete mode 100644 src/renderer/components/company-onboarding/AsciiAnimation.tsx diff --git a/src/renderer/components/company-onboarding/AsciiAnimation.tsx b/src/renderer/components/company-onboarding/AsciiAnimation.tsx deleted file mode 100644 index 51b9041c..00000000 --- a/src/renderer/components/company-onboarding/AsciiAnimation.tsx +++ /dev/null @@ -1,85 +0,0 @@ -import { memo } from "react"; - -/** - * Scrolling ASCII agent-activity backdrop for the onboarding hero panel. - * Pure CSS animation (translateY on compositor thread) — no JS ticks. - * Content is doubled for seamless looping. - */ - -const LINES = [ - "", - " ╭──────────╮", - " │ CEO │", - " ╰────┬─────╯", - " ┌────┴─────┐", - " ╭──┴──╮ ╭──┴──╮", - " │ CTO │ │ CMO │", - " ╰──┬──╯ ╰──┬──╯", - " ╭──┴──╮ ╭──┴──╮", - " │ Eng │ │ Mkt │", - " ╰─────╯ ╰─────╯", - "", - " $ deploy --agents 12", - " ████████████████████ 100%", - " [OK] all agents online", - "", - " CEO │ analyzing requirements", - " CEO │ identifying deliverables", - " CEO │ delegating to leads", - "", - " CTO │ reviewing architecture", - " CTO │ → Dev.01: auth module", - " CTO │ → Dev.02: API layer", - " CTO │ → QA: test strategy", - "", - " CMO │ go-to-market strategy", - " CMO │ → Mkt.01: launch copy", - " CMO │ → Mkt.02: social plan", - "", - " ┌─ SPRINT 1 ────────────────┐", - " │ tasks ████████░░ 80% │", - " │ agents 12 active │", - " │ tests 128 passing │", - " └──────────────────────────┘", - "", - " Dev.01 │ scaffolding auth", - " Dev.02 │ REST endpoints", - " Design │ component library", - " QA │ integration tests", - " Mkt.01 │ blog post drafted", - "", - " CEO │ sprint review: ✓", - " CTO │ code review: merged", - " Dev.01 │ PR #12 → main", - " QA │ all tests green", - " CMO │ brief approved", - "", - " [INFO] Sprint 1 complete", - " [INFO] Advancing to Sprint 2", - "", -]; - -const BLOCK = LINES.join("\n"); - -export const AsciiAnimation = memo(function AsciiAnimation() { - return ( -
- {/* Fade masks */} -
-
- - {/* Scrolling track — doubled for seamless loop */} -
- {BLOCK} - {"\n"} - {BLOCK} -
-
- ); -}); diff --git a/src/renderer/components/company-onboarding/OnboardingHero.tsx b/src/renderer/components/company-onboarding/OnboardingHero.tsx index 08e53a9e..61f31515 100644 --- a/src/renderer/components/company-onboarding/OnboardingHero.tsx +++ b/src/renderer/components/company-onboarding/OnboardingHero.tsx @@ -9,7 +9,6 @@ import { Target, } from "@phosphor-icons/react"; import type { AppLocale } from "@shared/locale"; -import { AsciiAnimation } from "./AsciiAnimation"; export type OnboardingStep = | "welcome" @@ -84,8 +83,6 @@ export function OnboardingHero({ }} /> - - - {/* ELYDORA signature */} - -
- - by ELYDORA - - - -
); } diff --git a/src/renderer/components/company-onboarding/WelcomeStep.tsx b/src/renderer/components/company-onboarding/WelcomeStep.tsx index aa9d4658..6755d8ac 100644 --- a/src/renderer/components/company-onboarding/WelcomeStep.tsx +++ b/src/renderer/components/company-onboarding/WelcomeStep.tsx @@ -2,7 +2,6 @@ import { motion } from "framer-motion"; import { GlobeSimple, Rocket } from "@phosphor-icons/react"; import type { AppLocale } from "@shared/locale"; import { APP_LOCALES, LOCALE_LABELS } from "@shared/locale"; -import { AsciiAnimation } from "./AsciiAnimation"; import { ActionButton } from "../ui"; interface WelcomeStepProps { @@ -15,8 +14,6 @@ interface WelcomeStepProps { export function WelcomeStep({ onContinue, currentLocale, onLocaleChange, t }: WelcomeStepProps) { return (
- -
- {/* ELYDORA signature */} -
-
- - by ELYDORA - -
); diff --git a/src/renderer/styles.css b/src/renderer/styles.css index df37ff22..67876f46 100644 --- a/src/renderer/styles.css +++ b/src/renderer/styles.css @@ -792,14 +792,10 @@ a.paperclip-project-mention-chip { -webkit-app-region: no-drag; } -/* ASCII animation */ -@keyframes ascii-scroll-up { - 0% { transform: translateY(0); } - 100% { transform: translateY(-50%); } -} - -.ascii-scroll-track { - animation: ascii-scroll-up 80s linear infinite; +/* Onboarding hero ambient drift */ +@keyframes hero-drift { + 0% { transform: translate(0, 0) scale(1); } + 100% { transform: translate(-4%, 3%) scale(1.05); } } @media (prefers-reduced-motion: reduce) {