Skip to content

Commit 40c32b6

Browse files
committed
fix: migrate to svelte 5
1 parent 52469cc commit 40c32b6

File tree

4 files changed

+36
-31
lines changed

4 files changed

+36
-31
lines changed

apps/web/src/routes/+page.svelte

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import { Input } from '@repo/ui/atom/input'
88
import { RecommendedTag } from '@repo/ui/atom/recommended-tag'
99
import { CourseCard } from '@repo/ui/molecule/course-card'
10+
import { Navbar } from '@repo/ui/organism/navbar'
1011
1112
let counter = $state(0)
1213
@@ -16,6 +17,7 @@
1617
</script>
1718

1819
<Navbar />
20+
<Navbar isLoggedIn name="testname testname" />
1921

2022
<h1>Web</h1>
2123

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,7 @@
1-
export { default as Navbar } from './navbar.svelte'
1+
import Root from './navbar.svelte'
2+
3+
export {
4+
//
5+
Root as Navbar,
6+
Root,
7+
}

packages/ui/src/components/organism/navbar/navbar.stories.svelte

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
<script context="module" lang="ts">
2-
import type { Meta } from '@storybook/svelte'
1+
<script module lang="ts">
2+
import { defineMeta } from '@storybook/addon-svelte-csf'
33
44
import { Navbar } from './index.js'
55
6-
export const meta = {
6+
const { Story } = defineMeta<Navbar>({
77
title: 'Organism/Navbar',
88
component: Navbar,
99
tags: ['autodocs'],
@@ -15,33 +15,25 @@
1515
control: 'text',
1616
},
1717
},
18-
} satisfies Meta<Navbar>
18+
})
1919
</script>
2020

21-
<script lang="ts">
22-
import { Story, Template } from '@storybook/addon-svelte-csf'
23-
</script>
24-
25-
<Template let:args>
26-
<Navbar {...args} />
27-
</Template>
28-
2921
<Story
3022
name="Desktop"
3123
parameters="{{ viewport: { defaultViewport: 'tablet' } }}"
3224
/>
3325

34-
<Story
35-
name="Mobile"
36-
parameters="{{ viewport: { defaultViewport: 'mobile2' } }}"
37-
/>
38-
3926
<Story
4027
name="Desktop & Logged In"
4128
parameters="{{ viewport: { defaultViewport: 'tablet' } }}"
4229
args="{{ isLoggedIn: true, name: 'testname testname' }}"
4330
/>
4431

32+
<Story
33+
name="Mobile"
34+
parameters="{{ viewport: { defaultViewport: 'mobile2' } }}"
35+
/>
36+
4537
<Story
4638
name="Mobile & Loggin In"
4739
parameters="{{ viewport: { defaultViewport: 'mobile2' } }}"

packages/ui/src/components/organism/navbar/navbar.svelte

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,28 @@
11
<script lang="ts">
22
import { Menu, Moon, Search, Settings2 } from 'lucide-svelte'
33
4-
import { cn } from '../../../utils'
5-
import { Button } from '../../button'
6-
import { Chip } from '../../chip'
7-
import { Collapsible } from '../../collapsible'
8-
import { IconButton } from '../../icon-button'
9-
import { Input } from '../../input'
4+
import { cn } from '@repo/utils'
5+
6+
import { Button } from '../../atom/button'
7+
import { Chip } from '../../atom/chip'
8+
import { Collapsible } from '../../atom/collapsible'
9+
import { IconButton } from '../../atom/icon-button'
10+
import { Input } from '../../atom/input'
1011
import { CUGetRegDarkFull as CUGetRegLogo } from '../../logo/cugetreg'
1112
import { GitHubMark } from '../../logo/vendor'
1213
13-
export let isLoggedIn: boolean = false
14-
export let name: string = undefined
14+
interface Props {
15+
isLoggedIn?: boolean
16+
name?: string
17+
}
18+
19+
let { isLoggedIn = false, name = undefined }: Props = $props()
1520
1621
let shortenedName = `${name?.split(' ')[0]} ${name?.split(' ')[1]?.charAt(0)}.`
1722
let navItems = ['ค้นหาวิชา', 'จัดตารางเรียน', 'เกี่ยวกับ']
18-
let selected = 'ค้นหาวิชา'
23+
let selected = $state('ค้นหาวิชา')
1924
let collapseItems = ['TEST1', 'TEST2', 'TEST3']
20-
let openSideBar = false
25+
let openSideBar = $state(false)
2126
2227
const toggleSideBar = () => {
2328
openSideBar = !openSideBar
@@ -33,14 +38,14 @@
3338
</a>
3439
<div class="relative hidden w-36 lg:w-full md:flex items-center">
3540
<Search
36-
class="absolute right-[18%] lg:right-4 my-auto"
41+
class="absolute right-[15%] my-auto"
3742
size="16"
3843
color="#898EA7"
3944
strokeWidth="3"
4045
/>
4146
<Input
4247
placeholder="ค้นหาวิชา"
43-
class="w-11/12 lg:w-52 bg-surface-container-lowest placeholder:text-neutral-400"
48+
class="w-11/12 xl:w-52 bg-surface-container-lowest placeholder:text-neutral-400"
4449
/>
4550
</div>
4651
</div>
@@ -51,7 +56,7 @@
5156
{#each navItems as item}
5257
<a
5358
class="{cn(
54-
'text-neutral-500 text-nowrap text-center cursor-pointer hover:text-neutral-800',
59+
'text-neutral-500 text-nowrap xl:w-24 text-center cursor-pointer hover:text-neutral-800',
5560
selected === item && 'text-primary',
5661
)}"
5762
on:click="{() => (selected = item)}"

0 commit comments

Comments
 (0)