chore(auto): task completed - unknown
This commit is contained in:
@@ -1,9 +1,13 @@
|
||||
import { useState } from "react";
|
||||
import { Tabs, TabsContent, TabsList, TabsTrigger } from "../../shared/ui";
|
||||
import { ChannelProfileDetail } from "./components/ChannelProfileDetail";
|
||||
import { ChannelSummaryList } from "./components/ChannelSummaryList";
|
||||
import { DashboardStatsContent } from "./components/DashboardStats";
|
||||
import { UserProfileDetail } from "./components/UserProfileDetail";
|
||||
import { UserSummaryList } from "./components/UserSummaryList";
|
||||
import {
|
||||
useDashboardChannelDetail,
|
||||
useDashboardChannels,
|
||||
useDashboardUserDetail,
|
||||
useDashboardUsers,
|
||||
} from "./hooks/useDashboard";
|
||||
@@ -11,34 +15,68 @@ import {
|
||||
export function DashboardPanel() {
|
||||
const [activeTab, setActiveTab] = useState("stats");
|
||||
const [selectedUserId, setSelectedUserId] = useState<string | null>(null);
|
||||
const [selectedChannelId, setSelectedChannelId] = useState<string | null>(
|
||||
null,
|
||||
);
|
||||
const {
|
||||
users,
|
||||
loading: usersLoading,
|
||||
error: usersError,
|
||||
search,
|
||||
setSearch,
|
||||
loadMore,
|
||||
hasMore,
|
||||
search: userSearch,
|
||||
setSearch: setUserSearch,
|
||||
loadMore: loadMoreUsers,
|
||||
hasMore: hasMoreUsers,
|
||||
refetch: refetchUsers,
|
||||
} = useDashboardUsers();
|
||||
const {
|
||||
detail,
|
||||
loading: detailLoading,
|
||||
error: detailError,
|
||||
refetch: refetchDetail,
|
||||
detail: userDetail,
|
||||
loading: userDetailLoading,
|
||||
error: userDetailError,
|
||||
refetch: refetchUserDetail,
|
||||
} = useDashboardUserDetail(selectedUserId);
|
||||
const {
|
||||
channels,
|
||||
loading: channelsLoading,
|
||||
error: channelsError,
|
||||
search: channelSearch,
|
||||
setSearch: setChannelSearch,
|
||||
loadMore: loadMoreChannels,
|
||||
hasMore: hasMoreChannels,
|
||||
refetch: refetchChannels,
|
||||
} = useDashboardChannels();
|
||||
const {
|
||||
detail: channelDetail,
|
||||
loading: channelDetailLoading,
|
||||
error: channelDetailError,
|
||||
refetch: refetchChannelDetail,
|
||||
} = useDashboardChannelDetail(selectedChannelId);
|
||||
|
||||
// Show user detail view
|
||||
if (selectedUserId) {
|
||||
return (
|
||||
<UserProfileDetail
|
||||
detail={detail}
|
||||
loading={detailLoading}
|
||||
error={detailError}
|
||||
detail={userDetail}
|
||||
loading={userDetailLoading}
|
||||
error={userDetailError}
|
||||
onBack={() => {
|
||||
setSelectedUserId(null);
|
||||
}}
|
||||
onRefetch={refetchDetail}
|
||||
onRefetch={refetchUserDetail}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
// Show channel detail view
|
||||
if (selectedChannelId) {
|
||||
return (
|
||||
<ChannelProfileDetail
|
||||
detail={channelDetail}
|
||||
loading={channelDetailLoading}
|
||||
error={channelDetailError}
|
||||
onBack={() => {
|
||||
setSelectedChannelId(null);
|
||||
}}
|
||||
onRefetch={refetchChannelDetail}
|
||||
/>
|
||||
);
|
||||
}
|
||||
@@ -48,6 +86,7 @@ export function DashboardPanel() {
|
||||
<TabsList className="mb-6">
|
||||
<TabsTrigger value="stats">Stats</TabsTrigger>
|
||||
<TabsTrigger value="users">Users</TabsTrigger>
|
||||
<TabsTrigger value="channels">Channels</TabsTrigger>
|
||||
</TabsList>
|
||||
|
||||
<TabsContent value="stats">
|
||||
@@ -59,14 +98,28 @@ export function DashboardPanel() {
|
||||
users={users}
|
||||
loading={usersLoading}
|
||||
error={usersError}
|
||||
search={search}
|
||||
onSearchChange={setSearch}
|
||||
onLoadMore={loadMore}
|
||||
hasMore={hasMore}
|
||||
search={userSearch}
|
||||
onSearchChange={setUserSearch}
|
||||
onLoadMore={loadMoreUsers}
|
||||
hasMore={hasMoreUsers}
|
||||
onRefetch={refetchUsers}
|
||||
onSelectUser={setSelectedUserId}
|
||||
/>
|
||||
</TabsContent>
|
||||
|
||||
<TabsContent value="channels">
|
||||
<ChannelSummaryList
|
||||
channels={channels}
|
||||
loading={channelsLoading}
|
||||
error={channelsError}
|
||||
search={channelSearch}
|
||||
onSearchChange={setChannelSearch}
|
||||
onLoadMore={loadMoreChannels}
|
||||
hasMore={hasMoreChannels}
|
||||
onRefetch={refetchChannels}
|
||||
onSelectChannel={setSelectedChannelId}
|
||||
/>
|
||||
</TabsContent>
|
||||
</Tabs>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user