tianji/src/client/routes/playground.tsx

76 lines
1.9 KiB
TypeScript
Raw Normal View History

2024-09-15 21:55:23 +08:00
import { createFileRoute, redirect } from '@tanstack/react-router';
import { isDev } from '@/utils/env';
import {
MonitorStatusPageServiceItem,
MonitorStatusPageServiceList,
} from '@/components/monitor/StatusPage/ServiceList';
import { useState } from 'react';
import { EditableText } from '@/components/EditableText';
2024-10-01 22:14:43 +08:00
import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs';
import { WebhookPlayground } from '@/components/WebhookPlayground';
2024-09-15 21:55:23 +08:00
export const Route = createFileRoute('/playground')({
beforeLoad: () => {
if (!isDev) {
throw redirect({
to: '/',
});
}
},
component: PageComponent,
});
function PageComponent() {
const [list, setList] = useState<MonitorStatusPageServiceItem[]>([
{
title: 'Group 1',
key: 'group1',
children: [
{
key: 'item1',
id: 'fooo',
type: 'monitor',
},
],
},
{
title: 'Group 2',
key: 'group2',
children: [
{
key: 'item2',
id: 'barr',
type: 'monitor',
},
],
},
]);
2024-09-15 21:55:23 +08:00
return (
2024-10-01 22:14:43 +08:00
<div className="h-full w-full p-4">
<Tabs defaultValue="current" className="flex h-full flex-col">
<div>
<TabsList>
<TabsTrigger value="current">Current</TabsTrigger>
<TabsTrigger value="history">History</TabsTrigger>
</TabsList>
</div>
2024-10-01 22:14:43 +08:00
<TabsContent value="current" className="flex-1 overflow-hidden">
<WebhookPlayground />
</TabsContent>
<TabsContent value="history">
<div>
<EditableText
defaultValue="fooooooooo"
onSave={() => console.log('save')}
/>
<MonitorStatusPageServiceList value={list} onChange={setList} />
</div>
</TabsContent>
</Tabs>
2024-09-15 21:55:23 +08:00
</div>
);
}