"use client";
import { Search, X } from "lucide-react";
import { usePathname, useRouter, useSearchParams } from "next/navigation";
import { Button } from "@/components/ui/button";
import { Field, FieldLabel } from "@/components/ui/field";
import { Input } from "@/components/ui/input";
import {
Select,
SelectContent,
SelectGroup,
SelectItem,
SelectTrigger,
SelectValue,
} from "@/components/ui/select";
import { Tabs, TabsList, TabsTrigger } from "@/components/ui/tabs";
import type { DiscordVoiceChannel } from "@/lib/leaderboard/discord";
const ALL_CHANNELS = "all";
export function ChannelSelect({
channels,
selectedChannelId,
searchQuery,
}: {
channels: DiscordVoiceChannel[];
selectedChannelId?: string;
searchQuery?: string;
}) {
const router = useRouter();
return (
ห้องเสียง
);
}
export function LeaderboardSearch({ query }: { query: string }) {
const pathname = usePathname();
const router = useRouter();
const searchParams = useSearchParams();
function navigate(nextValue: string) {
const params = new URLSearchParams(searchParams);
const trimmed = nextValue.trim();
params.delete("page");
if (trimmed) {
params.set("q", trimmed);
} else {
params.delete("q");
}
const nextQuery = params.toString();
router.push(nextQuery ? `${pathname}?${nextQuery}` : pathname);
}
return (
);
}
export function LeaderboardTabs({
active,
searchQuery,
}: {
active: "xp" | "vc";
searchQuery: string;
}) {
const router = useRouter();
return (
{
const params = new URLSearchParams();
if (searchQuery) params.set("q", searchQuery);
const query = params.toString();
router.push(query ? `/leaderboard/${value}?${query}` : `/leaderboard/${value}`);
}}
>
อันดับ XP
เวลาในห้องเสียง
);
}