From 979bf08966ca1279209b17ccab9ec30a7e8f0804 Mon Sep 17 00:00:00 2001 From: Darcy Ye Date: Thu, 23 Nov 2023 11:34:15 +0800 Subject: [PATCH] feat(console): add xml text file reader (#4936) --- .../console/src/assets/icons/file-icon.svg | 7 ++ .../Guide/SamlMetadataForm/index.tsx | 20 +-- .../Guide/SamlMetadataForm/utils.ts | 6 + .../Guide/XmlFileReader/index.module.scss | 60 +++++++++ .../Guide/XmlFileReader/index.tsx | 117 ++++++++++++++++++ .../admin-console/enterprise-sso-details.ts | 2 + .../admin-console/enterprise-sso.ts | 2 +- .../admin-console/enterprise-sso-details.ts | 1 + .../admin-console/enterprise-sso.ts | 2 +- .../admin-console/enterprise-sso-details.ts | 2 + .../admin-console/enterprise-sso.ts | 2 +- .../admin-console/enterprise-sso-details.ts | 2 + .../admin-console/enterprise-sso.ts | 2 +- .../admin-console/enterprise-sso-details.ts | 2 + .../admin-console/enterprise-sso.ts | 2 +- .../admin-console/enterprise-sso-details.ts | 2 + .../admin-console/enterprise-sso.ts | 2 +- .../admin-console/enterprise-sso-details.ts | 2 + .../admin-console/enterprise-sso.ts | 2 +- .../admin-console/enterprise-sso-details.ts | 2 + .../admin-console/enterprise-sso.ts | 2 +- .../admin-console/enterprise-sso-details.ts | 2 + .../admin-console/enterprise-sso.ts | 2 +- .../admin-console/enterprise-sso-details.ts | 2 + .../admin-console/enterprise-sso.ts | 2 +- .../admin-console/enterprise-sso-details.ts | 2 + .../admin-console/enterprise-sso.ts | 2 +- .../admin-console/enterprise-sso-details.ts | 2 + .../admin-console/enterprise-sso.ts | 2 +- .../admin-console/enterprise-sso-details.ts | 2 + .../admin-console/enterprise-sso.ts | 2 +- .../admin-console/enterprise-sso-details.ts | 2 + .../admin-console/enterprise-sso.ts | 2 +- .../admin-console/enterprise-sso-details.ts | 2 + .../admin-console/enterprise-sso.ts | 2 +- 35 files changed, 245 insertions(+), 24 deletions(-) create mode 100644 packages/console/src/assets/icons/file-icon.svg create mode 100644 packages/console/src/pages/EnterpriseSso/Guide/SamlMetadataForm/utils.ts create mode 100644 packages/console/src/pages/EnterpriseSso/Guide/XmlFileReader/index.module.scss create mode 100644 packages/console/src/pages/EnterpriseSso/Guide/XmlFileReader/index.tsx diff --git a/packages/console/src/assets/icons/file-icon.svg b/packages/console/src/assets/icons/file-icon.svg new file mode 100644 index 000000000..0efd66c54 --- /dev/null +++ b/packages/console/src/assets/icons/file-icon.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/packages/console/src/pages/EnterpriseSso/Guide/SamlMetadataForm/index.tsx b/packages/console/src/pages/EnterpriseSso/Guide/SamlMetadataForm/index.tsx index 4454e6071..6ef282333 100644 --- a/packages/console/src/pages/EnterpriseSso/Guide/SamlMetadataForm/index.tsx +++ b/packages/console/src/pages/EnterpriseSso/Guide/SamlMetadataForm/index.tsx @@ -1,6 +1,6 @@ import { type SsoProviderName } from '@logto/schemas'; import { useState } from 'react'; -import { useFormContext } from 'react-hook-form'; +import { useFormContext, Controller } from 'react-hook-form'; import { useTranslation } from 'react-i18next'; import FormField from '@/ds-components/FormField'; @@ -13,6 +13,8 @@ import { type SsoConnectorConfig, } from '@/pages/EnterpriseSso/types.js'; +import XmlFileReader from '../XmlFileReader'; + import ParsedConfigPreview from './ParsedConfigPreview'; import SwitchFormatButton, { FormFormat } from './SwitchFormatButton'; import * as styles from './index.module.scss'; @@ -37,6 +39,7 @@ function SamlMetadataFormFields({ }: SamlMetadataFormFieldsProps) { const { t } = useTranslation(undefined, { keyPrefix: 'admin_console' }); const { + control, register, formState: { errors }, } = useFormContext(); @@ -79,14 +82,13 @@ function SamlMetadataFormFields({ case FormFormat.Xml: { return ( <> - -