Enhance download center with file size preview and dual options

This commit is contained in:
backuppc
2026-01-21 15:11:57 +09:00
parent fc9500f99b
commit b31b3c6d31
2 changed files with 132 additions and 6 deletions

19
App.tsx
View File

@@ -9,6 +9,7 @@ import SiteManagerModal from './components/SiteManagerModal';
import HelpModal from './components/HelpModal';
import { CreateFolderModal, RenameModal, DeleteModal } from './components/FileActionModals';
import ConflictModal from './components/ConflictModal';
import DownloadModal from './components/DownloadModal';
import { formatBytes } from './utils/formatters';
const AdSenseBanner: React.FC = () => {
@@ -58,6 +59,7 @@ const App: React.FC = () => {
const [showConnectionHelp, setShowConnectionHelp] = useState(false);
const [showSiteManager, setShowSiteManager] = useState(false);
const [showHelp, setShowHelp] = useState(false);
const [showDownloadModal, setShowDownloadModal] = useState(false);
const [helpInitialTab, setHelpInitialTab] = useState<'sites' | 'connection' | 'files' | 'backend'>('sites');
const [savedSites, setSavedSites] = useState<SiteConfig[]>([]);
@@ -976,14 +978,13 @@ const App: React.FC = () => {
</button>
{!(window as any).__IS_STANDALONE__ && (
<a
href={`${import.meta.env.BASE_URL}webftp-backend.exe`}
download="webftp-backend.exe"
<button
onClick={() => setShowDownloadModal(true)}
className={`h-[30px] flex items-center justify-center px-3 rounded bg-emerald-600 hover:bg-emerald-500 text-white border border-emerald-500 shadow-md shadow-emerald-500/20 transition-all ${!connection.connected ? 'animate-pulse ring-2 ring-emerald-400/50' : ''}`}
title="백엔드 다운로드"
title="다운로드 센터"
>
<Download size={14} className="mr-1.5" />
</a>
<Download size={14} className="mr-1.5" />
</button>
)}
<button
@@ -1089,6 +1090,12 @@ const App: React.FC = () => {
/>
</div>
{/* Download Modal - Standalone Only */}
<DownloadModal
isOpen={showDownloadModal}
onClose={() => setShowDownloadModal(false)}
/>
{/* Footer */}
<footer className="bg-white border-t border-slate-200 px-3 py-1 text-[10px] text-slate-500 flex justify-between shadow-[0_-2px_10px_rgba(0,0,0,0.02)]">
<span>WebZilla v1.3.0 <span className="mx-2 text-slate-300">|</span> © SIMP</span>