diff --git a/apps/website/src/assets/hero/dashboard-mockup.webp b/apps/website/src/assets/hero/dashboard-mockup.webp new file mode 100644 index 000000000..40e574e98 Binary files /dev/null and b/apps/website/src/assets/hero/dashboard-mockup.webp differ diff --git a/apps/website/src/assets/hero/editor-mockup.webp b/apps/website/src/assets/hero/editor-mockup.webp deleted file mode 100644 index fb9874449..000000000 Binary files a/apps/website/src/assets/hero/editor-mockup.webp and /dev/null differ diff --git a/apps/website/src/assets/hero/site-mockup.webp b/apps/website/src/assets/hero/site-mockup.webp index 10dbad0b1..c279a1ede 100644 Binary files a/apps/website/src/assets/hero/site-mockup.webp and b/apps/website/src/assets/hero/site-mockup.webp differ diff --git a/apps/website/src/assets/hero/widget-mockup.webp b/apps/website/src/assets/hero/widget-mockup.webp new file mode 100644 index 000000000..c7e930583 Binary files /dev/null and b/apps/website/src/assets/hero/widget-mockup.webp differ diff --git a/apps/website/src/routes/+page.svelte b/apps/website/src/routes/+page.svelte index ff3802172..26456ac00 100644 --- a/apps/website/src/routes/+page.svelte +++ b/apps/website/src/routes/+page.svelte @@ -1,7 +1,5 @@ - - -
+
- + diff --git a/apps/website/src/routes/Header.svelte b/apps/website/src/routes/Header.svelte index b5c9a2d11..c66a845ea 100644 --- a/apps/website/src/routes/Header.svelte +++ b/apps/website/src/routes/Header.svelte @@ -52,7 +52,7 @@ } }); - const headerBgColor = $derived(($headerTheme === 'light' ? 'white' : 'neutral.100') as ColorToken); + const headerBgColor = $derived(($headerTheme === 'light' ? 'white/90' : 'neutral.100') as ColorToken); beforeNavigate(() => { $isMenuOpen = false; @@ -75,18 +75,24 @@ }, zIndex: '100', backgroundColor: scrollY > 100 ? headerBgColor : 'transparent', + backdropFilter: 'auto', + backdropBlur: scrollY > 100 ? '[20px]' : '[0px]', transition: '[all 500ms cubic-bezier(0.3, 0, 0, 1)]', })} >
100 && { + borderBottom: + $headerTheme === 'dark' ? '[1px solid rgba(63, 63, 70, 0.40)]' : '[1px solid rgba(228, 228, 231, 0.40)]', + }, + )} > import { css, cx } from '@readable/styled-system/css'; - import { flex } from '@readable/styled-system/patterns'; - import { Icon } from '@readable/ui/components'; + import { center, flex } from '@readable/styled-system/patterns'; + import { Button, Icon } from '@readable/ui/components'; import { onMount } from 'svelte'; - import { fly } from 'svelte/transition'; import ChevronRightIcon from '~icons/lucide/chevron-right'; - import EditorMockupImage from '$assets/hero/editor-mockup.webp'; + import DashboardMockupImage from '$assets/hero/dashboard-mockup.webp'; import SiteMockupImage from '$assets/hero/site-mockup.webp'; + import WidgetMockupImage from '$assets/hero/widget-mockup.webp'; import { env } from '$env/dynamic/public'; import { withUtm } from '$lib/utm'; - import SegmentButtons from './SegmentButtons.svelte'; + import Tabs from './Tabs.svelte'; - type Props = { - section: HTMLElement | undefined; - }; - - let { section = $bindable() }: Props = $props(); - - const keywords = ['도움센터', '유저 가이드', '업데이트 노트', '개발자 문서']; - - let i = $state(0); - const idx = $derived(i % keywords.length); - - let selectedHeroMockup = $state('site'); + let selectedHeroMockup = $state('dashboard'); let visible = $state(false); - let interval: ReturnType; - onMount(() => { visible = true; - - setTimeout(() => { - i += 1; - interval = setInterval(() => { - i += 1; - }, 2000); - }, 1000); // 1초 뒤에 시작 - - return () => clearInterval(interval); });
@@ -67,119 +38,83 @@ 'animate', visible && 'loaded', css({ - fontSize: { base: '32px', md: '[48px]', lg: '[64px]' }, - fontWeight: '[900]', + fontSize: { base: '[34px]', md: '[40px]', lg: '[44px]' }, + fontWeight: '[800]', textAlign: 'center', marginTop: 'auto', lineHeight: '[1.3]', }), )} > -
이용자를 붙잡을
-
-   - {#key i} -
-
- {keywords[idx]} -
-
- {/key} +
+ 도움센터,
+ 드디어 읽히다.
-
만들기
-
-
-
- (selectedHeroMockup = value)} - /> -
+
+ (selectedHeroMockup = value)} + />
-
+
+ - +
diff --git a/apps/website/src/routes/Tabs.svelte b/apps/website/src/routes/Tabs.svelte new file mode 100644 index 000000000..f2d31cf66 --- /dev/null +++ b/apps/website/src/routes/Tabs.svelte @@ -0,0 +1,68 @@ + + +
+ + + {#each items as item (item.value)} + + {/each} +