'use client'; import {useQuery} from '@tanstack/react-query'; import {useState} from 'react'; import {AppCard} from '@/components/ui/app-card'; import {getPagesProjects} from '@/features/pages/api/pages'; import {PrimaryButton,} from '@/features/shared/components/resource-primitives'; import {PagesProjectEditorModal} from './pages-project-editor-modal'; import {PagesProjectListItem} from './pages-project-list-item'; import {projectsQueryKey} from '../utils'; export { PagesProjectDetailPage } from './pages-detail-page'; export function PagesPage() { const [isCreateModalOpen, setCreateModalOpen] = useState(false); const projectsQuery = useQuery({ queryKey: projectsQueryKey, queryFn: getPagesProjects, }); return (

OpenFlare Pages

边缘静态站点托管

创建 Pages 项目,上传已构建 of zip 静态资源包,然后在规则中选择 Pages 项目作为上游。发布后 Agent 会拉取部署包并在边缘节点本地服务静态文件。

setCreateModalOpen(true)} > 新建 Pages 项目
{projectsQuery.isLoading ? ( 正在加载 Pages 项目... ) : projectsQuery.error ? (

{projectsQuery.error.message}

) : (projectsQuery.data ?? []).length === 0 ? ( ) : ( (projectsQuery.data ?? []).map((project) => ( )) )}
setCreateModalOpen(false)} />
); }