diff --git a/frontend/src/pages/Admin.jsx b/frontend/src/pages/Admin.jsx index de42160..c9e87c4 100644 --- a/frontend/src/pages/Admin.jsx +++ b/frontend/src/pages/Admin.jsx @@ -108,6 +108,10 @@ export default function Admin({ isMobile = false }) { window.location.hash = tab; }; + // 서버 관리 상태 + const [isServerListExpanded, setIsServerListExpanded] = useState(false); // 서버 목록 펼침 상태 + const [selectedServer, setSelectedServer] = useState(null); // 선택된 서버 경로 + // 콘솔 관련 상태 const [logs, setLogs] = useState([]); const [command, setCommand] = useState(""); @@ -1487,99 +1491,139 @@ export default function Admin({ isMobile = false }) { className="space-y-4" > {/* 서버 관리 */} -
-

- 🖥️ 서버 관리 -

-
- {/* 서버 목록 - 하드코딩 (나중에 API로 대체) */} - {[ - { - id: "1.21.1", - loader: "NeoForge", - version: "1.21.1", - path: "neoforge/1.21.1/1.21.1", - running: true, - }, - { - id: "1.21.1 create private", - loader: "NeoForge", - version: "1.21.1", - path: "neoforge/1.21.1/1.21.1 create private", - running: false, - }, - { - id: "test", - loader: "NeoForge", - version: "1.21.1", - path: "neoforge/1.21.1/test", - running: false, - }, - { - id: "1.21.1 medieval", - loader: "Fabric", - version: "1.21.1", - path: "fabric/1.21.1 medieval", - running: false, - }, - ].map((server) => ( -
-
-
-
-

- {server.id} -

-

- - {server.loader} - - - {server.version} -

+ {(() => { + // 서버 목록 (하드코딩 - 나중에 API로 대체) + const servers = [ + { id: '1.21.1', loader: 'NeoForge', version: '1.21.1', path: 'neoforge/1.21.1/1.21.1', running: true }, + { id: '1.21.1 create private', loader: 'NeoForge', version: '1.21.1', path: 'neoforge/1.21.1/1.21.1 create private', running: false }, + { id: 'test', loader: 'NeoForge', version: '1.21.1', path: 'neoforge/1.21.1/test', running: false }, + { id: '1.21.1 medieval', loader: 'Fabric', version: '1.21.1', path: 'fabric/1.21.1 medieval', running: false }, + ]; + const runningServer = servers.find(s => s.running); + + return ( +
+ {/* 헤더 - 실행 중인 서버 표시 */} +
+

+ 🖥️ 서버 관리 +

+ {runningServer && ( +
+
+ {runningServer.id} +
+ )} +
+ + {/* 실행 중인 서버가 있으면 상태 카드 표시 */} + {runningServer && ( +
+
+
+
+
+
+
+

{runningServer.id}

+

+ + {runningServer.loader} + + + {runningServer.version} +

+
+
+
+ )} + + {/* 서버 선택 (접힘/펼침) */} +
+ + + {isServerListExpanded && ( + +
+ {servers.filter(s => !s.running).map((server) => ( + + ))} +
+ + {/* 시작 버튼 */} + {selectedServer && !runningServer && ( +
+ +
+ )} +
+ )} +
- ))} -
-
+
+ ); + })()} {/* 서버 성능 모니터링 */}