'use client' import React, { FC, useEffect } from 'react' import { useTranslation } from 'react-i18next' import Category from '@/app/components/explore/category' import AppCard from '@/app/components/explore/app-card' import { fetchAppList } from '@/service/explore' const mockList = [ { id: 1, name: 'Story Bot', mode: 'chat', category: 'music', model_config: { pre_prompt: 'I need you to play the role of a storyteller, and generate creative and vivid short stories based on the keywords I provide.', } }, { id: 2, name: 'Code Translate', mode: 'completion', category: 'news', }, ] const mockCategories = ['music', 'news'] const isMock = true const Apps: FC = ({ }) => { const { t } = useTranslation() const [currCategory, setCurrCategory] = React.useState('') const [allList, setAllList] = React.useState(isMock ? mockList : []) const currList = (() => { if(currCategory === '') return allList return allList.filter(item => item.category === currCategory) })() const [categories, setCategories] = React.useState(isMock ? mockCategories : []) useEffect(() => { if(!isMock) { (async () => { const {categories, recommended_apps}:any = await fetchAppList() setCategories(categories) setAllList(recommended_apps) })() } }, []) return (
{t('explore.apps.title')}
{t('explore.apps.description')}
) } export default React.memo(Apps)