forked from baron/baron-sso
테이블 기본 정렬 생성일 통일
This commit is contained in:
@@ -238,8 +238,12 @@ function TenantListPage() {
|
|||||||
const [viewMode, setViewMode] = React.useState<"list" | "hierarchy">("list");
|
const [viewMode, setViewMode] = React.useState<"list" | "hierarchy">("list");
|
||||||
const [selectedIds, setSelectedIds] = React.useState<string[]>([]);
|
const [selectedIds, setSelectedIds] = React.useState<string[]>([]);
|
||||||
const [search, setSearch] = React.useState("");
|
const [search, setSearch] = React.useState("");
|
||||||
const [sortConfig, setSortConfig] =
|
const [sortConfig, setSortConfig] = React.useState<SortConfig<TenantSortKey> | null>(
|
||||||
React.useState<SortConfig<TenantSortKey> | null>(null);
|
{
|
||||||
|
key: "createdAt",
|
||||||
|
direction: "desc",
|
||||||
|
},
|
||||||
|
);
|
||||||
const fileInputRef = React.useRef<HTMLInputElement | null>(null);
|
const fileInputRef = React.useRef<HTMLInputElement | null>(null);
|
||||||
const [importMessage, setImportMessage] = React.useState("");
|
const [importMessage, setImportMessage] = React.useState("");
|
||||||
const [previewRows, setPreviewRows] = React.useState<
|
const [previewRows, setPreviewRows] = React.useState<
|
||||||
@@ -965,53 +969,53 @@ function TenantListPage() {
|
|||||||
/>
|
/>
|
||||||
</TableHead>
|
</TableHead>
|
||||||
<SortableTableHead
|
<SortableTableHead
|
||||||
className="min-w-[220px] whitespace-nowrap text-foreground sticky top-0 bg-inherit"
|
className="min-w-[220px] whitespace-nowrap sticky top-0 bg-inherit"
|
||||||
label={t("ui.admin.tenants.table.id", "ID")}
|
label={t("ui.admin.tenants.table.id", "ID")}
|
||||||
onSort={requestSort}
|
onSort={requestSort}
|
||||||
sortConfig={sortConfig}
|
sortConfig={sortConfig}
|
||||||
sortKey="id"
|
sortKey="id"
|
||||||
/>
|
/>
|
||||||
<SortableTableHead
|
<SortableTableHead
|
||||||
className="whitespace-nowrap text-foreground sticky top-0 bg-inherit"
|
className="whitespace-nowrap sticky top-0 bg-inherit"
|
||||||
label={t("ui.admin.tenants.table.name", "NAME")}
|
label={t("ui.admin.tenants.table.name", "NAME")}
|
||||||
onSort={requestSort}
|
onSort={requestSort}
|
||||||
sortConfig={sortConfig}
|
sortConfig={sortConfig}
|
||||||
sortKey="name"
|
sortKey="name"
|
||||||
/>
|
/>
|
||||||
<SortableTableHead
|
<SortableTableHead
|
||||||
className="whitespace-nowrap text-foreground sticky top-0 bg-inherit"
|
className="whitespace-nowrap sticky top-0 bg-inherit"
|
||||||
label={t("ui.admin.tenants.table.type", "TYPE")}
|
label={t("ui.admin.tenants.table.type", "TYPE")}
|
||||||
onSort={requestSort}
|
onSort={requestSort}
|
||||||
sortConfig={sortConfig}
|
sortConfig={sortConfig}
|
||||||
sortKey="type"
|
sortKey="type"
|
||||||
/>
|
/>
|
||||||
<SortableTableHead
|
<SortableTableHead
|
||||||
className="whitespace-nowrap text-foreground sticky top-0 bg-inherit"
|
className="whitespace-nowrap sticky top-0 bg-inherit"
|
||||||
label={t("ui.admin.tenants.table.slug", "SLUG")}
|
label={t("ui.admin.tenants.table.slug", "SLUG")}
|
||||||
onSort={requestSort}
|
onSort={requestSort}
|
||||||
sortConfig={sortConfig}
|
sortConfig={sortConfig}
|
||||||
sortKey="slug"
|
sortKey="slug"
|
||||||
/>
|
/>
|
||||||
<SortableTableHead
|
<SortableTableHead
|
||||||
className="whitespace-nowrap text-foreground sticky top-0 bg-inherit"
|
className="whitespace-nowrap sticky top-0 bg-inherit"
|
||||||
label={t("ui.admin.tenants.table.status", "STATUS")}
|
label={t("ui.admin.tenants.table.status", "STATUS")}
|
||||||
onSort={requestSort}
|
onSort={requestSort}
|
||||||
sortConfig={sortConfig}
|
sortConfig={sortConfig}
|
||||||
sortKey="status"
|
sortKey="status"
|
||||||
/>
|
/>
|
||||||
<SortableTableHead
|
<SortableTableHead
|
||||||
className="whitespace-nowrap text-foreground sticky top-0 bg-inherit"
|
className="whitespace-nowrap sticky top-0 bg-inherit"
|
||||||
label={t("ui.admin.tenants.table.members", "MEMBERS")}
|
label={t("ui.admin.tenants.table.members", "MEMBERS")}
|
||||||
onSort={requestSort}
|
onSort={requestSort}
|
||||||
sortConfig={sortConfig}
|
sortConfig={sortConfig}
|
||||||
sortKey="recursiveMemberCount"
|
sortKey="recursiveMemberCount"
|
||||||
/>
|
/>
|
||||||
<SortableTableHead
|
<SortableTableHead
|
||||||
className="whitespace-nowrap text-foreground sticky top-0 bg-inherit"
|
className="whitespace-nowrap sticky top-0 bg-inherit"
|
||||||
label={t("ui.admin.tenants.table.updated", "UPDATED")}
|
label={t("ui.admin.tenants.table.created", "CREATED")}
|
||||||
onSort={requestSort}
|
onSort={requestSort}
|
||||||
sortConfig={sortConfig}
|
sortConfig={sortConfig}
|
||||||
sortKey="updatedAt"
|
sortKey="createdAt"
|
||||||
/>
|
/>
|
||||||
<TableHead className="whitespace-nowrap">
|
<TableHead className="whitespace-nowrap">
|
||||||
{t("ui.common.actions", "액션")}
|
{t("ui.common.actions", "액션")}
|
||||||
|
|||||||
@@ -120,8 +120,12 @@ function ClientsPage() {
|
|||||||
const [statusFilter, setStatusFilter] = useState("all");
|
const [statusFilter, setStatusFilter] = useState("all");
|
||||||
const [isAdvancedFilterOpen, setIsAdvancedFilterOpen] = useState(false);
|
const [isAdvancedFilterOpen, setIsAdvancedFilterOpen] = useState(false);
|
||||||
const [isRequestModalOpen, setIsRequestModalOpen] = useState(false);
|
const [isRequestModalOpen, setIsRequestModalOpen] = useState(false);
|
||||||
const [sortConfig, setSortConfig] =
|
const [sortConfig, setSortConfig] = useState<SortConfig<ClientSortKey> | null>(
|
||||||
useState<SortConfig<ClientSortKey> | null>(null);
|
{
|
||||||
|
key: "createdAt",
|
||||||
|
direction: "desc",
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
const clients = data?.items || [];
|
const clients = data?.items || [];
|
||||||
const clientSortResolvers = useMemo<
|
const clientSortResolvers = useMemo<
|
||||||
@@ -439,35 +443,30 @@ function ClientsPage() {
|
|||||||
<TableHeader>
|
<TableHeader>
|
||||||
<TableRow>
|
<TableRow>
|
||||||
<SortableTableHead
|
<SortableTableHead
|
||||||
className="text-muted-foreground"
|
|
||||||
label={t("ui.dev.clients.table.application", "애플리케이션")}
|
label={t("ui.dev.clients.table.application", "애플리케이션")}
|
||||||
onSort={requestSort}
|
onSort={requestSort}
|
||||||
sortConfig={sortConfig}
|
sortConfig={sortConfig}
|
||||||
sortKey="application"
|
sortKey="application"
|
||||||
/>
|
/>
|
||||||
<SortableTableHead
|
<SortableTableHead
|
||||||
className="text-muted-foreground"
|
|
||||||
label={t("ui.dev.clients.table.client_id", "Client ID")}
|
label={t("ui.dev.clients.table.client_id", "Client ID")}
|
||||||
onSort={requestSort}
|
onSort={requestSort}
|
||||||
sortConfig={sortConfig}
|
sortConfig={sortConfig}
|
||||||
sortKey="id"
|
sortKey="id"
|
||||||
/>
|
/>
|
||||||
<SortableTableHead
|
<SortableTableHead
|
||||||
className="text-muted-foreground"
|
|
||||||
label={t("ui.dev.clients.table.type", "유형")}
|
label={t("ui.dev.clients.table.type", "유형")}
|
||||||
onSort={requestSort}
|
onSort={requestSort}
|
||||||
sortConfig={sortConfig}
|
sortConfig={sortConfig}
|
||||||
sortKey="type"
|
sortKey="type"
|
||||||
/>
|
/>
|
||||||
<SortableTableHead
|
<SortableTableHead
|
||||||
className="text-muted-foreground"
|
|
||||||
label={t("ui.dev.clients.table.status", "상태")}
|
label={t("ui.dev.clients.table.status", "상태")}
|
||||||
onSort={requestSort}
|
onSort={requestSort}
|
||||||
sortConfig={sortConfig}
|
sortConfig={sortConfig}
|
||||||
sortKey="status"
|
sortKey="status"
|
||||||
/>
|
/>
|
||||||
<SortableTableHead
|
<SortableTableHead
|
||||||
className="text-muted-foreground"
|
|
||||||
label={t("ui.dev.clients.table.created_at", "생성일")}
|
label={t("ui.dev.clients.table.created_at", "생성일")}
|
||||||
onSort={requestSort}
|
onSort={requestSort}
|
||||||
sortConfig={sortConfig}
|
sortConfig={sortConfig}
|
||||||
|
|||||||
Reference in New Issue
Block a user