added extension handling

This commit is contained in:
Myzel394 2022-11-20 13:23:13 +01:00
parent 89dae6ca0e
commit f9f1a1708c
5 changed files with 28 additions and 5 deletions

View File

@ -65,13 +65,13 @@ const router = createBrowserRouter([
{ {
path: "/", path: "/",
element: <AuthenticatedRoute />, element: <AuthenticatedRoute />,
loader: getServerSettings,
children: [ children: [
{ {
path: "/", path: "/",
element: <OverviewRoute />, element: <OverviewRoute />,
}, },
{ {
loader: getServerSettings,
path: "/aliases", path: "/aliases",
element: <AliasesRoute />, element: <AliasesRoute />,
}, },
@ -88,7 +88,6 @@ const router = createBrowserRouter([
element: <ReportsRoute />, element: <ReportsRoute />,
}, },
{ {
loader: getServerSettings,
path: "/reports/:id", path: "/reports/:id",
element: <ReportDetailRoute />, element: <ReportDetailRoute />,
}, },

View File

@ -0,0 +1,18 @@
import {ReactElement, useContext} from "react"
import AuthContext from "~/AuthContext/AuthContext"
export default function ExtensionSignalHandler(): ReactElement {
const {user} = useContext(AuthContext)
const appDomain = import.meta.env.VITE_SERVER_BASE_URL
const instanceData = {
appDomain,
isAuthenticated: Boolean(user),
}
return (
<script id="_#kleckrelay-instance-data" type="application/json">
{JSON.stringify(instanceData)}
</script>
)
}

View File

@ -42,5 +42,6 @@ export * from "./ExpandableListItem"
export {default as ExpandableListItem} from "./ExpandableListItem" export {default as ExpandableListItem} from "./ExpandableListItem"
export * from "./ExternalLinkIndication" export * from "./ExternalLinkIndication"
export {default as ExternalLinkIndication} from "./ExternalLinkIndication" export {default as ExternalLinkIndication} from "./ExternalLinkIndication"
export {default as ExtensionSignalHandler} from "./ExtensionalSignalHandler"
export * as SimplePageBuilder from "./simple-page-builder" export * as SimplePageBuilder from "./simple-page-builder"

View File

@ -1,12 +1,16 @@
import {Outlet} from "react-router-dom" import {Outlet} from "react-router-dom"
import React, {ReactElement} from "react" import React, {ReactElement} from "react"
import {ExtensionSignalHandler} from "~/components"
import AppLoadingScreen from "~/AppLoadingScreen/AppLoadingScreen" import AppLoadingScreen from "~/AppLoadingScreen/AppLoadingScreen"
export default function RootRoute(): ReactElement { export default function RootRoute(): ReactElement {
return ( return (
<AppLoadingScreen> <>
<Outlet /> <AppLoadingScreen>
</AppLoadingScreen> <Outlet />
</AppLoadingScreen>
<ExtensionSignalHandler />
</>
) )
} }

View File

@ -64,6 +64,7 @@ export interface AuthenticationDetails extends SimpleDetailResponse {
export interface ServerSettings { export interface ServerSettings {
mailDomain: string mailDomain: string
appDomain: string
randomEmailIdMinLength: number randomEmailIdMinLength: number
RandomEmailIdChars: string RandomEmailIdChars: string
imageProxyEnabled: boolean imageProxyEnabled: boolean