diff --git a/frontend/src/components/Sidebar.tsx b/frontend/src/components/Sidebar.tsx index 8c98a28..71ce65d 100644 --- a/frontend/src/components/Sidebar.tsx +++ b/frontend/src/components/Sidebar.tsx @@ -1,3 +1,4 @@ +import { useState } from "react"; import { HomeIcon } from "@/components/ui/home"; import { HistoryIcon } from "@/components/ui/history-icon"; import { SettingsIcon } from "@/components/ui/settings"; @@ -10,15 +11,30 @@ import { BadgeAlertIcon } from "@/components/ui/badge-alert"; import { GithubIcon } from "@/components/ui/github"; import { BlocksIcon } from "@/components/ui/blocks-icon"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from "@/components/ui/dropdown-menu"; +import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle } from "@/components/ui/dialog"; +import { Checkbox } from "@/components/ui/checkbox"; import { Tooltip, TooltipContent, TooltipTrigger, } from "@/components/ui/tooltip"; import { Button } from "@/components/ui/button"; import { openExternal } from "@/lib/utils"; + export type PageType = "main" | "settings" | "debug" | "audio-analysis" | "audio-converter" | "file-manager" | "about" | "history"; interface SidebarProps { currentPage: PageType; onPageChange: (page: PageType) => void; } export function Sidebar({ currentPage, onPageChange }: SidebarProps) { + const [isIssuesDialogOpen, setIsIssuesDialogOpen] = useState(false); + const [hasIssueAgreement, setHasIssueAgreement] = useState(false); + const handleIssuesDialogChange = (open: boolean) => { + setIsIssuesDialogOpen(open); + if (!open) { + setHasIssueAgreement(false); + } + }; + const handleOpenIssues = () => { + openExternal("https://github.com/afkarxyz/SpotiFLAC/issues"); + handleIssuesDialogChange(false); + }; return (
@@ -96,16 +112,49 @@ export function Sidebar({ currentPage, onPageChange }: SidebarProps) {
- - - - - -

Report Bugs or Request Features

-
-
+ + + + + + +

Report Bugs or Request Features

+
+
+ + + Before Opening GitHub Issues + + + +
+
+

Important

+

+ Search existing issues first and use the issue template when opening a new report or request. +

+
+ + +
+ + + + + +
+