mirror of
https://github.com/TryGhost/Ghost.git
synced 2025-03-04 02:01:58 -05:00
Added routing to Portal (#17240)
refs. https://github.com/TryGhost/Product/issues/3545 Routing for Portal settings in AdminX was missing
This commit is contained in:
parent
702c88b9ba
commit
ca3fe7d9db
4 changed files with 15 additions and 6 deletions
|
@ -3,6 +3,7 @@ import DesignModal from '../settings/site/DesignModal';
|
|||
import InviteUserModal from '../settings/general/InviteUserModal';
|
||||
import NavigationModal from '../settings/site/NavigationModal';
|
||||
import NiceModal from '@ebay/nice-modal-react';
|
||||
import PortalModal from '../settings/membership/PortalModal';
|
||||
import React, {createContext, useCallback, useContext, useEffect, useState} from 'react';
|
||||
import {SettingsContext} from './SettingsProvider';
|
||||
|
||||
|
@ -49,6 +50,8 @@ function handleNavigation() {
|
|||
NiceModal.show(NavigationModal);
|
||||
} else if (pathName === 'users/invite') {
|
||||
NiceModal.show(InviteUserModal);
|
||||
} else if (pathName === 'portal/edit') {
|
||||
NiceModal.show(PortalModal);
|
||||
}
|
||||
const element = document.getElementById(pathName);
|
||||
if (element) {
|
||||
|
|
|
@ -5,9 +5,9 @@ import React from 'react';
|
|||
import SettingSection from '../../../admin-x-ds/settings/SettingSection';
|
||||
|
||||
const searchKeywords = {
|
||||
portal: ['portal', 'signup', 'sign up', 'sign in', 'login', 'account'],
|
||||
access: ['access', 'subscription', 'post'],
|
||||
analytics: ['analytics', 'tracking', 'privacy']
|
||||
portal: ['portal', 'signup', 'sign up', 'signin', 'sign in', 'login', 'account', 'membership'],
|
||||
access: ['access', 'subscription', 'post', 'membership'],
|
||||
analytics: ['analytics', 'tracking', 'privacy', 'membership']
|
||||
};
|
||||
|
||||
const MembershipSettings: React.FC = () => {
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
import Button from '../../../admin-x-ds/global/Button';
|
||||
import NiceModal from '@ebay/nice-modal-react';
|
||||
import PortalModal from './PortalModal';
|
||||
import React from 'react';
|
||||
import SettingGroup from '../../../admin-x-ds/settings/SettingGroup';
|
||||
import useRouting from '../../../hooks/useRouting';
|
||||
|
||||
const Portal: React.FC<{ keywords: string[] }> = ({keywords}) => {
|
||||
const {updateRoute} = useRouting();
|
||||
const openPreviewModal = () => {
|
||||
NiceModal.show(PortalModal);
|
||||
updateRoute('portal/edit');
|
||||
};
|
||||
|
||||
return (
|
||||
|
|
|
@ -7,6 +7,7 @@ import React, {useContext, useState} from 'react';
|
|||
import SignupOptions from './portal/SignupOptions';
|
||||
import TabView, {Tab} from '../../../admin-x-ds/global/TabView';
|
||||
import useForm, {Dirtyable} from '../../../hooks/useForm';
|
||||
import useRouting from '../../../hooks/useRouting';
|
||||
import {PreviewModalContent} from '../../../admin-x-ds/global/modal/PreviewModal';
|
||||
import {Setting, SettingValue, Tier} from '../../../types/api';
|
||||
import {SettingsContext} from '../../providers/SettingsProvider';
|
||||
|
@ -61,6 +62,7 @@ const Sidebar: React.FC<{
|
|||
|
||||
const PortalModal: React.FC = () => {
|
||||
const modal = useModal();
|
||||
const {updateRoute} = useRouting();
|
||||
|
||||
const [selectedPreviewTab, setSelectedPreviewTab] = useState('signup');
|
||||
|
||||
|
@ -152,6 +154,9 @@ const PortalModal: React.FC = () => {
|
|||
}
|
||||
|
||||
return <PreviewModalContent
|
||||
afterClose={() => {
|
||||
updateRoute('portal');
|
||||
}}
|
||||
deviceSelector={false}
|
||||
dirty={saveState === 'unsaved'}
|
||||
okLabel={okLabel}
|
||||
|
@ -165,6 +170,7 @@ const PortalModal: React.FC = () => {
|
|||
onOk={async () => {
|
||||
if (!Object.values(errors).filter(Boolean).length) {
|
||||
await handleSave();
|
||||
updateRoute('portal');
|
||||
modal.remove();
|
||||
}
|
||||
}}
|
||||
|
|
Loading…
Add table
Reference in a new issue