mirror of
https://github.com/myronblair/kino-app
synced 2026-07-30 14:32:40 -05:00
auto-commit for 296e06eb-544f-4710-845e-c5a611b15f0e
This commit is contained in:
@@ -7,11 +7,15 @@ import { useNavigate, Link } from "react-router-dom";
|
||||
export default function Admin() {
|
||||
const nav = useNavigate();
|
||||
const [movies, setMovies] = useState([]);
|
||||
const [shows, setShows] = useState([]);
|
||||
const [transcoding, setTranscoding] = useState({});
|
||||
|
||||
const load = async () => {
|
||||
const { data } = await api.get("/movies");
|
||||
setMovies(data);
|
||||
const [{ data: m }, { data: s }] = await Promise.all([
|
||||
api.get("/movies"),
|
||||
api.get("/shows").catch(() => ({ data: [] })),
|
||||
]);
|
||||
setMovies(m); setShows(s);
|
||||
};
|
||||
useEffect(() => { load(); }, []);
|
||||
|
||||
@@ -134,6 +138,35 @@ export default function Admin() {
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
|
||||
{shows.length > 0 && (
|
||||
<div className="mt-12">
|
||||
<h2 className="font-display text-2xl font-bold tracking-tight text-white mb-4">Series</h2>
|
||||
<div className="border border-[#222]">
|
||||
<div className="grid grid-cols-12 px-5 py-3 border-b border-[#222] text-[10px] uppercase tracking-[0.3em] text-[#8A8A8A]">
|
||||
<span className="col-span-6">Title</span>
|
||||
<span className="col-span-2">Year</span>
|
||||
<span className="col-span-2">Episodes</span>
|
||||
<span className="col-span-2 text-right">Actions</span>
|
||||
</div>
|
||||
{shows.map((s) => (
|
||||
<div key={s.id} className="grid grid-cols-12 items-center px-5 py-4 border-b border-[#222] last:border-b-0 hover:bg-[#0F0F0F] transition-colors" data-testid={`admin-show-row-${s.id}`}>
|
||||
<div className="col-span-6 flex items-center gap-3 min-w-0">
|
||||
<img src={s.poster_url} alt="" className="w-10 h-14 object-cover" />
|
||||
<span className="text-white truncate">{s.title}</span>
|
||||
</div>
|
||||
<span className="col-span-2 text-[#8A8A8A] text-sm">{s.year}</span>
|
||||
<span className="col-span-2 text-[#8A8A8A] text-sm">{s.season_count}s · {s.episode_count}e</span>
|
||||
<div className="col-span-2 flex justify-end">
|
||||
<a href={`/admin/shows/${s.id}/episodes`} className="text-[10px] uppercase tracking-[0.2em] border border-[#222] hover:border-[#D9381E] hover:text-[#D9381E] text-[#8A8A8A] px-3 py-1 transition-colors" data-testid={`manage-episodes-${s.id}`}>
|
||||
Manage Episodes
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user