);
}
diff --git a/web/src/app/demo/index.tsx b/web/src/app/demo/index.tsx
index 323f345..a248fd9 100644
--- a/web/src/app/demo/index.tsx
+++ b/web/src/app/demo/index.tsx
@@ -1,15 +1,26 @@
-import { Button } from "@heroui/react";
-import { Link, useNavigate } from "react-router";
+import { Button, Card } from "@heroui/react";
+import { useNavigate } from "react-router-dom";
export default function DemoPage() {
const navigate = useNavigate();
return (
-
-
Demo Page
-
-
-
Back
+
+
+
+ 击杀生成 (Kill Generation)
+
+
+
+ 这里是击杀生成工具页面。目前正在开发中,敬请期待!
+
+
+
+
+
+
- )
+ );
}
\ No newline at end of file
diff --git a/web/src/app/index.tsx b/web/src/app/index.tsx
index 7d6f497..dc4471a 100644
--- a/web/src/app/index.tsx
+++ b/web/src/app/index.tsx
@@ -1,28 +1,139 @@
import { useState } from 'react';
-import { SiteNavbar } from '../components/SiteNavbar';
-import { useResources, Resource } from '../hooks/useApi';
+import { useResources } from '../hooks/useApi';
import { CustomCard } from '../components/CustomCard';
-import { Button, Link } from '@heroui/react';
+import { Hero } from '../components/Hero';
+import { Button, Link, Chip } from '@heroui/react';
+import { buttonVariants, linkVariants } from '@heroui/styles';
import { CreateResourceModal } from '../components/CreateResourceModal';
import { EditResourceModal } from '../components/EditResourceModal';
import { useSession } from '../lib/auth-client';
+import {
+ ChatBubbleLeftEllipsisIcon,
+ BookOpenIcon,
+ BookmarkIcon,
+ QuestionMarkCircleIcon,
+ WrenchScrewdriverIcon,
+ ListBulletIcon,
+ VideoCameraIcon,
+ UserGroupIcon
+} from '@heroicons/react/24/outline';
+import { Link as RouterLink } from 'react-router-dom';
+
+const PORTALS = [
+ {
+ title: '中文论坛',
+ description: 'HLAE中文交流社区',
+ icon: ChatBubbleLeftEllipsisIcon,
+ url: 'https://bbs.hlae.site',
+ },
+ {
+ title: '官方Wiki',
+ description: '权威,但是英文 orz',
+ icon: BookOpenIcon,
+ url: 'https://github.com/advancedfx/advancedfx/wiki',
+ },
+ {
+ title: '新版文档',
+ description: '新版 advancedfx 文档,建设中',
+ icon: BookmarkIcon,
+ url: 'https://docs.hlae.site',
+ },
+ {
+ title: '官方Discord',
+ description: '和开发者近距离交流',
+ icon: UserGroupIcon,
+ url: 'https://discord.gg/advancedfx',
+ },
+ {
+ title: '问题与建议提交',
+ description: 'tnnd 为什么不更新',
+ icon: QuestionMarkCircleIcon,
+ url: 'https://github.com/advancedfx/advancedfx/issues',
+ },
+ {
+ title: 'HUD生成器',
+ description: '击杀信息和准星生成工具',
+ icon: WrenchScrewdriverIcon,
+ url: '/hud-generator',
+ },
+ {
+ title: '击杀信息生成',
+ description: 'CS2 · CS 击杀信息生成工具(测试)',
+ icon: ListBulletIcon,
+ url: '/demo',
+ },
+ {
+ title: 'HLTV',
+ description: 'CSGO新闻、数据、录像',
+ icon: VideoCameraIcon,
+ url: 'https://www.hltv.org',
+ },
+];
export default function HomePage() {
const { resources, isLoading } = useResources();
const [isModalOpen, setIsModalOpen] = useState(false);
const [isEditModalOpen, setIsEditModalOpen] = useState(false);
- const [selectedResource, setSelectedResource] = useState
(null);
+ const [selectedResource, setSelectedResource] = useState(null);
const { data: session } = useSession();
return (
-
-
-
-
-
-
传送门 & 资源
+
+
+
+ {/* Portals Section */}
+
+ 传送门
+
+ {PORTALS.map((portal) => {
+ const isExternal = portal.url.startsWith('http');
+ const Content = (
+
+
+
+
+
{portal.title}
+
{portal.description}
+
+
+
+ );
+
+ return isExternal ? (
+
+ {Content}
+
+ ) : (
+
+ {Content}
+
+ );
+ })}
+
+
+
+ {/* Resources Section */}
+
+
+
资源下载
{session && (
-