diff --git a/src/pages/admin/CommentManagement.tsx b/src/pages/admin/CommentManagement.tsx
index e8dee58..010aa3e 100644
--- a/src/pages/admin/CommentManagement.tsx
+++ b/src/pages/admin/CommentManagement.tsx
@@ -28,6 +28,7 @@ import type { AdminComment } from "@/types/Comment.ts";
import type { SelectOption } from "@/types";
import type { CommentStatus } from "@/types/Enums.ts";
import { useEnumLabels } from "@/i18n/UseEnumLabels";
+import { useInitialLoaded } from "@/hooks/UseInitialLoaded";
import styles from "./CommentManagement.module.css";
interface FilterOptions {
@@ -54,6 +55,7 @@ const CommentManagement: React.FC = () => {
});
const [currentPage, setCurrentPage] = useState(1);
const [loading, setLoading] = useState(true);
+ const initialLoaded = useInitialLoaded(loading);
const [selectedComments, setSelectedComments] = useState([]);
const [showReplies, setShowReplies] = useState([]);
@@ -273,7 +275,7 @@ const CommentManagement: React.FC = () => {
return pages;
};
- if (loading) {
+ if (loading && !initialLoaded) {
return (
@@ -393,7 +395,11 @@ const CommentManagement: React.FC = () => {
{/* 评论列表 */}
- {comments.length > 0 ? (
+ {loading ? (
+
+
+
+ ) : comments.length > 0 ? (
comments.map((comment) => {
const replies = getReplies(comment.id);
const hasReplies = replies.length > 0;
diff --git a/src/pages/admin/OrganizationManagement.tsx b/src/pages/admin/OrganizationManagement.tsx
index 0ffe0e5..7b1975a 100644
--- a/src/pages/admin/OrganizationManagement.tsx
+++ b/src/pages/admin/OrganizationManagement.tsx
@@ -25,6 +25,7 @@ import Modal from "@/components/modal/Modal";
import CustomSelect from "@/components/customSelect/CustomSelect";
import styles from "./OrganizationManagement.module.css";
import OrganizationService, { type OrganizationStatsResponse, type ApplyItem } from "@/services/OrganizationService.ts";
+import { useInitialLoaded } from "@/hooks/UseInitialLoaded";
interface Organization {
id: string;
@@ -39,6 +40,7 @@ interface Organization {
const OrganizationManagement: React.FC = () => {
const { t } = useTranslation("admin");
const [loading, setLoading] = useState(true);
+ const initialLoaded = useInitialLoaded(loading);
const [organizations, setOrganizations] = useState ([]);
const [searchTerm, setSearchTerm] = useState("");
const [statusFilter, setStatusFilter] = useState("all");
@@ -326,7 +328,7 @@ const OrganizationManagement: React.FC = () => {
}
};
- if (loading && activeTab === "orgs") {
+ if (loading && !initialLoaded && activeTab === "orgs") {
return ;
}
@@ -488,7 +490,13 @@ const OrganizationManagement: React.FC = () => {
|