mirror of
https://github.com/SteamFramelyHomebrew/framely.git
synced 2026-10-23 10:01:48 +02:00
fix: show terminal close errors inside confirmation
This commit is contained in:
1 parent
2664d953cd
commit
ae096ba3a1
1 file changed
+1
-1
+1
-1
@@ -32,6 +32,6 @@ export function TerminalManager(){
|
||||
return <section className="manager-tool"><div className="list-heading"><div><h1>{t('终端')}</h1><p>{t('以 Steam 会话用户运行;可在终端内使用 sudo。')}</p></div><button onClick={()=>void create()}>{t('新建终端')}</button></div>{error&&<p className="error">{error}</p>}
|
||||
<div className="terminal-sessions">{sessions.map(s=><div key={s.id}><button className={selected===s.id?'active':''} onClick={()=>{setSelected(s.id);setName(s.name);}}>{s.name}{s.exited?' · '+t('已结束'):''}</button><button aria-label={t('关闭终端')} onClick={()=>setClose(s)}>×</button></div>)}</div>
|
||||
{selected?<><div className="terminal-toolbar"><span>{connected?(writable?t('可输入'):t('只读')):t('正在连接')}{exited?' · '+t('已结束'):''}</span><input aria-label={t('会话名称')} value={name} onChange={e=>setName(e.target.value)} onBlur={()=>{if(name.trim())void managerApi('terminal',{operation:'rename',id:selected,name}).then(refresh).catch(e=>setError(String(e)));}}/><button onClick={()=>reconnect.current()}>{t('重新连接')}</button>{!writable&&connected&&<button onClick={()=>socket.current?.send('{"claim":true}')}>{t('接管控制')}</button>}</div>{truncated&&<p className="banner">{t('较早的终端输出已超出缓存,仅恢复保留的内容。')}</p>}<div className="terminal-canvas" ref={host}/></>:<div className="empty-state"><h2>{t('选择或新建终端')}</h2><p>{t('离开此页面不会结束终端会话。')}</p></div>}
|
||||
{close&&<div className="modal" role="dialog" aria-modal="true"><h2>{t('关闭终端')}</h2><p>{t('关闭会话将结束其中运行的程序。')}</p><footer><button onClick={()=>setClose(null)}>{t('取消')}</button><button className="danger" onClick={()=>void managerApi('terminal',{operation:'close',id:close.id,approve:true}).then(()=>{if(selected===close.id)setSelected('');setClose(null);void refresh();}).catch(e=>setError(String(e)))}>{t('确认关闭')}</button></footer></div>}
|
||||
{close&&<div className="modal" role="dialog" aria-modal="true"><h2>{t('关闭终端')}</h2>{error&&<p className="error">{error}</p>}<p>{t('关闭会话将结束其中运行的程序。')}</p><footer><button onClick={()=>setClose(null)}>{t('取消')}</button><button className="danger" onClick={()=>void managerApi('terminal',{operation:'close',id:close.id,approve:true}).then(()=>{if(selected===close.id)setSelected('');setClose(null);void refresh();}).catch(e=>setError(String(e)))}>{t('确认关闭')}</button></footer></div>}
|
||||
</section>;
|
||||
}
|
||||
Reference in new issue
Block a user