"use client" import React from "react" import {Activity, CircleDollarSign, ListIcon, NotebookText, SquareStack, User} from "lucide-react" import { Sidebar, SidebarContent, SidebarGroup, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarMenu, SidebarMenuButton, SidebarMenuItem, } from "@/components/ui/sidebar" import {useAppDispatch, useAppSelector} from "@/hooks.ts"; import {App} from "@/models/app.ts" import {setPage} from "@/models/appSlice.ts"; import {Badge} from "@/components/ui/badge.tsx"; import {useSelector} from "react-redux"; import {selectCashoutMethods} from "@/models/cashoutMethodSlice.ts"; import {selectTransactionHistory} from "@/models/transactionHistorySlice.ts"; import {selectQuestions} from "../models/questionSlice"; import {selectUserUpkAnswers} from "../models/userUpkAnswerSlice"; export function AppSidebar({...props}: React.ComponentProps) { const app: App = useAppSelector(state => state.app) const dispatch = useAppDispatch() const cashoutMethods = useSelector(selectCashoutMethods) const transactionHistory = useSelector(selectTransactionHistory) const questions = useSelector(selectQuestions) const upkAnswers = useSelector(selectUserUpkAnswers) const taskAttempts = useAppSelector(state => state.taskStatus) return ( dispatch(setPage("offerwall"))} > Surveys {(app.availability_count ?? 0).toLocaleString()} dispatch(setPage("questions"))} > Questions {questions.length.toLocaleString()} dispatch(setPage("demographics"))} > Demographics {upkAnswers.length.toLocaleString()} dispatch(setPage("task_attempts"))} > Survey History {taskAttempts.length.toLocaleString()} Redemption dispatch(setPage("cashout_methods"))} > Methods {cashoutMethods.length.toLocaleString()} dispatch(setPage("transaction_history"))} > History {transactionHistory.length.toLocaleString()} ) }