forked from baron/baron-sso
locales sync 및 포맷 반영
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
@@ -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 = ""
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user