@@ -6,6 +6,7 @@ import { useGlobalPaste } from '@/lib/useGlobalPaste';
import { useChannels } from '@/store/channels' ;
import { useShares } from '@/store/shares' ;
import { solveCreationCaptcha } from '@/core-bridge/captcha' ;
import { errorMessage } from '@/core-bridge/errors' ;
import { Button } from '@/ui/Button' ;
import { ChannelList } from './ChannelList' ;
import { CreateSheet } from './CreateSheet' ;
@@ -22,7 +23,7 @@ export function Home() {
const [ createOpen , setCreateOpen ] = useState ( false ) ;
const [ scanOpen , setScanOpen ] = useState ( false ) ;
const [ busy , setBusy ] = useState ( false ) ;
const [ failed , setFailed ] = useState ( false ) ;
const [ failedMessage , setFailedMessage ] = useState ( '' ) ;
const [ shareText , setShareText ] = useState ( '' ) ;
const [ shareFiles , setShareFiles ] = useState < File [ ] > ( [ ] ) ;
@@ -32,15 +33,15 @@ export function Home() {
async ( p : ClipboardPayload ) = > {
if ( busy || ( p . files . length === 0 && ! p . text . trim ( ) ) ) return false ;
setBusy ( true ) ;
setFailed ( false ) ;
setFailedMessage ( '' ) ;
try {
const captchaToken = await solveCreationCaptcha ( ) ;
open ( await createDraft ( p , captchaToken ) ) ;
setShareFiles ( [ ] ) ;
setShareText ( '' ) ;
return true ;
} catch {
setFailed ( true ) ;
} catch ( error ) {
setFailedMessage ( errorMessage ( error ) ) ;
return false ;
} finally {
setBusy ( false ) ;
@@ -71,7 +72,7 @@ export function Home() {
onFilesChange = { setShareFiles }
onShare = { share }
/ >
{ failed ? < p role = "alert" className = { styles . error } > 创 建 分 享 失 败 , 请 重 试 。 < / p > : null }
{ failedMessage ? < p role = "alert" className = { styles . error } > 创 建 分 享 失 败 : { failedMessage } < / p > : null }
< ChannelList kind = "share" title = "我的分享" onOpen = { open } / >