diff --git a/apps/admin-x-settings/src/api/recommendations.ts b/apps/admin-x-settings/src/api/recommendations.ts new file mode 100644 index 0000000000..56d3777e5b --- /dev/null +++ b/apps/admin-x-settings/src/api/recommendations.ts @@ -0,0 +1,27 @@ +import {Meta, createQuery} from '../utils/apiRequests'; + +export type Recommendation = { + id: string + title: string + reason: string|null + excerpt: string|null // Fetched from the site meta data + featured_image: string|null // Fetched from the site meta data + favicon: string|null // Fetched from the site meta data + url: string + one_click_subscribe: boolean + created_at: string, + updated_at: string|null +} + +export interface RecommendationResponseType { + meta?: Meta + recommendations: Recommendation[] +} + +const dataType = 'RecommendationResponseType'; + +export const useBrowseRecommendations = createQuery({ + dataType, + path: '/recommendations/', + defaultSearchParams: {} +}); 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 6736354d43..62b367cfca 100644 --- a/apps/admin-x-settings/src/components/settings/site/Recommendations.tsx +++ b/apps/admin-x-settings/src/components/settings/site/Recommendations.tsx @@ -1,15 +1,39 @@ -import React from 'react'; +import Button from '../../../admin-x-ds/global/Button'; +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 useSettingGroup from '../../../hooks/useSettingGroup'; +import {useBrowseRecommendations} from '../../../api/recommendations'; const Recommendations: React.FC<{ keywords: string[] }> = ({keywords}) => { const { saveState, handleSave } = useSettingGroup(); + const {data: {recommendations} = {}} = useBrowseRecommendations(); + const [selectedTab, setSelectedTab] = useState('your-recommendations'); + + const buttons = ( +