* 🌊 qBittorrent settings scaffold * 🔧 Added scaffold for the qBittorrent connection form * 🔧 Some refactoring * 🔧 Cleaned up folder structure * 🔧 Fixed broken paths * 🔧 Cleaned up Search and Import component hierarchy * 🔧 More path fixes * 🔧 Tooling changes * 📝 Qbittorrent form scaffold * ⬆️ Bumped @dnd-kit deps * 🧑🏼🔧 Fixed the hostname regex * 🏗️ Adding fields to the settings form * 🔧 Formatting and more layout changes * 🔧 Added Prowlarr settings items in JSON * 📝 Purified Card Component * 📝 Abstracted connection form into a component * 🏗️ Reorganized tabs * Migrating from Redux to RTK-query * ⬇️ Fetched qBittorrent settings * 🏗️ Trying out react-query * 🧩 Added react-query query to qBittorrentSettings page * 📝 qbittorrent form RU actions first draft * 🏗️ Added loading state check * 🏗 Added error check state * 🏗️ Refactored AirDCPP context using react-query * 🏗️ Refactoring AirDCPP Settings Form with react-query * 🔧 Removed context * 🔧 Removing context from AirDCPP settings page * 🔧 Fixed early init error on the store * 🐛 Debugging AirDCPP Settings Form page * 🧸 Zustand-ified AirDCPP Form * ❌ AirDCPP code cleaned up from App.tsx * ➕ Re-added yarn.lock
68 lines
2.0 KiB
TypeScript
68 lines
2.0 KiB
TypeScript
import React, { ReactElement, useEffect } from "react";
|
|
import { useDispatch, useSelector } from "react-redux";
|
|
import ZeroState from "./ZeroState";
|
|
import { RecentlyImported } from "./RecentlyImported";
|
|
import { WantedComicsList } from "./WantedComicsList";
|
|
import { VolumeGroups } from "./VolumeGroups";
|
|
import { LibraryStatistics } from "./LibraryStatistics";
|
|
import { PullList } from "./PullList";
|
|
import {
|
|
fetchVolumeGroups,
|
|
getComicBooks,
|
|
} from "../../actions/fileops.actions";
|
|
import { getLibraryStatistics } from "../../actions/comicinfo.actions";
|
|
import { isEmpty, isNil } from "lodash";
|
|
import Header from "../shared/Header";
|
|
|
|
export const Dashboard = (): ReactElement => {
|
|
// useEffect(() => {
|
|
// dispatch(fetchVolumeGroups());
|
|
// dispatch(
|
|
// getComicBooks({
|
|
// paginationOptions: {
|
|
// page: 0,
|
|
// limit: 5,
|
|
// sort: { updatedAt: "-1" },
|
|
// },
|
|
// predicate: { "acquisition.source.wanted": false },
|
|
// comicStatus: "recent",
|
|
// }),
|
|
// );
|
|
// dispatch(
|
|
// getComicBooks({
|
|
// paginationOptions: {
|
|
// page: 0,
|
|
// limit: 5,
|
|
// sort: { updatedAt: "-1" },
|
|
// },
|
|
// predicate: { "acquisition.source.wanted": true },
|
|
// comicStatus: "wanted",
|
|
// }),
|
|
// );
|
|
// dispatch(getLibraryStatistics());
|
|
// }, []);
|
|
//
|
|
// const recentComics = useSelector(
|
|
// (state: RootState) => state.fileOps.recentComics,
|
|
// );
|
|
// const wantedComics = useSelector(
|
|
// (state: RootState) => state.fileOps.wantedComics,
|
|
// );
|
|
// const volumeGroups = useSelector(
|
|
// (state: RootState) => state.fileOps.comicVolumeGroups,
|
|
// );
|
|
//
|
|
// const libraryStatistics = useSelector(
|
|
// (state: RootState) => state.comicInfo.libraryStatistics,
|
|
// );
|
|
return (
|
|
<div className="container">
|
|
<section className="section">
|
|
<h1 className="title">Dashboard</h1>
|
|
</section>
|
|
</div>
|
|
);
|
|
};
|
|
|
|
export default Dashboard;
|