From 586efd1f6065ddc2c531ca9a26d05506be50b2d5 Mon Sep 17 00:00:00 2001 From: Peter Zimon Date: Wed, 11 Oct 2023 11:09:56 +0200 Subject: [PATCH] Added "about" modal to AdminX refs. https://github.com/TryGhost/Product/issues/3949 Added an about modal to the new admin x settings. --------- Co-authored-by: Ronald Langeveld --- apps/admin-x-settings/src/App.tsx | 6 +- .../assets/icons/angle-brackets.svg | 1 + .../src/admin-x-ds/assets/icons/book-open.svg | 1 + .../assets/icons/question-circle.svg | 1 + .../admin-x-ds/assets/images/ghost-logo.svg | 1 + .../src/admin-x-ds/global/Separator.tsx | 2 +- apps/admin-x-settings/src/api/config.ts | 4 + .../src/components/Sidebar.tsx | 4 + .../components/providers/RoutingProvider.tsx | 3 +- .../components/providers/ServiceProvider.tsx | 16 +- .../components/providers/routing/modals.tsx | 4 +- .../src/components/settings/general/About.tsx | 141 ++++++++++++++++++ apps/admin-x-settings/src/styles/index.css | 5 + .../admin-x-settings/src/utils/globalTypes.ts | 6 + .../admin/app/components/admin-x/settings.js | 2 + 15 files changed, 189 insertions(+), 8 deletions(-) create mode 100644 apps/admin-x-settings/src/admin-x-ds/assets/icons/angle-brackets.svg create mode 100644 apps/admin-x-settings/src/admin-x-ds/assets/icons/book-open.svg create mode 100644 apps/admin-x-settings/src/admin-x-ds/assets/icons/question-circle.svg create mode 100644 apps/admin-x-settings/src/admin-x-ds/assets/images/ghost-logo.svg create mode 100644 apps/admin-x-settings/src/components/settings/general/About.tsx create mode 100644 apps/admin-x-settings/src/utils/globalTypes.ts diff --git a/apps/admin-x-settings/src/App.tsx b/apps/admin-x-settings/src/App.tsx index 9de8cf4679..264a6cd092 100644 --- a/apps/admin-x-settings/src/App.tsx +++ b/apps/admin-x-settings/src/App.tsx @@ -10,6 +10,7 @@ import {GlobalDirtyStateProvider} from './hooks/useGlobalDirtyState'; import {QueryClient, QueryClientProvider} from '@tanstack/react-query'; import {ErrorBoundary as SentryErrorBoundary} from '@sentry/react'; import {Toaster} from 'react-hot-toast'; +import {UpgradeStatusType} from './utils/globalTypes'; import {ZapierTemplate} from './components/settings/advanced/integrations/ZapierModal'; interface AppProps { @@ -24,6 +25,7 @@ interface AppProps { onUpdate: (dataType: string, response: unknown) => void; onInvalidate: (dataType: string) => void; onDelete: (dataType: string, id: string) => void; + upgradeStatus?: UpgradeStatusType; } const queryClient = new QueryClient({ @@ -38,7 +40,7 @@ const queryClient = new QueryClient({ } }); -function App({ghostVersion, officialThemes, zapierTemplates, externalNavigate, darkMode = false, unsplashConfig, fetchKoenigLexical, sentryDSN, onUpdate, onInvalidate, onDelete}: AppProps) { +function App({ghostVersion, officialThemes, zapierTemplates, externalNavigate, darkMode = false, unsplashConfig, fetchKoenigLexical, sentryDSN, onUpdate, onInvalidate, onDelete, upgradeStatus}: AppProps) { const appClassName = clsx( 'admin-x-settings admin-x-base h-[100vh] w-full overflow-y-auto overflow-x-hidden', darkMode && 'dark' @@ -47,7 +49,7 @@ function App({ghostVersion, officialThemes, zapierTemplates, externalNavigate, d return ( - + diff --git a/apps/admin-x-settings/src/admin-x-ds/assets/icons/angle-brackets.svg b/apps/admin-x-settings/src/admin-x-ds/assets/icons/angle-brackets.svg new file mode 100644 index 0000000000..15455f4359 --- /dev/null +++ b/apps/admin-x-settings/src/admin-x-ds/assets/icons/angle-brackets.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/admin-x-settings/src/admin-x-ds/assets/icons/book-open.svg b/apps/admin-x-settings/src/admin-x-ds/assets/icons/book-open.svg new file mode 100644 index 0000000000..26148b367d --- /dev/null +++ b/apps/admin-x-settings/src/admin-x-ds/assets/icons/book-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/admin-x-settings/src/admin-x-ds/assets/icons/question-circle.svg b/apps/admin-x-settings/src/admin-x-ds/assets/icons/question-circle.svg new file mode 100644 index 0000000000..046e507694 --- /dev/null +++ b/apps/admin-x-settings/src/admin-x-ds/assets/icons/question-circle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/admin-x-settings/src/admin-x-ds/assets/images/ghost-logo.svg b/apps/admin-x-settings/src/admin-x-ds/assets/images/ghost-logo.svg new file mode 100644 index 0000000000..200299b208 --- /dev/null +++ b/apps/admin-x-settings/src/admin-x-ds/assets/images/ghost-logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/admin-x-settings/src/admin-x-ds/global/Separator.tsx b/apps/admin-x-settings/src/admin-x-ds/global/Separator.tsx index 853a0ac9af..5df81e57e1 100644 --- a/apps/admin-x-settings/src/admin-x-ds/global/Separator.tsx +++ b/apps/admin-x-settings/src/admin-x-ds/global/Separator.tsx @@ -6,7 +6,7 @@ interface SeparatorProps { const Separator: React.FC = ({className}) => { if (!className) { - className = 'border-grey-200 dark:border-grey-600'; + className = 'border-grey-200 dark:border-grey-800'; } return
; }; diff --git a/apps/admin-x-settings/src/api/config.ts b/apps/admin-x-settings/src/api/config.ts index 297c132232..e399a905cd 100644 --- a/apps/admin-x-settings/src/api/config.ts +++ b/apps/admin-x-settings/src/api/config.ts @@ -15,10 +15,14 @@ export type Config = { url: string, version: string } + enableDeveloperExperiments: boolean; + database: string; blogUrl: string; labs: Record; stripeDirect: boolean; + mail: string; hostSettings?: { + siteId?: string; limits?: { // Partially typed, see https://github.com/TryGhost/SDK/tree/main/packages/limit-service customIntegrations?: { diff --git a/apps/admin-x-settings/src/components/Sidebar.tsx b/apps/admin-x-settings/src/components/Sidebar.tsx index aacc6b3094..8bc965f5fe 100644 --- a/apps/admin-x-settings/src/components/Sidebar.tsx +++ b/apps/admin-x-settings/src/components/Sidebar.tsx @@ -119,6 +119,10 @@ const Sidebar: React.FC = () => { + +