1
0
forked from baron/baron-sso

locales sync 및 포맷 반영

This commit is contained in:
2026-02-25 16:48:11 +09:00
parent 3cfece2a33
commit 6d80b04a55
9 changed files with 125 additions and 32 deletions

View File

@@ -81,9 +81,14 @@ const CreateIdpModal = ({
<div className="fixed inset-0 bg-black/60 flex items-center justify-center z-50 backdrop-blur-sm">
<Card className="w-full max-w-lg shadow-2xl animate-in zoom-in-95 duration-200">
<CardHeader>
<CardTitle>{t("ui.dev.clients.federation.add_title", "Add Identity Provider")}</CardTitle>
<CardTitle>
{t("ui.dev.clients.federation.add_title", "Add Identity Provider")}
</CardTitle>
<CardDescription>
{t("msg.dev.clients.federation.add_subtitle", "Connect an external OIDC provider.")}
{t(
"msg.dev.clients.federation.add_subtitle",
"Connect an external OIDC provider.",
)}
</CardDescription>
</CardHeader>
<CardContent>
@@ -146,16 +151,22 @@ const CreateIdpModal = ({
<Button type="button" variant="outline" onClick={onClose}>
{t("ui.common.cancel", "Cancel")}
</Button>
<Button
type="submit"
disabled={mutation.isPending || formData.display_name.trim() === "" || formData.issuer_url.trim() === ""}
<Button
type="submit"
disabled={
mutation.isPending ||
formData.display_name.trim() === "" ||
formData.issuer_url.trim() === ""
}
>
{mutation.isPending ? (
<div className="h-4 w-4 border-2 border-white/30 border-t-white rounded-full animate-spin mr-2" />
) : (
<Save size={16} className="mr-2" />
)}
{mutation.isPending ? t("msg.common.saving", "Saving...") : t("ui.common.save", "Save Configuration")}
{mutation.isPending
? t("msg.common.saving", "Saving...")
: t("ui.common.save", "Save Configuration")}
</Button>
</div>
</form>
@@ -170,7 +181,11 @@ export function ClientFederationPage() {
const [isCreateModalOpen, setCreateModalOpen] = useState(false);
if (!clientId) {
return <div className="p-8 text-center text-destructive">Client ID is missing</div>;
return (
<div className="p-8 text-center text-destructive">
Client ID is missing
</div>
);
}
const { data, isLoading, error } = useQuery({
@@ -187,7 +202,10 @@ export function ClientFederationPage() {
{t("ui.dev.clients.federation.title", "Identity Federation")}
</h1>
<p className="text-muted-foreground">
{t("msg.dev.clients.federation.subtitle", "Manage external identity providers for this application.")}
{t(
"msg.dev.clients.federation.subtitle",
"Manage external identity providers for this application.",
)}
</p>
</div>
<Button onClick={() => setCreateModalOpen(true)} className="gap-2">
@@ -216,20 +234,34 @@ export function ClientFederationPage() {
</TableRow>
) : error ? (
<TableRow>
<TableCell colSpan={4} className="h-24 text-center text-destructive">
<TableCell
colSpan={4}
className="h-24 text-center text-destructive"
>
{(error as Error).message}
</TableCell>
</TableRow>
) : data?.length === 0 ? (
<TableRow>
<TableCell colSpan={4} className="h-24 text-center text-muted-foreground">
{t("msg.dev.clients.federation.empty", "No IdP configurations found.")}
<TableCell
colSpan={4}
className="h-24 text-center text-muted-foreground"
>
{t(
"msg.dev.clients.federation.empty",
"No IdP configurations found.",
)}
</TableCell>
</TableRow>
) : (
data?.map((config: IdpConfig) => (
<tr key={config.id} className="border-b transition-colors hover:bg-muted/50">
<TableCell className="font-medium">{config.display_name}</TableCell>
<tr
key={config.id}
className="border-b transition-colors hover:bg-muted/50"
>
<TableCell className="font-medium">
{config.display_name}
</TableCell>
<TableCell>{config.provider_type.toUpperCase()}</TableCell>
<TableCell>
<span
@@ -247,7 +279,11 @@ export function ClientFederationPage() {
<Button variant="ghost" size="icon" className="h-8 w-8">
<Edit className="h-4 w-4" />
</Button>
<Button variant="ghost" size="icon" className="h-8 w-8 text-destructive">
<Button
variant="ghost"
size="icon"
className="h-8 w-8 text-destructive"
>
<Trash2 className="h-4 w-4" />
</Button>
</div>

View File

@@ -254,6 +254,11 @@ saved = "Saved"
save_error = "Failed to save: {{error}}"
status_changed = "Status changed to {{status}}."
[msg.dev.clients.federation]
subtitle = "Manage external identity providers for this application."
add_subtitle = "Connect an external OIDC provider."
empty = "No IdP configurations found."
[msg.dev.clients.general.identity]
logo_help = "Logo Help"
subtitle = "Subtitle"
@@ -1020,10 +1025,14 @@ settings = "Settings"
[ui.dev.clients.general]
create = "Create Application"
display_new = "Add Connected Application"
save = "Settings Save"
title_create = "Create Client"
title_edit = "Client Settings"
[ui.dev.clients.federation]
title = "Identity Federation"
add_title = "Add Identity Provider"
add_btn = "Add Provider"
[ui.dev.clients.general.breadcrumb]
section = "Applications"

View File

@@ -254,6 +254,11 @@ saved = "설정이 저장되었습니다."
save_error = "저장 실패: {{error}}"
status_changed = "상태가 {{status}}로 변경되었습니다."
[msg.dev.clients.federation]
subtitle = "이 애플리케이션의 외부 IdP 설정을 관리합니다."
add_subtitle = "외부 OIDC 제공자를 연결합니다."
empty = "등록된 IdP 설정이 없습니다."
[msg.dev.clients.general.identity]
logo_help = "인증 화면에 표시될 PNG/SVG URL입니다."
subtitle = "앱 이름과 설명, 로고를 설정합니다."
@@ -1020,10 +1025,14 @@ settings = "Settings"
[ui.dev.clients.general]
create = "앱 생성"
display_new = "연동 앱 추가"
save = "설정 저장"
title_create = "Create Client"
title_edit = "Client Settings"
[ui.dev.clients.federation]
title = "Identity Federation"
add_title = "Add Identity Provider"
add_btn = "Add Provider"
[ui.dev.clients.general.breadcrumb]
section = "Applications"

View File

@@ -254,6 +254,11 @@ saved = ""
save_error = ""
status_changed = ""
[msg.dev.clients.federation]
subtitle = ""
add_subtitle = ""
empty = ""
[msg.dev.clients.general.identity]
logo_help = ""
subtitle = ""
@@ -1032,10 +1037,14 @@ settings = ""
[ui.dev.clients.general]
create = ""
display_new = ""
save = ""
title_create = ""
title_edit = ""
[ui.dev.clients.federation]
title = ""
add_title = ""
add_btn = ""
[ui.dev.clients.general.breadcrumb]
section = ""

View File

@@ -309,6 +309,12 @@ load_error = "Error loading client: {{error}}"
loading = "Loading client..."
saved = "Saved"
save_error = "Failed to save: {{error}}"
status_changed = "Status changed to {{status}}."
[msg.dev.clients.federation]
subtitle = "Manage external identity providers for this application."
add_subtitle = "Connect an external OIDC provider."
empty = "No IdP configurations found."
[msg.dev.clients.general.identity]
logo_help = "Logo Help"
@@ -1168,10 +1174,14 @@ settings = "Settings"
[ui.dev.clients.general]
create = "Create Application"
display_new = "Add Connected Application"
save = "Save"
title_create = "Create Client"
title_edit = "Client Settings"
[ui.dev.clients.federation]
title = "Identity Federation"
add_title = "Add Identity Provider"
add_btn = "Add Provider"
[ui.dev.clients.general.breadcrumb]
section = "Applications"

View File

@@ -309,6 +309,12 @@ load_error = "Error loading client: {{error}}"
loading = "Loading client..."
saved = "설정이 저장되었습니다."
save_error = "저장 실패: {{error}}"
status_changed = "상태가 {{status}}로 변경되었습니다."
[msg.dev.clients.federation]
subtitle = "이 애플리케이션의 외부 IdP 설정을 관리합니다."
add_subtitle = "외부 OIDC 제공자를 연결합니다."
empty = "등록된 IdP 설정이 없습니다."
[msg.dev.clients.general.identity]
logo_help = "인증 화면에 표시될 PNG/SVG URL입니다."
@@ -1168,10 +1174,14 @@ settings = "Settings"
[ui.dev.clients.general]
create = "앱 생성"
display_new = "연동 앱 추가"
save = "저장"
title_create = "Create Client"
title_edit = "Client Settings"
[ui.dev.clients.federation]
title = "Identity Federation"
add_title = "Add Identity Provider"
add_btn = "Add Provider"
[ui.dev.clients.general.breadcrumb]
section = "Applications"

View File

@@ -250,6 +250,12 @@ load_error = ""
loading = ""
saved = ""
save_error = ""
status_changed = ""
[msg.dev.clients.federation]
subtitle = ""
add_subtitle = ""
empty = ""
[msg.dev.clients.general.identity]
logo_help = ""
@@ -1030,10 +1036,14 @@ settings = ""
[ui.dev.clients.general]
create = ""
display_new = ""
save = ""
title_create = ""
title_edit = ""
[ui.dev.clients.federation]
title = ""
add_title = ""
add_btn = ""
[ui.dev.clients.general.breadcrumb]
section = ""

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long