this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

header: populate links

Clément 8bbafcc1 bb836b51

+155 -15
+24 -11
app/src/components/Header.tsx
··· 1 + import type { Did } from '@atcute/lexicons'; 2 + import { Link } from '@tanstack/solid-router'; 1 3 import { Show } from 'solid-js'; 2 4 3 5 import { useAuth } from '~/contexts/auth'; ··· 5 7 import { Avatar } from './Avatar'; 6 8 import { SignInDialog } from './SignInDialog'; 7 9 8 - export default function Header() { 10 + export function Header() { 9 11 const auth = useAuth(); 10 12 11 13 return ( 12 - <> 13 - <header class="p-4 flex items-center shadow-mini h-18 justify-between border-b border-border"> 14 - <div></div> 15 - <div> 16 - <Show when={auth.did()} fallback={<SignInDialog />}> 17 - {(did) => <Avatar user={{ did: did() }} />} 18 - </Show> 19 - </div> 20 - </header> 21 - </> 14 + <header class="p-4 flex items-center shadow-mini h-18 justify-between border-b border-border"> 15 + <div class="ml-4 flex gap-8 items-center"> 16 + <Link to="/explore">explore</Link> 17 + <Show when={auth.did()}> 18 + <Link to="/friends">friends</Link> 19 + <Link to="/settings">settings</Link> 20 + </Show> 21 + </div> 22 + <Show when={auth.did()} fallback={<SignInDialog />}> 23 + {(did) => <HeaderLoggedIn did={did()} />} 24 + </Show> 25 + </header> 26 + ); 27 + } 28 + 29 + function HeaderLoggedIn(props: { did: Did }) { 30 + return ( 31 + <div class="flex flex-row gap-4 items-center"> 32 + <p>logged in as</p> 33 + <Avatar user={{ did: props.did }} /> 34 + </div> 22 35 ); 23 36 }
+94 -3
app/src/routeTree.gen.ts
··· 9 9 // Additionally, you should also exclude this file from your linter and/or formatter to prevent it from being checked or modified. 10 10 11 11 import { Route as rootRouteImport } from './routes/__root' 12 + import { Route as SettingsRouteImport } from './routes/settings' 13 + import { Route as LeaderboardRouteImport } from './routes/leaderboard' 14 + import { Route as FriendsRouteImport } from './routes/friends' 15 + import { Route as ExploreRouteImport } from './routes/explore' 12 16 import { Route as IndexRouteImport } from './routes/index' 13 17 import { Route as OauthCallbackRouteImport } from './routes/oauth/callback' 14 18 19 + const SettingsRoute = SettingsRouteImport.update({ 20 + id: '/settings', 21 + path: '/settings', 22 + getParentRoute: () => rootRouteImport, 23 + } as any) 24 + const LeaderboardRoute = LeaderboardRouteImport.update({ 25 + id: '/leaderboard', 26 + path: '/leaderboard', 27 + getParentRoute: () => rootRouteImport, 28 + } as any) 29 + const FriendsRoute = FriendsRouteImport.update({ 30 + id: '/friends', 31 + path: '/friends', 32 + getParentRoute: () => rootRouteImport, 33 + } as any) 34 + const ExploreRoute = ExploreRouteImport.update({ 35 + id: '/explore', 36 + path: '/explore', 37 + getParentRoute: () => rootRouteImport, 38 + } as any) 15 39 const IndexRoute = IndexRouteImport.update({ 16 40 id: '/', 17 41 path: '/', ··· 25 49 26 50 export interface FileRoutesByFullPath { 27 51 '/': typeof IndexRoute 52 + '/explore': typeof ExploreRoute 53 + '/friends': typeof FriendsRoute 54 + '/leaderboard': typeof LeaderboardRoute 55 + '/settings': typeof SettingsRoute 28 56 '/oauth/callback': typeof OauthCallbackRoute 29 57 } 30 58 export interface FileRoutesByTo { 31 59 '/': typeof IndexRoute 60 + '/explore': typeof ExploreRoute 61 + '/friends': typeof FriendsRoute 62 + '/leaderboard': typeof LeaderboardRoute 63 + '/settings': typeof SettingsRoute 32 64 '/oauth/callback': typeof OauthCallbackRoute 33 65 } 34 66 export interface FileRoutesById { 35 67 __root__: typeof rootRouteImport 36 68 '/': typeof IndexRoute 69 + '/explore': typeof ExploreRoute 70 + '/friends': typeof FriendsRoute 71 + '/leaderboard': typeof LeaderboardRoute 72 + '/settings': typeof SettingsRoute 37 73 '/oauth/callback': typeof OauthCallbackRoute 38 74 } 39 75 export interface FileRouteTypes { 40 76 fileRoutesByFullPath: FileRoutesByFullPath 41 - fullPaths: '/' | '/oauth/callback' 77 + fullPaths: 78 + | '/' 79 + | '/explore' 80 + | '/friends' 81 + | '/leaderboard' 82 + | '/settings' 83 + | '/oauth/callback' 42 84 fileRoutesByTo: FileRoutesByTo 43 - to: '/' | '/oauth/callback' 44 - id: '__root__' | '/' | '/oauth/callback' 85 + to: 86 + | '/' 87 + | '/explore' 88 + | '/friends' 89 + | '/leaderboard' 90 + | '/settings' 91 + | '/oauth/callback' 92 + id: 93 + | '__root__' 94 + | '/' 95 + | '/explore' 96 + | '/friends' 97 + | '/leaderboard' 98 + | '/settings' 99 + | '/oauth/callback' 45 100 fileRoutesById: FileRoutesById 46 101 } 47 102 export interface RootRouteChildren { 48 103 IndexRoute: typeof IndexRoute 104 + ExploreRoute: typeof ExploreRoute 105 + FriendsRoute: typeof FriendsRoute 106 + LeaderboardRoute: typeof LeaderboardRoute 107 + SettingsRoute: typeof SettingsRoute 49 108 OauthCallbackRoute: typeof OauthCallbackRoute 50 109 } 51 110 52 111 declare module '@tanstack/solid-router' { 53 112 interface FileRoutesByPath { 113 + '/settings': { 114 + id: '/settings' 115 + path: '/settings' 116 + fullPath: '/settings' 117 + preLoaderRoute: typeof SettingsRouteImport 118 + parentRoute: typeof rootRouteImport 119 + } 120 + '/leaderboard': { 121 + id: '/leaderboard' 122 + path: '/leaderboard' 123 + fullPath: '/leaderboard' 124 + preLoaderRoute: typeof LeaderboardRouteImport 125 + parentRoute: typeof rootRouteImport 126 + } 127 + '/friends': { 128 + id: '/friends' 129 + path: '/friends' 130 + fullPath: '/friends' 131 + preLoaderRoute: typeof FriendsRouteImport 132 + parentRoute: typeof rootRouteImport 133 + } 134 + '/explore': { 135 + id: '/explore' 136 + path: '/explore' 137 + fullPath: '/explore' 138 + preLoaderRoute: typeof ExploreRouteImport 139 + parentRoute: typeof rootRouteImport 140 + } 54 141 '/': { 55 142 id: '/' 56 143 path: '/' ··· 70 157 71 158 const rootRouteChildren: RootRouteChildren = { 72 159 IndexRoute: IndexRoute, 160 + ExploreRoute: ExploreRoute, 161 + FriendsRoute: FriendsRoute, 162 + LeaderboardRoute: LeaderboardRoute, 163 + SettingsRoute: SettingsRoute, 73 164 OauthCallbackRoute: OauthCallbackRoute, 74 165 } 75 166 export const routeTree = rootRouteImport
+1 -1
app/src/routes/__root.tsx
··· 12 12 import { AuthProvider } from '~/contexts/auth'; 13 13 import styleCss from '~/styles.css?url'; 14 14 15 - import Header from '@/Header'; 15 + import { Header } from '@/Header'; 16 16 17 17 export const Route = createRootRouteWithContext()({ 18 18 head: () => ({
+9
app/src/routes/explore.tsx
··· 1 + import { createFileRoute } from '@tanstack/solid-router'; 2 + 3 + export const Route = createFileRoute('/explore')({ 4 + component: RouteComponent, 5 + }); 6 + 7 + function RouteComponent() { 8 + return <div>explore the atmsphere here. not now tho</div>; 9 + }
+9
app/src/routes/friends.tsx
··· 1 + import { createFileRoute } from '@tanstack/solid-router'; 2 + 3 + export const Route = createFileRoute('/friends')({ 4 + component: RouteComponent, 5 + }); 6 + 7 + function RouteComponent() { 8 + return <div>starting to feel alone here</div>; 9 + }
+9
app/src/routes/leaderboard.tsx
··· 1 + import { createFileRoute } from '@tanstack/solid-router'; 2 + 3 + export const Route = createFileRoute('/leaderboard')({ 4 + component: RouteComponent, 5 + }); 6 + 7 + function RouteComponent() { 8 + return <div>no leaderboard either</div>; 9 + }
+9
app/src/routes/settings.tsx
··· 1 + import { createFileRoute } from '@tanstack/solid-router'; 2 + 3 + export const Route = createFileRoute('/settings')({ 4 + component: RouteComponent, 5 + }); 6 + 7 + function RouteComponent() { 8 + return <div>no settings yet</div>; 9 + }