2026-08-29 01:55:54 +00:00
|
|
|
import { useState } from "react";
|
|
|
|
|
import Sidebar, { PANELS } from "./components/Sidebar";
|
|
|
|
|
import Header from "./components/Header";
|
|
|
|
|
import RenamePanel from "./components/RenamePanel";
|
2026-08-29 15:35:27 +00:00
|
|
|
import EpisodesPanel from "./components/EpisodesPanel";
|
2026-08-29 14:08:17 +00:00
|
|
|
import SubtitlesPanel from "./components/SubtitlesPanel";
|
2026-08-29 15:59:05 +00:00
|
|
|
import SfvPanel from "./components/SfvPanel";
|
2026-08-29 01:55:54 +00:00
|
|
|
import PanelStub from "./components/PanelStub";
|
2026-08-29 01:43:12 +00:00
|
|
|
|
|
|
|
|
export default function App() {
|
2026-08-29 01:55:54 +00:00
|
|
|
const [selected, setSelected] = useState(PANELS[0].id);
|
|
|
|
|
const current = PANELS.find((p) => p.id === selected) ?? PANELS[0];
|
2026-08-29 01:43:12 +00:00
|
|
|
|
|
|
|
|
return (
|
2026-08-29 01:55:54 +00:00
|
|
|
<div className="app-shell">
|
|
|
|
|
<Sidebar selected={selected} onSelect={setSelected} />
|
|
|
|
|
<div className="main-column">
|
|
|
|
|
<Header title={current.name} />
|
|
|
|
|
<div className="main-content">
|
2026-08-29 14:08:17 +00:00
|
|
|
{selected === "rename" ? (
|
|
|
|
|
<RenamePanel />
|
2026-08-29 15:35:27 +00:00
|
|
|
) : selected === "episodes" ? (
|
|
|
|
|
<EpisodesPanel />
|
2026-08-29 14:08:17 +00:00
|
|
|
) : selected === "subtitles" ? (
|
|
|
|
|
<SubtitlesPanel />
|
2026-08-29 15:59:05 +00:00
|
|
|
) : selected === "sfv" ? (
|
|
|
|
|
<SfvPanel />
|
2026-08-29 14:08:17 +00:00
|
|
|
) : (
|
|
|
|
|
<PanelStub name={current.name} />
|
|
|
|
|
)}
|
2026-08-29 01:43:12 +00:00
|
|
|
</div>
|
2026-08-29 01:55:54 +00:00
|
|
|
</div>
|
|
|
|
|
</div>
|
2026-08-29 01:43:12 +00:00
|
|
|
);
|
|
|
|
|
}
|