diff --git a/src/App.tsx b/src/App.tsx index f75f038..083d2eb 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -14,6 +14,7 @@ import Swiper from './pages/Swiper'; import Setup from './pages/Setup'; import Rss from './pages/Rss'; import Stats from './pages/Stats'; +import Iterative from './pages/Iterative'; import Login from './pages/Login'; import DefaultLayout from './layout/DefaultLayout'; @@ -172,6 +173,16 @@ function App() { } /> + + + + + + } + /> )} diff --git a/src/components/Sidebar/index.tsx b/src/components/Sidebar/index.tsx index 9f356e2..b875c7c 100644 --- a/src/components/Sidebar/index.tsx +++ b/src/components/Sidebar/index.tsx @@ -3,7 +3,7 @@ import { NavLink, useLocation } from 'react-router-dom'; import SidebarLinkGroup from './SidebarLinkGroup'; import { BiEditAlt, BiFolderOpen, BiHomeSmile, BiSliderAlt } from "react-icons/bi"; import { LuCrown } from "react-icons/lu"; -import { BiCategoryAlt } from "react-icons/bi"; +import { BiCategoryAlt, BiBug } from "react-icons/bi"; import { LiaRssSolid } from "react-icons/lia"; import { IoIosStats } from "react-icons/io"; @@ -92,7 +92,7 @@ const Sidebar = ({ sidebarOpen, setSidebarOpen }: SidebarProps) => {

- Thrive Admin + Thrive Admin

@@ -303,6 +303,17 @@ const Sidebar = ({ sidebarOpen, setSidebarOpen }: SidebarProps) => { 数据可视化 + +
  • + + + 更新日志 + +
  • diff --git a/src/components/Title/index.tsx b/src/components/Title/index.tsx index 8cc55c8..26bca6d 100644 --- a/src/components/Title/index.tsx +++ b/src/components/Title/index.tsx @@ -4,10 +4,10 @@ import { Card } from "antd" import Breadcrumb from "../Breadcrumbs" import { titleSty } from '@/styles/sty' -export default ({ value }: { value: string }) => { +export default ({ value, className }: { value: string, className?: string }) => { return ( <> - } className={titleSty} /> + } className={`${titleSty} ${className}`} /> ) } \ No newline at end of file diff --git a/src/pages/Dashboard/index.tsx b/src/pages/Dashboard/index.tsx index aad2897..7590006 100644 --- a/src/pages/Dashboard/index.tsx +++ b/src/pages/Dashboard/index.tsx @@ -1,26 +1,7 @@ import { Card } from 'antd'; -import { useEffect, useState } from 'react'; import HeaderInfo from './components/HeaderInfo'; const Home = () => { - const [iterativeRecording, setIterativeRecording] = useState([]) - - // 从github获取最近10次迭代记录 - const getCommitData = async () => { - const res = await fetch(`https://api.github.com/repos/LiuYuYang01/ThriveX-Admin/commits?per_page=10`) - const data = await res.json() - const result = data.map((item: { commit: { message: string } }) => item.commit.message) - sessionStorage.setItem('iterative_recording', JSON.stringify(result)) - } - - useEffect(() => { - // 如果缓存中有值就无需重新调接口 - const data = JSON.parse(sessionStorage.getItem('iterative_recording') || '[]') - console.log(data); - - data.length ? setIterativeRecording(data) : getCommitData() - }, []) - return ( <> @@ -28,7 +9,7 @@ const Home = () => { - + ); diff --git a/src/pages/Iterative/index.tsx b/src/pages/Iterative/index.tsx new file mode 100644 index 0000000..b9131cf --- /dev/null +++ b/src/pages/Iterative/index.tsx @@ -0,0 +1,64 @@ +import { Card, Timeline, TimelineItemProps } from 'antd'; +import { useEffect, useState } from 'react'; +import Title from '@/components/Title'; + +const Home = () => { + const [blog_iterativeRecording, setBlog_IterativeRecording] = useState([]) + const [admin_iterativeRecording, setAdmin_IterativeRecording] = useState([]) + const [server_iterativeRecording, setServer_IterativeRecording] = useState([]) + + // 从github获取最近10次迭代记录 + const getCommitData = async (project: string) => { + const res = await fetch(`https://api.github.com/repos/LiuYuYang01/${project}/commits?per_page=10`) + const data = await res.json() + const result = data.map((item: { commit: { message: string } }) => ({ children: item.commit.message })) + + sessionStorage.setItem('blog_project_iterative', JSON.stringify(result)) + project === "Thrive_Blog" && setBlog_IterativeRecording(result) + + sessionStorage.setItem('admin_project_iterative', JSON.stringify(result)) + project === "Thrive_Admin" && setAdmin_IterativeRecording(result) + + sessionStorage.setItem('server_project_iterative', JSON.stringify(result)) + project === "Thrive_Api_Py" && setServer_IterativeRecording(result) + } + + useEffect(() => { + // 如果缓存中有值就无需重新调接口 + const blog_project_iterative = JSON.parse(sessionStorage.getItem('blog_project_iterative') || '[]') + blog_project_iterative.length ? setBlog_IterativeRecording(blog_project_iterative) : getCommitData("Thrive_Blog") + + const admin_project_iterative = JSON.parse(sessionStorage.getItem('admin_project_iterative') || '[]') + admin_project_iterative.length ? setAdmin_IterativeRecording(admin_project_iterative) : getCommitData("Thrive_Admin") + + const server_project_iterative = JSON.parse(sessionStorage.getItem('server_project_iterative') || '[]') + server_project_iterative.length ? setServer_IterativeRecording(server_project_iterative) : getCommitData("Thrive_Api_Py") + }, []) + + return ( + <> + + + +
    +
    +

    Thrive_Blog

    + +
    + +
    +

    Thrive_Admin

    + +
    + +
    +

    Thrive_Server

    + +
    +
    +
    + + ); +}; + +export default Home;