Skip to content

Commit

Permalink
apply title and favicon whitelabeling to remaining pages (#862)
Browse files Browse the repository at this point in the history
  • Loading branch information
maxgurewitz committed May 16, 2024
1 parent 4b4317c commit 60171b6
Show file tree
Hide file tree
Showing 6 changed files with 53 additions and 42 deletions.
28 changes: 2 additions & 26 deletions packages/dashboard/src/components/dashboardContent.tsx
Original file line number Diff line number Diff line change
@@ -1,38 +1,14 @@
import { schemaValidateWithErr } from "isomorphic-lib/src/resultHandling/schemaValidation";
import { WhiteLabelFeatureConfig } from "isomorphic-lib/src/types";
import Head from "next/head";
import { useMemo } from "react";

import { useAppStorePick } from "../lib/appStore";
import DashboardHead from "./dashboardHead";
import MainLayout from "./mainLayout";

export default function DashboardContent({
children,
}: {
children?: React.ReactNode;
}) {
const { features } = useAppStorePick(["features"]);
const whiteLabelConfig = useMemo(() => {
const config = features.WhiteLabel;
if (!config) {
return null;
}
return schemaValidateWithErr(config, WhiteLabelFeatureConfig).unwrapOr(
null,
);
}, [features]);

return (
<>
<Head>
<title>
{whiteLabelConfig?.title ? whiteLabelConfig.title : "Dittofeed"}
</title>
{whiteLabelConfig?.favicon ? (
<link rel="icon" href={whiteLabelConfig.favicon} />
) : null}
<meta name="description" content="Open Source Customer Engagement" />
</Head>
<DashboardHead />
<MainLayout>
<>{children}</>
</MainLayout>
Expand Down
31 changes: 31 additions & 0 deletions packages/dashboard/src/components/dashboardHead.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
import { schemaValidateWithErr } from "isomorphic-lib/src/resultHandling/schemaValidation";
import { WhiteLabelFeatureConfig } from "isomorphic-lib/src/types";
import Head from "next/head";
import { useMemo } from "react";

import { useAppStorePick } from "../lib/appStore";

export default function DashboardHead() {
const { features } = useAppStorePick(["features"]);
const whiteLabelConfig = useMemo(() => {
const config = features.WhiteLabel;
if (!config) {
return null;
}
return schemaValidateWithErr(config, WhiteLabelFeatureConfig).unwrapOr(
null,
);
}, [features]);

return (
<Head>
<title>
{whiteLabelConfig?.title ? whiteLabelConfig.title : "Dittofeed"}
</title>
{whiteLabelConfig?.favicon ? (
<link rel="icon" href={whiteLabelConfig.favicon} />
) : null}
<meta name="description" content="Open Source Customer Engagement" />
</Head>
);
}
6 changes: 3 additions & 3 deletions packages/dashboard/src/pages/journeys/index.page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ import Link from "next/link";
import { useState } from "react";
import { v4 as uuid } from "uuid";

import DashboardContent from "../../components/dashboardContent";
import JourneysTable from "../../components/journeysTable";
import MainLayout from "../../components/mainLayout";
import { addInitialStateToProps } from "../../lib/addInitialStateToProps";
import { requestContext } from "../../lib/requestContext";
import { PreloadedState, PropsWithInitialState } from "../../lib/types";
Expand Down Expand Up @@ -72,9 +72,9 @@ function JourneyListContents() {

function Journeys() {
return (
<MainLayout>
<DashboardContent>
<JourneyListContents />
</MainLayout>
</DashboardContent>
);
}
export default Journeys;
18 changes: 11 additions & 7 deletions packages/dashboard/src/pages/settings.page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ import { create } from "zustand";
import { immer } from "zustand/middleware/immer";

import AdminApiKeyTable from "../components/adminApiKeyTable";
import DashboardHead from "../components/dashboardHead";
import ExternalLink from "../components/externalLink";
import Fields from "../components/form/Fields";
import {
Expand Down Expand Up @@ -397,13 +398,16 @@ function SettingsLayout(
props: Omit<React.ComponentProps<typeof Layout>, "items">,
) {
return (
<Layout
pageTitle="Settings"
backLink="/"
navigationRenderer="minimal"
items={menuItems}
{...props}
/>
<>
<DashboardHead />
<Layout
pageTitle="Settings"
backLink="/"
navigationRenderer="minimal"
items={menuItems}
{...props}
/>
</>
);
}

Expand Down
6 changes: 3 additions & 3 deletions packages/dashboard/src/pages/users.page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import { GetServerSideProps } from "next";
import { useRouter } from "next/router";
import React, { useMemo } from "react";

import MainLayout from "../components/mainLayout";
import DashboardContent from "../components/dashboardContent";
import { UsersFilter } from "../components/usersFilter";
import UsersTable, { OnPaginationChangeProps } from "../components/usersTable";
import { addInitialStateToProps } from "../lib/addInitialStateToProps";
Expand Down Expand Up @@ -74,7 +74,7 @@ export default function SegmentUsers() {
};

return (
<MainLayout>
<DashboardContent>
<Stack
spacing={1}
sx={{
Expand All @@ -94,6 +94,6 @@ export default function SegmentUsers() {
onPaginationChange={onUsersTablePaginate}
/>
</Stack>
</MainLayout>
</DashboardContent>
);
}
6 changes: 3 additions & 3 deletions packages/dashboard/src/pages/users/[id].page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,10 @@ import { GetServerSideProps, NextPage } from "next";
import { useRouter } from "next/router";

import DeleteDialog from "../../components/confirmDeleteDialog";
import DashboardContent from "../../components/dashboardContent";
import { DeliveriesTable } from "../../components/deliveriesTable";
import { EventsTable } from "../../components/eventsTable";
import { SubtleHeader } from "../../components/headers";
import MainLayout from "../../components/mainLayout";
import { ResourceListItemButton } from "../../components/resourceList";
import { addInitialStateToProps } from "../../lib/addInitialStateToProps";
import apiRequestHandlerFactory from "../../lib/apiRequestHandlerFactory";
Expand Down Expand Up @@ -171,7 +171,7 @@ const User: NextPage<UserPageProps> = function User(props) {
};

return (
<MainLayout>
<DashboardContent>
<Stack
direction="row"
sx={{ padding: 2, width: "100%" }}
Expand Down Expand Up @@ -235,7 +235,7 @@ const User: NextPage<UserPageProps> = function User(props) {
/>
</Stack>
</Stack>
</MainLayout>
</DashboardContent>
);
};

Expand Down

0 comments on commit 60171b6

Please sign in to comment.