diff --git a/apps/admin-x-settings/src/admin-x-ds/global/Table.tsx b/apps/admin-x-settings/src/admin-x-ds/global/Table.tsx index b25d93da73..b107eb1814 100644 --- a/apps/admin-x-settings/src/admin-x-ds/global/Table.tsx +++ b/apps/admin-x-settings/src/admin-x-ds/global/Table.tsx @@ -1,5 +1,7 @@ import Heading from './Heading'; +import Hint from './Hint'; import React from 'react'; +import Separator from './Separator'; import clsx from 'clsx'; interface TableProps { @@ -9,10 +11,12 @@ interface TableProps { pageTitle?: string; children?: React.ReactNode; borderTop?: boolean; + hint?: string; + hintSeparator?: boolean; className?: string; } -const Table: React.FC = ({children, borderTop, pageTitle, className}) => { +const Table: React.FC = ({children, borderTop, hint, hintSeparator, pageTitle, className}) => { const tableClasses = clsx( (borderTop || pageTitle) && 'border-t border-grey-300', 'w-full', @@ -22,12 +26,27 @@ const Table: React.FC = ({children, borderTop, pageTitle, className} return ( <> - {pageTitle && {pageTitle}} - - - {children} - -
+
+ {pageTitle && {pageTitle}} + + + {children} + +
+ {hint && +
+ {hintSeparator && } +
+ {hint} + {/* // TODO: Finish pagination component */} + {/*
Showing 1-5 of 15 + + +
*/} +
+
} +
); }; diff --git a/apps/admin-x-settings/src/components/providers/RoutingProvider.tsx b/apps/admin-x-settings/src/components/providers/RoutingProvider.tsx index d3c5096ef6..4483dd3b00 100644 --- a/apps/admin-x-settings/src/components/providers/RoutingProvider.tsx +++ b/apps/admin-x-settings/src/components/providers/RoutingProvider.tsx @@ -1,5 +1,7 @@ import AddIntegrationModal from '../settings/advanced/integrations/AddIntegrationModal'; import AddNewsletterModal from '../settings/email/newsletters/AddNewsletterModal'; +import AddRecommendationModal from '../settings/site/recommendations/AddRecommendationModal'; +import AddRecommendationModalConfirm from '../settings/site/recommendations/AddRecommendationModalConfirm'; import AmpModal from '../settings/advanced/integrations/AmpModal'; import ChangeThemeModal from '../settings/site/ThemeModal'; import DesignModal from '../settings/site/DesignModal'; @@ -123,6 +125,10 @@ const handleNavigation = (scroll: boolean = true) => { NiceModal.show(PinturaModal); } else if (pathName === 'integrations/add') { NiceModal.show(AddIntegrationModal); + } else if (pathName === 'recommendations/add') { + NiceModal.show(AddRecommendationModal); + } else if (pathName === 'recommendations/add-confirm') { + NiceModal.show(AddRecommendationModalConfirm); } if (scroll) { diff --git a/apps/admin-x-settings/src/components/settings/site/Recommendations.tsx b/apps/admin-x-settings/src/components/settings/site/Recommendations.tsx index 62b367cfca..eb21bcf9cd 100644 --- a/apps/admin-x-settings/src/components/settings/site/Recommendations.tsx +++ b/apps/admin-x-settings/src/components/settings/site/Recommendations.tsx @@ -3,6 +3,7 @@ import React, {useState} from 'react'; import RecommendationList from './recommendations/RecommendationList'; import SettingGroup from '../../../admin-x-ds/settings/SettingGroup'; import TabView from '../../../admin-x-ds/global/TabView'; +import useRouting from '../../../hooks/useRouting'; import useSettingGroup from '../../../hooks/useSettingGroup'; import {useBrowseRecommendations} from '../../../api/recommendations'; @@ -13,9 +14,16 @@ const Recommendations: React.FC<{ keywords: string[] }> = ({keywords}) => { } = useSettingGroup(); const {data: {recommendations} = {}} = useBrowseRecommendations(); const [selectedTab, setSelectedTab] = useState('your-recommendations'); + + const {updateRoute} = useRouting(); + const openAddNewRecommendationModal = () => { + updateRoute('recommendations/add'); + }; const buttons = ( -