Skip to content

Commit 418552a

Browse files
committed
routing fixes
1 parent 2400873 commit 418552a

File tree

4 files changed

+20
-11
lines changed

4 files changed

+20
-11
lines changed

frontend/src/components/ai/ai-icon.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { createComponent, Shade } from '@furystack/shades'
22
import { AppBarLink } from '@furystack/shades-common-components'
33
import { SessionService } from '../../services/session.js'
4+
import { aiPageRoute } from '../routes/ai-routes.js'
45

56
export const AiIcon = Shade({
67
shadowDomName: 'shade-app-ai-icon',
@@ -13,7 +14,7 @@ export const AiIcon = Shade({
1314
}
1415

1516
return (
16-
<AppBarLink title="Ai" href="/ai">
17+
<AppBarLink title="Ai" href={aiPageRoute.url}>
1718
{sessionState === 'authenticated' ? '🤖' : '🔒 Login to Ai'}
1819
</AppBarLink>
1920
)

frontend/src/components/chat/chat-icon.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { createComponent, Shade } from '@furystack/shades'
22
import { AppBarLink } from '@furystack/shades-common-components'
33
import { SessionService } from '../../services/session.js'
4+
import { chatPageRoute } from '../routes/chat-routes.js'
45

56
export const ChatIcon = Shade({
67
shadowDomName: 'shade-app-chat-icon',
@@ -13,7 +14,7 @@ export const ChatIcon = Shade({
1314
}
1415

1516
return (
16-
<AppBarLink title="Chat" href="/chat">
17+
<AppBarLink title="Chat" href={chatPageRoute.url}>
1718
{sessionState === 'authenticated' ? '💬' : '🔒 Login to chat'}
1819
</AppBarLink>
1920
)

frontend/src/components/dashboard/app-shortcut-widget.tsx

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,25 @@
11
import { Shade, createComponent } from '@furystack/shades'
22
import type { AppShortcutWidget as AppShortcutWidgetData } from 'common'
3+
import { defaultDashboardRoute } from '../routes/dashboard-routes.js'
4+
import { fileBrowserRoute } from '../routes/file-browser-routes.js'
5+
import { iotDeviceListRoute } from '../routes/iot-routes.js'
6+
import { movieListRoute, seriesListRoute } from '../routes/movie-routes.js'
37
import { IconUrlWidget } from './icon-url-widget.js'
48
export const AppShortcutWidget = Shade<AppShortcutWidgetData>({
59
shadowDomName: 'pi-rat-app-shortcut-widget',
610
render: ({ props }) => {
711
const { appName, ...rest } = props
812
switch (props.appName) {
913
case 'home':
10-
return <IconUrlWidget {...rest} name="Home" url="/" icon={<>🐀</>} />
14+
return <IconUrlWidget {...rest} name="Home" url={defaultDashboardRoute.url} icon={<>🐀</>} />
1115
case 'browser':
12-
return <IconUrlWidget {...rest} name="File Browser" url="/file-browser" icon={<>📂</>} />
16+
return <IconUrlWidget {...rest} name="File Browser" url={fileBrowserRoute.url} icon={<>📂</>} />
1317
case 'movies':
14-
return <IconUrlWidget {...rest} name="Movies" url="/movies" icon={<>🎥</>} />
18+
return <IconUrlWidget {...rest} name="Movies" url={movieListRoute.url} icon={<>🎥</>} />
1519
case 'series':
16-
return <IconUrlWidget {...rest} name="Series" url="/series" icon={<>📺</>} />
20+
return <IconUrlWidget {...rest} name="Series" url={seriesListRoute.url} icon={<>📺</>} />
1721
case 'iot':
18-
return <IconUrlWidget {...rest} name="IOT Devices" url="/iot/devices" icon={<>📡</>} />
22+
return <IconUrlWidget {...rest} name="IOT Devices" url={iotDeviceListRoute.url} icon={<>📡</>} />
1923
default:
2024
return <IconUrlWidget {...rest} name={appName} url={`/${appName}`} icon={<>🚫</>} />
2125
}

frontend/src/components/header.tsx

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ import { AiIcon } from './ai/ai-icon.js'
66
import { ChatIcon } from './chat/chat-icon.js'
77
import { PiRatCommandPalette } from './command-palette/index.js'
88
import { GithubLogo } from './github-logo/index.js'
9+
import { defaultDashboardRoute } from './routes/dashboard-routes.js'
10+
import { fileBrowserRoute } from './routes/file-browser-routes.js'
11+
import { movieListRoute, seriesListRoute } from './routes/movie-routes.js'
912
import { ThemeSwitch } from './theme-switch/index.js'
1013

1114
export interface HeaderProps {
@@ -22,7 +25,7 @@ const AdminLinks = Shade({
2225

2326
return isAdmin ? (
2427
<div style={{ display: 'flex', placeContent: 'center', gap: '8px' }}>
25-
<AppBarLink href="/file-browser" title="Drives">
28+
<AppBarLink href={fileBrowserRoute.url} title="Drives">
2629
📂 Files
2730
</AppBarLink>
2831
</div>
@@ -39,18 +42,18 @@ export const Header = Shade<HeaderProps>({
3942

4043
return (
4144
<AppBar id="header">
42-
<AppBarLink title={props.title} href="/">
45+
<AppBarLink title={props.title} href={defaultDashboardRoute.url}>
4346
{props.title}
4447
</AppBarLink>
4548
{sessionState === 'authenticated' ? (
4649
<>
4750
{currentUser?.roles?.includes('admin') ? <AdminLinks /> : null}
4851

49-
<AppBarLink title="Movies" href="/movies">
52+
<AppBarLink title="Movies" href={movieListRoute.url}>
5053
🎥 Movies
5154
</AppBarLink>
5255

53-
<AppBarLink title="Movies" href="/series">
56+
<AppBarLink title="Series" href={seriesListRoute.url}>
5457
📺 Series
5558
</AppBarLink>
5659
</>

0 commit comments

Comments
 (0)