@particle-network/authkit
Version:
Auth Core provides MPC (Multi-Party Computation)-based threshold signatures.
8 lines (7 loc) • 8.51 kB
Source Map (JSON)
{
"version": 3,
"sources": ["../../src/pages/manageDevices/deviceDetails/index.tsx"],
"sourcesContent": ["import type { DeviceInfo } from '@particle-network/auth-core';\nimport { deleteAuthorizationDApp } from '@particle-network/auth-core';\nimport { Button, Modal } from 'antd';\nimport React, { useState } from 'react';\nimport Header from '../../../components/header';\nimport SVGIcon from '../../../components/icon/svg-icon';\nimport PowerFooter from '../../../components/power-footer';\nimport { useAuthCoreModal, useCustomNavigate, useTranslation } from '../../../context';\nimport useMessage from '../../../context/hooks/useMessage';\nimport styles from './index.less';\n\ninterface IProps {\n loginDeviceInfo: DeviceInfo;\n}\n\nconst DeviceList = (props: IProps) => {\n const { loginDeviceInfo } = props;\n const { t } = useTranslation();\n const navigate = useCustomNavigate();\n const { authCoreModal } = useAuthCoreModal();\n const [visibleModal, setVisibleModal] = useState(false);\n const [deleteLoading, setDeleteLoading] = useState(false);\n const openDeleteModal = () => {\n setVisibleModal(true);\n };\n const message = useMessage();\n const closeDeleteModal = () => {\n setVisibleModal(false);\n };\n\n return (\n <div className='device-details-wrapper'>\n <style>{styles as unknown as string}</style>\n <div className='device-details-container'>\n <Header displayBackBtn={true}>{t('new.details')}</Header>\n <div className='scroll-wrapper'>\n <div className='details-list'>\n <div className='item'>\n <div className='left'>{t('new.app')}</div>\n <div className='right'>{loginDeviceInfo.project_app_name || '-'}</div>\n </div>\n <div className='item'>\n <div className='left'>{t('new.device')}</div>\n <div className='right'>{loginDeviceInfo.device || '-'}</div>\n </div>\n <div className='item'>\n <div className='left'>{t('new.authorized_time')}</div>\n <div className='right'>{loginDeviceInfo.updated_at || '-'}</div>\n </div>\n <div className='item'>\n <div className='left'>{t('new.login_method')}</div>\n <div className='right'>{(loginDeviceInfo.login_channel || '-').replace('Twitterv1', 'Twitter')}</div>\n </div>\n <div className='item'>\n <div className='left'>{t('new.ip')}</div>\n <div className='right'>{loginDeviceInfo?.location?.ip || '-'}</div>\n </div>\n <div className='item'>\n <div className='left'>{t('new.country')}</div>\n <div className='right'>\n {loginDeviceInfo?.location?.country_name || loginDeviceInfo?.location?.country_code || '-'}\n </div>\n </div>\n <div className='item'>\n <div className='left'>{t('new.city')}</div>\n <div className='right'>{loginDeviceInfo?.location?.city || '-'}</div>\n </div>\n </div>\n </div>\n <div className='btns'>\n <Button\n className='still-confirm confirm-delete-btn'\n disabled={loginDeviceInfo.isCurrent}\n onClick={() => {\n openDeleteModal();\n }}\n >\n {t('new.delete_access')}\n </Button>\n </div>\n <Modal\n className='delete-confirm-modal'\n open={visibleModal}\n closable={false}\n footer={null}\n centered={true}\n getContainer={() => {\n return authCoreModal.rootBody as HTMLDivElement;\n }}\n >\n <div className='content-wrap'>\n <div\n className='close-btn'\n onClick={() => {\n closeDeleteModal();\n }}\n >\n <SVGIcon className='circle_close' name='circle_close' />\n </div>\n <div className='content-text'>\n {t('new.delete_access_to_n').format(loginDeviceInfo?.project_app_name, loginDeviceInfo?.device)}\n </div>\n <div className='btns'>\n <Button\n className='cancel-btn'\n onClick={() => {\n closeDeleteModal();\n }}\n >\n {t('common.cancel')}\n </Button>\n <Button\n className='still-confirm delete-btn'\n loading={deleteLoading}\n onClick={() => {\n setDeleteLoading(true);\n setTimeout(() => {\n deleteAuthorizationDApp(loginDeviceInfo?.project_app_uuid)\n .finally(() => {\n setDeleteLoading(false);\n })\n .then((res: boolean) => {\n if (res) {\n closeDeleteModal();\n setTimeout(() => {\n navigate(-1);\n }, 500);\n }\n })\n .catch((error: any) => {\n message.error(error.message);\n console.log('deleteAuthorization Error', error);\n });\n }, 500);\n }}\n >\n {t('new.delete')}\n </Button>\n </div>\n </div>\n </Modal>\n\n <PowerFooter className='footer-box-v2' />\n </div>\n </div>\n );\n};\n\nexport default DeviceList;\n"],
"mappings": "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",
"names": ["deviceDetails_default"]
}