| 
									
										
										
										
											2023-05-15 08:51:32 +08:00
										 |  |  | 'use client' | 
					
						
							| 
									
										
										
										
											2025-06-05 10:55:17 +08:00
										 |  |  | import classNames from '@/utils/classnames' | 
					
						
							| 
									
										
										
										
											2024-01-04 15:37:51 +08:00
										 |  |  | import type { FC } from 'react' | 
					
						
							|  |  |  | import React from 'react' | 
					
						
							| 
									
										
										
										
											2023-05-15 08:51:32 +08:00
										 |  |  | import { useTranslation } from 'react-i18next' | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-04 15:37:51 +08:00
										 |  |  | type IAppUnavailableProps = { | 
					
						
							| 
									
										
										
										
											2025-05-20 12:07:50 +08:00
										 |  |  |   code?: number | string | 
					
						
							| 
									
										
										
										
											2024-06-14 08:42:41 +08:00
										 |  |  |   isUnknownReason?: boolean | 
					
						
							| 
									
										
										
										
											2023-05-15 08:51:32 +08:00
										 |  |  |   unknownReason?: string | 
					
						
							| 
									
										
										
										
											2025-06-05 10:55:17 +08:00
										 |  |  |   className?: string | 
					
						
							| 
									
										
										
										
											2023-05-15 08:51:32 +08:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | const AppUnavailable: FC<IAppUnavailableProps> = ({ | 
					
						
							|  |  |  |   code = 404, | 
					
						
							| 
									
										
										
										
											2024-06-14 08:42:41 +08:00
										 |  |  |   isUnknownReason, | 
					
						
							| 
									
										
										
										
											2023-05-15 08:51:32 +08:00
										 |  |  |   unknownReason, | 
					
						
							| 
									
										
										
										
											2025-06-05 10:55:17 +08:00
										 |  |  |   className, | 
					
						
							| 
									
										
										
										
											2023-05-15 08:51:32 +08:00
										 |  |  | }) => { | 
					
						
							|  |  |  |   const { t } = useTranslation() | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   return ( | 
					
						
							| 
									
										
										
										
											2025-06-05 10:55:17 +08:00
										 |  |  |     <div className={classNames('flex h-screen w-screen items-center justify-center', className)}> | 
					
						
							| 
									
										
										
										
											2025-06-09 15:44:49 +08:00
										 |  |  |       <h1 className='mr-5 h-[50px] shrink-0 pr-5 text-[24px] font-medium leading-[50px]' | 
					
						
							| 
									
										
										
										
											2023-05-15 08:51:32 +08:00
										 |  |  |         style={{ | 
					
						
							|  |  |  |           borderRight: '1px solid rgba(0,0,0,.3)', | 
					
						
							|  |  |  |         }}>{code}</h1> | 
					
						
							| 
									
										
										
										
											2024-09-07 15:59:38 +07:00
										 |  |  |       <div className='text-sm'>{unknownReason || (isUnknownReason ? t('share.common.appUnknownError') : t('share.common.appUnavailable'))}</div> | 
					
						
							| 
									
										
										
										
											2023-05-15 08:51:32 +08:00
										 |  |  |     </div> | 
					
						
							|  |  |  |   ) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | export default React.memo(AppUnavailable) |