Upload-Freigabe: Tab umbenannt, SQLite-boolean fix, Entfernen-Button fuer deaktivierte Links

This commit is contained in:
2026-06-06 01:03:36 +02:00
parent 439ec5f7b9
commit f1233ef16d
2 changed files with 20 additions and 5 deletions

View File

@@ -195,6 +195,11 @@ function UploadShareManager({ toast }) {
await api(`/upload-shares/${id}`, { method:'DELETE' });
load(); toast('Link deaktiviert');
};
const removeShare = async id => {
await api(`/upload-shares/${id}/remove`, { method:'DELETE' });
setShares(p => p.filter(s => s.id !== id));
toast('Entfernt');
};
const copyLink = (token) => {
const url = `${window.location.origin}/u/${token}`;
@@ -222,7 +227,7 @@ function UploadShareManager({ toast }) {
<div style={{display:'flex',alignItems:'center',justifyContent:'space-between',marginBottom:12,flexWrap:'wrap',gap:8}}>
<div>
<div style={{color:'#fff',fontFamily:'monospace',fontSize:14,fontWeight:700}}>
📤 Upload-Ordner
📤 Upload-Freigabe
</div>
{folder && <div style={{color:'rgba(255,255,255,0.35)',fontFamily:'monospace',fontSize:10,marginTop:2}}>
Dateien landen in: 📁 {folder.name}
@@ -310,7 +315,7 @@ function UploadShareManager({ toast }) {
</div>
</div>
<div style={{display:'flex',gap:5,flexShrink:0}}>
{s.is_active && !expired && (
{!!s.is_active && !expired && (
<>
<button onClick={()=>copyLink(s.token)}
style={{...S.btn(copied===s.token?'#4ecdc4':'#ffe66d',copied!==s.token),fontSize:10,padding:'4px 10px'}}>
@@ -322,8 +327,11 @@ function UploadShareManager({ toast }) {
)}
</>
)}
{s.is_active && (
<button onClick={()=>deactivate(s.id)} style={{...S.btn('#ff6b9d',true),fontSize:10,padding:'4px 10px'}}></button>
{!!s.is_active && (
<button onClick={()=>deactivate(s.id)} style={{...S.btn('#ff6b9d',true),fontSize:10,padding:'4px 10px'}}>Deaktivieren</button>
)}
{!s.is_active && (
<button onClick={()=>removeShare(s.id)} style={{...S.btn('#ff6b9d',true),fontSize:10,padding:'4px 10px'}}> Entfernen</button>
)}
</div>
</div>
@@ -527,7 +535,7 @@ export default function Dateien({ toast, mobile }) {
['own','Dateien', null],
['shared','Geteilt mit mir', sharedCnt||null],
['sharedByMe','Geteilt von mir', byMeCnt||null],
['upload','📤 Upload-Ordner', null],
['upload','📤 Upload-Freigabe', null],
].map(([k,l,cnt])=>(
<button key={k} onClick={()=>{setTab(k);setSearch('');setCurrentFolderId(null);setFolderPath([]);}} style={{
padding:'6px 14px',borderRadius:20,fontFamily:'monospace',fontSize:11,cursor:'pointer',