다운로드 화면 추가 및 full exe 추가

This commit is contained in:
backuppc
2026-01-21 09:31:31 +09:00
parent a1a1971a1f
commit c5e7ec8436
8 changed files with 1894 additions and 191 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 App: React.FC = () => {
@@ -36,6 +37,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); // New state for Download Modal
const [helpInitialTab, setHelpInitialTab] = useState<'sites' | 'connection' | 'files' | 'backend'>('sites');
const [savedSites, setSavedSites] = useState<SiteConfig[]>([]);
@@ -917,6 +919,10 @@ const App: React.FC = () => {
onSkip={handleConflictSkip}
onClose={() => handleConflictSkip(false)} // Treat close as skip single
/>
<DownloadModal
isOpen={showDownloadModal}
onClose={() => setShowDownloadModal(false)}
/>
{/* Header */}
<header className="bg-white border-b border-slate-200 p-2 shadow-sm z-20">
@@ -1002,14 +1008,13 @@ const App: React.FC = () => {
{connection.connecting ? <div className="w-4 h-4 border-2 border-white/30 border-t-white rounded-full animate-spin" /> : (connection.connected ? <><WifiOff size={16} /> </> : '빠른 연결')}
</button>
<a
href={`${import.meta.env.BASE_URL}webftp-backend.exe`}
download="webftp-backend.exe"
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="백엔드 다운로드"
<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"
title="다운로드 센터"
>
<Download size={14} className="mr-1.5" />
</a>
<Download size={14} className="mr-1.5" />
</button>
<button
onClick={() => setShowHelp(true)}