+
+
+
+
+ {reportOptions.timePreset === TimePreset.CUSTOM && (
+
+
+ setReportOptions({ ...reportOptions, customTimeStart: newDate })
+ }
+ />
+
+ setReportOptions({ ...reportOptions, customTimeEnd: newDate })
+ }
+ />
+
+ )}
+
+ );
+};
diff --git a/frontend/src/components/ReportTopArtists.tsx b/frontend/src/components/ReportTopArtists.tsx
new file mode 100644
index 0000000..6b08676
--- /dev/null
+++ b/frontend/src/components/ReportTopArtists.tsx
@@ -0,0 +1,62 @@
+import React, { useMemo, useState } from "react";
+import { Redirect } from "react-router-dom";
+import { getTopArtists } from "../api/api";
+import { TimePreset } from "../api/entities/time-preset.enum";
+import { TopArtistsOptions } from "../api/entities/top-artists-options";
+import { useAsync } from "../hooks/use-async";
+import { useAuth } from "../hooks/use-auth";
+import { ReportOptions } from "./ReportOptions";
+
+export const ReportTopArtists: React.FC = () => {
+ const { user } = useAuth();
+
+ const [reportOptions, setReportOptions] = useState