Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added frontend/public/anthony.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added frontend/public/google-cloud-for-startups.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added frontend/public/maple-autumn-forest.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added frontend/public/mark.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added frontend/public/nvidia-inception.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added frontend/public/opensecret-logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 6 additions & 0 deletions frontend/src/components/Footer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,12 @@ export function Footer() {
>
Community
</a>
<Link
to="/about"
className="text-[hsl(var(--marketing-text-muted))] hover:text-foreground transition-colors"
>
About
</Link>
</div>

<div className="flex flex-col gap-4">
Expand Down
19 changes: 19 additions & 0 deletions frontend/src/components/icons/LinkedIn.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import * as React from "react";

export function LinkedIn(props: React.SVGProps<SVGSVGElement>) {
// Official LinkedIn [in] logo SVG, white fill, scalable
return (
<svg
viewBox="0 0 24 24"
fill="currentColor"
xmlns="http://www.w3.org/2000/svg"
width={24}
height={24}
aria-hidden="true"
{...props}
>
<title>LinkedIn</title>
<path d="M21,21H17V14.25C17,13.19 15.81,12.31 14.75,12.31C13.69,12.31 13,13.19 13,14.25V21H9V9H13V11C13.66,9.93 15.36,9.24 16.5,9.24C19,9.24 21,11.28 21,13.75V21M7,21H3V9H7V21M5,3A2,2 0 0,1 7,5A2,2 0 0,1 5,7A2,2 0 0,1 3,5A2,2 0 0,1 5,3Z" />
</svg>
);
}
20 changes: 20 additions & 0 deletions frontend/src/components/icons/X.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import * as React from "react";

export function X(props: React.SVGProps<SVGSVGElement>) {
// Official X (Twitter) logo SVG, scaled to 24x24 viewBox for consistent sizing
return (
<svg
viewBox="0 0 24 24"
fill="none"
xmlns="http://www.w3.org/2000/svg"
width={24}
height={24}
aria-hidden="true"
{...props}
>
<title>X</title>
{/* The path is scaled down from the original 1200x1227 to fit 24x24 */}
<path d="M14.283 10.16L22.018 0H20.1l-6.6 8.91L7.07 0H0l9.378 13.6L0 24h1.918l6.86-8.91L16.855 24H24l-9.71-13.84zm-2.418 4.01l-.77-1.09L2.88 1.56h3.27l6.04 8.6.77 1.09 7.09 10.01h-3.27l-6.09-8.6z" fill="currentColor"/>
</svg>
);
}
26 changes: 26 additions & 0 deletions frontend/src/routeTree.gen.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import { Route as PasswordResetImport } from './routes/password-reset'
import { Route as LoginImport } from './routes/login'
import { Route as DownloadsImport } from './routes/downloads'
import { Route as DesktopAuthImport } from './routes/desktop-auth'
import { Route as AboutImport } from './routes/about'
import { Route as AuthImport } from './routes/_auth'
import { Route as IndexImport } from './routes/index'
import { Route as VerifyCodeImport } from './routes/verify.$code'
Expand Down Expand Up @@ -91,6 +92,12 @@ const DesktopAuthRoute = DesktopAuthImport.update({
getParentRoute: () => rootRoute,
} as any)

const AboutRoute = AboutImport.update({
id: '/about',
path: '/about',
getParentRoute: () => rootRoute,
} as any)

const AuthRoute = AuthImport.update({
id: '/_auth',
getParentRoute: () => rootRoute,
Expand Down Expand Up @@ -150,6 +157,13 @@ declare module '@tanstack/react-router' {
preLoaderRoute: typeof AuthImport
parentRoute: typeof rootRoute
}
'/about': {
id: '/about'
path: '/about'
fullPath: '/about'
preLoaderRoute: typeof AboutImport
parentRoute: typeof rootRoute
}
'/desktop-auth': {
id: '/desktop-auth'
path: '/desktop-auth'
Expand Down Expand Up @@ -285,6 +299,7 @@ const PasswordResetRouteWithChildren = PasswordResetRoute._addFileChildren(
export interface FileRoutesByFullPath {
'/': typeof IndexRoute
'': typeof AuthRouteWithChildren
'/about': typeof AboutRoute
'/desktop-auth': typeof DesktopAuthRoute
'/downloads': typeof DownloadsRoute
'/login': typeof LoginRoute
Expand All @@ -305,6 +320,7 @@ export interface FileRoutesByFullPath {
export interface FileRoutesByTo {
'/': typeof IndexRoute
'': typeof AuthRouteWithChildren
'/about': typeof AboutRoute
'/desktop-auth': typeof DesktopAuthRoute
'/downloads': typeof DownloadsRoute
'/login': typeof LoginRoute
Expand All @@ -326,6 +342,7 @@ export interface FileRoutesById {
__root__: typeof rootRoute
'/': typeof IndexRoute
'/_auth': typeof AuthRouteWithChildren
'/about': typeof AboutRoute
'/desktop-auth': typeof DesktopAuthRoute
'/downloads': typeof DownloadsRoute
'/login': typeof LoginRoute
Expand All @@ -348,6 +365,7 @@ export interface FileRouteTypes {
fullPaths:
| '/'
| ''
| '/about'
| '/desktop-auth'
| '/downloads'
| '/login'
Expand All @@ -367,6 +385,7 @@ export interface FileRouteTypes {
to:
| '/'
| ''
| '/about'
| '/desktop-auth'
| '/downloads'
| '/login'
Expand All @@ -386,6 +405,7 @@ export interface FileRouteTypes {
| '__root__'
| '/'
| '/_auth'
| '/about'
| '/desktop-auth'
| '/downloads'
| '/login'
Expand All @@ -407,6 +427,7 @@ export interface FileRouteTypes {
export interface RootRouteChildren {
IndexRoute: typeof IndexRoute
AuthRoute: typeof AuthRouteWithChildren
AboutRoute: typeof AboutRoute
DesktopAuthRoute: typeof DesktopAuthRoute
DownloadsRoute: typeof DownloadsRoute
LoginRoute: typeof LoginRoute
Expand All @@ -425,6 +446,7 @@ export interface RootRouteChildren {
const rootRouteChildren: RootRouteChildren = {
IndexRoute: IndexRoute,
AuthRoute: AuthRouteWithChildren,
AboutRoute: AboutRoute,
DesktopAuthRoute: DesktopAuthRoute,
DownloadsRoute: DownloadsRoute,
LoginRoute: LoginRoute,
Expand Down Expand Up @@ -452,6 +474,7 @@ export const routeTree = rootRoute
"children": [
"/",
"/_auth",
"/about",
"/desktop-auth",
"/downloads",
"/login",
Expand All @@ -476,6 +499,9 @@ export const routeTree = rootRoute
"/_auth/chat/$chatId"
]
},
"/about": {
"filePath": "about.tsx"
},
"/desktop-auth": {
"filePath": "desktop-auth.tsx"
},
Expand Down
Loading
Loading