refactor(web): 残留自制控件统一替换为 antd 组件
- 状态点自制徽标改用 Badge,回收站剩余天数紧急态改用红色 Tag - 危险按钮改用 danger 属性并补充语言,text+danger 不套实心红样式 - 后台搜索框改 antd Input 前缀形态,删除手写容器与聚焦环样式 - 加载态统一 Spin/Skeleton(Table 用 loading),空态统一 Empty - Segmented 选项计数改用 Badge count,弱化为 muted 灰 - 首页分页说明改 Pagination showTotal,笔记错误态改 Empty 承接布局 - 代码块复制按钮改 antd Button 并增加「已复制」反馈,修复悬浮不显示 - 博客/后台图标按钮与溢出菜单触发器统一为 antd Button type=text
This commit is contained in:
+3
-3
@@ -1,7 +1,7 @@
|
||||
import { lazy, Suspense, useEffect, useState } from 'react'
|
||||
import type { ReactNode } from 'react'
|
||||
import { Navigate, Route, Routes } from 'react-router'
|
||||
import { App as AntdApp, ConfigProvider } from 'antd'
|
||||
import { App as AntdApp, ConfigProvider, Spin } from 'antd'
|
||||
import zhCN from 'antd/locale/zh_CN'
|
||||
import { useAuth } from './lib/auth'
|
||||
import { useTheme } from './lib/theme'
|
||||
@@ -45,7 +45,7 @@ function AntdProvider({ children }: { children: ReactNode }) {
|
||||
function RequireAuth({ children }: { children: ReactNode }) {
|
||||
const { authenticated, loading } = useAuth()
|
||||
if (loading) {
|
||||
return <div className="pn-loading">加载中…</div>
|
||||
return <div className="pn-loading"><Spin size="large" /></div>
|
||||
}
|
||||
if (!authenticated) {
|
||||
return <Navigate to="/admin/login" replace />
|
||||
@@ -56,7 +56,7 @@ function RequireAuth({ children }: { children: ReactNode }) {
|
||||
export default function App() {
|
||||
return (
|
||||
<AntdProvider>
|
||||
<Suspense fallback={<div className="pn-loading">加载中…</div>}>
|
||||
<Suspense fallback={<div className="pn-loading"><Spin size="large" /></div>}>
|
||||
<Routes>
|
||||
<Route element={<BlogLayout />}>
|
||||
<Route path="/" element={<Home />} />
|
||||
|
||||
Reference in New Issue
Block a user