diff --git a/apps/admin-x-settings/src/admin-x-ds/assets/icons/link-broken.svg b/apps/admin-x-settings/src/admin-x-ds/assets/icons/link-broken.svg index a0632f4cf6..1c71ac8bb0 100644 --- a/apps/admin-x-settings/src/admin-x-ds/assets/icons/link-broken.svg +++ b/apps/admin-x-settings/src/admin-x-ds/assets/icons/link-broken.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/apps/admin-x-settings/src/admin-x-ds/global/Breadcrumbs.tsx b/apps/admin-x-settings/src/admin-x-ds/global/Breadcrumbs.tsx index 9f711ffe93..63b9443181 100644 --- a/apps/admin-x-settings/src/admin-x-ds/global/Breadcrumbs.tsx +++ b/apps/admin-x-settings/src/admin-x-ds/global/Breadcrumbs.tsx @@ -47,7 +47,7 @@ const Breadcrumbs: React.FC = ({ return (
{backIcon && - + ))}
diff --git a/apps/admin-x-settings/src/admin-x-ds/global/Popover.tsx b/apps/admin-x-settings/src/admin-x-ds/global/Popover.tsx index c251083a73..0e1e246b4a 100644 --- a/apps/admin-x-settings/src/admin-x-ds/global/Popover.tsx +++ b/apps/admin-x-settings/src/admin-x-ds/global/Popover.tsx @@ -65,7 +65,7 @@ const Popover: React.FC = ({ let className = ''; className = clsx( - 'fixed z-50 mt-2 origin-top-right rounded bg-white shadow-md ring-1 ring-[rgba(0,0,0,0.01)] focus:outline-none', + 'fixed z-50 mt-2 origin-top-right rounded bg-white shadow-md ring-1 ring-[rgba(0,0,0,0.01)] focus:outline-none dark:bg-grey-900 dark:text-white', className ); 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 a826c8d652..853a0ac9af 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 @@ -4,7 +4,10 @@ interface SeparatorProps { className?: string; } -const Separator: React.FC = ({className = 'border-grey-200 dark:border-grey-800'}) => { +const Separator: React.FC = ({className}) => { + if (!className) { + className = 'border-grey-200 dark:border-grey-600'; + } return
; }; diff --git a/apps/admin-x-settings/src/admin-x-ds/global/SortableList.tsx b/apps/admin-x-settings/src/admin-x-ds/global/SortableList.tsx index b14f6a194c..a4a2b26eed 100644 --- a/apps/admin-x-settings/src/admin-x-ds/global/SortableList.tsx +++ b/apps/admin-x-settings/src/admin-x-ds/global/SortableList.tsx @@ -34,7 +34,7 @@ const DefaultContainer: React.FC = ({
> = ({children, ...props}) => { return ( -
-
+
+
{children}
diff --git a/apps/admin-x-settings/src/admin-x-ds/global/form/Form.tsx b/apps/admin-x-settings/src/admin-x-ds/global/form/Form.tsx index 0038366a0f..0f273355fa 100644 --- a/apps/admin-x-settings/src/admin-x-ds/global/form/Form.tsx +++ b/apps/admin-x-settings/src/admin-x-ds/global/form/Form.tsx @@ -58,7 +58,7 @@ const Form: React.FC = ({ if (grouped) { classes = clsx( classes, - 'rounded-sm border border-grey-200 p-4 md:p-7' + 'rounded-sm border border-grey-200 p-4 dark:border-grey-900 md:p-7' ); } diff --git a/apps/admin-x-settings/src/admin-x-ds/global/form/TextArea.tsx b/apps/admin-x-settings/src/admin-x-ds/global/form/TextArea.tsx index 94001808d6..9326a31adf 100644 --- a/apps/admin-x-settings/src/admin-x-ds/global/form/TextArea.tsx +++ b/apps/admin-x-settings/src/admin-x-ds/global/form/TextArea.tsx @@ -43,7 +43,7 @@ const TextArea: React.FC = ({ let styles = clsx( 'peer order-2 rounded-sm border px-3 py-2 dark:text-white', - clearBg ? 'bg-transparent' : 'bg-grey-75 dark:bg-grey-900', + clearBg ? 'bg-transparent' : 'bg-grey-75 dark:bg-grey-950', error ? 'border-red' : 'border-grey-500 placeholder:text-grey-500 hover:border-grey-700 focus:border-grey-800 dark:border-grey-800 dark:placeholder:text-grey-800 dark:hover:border-grey-700 dark:focus:border-grey-500', title && 'mt-2', fontStyle === 'mono' && 'font-mono text-sm', diff --git a/apps/admin-x-settings/src/admin-x-ds/global/form/Toggle.tsx b/apps/admin-x-settings/src/admin-x-ds/global/form/Toggle.tsx index 7b6ea1c13a..626ff61218 100644 --- a/apps/admin-x-settings/src/admin-x-ds/global/form/Toggle.tsx +++ b/apps/admin-x-settings/src/admin-x-ds/global/form/Toggle.tsx @@ -67,7 +67,7 @@ const Toggle: React.FC = ({ let toggleBgClass; switch (toggleBg) { case 'stripetest': - toggleBgClass = 'checked:bg-[#EC6803]'; + toggleBgClass = 'checked:bg-[#EC6803] dark:checked:bg-[#EC6803]'; break; case 'green': @@ -75,7 +75,7 @@ const Toggle: React.FC = ({ break; default: - toggleBgClass = 'checked:bg-black'; + toggleBgClass = 'checked:bg-black dark:checked:bg-green'; break; } @@ -83,7 +83,7 @@ const Toggle: React.FC = ({
= ({
diff --git a/apps/admin-x-settings/src/admin-x-ds/global/modal/PreviewModal.tsx b/apps/admin-x-settings/src/admin-x-ds/global/modal/PreviewModal.tsx index 82d38299c9..597becb356 100644 --- a/apps/admin-x-settings/src/admin-x-ds/global/modal/PreviewModal.tsx +++ b/apps/admin-x-settings/src/admin-x-ds/global/modal/PreviewModal.tsx @@ -117,7 +117,8 @@ export const PreviewModalContent: React.FC = ({ />; } - const unSelectedIconColorClass = 'text-grey-500'; + const selectedIconColorClass = 'text-black dark:text-green'; + const unSelectedIconColorClass = 'text-grey-500 dark:text-grey-600'; const toolbarRight = deviceSelector && ( = ({ hideLabel: true, link: true, size: 'sm', - iconColorClass: (view === 'desktop' ? 'text-black' : unSelectedIconColorClass), + iconColorClass: (view === 'desktop' ? selectedIconColorClass : unSelectedIconColorClass), onClick: onSelectDesktopView || (() => { setView('desktop'); }) @@ -138,7 +139,7 @@ export const PreviewModalContent: React.FC = ({ hideLabel: true, link: true, size: 'sm', - iconColorClass: (view === 'mobile' ? 'text-black' : unSelectedIconColorClass), + iconColorClass: (view === 'mobile' ? selectedIconColorClass : unSelectedIconColorClass), onClick: onSelectMobileView || (() => { setView('mobile'); }) @@ -149,9 +150,10 @@ export const PreviewModalContent: React.FC = ({ let previewBgClass = ''; if (previewBgColor === 'grey') { - previewBgClass = 'bg-grey-50'; + previewBgClass = 'bg-grey-50 dark:bg-black'; } else if (previewBgColor === 'greygradient') { previewBgClass = 'bg-gradient-to-tr from-white to-[#f9f9fa]'; + previewBgClass = 'bg-gradient-to-tr from-grey-950 to-black'; } const containerClasses = clsx( @@ -216,7 +218,7 @@ export const PreviewModalContent: React.FC = ({ {preview}
{sidebar && -
+
{sidebarHeader ? sidebarHeader : (
{title} diff --git a/apps/admin-x-settings/src/admin-x-ds/settings/StripeButton.tsx b/apps/admin-x-settings/src/admin-x-ds/settings/StripeButton.tsx index b0b5c2bbdd..af70c86693 100644 --- a/apps/admin-x-settings/src/admin-x-ds/settings/StripeButton.tsx +++ b/apps/admin-x-settings/src/admin-x-ds/settings/StripeButton.tsx @@ -4,12 +4,14 @@ import clsx from 'clsx'; interface StripeButtonProps { label?: React.ReactNode; + className?: string; } -const StripeButton: React.FC = ({label, ...props}) => { +const StripeButton: React.FC = ({label, className, ...props}) => { const classNames = clsx( 'cursor-pointer rounded-md bg-[#625BF6] font-semibold text-white transition-all hover:opacity-90', - label ? 'px-5 py-2 text-sm' : 'px-6 py-[9px]' + label ? 'px-5 py-2 text-sm' : 'px-6 py-[9px]', + className ); if (!label) { diff --git a/apps/admin-x-settings/src/components/settings/advanced/HistoryModal.tsx b/apps/admin-x-settings/src/components/settings/advanced/HistoryModal.tsx index 7996853c90..db6426be5e 100644 --- a/apps/admin-x-settings/src/components/settings/advanced/HistoryModal.tsx +++ b/apps/admin-x-settings/src/components/settings/advanced/HistoryModal.tsx @@ -39,7 +39,7 @@ const HistoryAvatar: React.FC<{action: Action}> = ({action}) => { labelColor='white' size='md' /> -
+
@@ -96,7 +96,7 @@ const HistoryActionDescription: React.FC<{action: Action}> = ({action}) => { return <> {group.slice(0, 1).toUpperCase()}{group.slice(1)} - {group !== key && ({key})} + {group !== key && ({key})} ; } else if (action.resource?.title || action.resource?.name || action.context.primary_name) { const linkTarget = getLinkTarget(action); diff --git a/apps/admin-x-settings/src/components/settings/advanced/integrations/APIKeys.tsx b/apps/admin-x-settings/src/components/settings/advanced/integrations/APIKeys.tsx index 08db7d057c..a4f5c0122c 100644 --- a/apps/admin-x-settings/src/components/settings/advanced/integrations/APIKeys.tsx +++ b/apps/admin-x-settings/src/components/settings/advanced/integrations/APIKeys.tsx @@ -19,10 +19,10 @@ const APIKeyField: React.FC = ({label, text = '', hint, onRege return <>
{label}
-
+
{text} {hint} -
+
{onRegenerate &&
diff --git a/apps/admin-x-settings/src/components/settings/advanced/integrations/PinturaModal.tsx b/apps/admin-x-settings/src/components/settings/advanced/integrations/PinturaModal.tsx index 3bcf2e9f88..729d9e2e18 100644 --- a/apps/admin-x-settings/src/components/settings/advanced/integrations/PinturaModal.tsx +++ b/apps/admin-x-settings/src/components/settings/advanced/integrations/PinturaModal.tsx @@ -99,7 +99,7 @@ const PinturaModal = NiceModal.create(() => { title='Pintura' />
-
+

Add advanced image editing to Ghost, with Pintura

Pintura is a powerful JavaScript image editor that allows you to crop, rotate, annotate and modify images directly inside Ghost.

diff --git a/apps/admin-x-settings/src/components/settings/advanced/integrations/ZapierModal.tsx b/apps/admin-x-settings/src/components/settings/advanced/integrations/ZapierModal.tsx index 596d46e55f..55d4daa947 100644 --- a/apps/admin-x-settings/src/components/settings/advanced/integrations/ZapierModal.tsx +++ b/apps/admin-x-settings/src/components/settings/advanced/integrations/ZapierModal.tsx @@ -102,7 +102,7 @@ const ZapierModal = NiceModal.create(() => { title={
- +
diff --git a/apps/admin-x-settings/src/components/settings/advanced/labs/MigrationOptions.tsx b/apps/admin-x-settings/src/components/settings/advanced/labs/MigrationOptions.tsx index 5852ff93ba..a62cf95acd 100644 --- a/apps/admin-x-settings/src/components/settings/advanced/labs/MigrationOptions.tsx +++ b/apps/admin-x-settings/src/components/settings/advanced/labs/MigrationOptions.tsx @@ -30,7 +30,7 @@ const ImportModalContent = () => { }); }} > -
+
{uploading ? 'Uploading ...' : 'Select a JSON or zip file'}
; diff --git a/apps/admin-x-settings/src/components/settings/general/LockSite.tsx b/apps/admin-x-settings/src/components/settings/general/LockSite.tsx index 43cd7beaf5..42c38bb346 100644 --- a/apps/admin-x-settings/src/components/settings/general/LockSite.tsx +++ b/apps/admin-x-settings/src/components/settings/general/LockSite.tsx @@ -40,8 +40,8 @@ const LockSite: React.FC<{ keywords: string[] }> = ({keywords}) => { Your site is password protected
) : ( -
- +
+ Your site is not password protected
) diff --git a/apps/admin-x-settings/src/components/settings/general/UserDetailModal.tsx b/apps/admin-x-settings/src/components/settings/general/UserDetailModal.tsx index 9bf2987b9f..391eae84bd 100644 --- a/apps/admin-x-settings/src/components/settings/general/UserDetailModal.tsx +++ b/apps/admin-x-settings/src/components/settings/general/UserDetailModal.tsx @@ -57,8 +57,8 @@ const RoleSelector: React.FC = ({user, setUserData}) => { return ( <> Role -
- +
+ This user is the owner of the site. To change their role, you need to transfer the ownership first.
diff --git a/apps/admin-x-settings/src/components/settings/membership/portal/LookAndFeel.tsx b/apps/admin-x-settings/src/components/settings/membership/portal/LookAndFeel.tsx index 03f425f64c..835bf6af4e 100644 --- a/apps/admin-x-settings/src/components/settings/membership/portal/LookAndFeel.tsx +++ b/apps/admin-x-settings/src/components/settings/membership/portal/LookAndFeel.tsx @@ -86,7 +86,7 @@ const LookAndFeel: React.FC<{ {defaultButtonIcons.map(icon => ( ))}
@@ -103,7 +103,7 @@ const LookAndFeel: React.FC<{ onImageClick={() => uploadedIcon && updateSetting('portal_button_icon', uploadedIcon)} onUpload={handleImageUpload} > - +
diff --git a/apps/admin-x-settings/src/components/settings/membership/stripe/StripeConnectModal.tsx b/apps/admin-x-settings/src/components/settings/membership/stripe/StripeConnectModal.tsx index d856e7b1c2..e016cec55f 100644 --- a/apps/admin-x-settings/src/components/settings/membership/stripe/StripeConnectModal.tsx +++ b/apps/admin-x-settings/src/components/settings/membership/stripe/StripeConnectModal.tsx @@ -134,12 +134,12 @@ const Connect: React.FC = () => { onChange={e => setTestMode(e.target.checked)} />
- Step 1 — Generate secure key + Step 1 — Generate secure key
Click on the “Connect with Stripe” button to generate a secure key that connects your Ghost site with Stripe.
- Step 2 — Paste secure key + Step 2 — Paste secure key {submitEnabled &&
@@ -185,24 +185,24 @@ const Connected: React.FC<{onClose?: () => void}> = ({onClose}) => { return (
-
Ghost Logo - Stripe Logo + Stripe Logo
You are connected with Stripe!{stripeConnectLivemode ? null : ' (Test mode)'}
Connected to Dummy
Read next - +
How to setup and manage your Stripe account
-
Learn how to configure your Stripe account to work with Ghost, from custom branding to payment receipt emails.
-
+
Learn how to configure your Stripe account to work with Ghost, from custom branding to payment receipt emails.
+
Ghost Logo Ghost Resources · diff --git a/apps/admin-x-settings/src/components/settings/membership/tiers/TierDetailModal.tsx b/apps/admin-x-settings/src/components/settings/membership/tiers/TierDetailModal.tsx index d1980e95dc..f7be0e2bfc 100644 --- a/apps/admin-x-settings/src/components/settings/membership/tiers/TierDetailModal.tsx +++ b/apps/admin-x-settings/src/components/settings/membership/tiers/TierDetailModal.tsx @@ -230,7 +230,7 @@ const TierDetailModalContent: React.FC<{tier?: Tier}> = ({tier}) => { />
- + = ({tier, isFreeTier}) : 0; return ( -
+
{isFreeTier ? 'Free membership preview' : 'Tier preview'} {!isFreeTier &&
-
}
-
+

{name || 'Bronze'}

diff --git a/apps/admin-x-settings/src/components/settings/site/DesignModal.tsx b/apps/admin-x-settings/src/components/settings/site/DesignModal.tsx index c5a45028ab..a28ec928bb 100644 --- a/apps/admin-x-settings/src/components/settings/site/DesignModal.tsx +++ b/apps/admin-x-settings/src/components/settings/site/DesignModal.tsx @@ -75,7 +75,7 @@ const Sidebar: React.FC<{
Change theme
Current theme: {activeTheme?.name}
- +
diff --git a/apps/admin-x-settings/src/components/settings/site/ThemeModal.tsx b/apps/admin-x-settings/src/components/settings/site/ThemeModal.tsx index c156aaa128..f838b52d3e 100644 --- a/apps/admin-x-settings/src/components/settings/site/ThemeModal.tsx +++ b/apps/admin-x-settings/src/components/settings/site/ThemeModal.tsx @@ -182,7 +182,7 @@ const ThemeToolbar: React.FC = ({
; return (<> - +
( navigation.removeItem(item.id)} />} + action={