1
0
forked from baron/baron-sso

개발자 신청 API 단일화 및 RP 권한 자동 부여 구현

This commit is contained in:
2026-04-22 13:07:02 +09:00
parent 4dc274a5d7
commit 2216d9c4e4
9 changed files with 573 additions and 115 deletions

View File

@@ -2,7 +2,6 @@ import { useMutation, useQuery } from "@tanstack/react-query";
import type { AxiosError } from "axios";
import {
BookOpenText,
Clock,
Filter,
Plus,
Search,
@@ -41,7 +40,6 @@ import {
} from "../../components/ui/table";
import { Textarea } from "../../components/ui/textarea";
import {
type DeveloperRequest,
fetchClients,
fetchDevStats,
fetchDeveloperRequestStatus,
@@ -78,7 +76,6 @@ function ClientsPage() {
});
const {
data: requestStatus,
isLoading: isLoadingRequest,
refetch: refetchRequest,
} = useQuery({
@@ -176,8 +173,6 @@ function ClientsPage() {
);
}
const devStatus = (requestStatus as DeveloperRequest)?.status || "none";
return (
<div className="space-y-8">
<Card className="glass-panel">
@@ -403,11 +398,11 @@ function ClientsPage() {
"RP 관계가 부여되면 이 목록에 해당 RP가 표시됩니다.",
)}
</p>
{role === "user" && devStatus === "none" && (
{role === "user" && (
<button
type="button"
className="text-primary font-bold hover:underline"
onClick={() => setIsRequestModalOpen(true)}
onClick={() => navigate("/developer-requests")}
>
{t(
"ui.dev.welcome.btn_request",
@@ -415,24 +410,6 @@ function ClientsPage() {
)}
</button>
)}
{role === "user" && devStatus === "pending" && (
<p className="text-warning flex items-center justify-center gap-1">
<Clock className="h-3 w-3" />
{t("ui.dev.request.pending.title", "심사 진행 중")}
</p>
)}
{role === "user" && devStatus === "rejected" && (
<button
type="button"
className="text-destructive font-bold hover:underline"
onClick={() => setIsRequestModalOpen(true)}
>
{t(
"ui.dev.request.rejected.btn_retry",
"신청 반려 (다시 신청하기)",
)}
</button>
)}
</div>
</div>
</TableCell>