Browse Source

perf: operational feedback (#749)

bowen 1 year ago
parent
commit
6a7a71af1f

+ 12 - 7
web/app/components/app/overview/share-link.tsx

@@ -18,6 +18,9 @@ type IShareLinkProps = {
   onGenerateCode: () => Promise<void>
   linkUrl: string
 }
+
+const prefixShare = 'appOverview.overview.appInfo.share'
+
 const ShareLinkModal: FC<IShareLinkProps> = ({
   linkUrl,
   isShow,
@@ -25,35 +28,37 @@ const ShareLinkModal: FC<IShareLinkProps> = ({
   onGenerateCode,
 }) => {
   const [genLoading, setGenLoading] = useState(false)
+  const [isCopied, setIsCopied] = useState(false)
   const { t } = useTranslation()
   return <Modal
-    title={t('appOverview.overview.appInfo.share.explanation')}
+    title={t(`${prefixShare}.explanation`)}
     isShow={isShow}
     onClose={onClose}
   >
     {/* share url */}
-    <p className='mt-5 text-xs font-medium text-gray-500'>{t('appOverview.overview.appInfo.share.shareUrl')}</p>
+    <p className='mt-5 text-xs font-medium text-gray-500'>{t(`${prefixShare}.shareUrl`)}</p>
     {/* input share url */}
     <input disabled type='text' value={linkUrl} className='mt-1 w-full bg-gray-50 p-2 text-primary-600 text-xs font-normal outline-gray-50 hover:outline-gray-50 cursor-pointer' />
     {/* button copy link/ button regenerate */}
     <div className='mt-4 flex gap-3'>
       <Button
         type="primary"
-        className='w-32'
+        className='w-32 !px-0'
         onClick={() => {
-          copy(linkUrl)
+          copy(linkUrl) && setIsCopied(true)
         }}
       >
         <LinkIcon className='w-4 h-4 mr-2' />
-        {t('appOverview.overview.appInfo.share.copyLink')}
+        { t(`${prefixShare}.${isCopied ? 'linkCopied' : 'copyLink'}`) }
       </Button>
-      <Button className='w-32' onClick={async () => {
+      <Button className='w-32 !px-0' onClick={async () => {
         setGenLoading(true)
         await onGenerateCode()
         setGenLoading(false)
+        setIsCopied(false)
       }}>
         <ArrowPathIcon className={`w-4 h-4 mr-2 ${genLoading ? 'generateLogo' : ''}`} />
-        {t('appOverview.overview.appInfo.share.regenerate')}
+        {t(`${prefixShare}.regenerate`)}
       </Button>
     </div>
   </Modal>

+ 1 - 0
web/i18n/lang/app-overview.en.ts

@@ -15,6 +15,7 @@ const translation = {
         entry: 'Share',
         explanation: 'Share the following URL to invite more people to access the application.',
         shareUrl: 'Share URL',
+        linkCopied: 'Copied',
         copyLink: 'Copy Link',
         regenerate: 'Regenerate',
       },

+ 1 - 0
web/i18n/lang/app-overview.zh.ts

@@ -17,6 +17,7 @@ const translation = {
         shareUrl: '分享 URL',
         copyLink: '复制链接',
         regenerate: '重新生成',
+        linkCopied: '已复制',
       },
       preUseReminder: '使用前请先打开开关',
       settings: {