diff --git a/index.html b/index.html index 0733bed..1d646ad 100644 --- a/index.html +++ b/index.html @@ -5,6 +5,7 @@ + DashboardRoute, } as any) +const DashboardDeviceRoute = DashboardDeviceImport.update({ + path: '/device', + getParentRoute: () => DashboardRoute, +} as any) + const DashboardAvailabilitiesRoute = DashboardAvailabilitiesImport.update({ path: '/availabilities', getParentRoute: () => DashboardRoute, @@ -118,6 +124,13 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof DashboardAvailabilitiesImport parentRoute: typeof DashboardImport } + '/dashboard/device': { + id: '/dashboard/device' + path: '/device' + fullPath: '/dashboard/device' + preLoaderRoute: typeof DashboardDeviceImport + parentRoute: typeof DashboardImport + } '/dashboard/disclaimer': { id: '/dashboard/disclaimer' path: '/disclaimer' @@ -182,6 +195,7 @@ declare module '@tanstack/react-router' { interface DashboardRouteChildren { DashboardAboutRoute: typeof DashboardAboutRoute DashboardAvailabilitiesRoute: typeof DashboardAvailabilitiesRoute + DashboardDeviceRoute: typeof DashboardDeviceRoute DashboardDisclaimerRoute: typeof DashboardDisclaimerRoute DashboardFavoritesRoute: typeof DashboardFavoritesRoute DashboardHelpRoute: typeof DashboardHelpRoute @@ -195,6 +209,7 @@ interface DashboardRouteChildren { const DashboardRouteChildren: DashboardRouteChildren = { DashboardAboutRoute: DashboardAboutRoute, DashboardAvailabilitiesRoute: DashboardAvailabilitiesRoute, + DashboardDeviceRoute: DashboardDeviceRoute, DashboardDisclaimerRoute: DashboardDisclaimerRoute, DashboardFavoritesRoute: DashboardFavoritesRoute, DashboardHelpRoute: DashboardHelpRoute, @@ -214,6 +229,7 @@ export interface FileRoutesByFullPath { '/dashboard': typeof DashboardRouteWithChildren '/dashboard/about': typeof DashboardAboutRoute '/dashboard/availabilities': typeof DashboardAvailabilitiesRoute + '/dashboard/device': typeof DashboardDeviceRoute '/dashboard/disclaimer': typeof DashboardDisclaimerRoute '/dashboard/favorites': typeof DashboardFavoritesRoute '/dashboard/help': typeof DashboardHelpRoute @@ -228,6 +244,7 @@ export interface FileRoutesByTo { '/': typeof IndexRoute '/dashboard/about': typeof DashboardAboutRoute '/dashboard/availabilities': typeof DashboardAvailabilitiesRoute + '/dashboard/device': typeof DashboardDeviceRoute '/dashboard/disclaimer': typeof DashboardDisclaimerRoute '/dashboard/favorites': typeof DashboardFavoritesRoute '/dashboard/help': typeof DashboardHelpRoute @@ -244,6 +261,7 @@ export interface FileRoutesById { '/dashboard': typeof DashboardRouteWithChildren '/dashboard/about': typeof DashboardAboutRoute '/dashboard/availabilities': typeof DashboardAvailabilitiesRoute + '/dashboard/device': typeof DashboardDeviceRoute '/dashboard/disclaimer': typeof DashboardDisclaimerRoute '/dashboard/favorites': typeof DashboardFavoritesRoute '/dashboard/help': typeof DashboardHelpRoute @@ -261,6 +279,7 @@ export interface FileRouteTypes { | '/dashboard' | '/dashboard/about' | '/dashboard/availabilities' + | '/dashboard/device' | '/dashboard/disclaimer' | '/dashboard/favorites' | '/dashboard/help' @@ -274,6 +293,7 @@ export interface FileRouteTypes { | '/' | '/dashboard/about' | '/dashboard/availabilities' + | '/dashboard/device' | '/dashboard/disclaimer' | '/dashboard/favorites' | '/dashboard/help' @@ -288,6 +308,7 @@ export interface FileRouteTypes { | '/dashboard' | '/dashboard/about' | '/dashboard/availabilities' + | '/dashboard/device' | '/dashboard/disclaimer' | '/dashboard/favorites' | '/dashboard/help' @@ -333,6 +354,7 @@ export const routeTree = rootRoute "children": [ "/dashboard/about", "/dashboard/availabilities", + "/dashboard/device", "/dashboard/disclaimer", "/dashboard/favorites", "/dashboard/help", @@ -351,6 +373,10 @@ export const routeTree = rootRoute "filePath": "dashboard/availabilities.tsx", "parent": "/dashboard" }, + "/dashboard/device": { + "filePath": "dashboard/device.tsx", + "parent": "/dashboard" + }, "/dashboard/disclaimer": { "filePath": "dashboard/disclaimer.tsx", "parent": "/dashboard" diff --git a/src/routes/dashboard.tsx b/src/routes/dashboard.tsx index fea649d..026f1fa 100644 --- a/src/routes/dashboard.tsx +++ b/src/routes/dashboard.tsx @@ -106,6 +106,15 @@ const Layout = () => { ), }, + { + type: "menu-item", + Component: (p: MenuItemComponentProps) => ( + + + Device + + ), + }, ] satisfies MenuItem[]; return ( diff --git a/src/routes/dashboard/device.tsx b/src/routes/dashboard/device.tsx new file mode 100644 index 0000000..8e4f4a1 --- /dev/null +++ b/src/routes/dashboard/device.tsx @@ -0,0 +1,41 @@ +import { ErrorBoundary } from "@sentry/react"; +import { createFileRoute } from "@tanstack/react-router"; +import { ErrorPlaceholder } from "../../components/ErrorPlaceholder/ErrorPlaceholder"; +import { useEffect } from "react"; + +const Device = () => { + useEffect(() => { + const request = new XMLHttpRequest(); + request.onreadystatechange = function () { + if (request.readyState === XMLHttpRequest.DONE) { + // + // The following headers may often be similar + // to those of the original page request... + // + console.info(request.getAllResponseHeaders()); + } + }; + + // + // Re-request the same page (document.location) + // We hope to get the same or similar response headers to those which + // came with the current page, but we have no guarantee. + // Since we are only after the headers, a HEAD request may be sufficient. + // + request.open("HEAD", document.location, true); + request.send(null); + }, []); + + return ( + ( + + )}> + couc + + ); +}; + +export const Route = createFileRoute("/dashboard/device")({ + component: Device, +});