chore(auto): task completed - unknown

This commit is contained in:
MythEclipse
2026-06-13 12:24:32 +07:00
parent dcede1d676
commit 615c23f061
8 changed files with 829 additions and 16 deletions
@@ -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>
);
}