From 05b984c829be4805f28fa08d101628ef06ce0d61 Mon Sep 17 00:00:00 2001 From: Kaushik Rishi Date: Sun, 16 Apr 2023 02:36:26 +0530 Subject: [PATCH 01/10] wip: make main tiles configurable via deploy-templates --- web/src/pages/FeaturedApps.tsx | 25 ++- web/src/pages/SelectApp.tsx | 13 +- web/src/recoil/api/sdl.ts | 304 +++++++++++++++++---------------- 3 files changed, 187 insertions(+), 155 deletions(-) diff --git a/web/src/pages/FeaturedApps.tsx b/web/src/pages/FeaturedApps.tsx index 23a1150..6257ab4 100644 --- a/web/src/pages/FeaturedApps.tsx +++ b/web/src/pages/FeaturedApps.tsx @@ -1,13 +1,15 @@ -import React, { useCallback, useState } from 'react'; +import React, { useCallback, useEffect, useState } from 'react'; import styled from '@emotion/styled'; import { Template } from '../components/Template'; import { Button } from '@mui/material'; import { css } from '@emotion/react'; -import { templateList } from '../recoil/api/sdl'; +import { fetchTemplateList } from '../recoil/api/sdl'; import Document from '../assets/images/document.svg'; import { SdlEditor } from '../components/SdlConfiguration/SdllEditor'; import { HelpCenterSDL } from '../components/HelpCenter/HelpCenterSDL'; import HelpOutlineIcon from '@mui/icons-material/HelpOutline'; +import { useQuery } from 'react-query'; +import { templateIcons } from '../assets/templates'; const DocumentIcon = () => Document Icon; @@ -23,10 +25,14 @@ export default function FeaturedApps( callback, setFieldValue }: FeaturedAppsProps): JSX.Element { - const [numberOfTemplates, setNumberOfTemplates] = useState(templateList.length); + // const [numberOfTemplates, setNumberOfTemplates] = useState(templateList.length); const [reviewSdl, showSdlReview] = useState(false); const closeReviewModal = useCallback(() => showSdlReview(false), []); const [isHelpCenterOpen, setIsHelpCenterOpen] = useState(false); + const { data: templateListConfig } = useQuery('templateList', fetchTemplateList, { + refetchOnWindowFocus: false, + keepPreviousData: true, + }); const toggleHelpCenter = useCallback(() => { setIsHelpCenterOpen((prevIsOpen) => !prevIsOpen); @@ -55,18 +61,19 @@ export default function FeaturedApps( - {templateList.slice(0, numberOfTemplates).map((template: any) => { + {templateListConfig.tiles.map((template: any) => { return