From 1ad56f715d9c07bf78afd84e703ccb7dd1c817c6 Mon Sep 17 00:00:00 2001 From: kimjaehyeon0101 <47347352-kimjaehyeon0101@users.noreply.replit.com> Date: Mon, 29 Sep 2025 19:46:54 +0000 Subject: [PATCH] Add sorting options for media outlets in the admin dashboard Rearrange UI elements in AdminDashboard.tsx to place the sort by dropdown next to the header, and update the selection logic. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 069d4324-6c40-4355-955e-c714a50de1ea Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/3df548ff-50ae-432f-9be4-25d34eccc983/069d4324-6c40-4355-955e-c714a50de1ea/YptCfK0 --- ...ᅳ린샷 2025-09-30 오전 4.46.41_1759175209563.png | Bin 0 -> 6660 bytes client/src/pages/AdminDashboard.tsx | 32 ++++++++++-------- 2 files changed, 17 insertions(+), 15 deletions(-) create mode 100644 attached_assets/스크린샷 2025-09-30 오전 4.46.41_1759175209563.png diff --git a/attached_assets/스크린샷 2025-09-30 오전 4.46.41_1759175209563.png b/attached_assets/스크린샷 2025-09-30 오전 4.46.41_1759175209563.png new file mode 100644 index 0000000000000000000000000000000000000000..df825c021c499c023bce615717c82172559bdd4f GIT binary patch literal 6660 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 M
-
+

Admin Dashboard

Search and select media outlets to manage

-
- - -
{outletsLoading ? ( @@ -188,8 +176,22 @@ export default function AdminDashboard() {
) : ( <> -
- {filteredOutlets.length} media outlets {searchTerm && `(search results for "${searchTerm}")`} +
+
+ {filteredOutlets.length} media outlets {searchTerm && `(search results for "${searchTerm}")`} +
+
+ + +