[V1] Added Explore Feature + Frecency Based Reccomendations

This commit is contained in:
Youwes09
2026-02-22 20:21:58 -06:00
parent dc6db4dd98
commit 11247a69fe
11 changed files with 1130 additions and 155 deletions
+3 -5
View File
@@ -4,8 +4,7 @@ import Library from "../pages/Library";
import SeriesDetail from "../pages/SeriesDetail";
import History from "../pages/History";
import Search from "../pages/Search";
import SourceList from "../sources/SourceList";
import SourceBrowse from "../sources/SourceBrowse";
import Explore from "../sources/Explore";
import DownloadQueue from "../downloads/DownloadQueue";
import ExtensionList from "../extensions/ExtensionList";
import s from "./Layout.module.css";
@@ -13,16 +12,15 @@ import s from "./Layout.module.css";
export default function Layout() {
const navPage = useStore((s) => s.navPage);
const activeManga = useStore((s) => s.activeManga);
const activeSource = useStore((s) => s.activeSource);
function renderContent() {
if (navPage === "library" && activeManga) return <SeriesDetail />;
if (navPage === "sources" && activeSource) return <SourceBrowse />;
switch (navPage) {
case "library": return <Library />;
case "search": return <Search />;
case "history": return <History />;
case "sources": return <SourceList />;
case "sources": return <Explore />;
case "explore": return <Explore />;
case "downloads": return <DownloadQueue />;
case "extensions": return <ExtensionList />;
default: return <Library />;
+2 -2
View File
@@ -9,7 +9,7 @@ const TABS: { id: NavPage; icon: React.ReactNode; label: string }[] = [
{ id: "library", icon: <Books size={18} weight="light" />, label: "Library" },
{ id: "search", icon: <MagnifyingGlass size={18} weight="light" />, label: "Search" },
{ id: "history", icon: <ClockCounterClockwise size={18} weight="light" />, label: "History" },
{ id: "sources", icon: <Compass size={18} weight="light" />, label: "Sources" },
{ id: "explore", icon: <Compass size={18} weight="light" />, label: "Explore" },
{ id: "downloads", icon: <DownloadSimple size={18} weight="light" />, label: "Downloads" },
{ id: "extensions", icon: <PuzzlePiece size={18} weight="light" />, label: "Extensions" },
];
@@ -24,7 +24,7 @@ export default function Sidebar() {
function navigate(id: NavPage) {
setNavPage(id);
if (id !== "sources") setActiveSource(null);
if (id !== "explore") setActiveSource(null);
}
function goHome() {