{
  "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"]
}
