0
Fork 0
mirror of https://github.com/logto-io/logto.git synced 2025-03-10 22:22:45 -05:00

feat(console): add toggle tip for the sie not-in-use status (#2323)

This commit is contained in:
Xiao Yijun 2022-11-09 15:03:48 +08:00 committed by GitHub
parent 55dd05862e
commit 960fbc38c4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 131 additions and 1 deletions

View file

@ -0,0 +1,28 @@
@use '@/scss/underscore' as _;
.field {
display: flex;
align-items: center;
}
.tipIcon {
margin-left: _.unit(1);
> svg {
display: block;
cursor: pointer;
}
}
.title {
font: var(--font-label-large);
}
.content {
font: var(--font-body-medium);
a {
color: #cabeff;
text-decoration: none;
}
}

View file

@ -0,0 +1,64 @@
import { useRef, useState } from 'react';
import { Trans, useTranslation } from 'react-i18next';
import { Link } from 'react-router-dom';
import Tip from '@/assets/images/tip.svg';
import ToggleTip from '@/components/ToggleTip';
import { onKeyDownHandler } from '@/utilities/a11y';
import * as styles from './index.module.scss';
const ConnectorStatusField = () => {
const { t } = useTranslation(undefined, { keyPrefix: 'admin_console' });
const [isTipOpen, setIsTipOpen] = useState(false);
const anchorRef = useRef<HTMLDivElement>(null);
return (
<div className={styles.field}>
{t('connectors.connector_status')}
<div ref={anchorRef} className={styles.tipIcon}>
<Tip
tabIndex={0}
onClick={() => {
setIsTipOpen(true);
}}
onKeyDown={onKeyDownHandler(() => {
setIsTipOpen(true);
})}
/>
</div>
<ToggleTip
isOpen={isTipOpen}
anchorRef={anchorRef}
position="top"
horizontalAlign="center"
onClose={() => {
setIsTipOpen(false);
}}
>
<div className={styles.title}>{t('connectors.connector_status')}</div>
<div className={styles.content}>
<Trans
components={{
a: (
<Link
to="/sign-in-experience/sign-up-and-sign-in"
target="_blank"
onClick={() => {
setIsTipOpen(false);
}}
/>
),
}}
>
{t('connectors.not_in_use_tip.content', {
link: t('connectors.not_in_use_tip.go_to_sie'),
})}
</Trans>
</div>
</ToggleTip>
</div>
);
};
export default ConnectorStatusField;

View file

@ -19,6 +19,7 @@ import { useTheme } from '@/hooks/use-theme';
import * as tableStyles from '@/scss/table.module.scss';
import ConnectorRow from './components/ConnectorRow';
import ConnectorStatusField from './components/ConnectorStatusField';
import CreateForm from './components/CreateForm';
import SignInExperienceSetupNotice from './components/SignInExperienceSetupNotice';
import * as styles from './index.module.scss';
@ -90,7 +91,9 @@ const Connectors = () => {
<tr>
<th>{t('connectors.connector_name')}</th>
<th>{t('connectors.connector_type')}</th>
<th>{t('connectors.connector_status')}</th>
<th>
<ConnectorStatusField />
</th>
</tr>
</thead>
<tbody>

View file

@ -11,6 +11,11 @@ const connectors = {
connector_status: 'Anmeldeoberfläche',
connector_status_in_use: 'In Benutzung',
connector_status_not_in_use: 'Nicht in Benutzung',
not_in_use_tip: {
content:
'Not in use means your sign in experience hasnt used this sign in method. <a>{{link}}</a> to add this sign in method. ', // UNTRANSLATED
go_to_sie: 'Go to sign in experience', // UNTRANSLATED
},
social_connector_eg: 'z.B. Google, Facebook, Github',
save_and_done: 'Speichern und fertigstellen',
type: {

View file

@ -11,6 +11,11 @@ const connectors = {
connector_status: 'Sign in Experience',
connector_status_in_use: 'In use',
connector_status_not_in_use: 'Not in use',
not_in_use_tip: {
content:
'Not in use means your sign in experience hasnt used this sign in method. <a>{{link}}</a> to add this sign in method. ',
go_to_sie: 'Go to sign in experience',
},
social_connector_eg: 'E.g., Google, Facebook, Github',
save_and_done: 'Save and Done',
type: {

View file

@ -12,6 +12,11 @@ const connectors = {
connector_status: 'Experience de connexion',
connector_status_in_use: "En cours d'utilisation",
connector_status_not_in_use: 'Non utilisé',
not_in_use_tip: {
content:
'Not in use means your sign in experience hasnt used this sign in method. <a>{{link}}</a> to add this sign in method. ', // UNTRANSLATED
go_to_sie: 'Go to sign in experience', // UNTRANSLATED
},
social_connector_eg: 'Exemple : Google, Facebook, Github',
save_and_done: 'Sauvegarder et Finis',
type: {

View file

@ -11,6 +11,11 @@ const connectors = {
connector_status: '로그인 경험',
connector_status_in_use: '사용 중',
connector_status_not_in_use: '사용 중이 아님',
not_in_use_tip: {
content:
'Not in use means your sign in experience hasnt used this sign in method. <a>{{link}}</a> to add this sign in method. ', // UNTRANSLATED
go_to_sie: 'Go to sign in experience', // UNTRANSLATED
},
social_connector_eg: '예) Google, Facebook, Github',
save_and_done: '저장 및 완료',
type: {

View file

@ -11,6 +11,11 @@ const connectors = {
connector_status: 'Experiência de login',
connector_status_in_use: 'Em uso',
connector_status_not_in_use: 'Fora de uso',
not_in_use_tip: {
content:
'Not in use means your sign in experience hasnt used this sign in method. <a>{{link}}</a> to add this sign in method. ', // UNTRANSLATED
go_to_sie: 'Go to sign in experience', // UNTRANSLATED
},
social_connector_eg: 'Ex., Google, Facebook, Github',
save_and_done: 'Guardar',
type: {

View file

@ -12,6 +12,11 @@ const connectors = {
connector_status: 'Oturum açma deneyimi',
connector_status_in_use: 'Kullanımda',
connector_status_not_in_use: 'Kullanımda değil',
not_in_use_tip: {
content:
'Not in use means your sign in experience hasnt used this sign in method. <a>{{link}}</a> to add this sign in method. ', // UNTRANSLATED
go_to_sie: 'Go to sign in experience', // UNTRANSLATED
},
social_connector_eg: 'Örneğin, Google, Facebook, Github',
save_and_done: 'Kaydet ve bitir',
type: {

View file

@ -11,6 +11,11 @@ const connectors = {
connector_status: '登录体验',
connector_status_in_use: '使用中',
connector_status_not_in_use: '未使用',
not_in_use_tip: {
content:
'Not in use means your sign in experience hasnt used this sign in method. <a>{{link}}</a> to add this sign in method. ', // UNTRANSLATED
go_to_sie: 'Go to sign in experience', // UNTRANSLATED
},
social_connector_eg: '如: 微信登录,支付宝登录',
save_and_done: '保存并完成',
type: {