aboutsummaryrefslogtreecommitdiff
path: root/src/components
diff options
context:
space:
mode:
Diffstat (limited to 'src/components')
-rw-r--r--src/components/app-sidebar.tsx16
-rw-r--r--src/components/nav-main.tsx17
-rw-r--r--src/components/site-header.tsx4
3 files changed, 32 insertions, 5 deletions
diff --git a/src/components/app-sidebar.tsx b/src/components/app-sidebar.tsx
index f314c9f..9a13aff 100644
--- a/src/components/app-sidebar.tsx
+++ b/src/components/app-sidebar.tsx
@@ -21,11 +21,13 @@ 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";
export function AppSidebar({...props}: React.ComponentProps<typeof Sidebar>) {
const app = useAppSelector(state => state.app)
const dispatch = useAppDispatch()
const cashoutMethods = useSelector(selectCashoutMethods)
+ const transactionHistory = useSelector(selectTransactionHistory)
const {isMobile} = useSidebar()
@@ -76,11 +78,19 @@ export function AppSidebar({...props}: React.ComponentProps<typeof Sidebar>) {
</SidebarMenuButton>
</SidebarMenuItem>
- <SidebarMenuItem key="cashout_history">
+ <SidebarMenuItem
+ key="transaction_hisotry"
+ className="cursor-pointer"
+ >
<SidebarMenuButton asChild>
- <a href="#">
+ <a
+ onClick={() => dispatch(setPage("transaction_history"))}
+ >
<SquareStack/>
- <span>History</span>
+ <span>History <Badge
+ className="absolute top-2 right-2 h-5 min-w-5 rounded-full px-1 font-mono tabular-nums cursor-pointer"
+ variant="outline"
+ >{transactionHistory.length.toLocaleString()}</Badge></span>
</a>
</SidebarMenuButton>
</SidebarMenuItem>
diff --git a/src/components/nav-main.tsx b/src/components/nav-main.tsx
index 949ced3..9ed1b24 100644
--- a/src/components/nav-main.tsx
+++ b/src/components/nav-main.tsx
@@ -1,6 +1,6 @@
"use client"
-import {ListIcon, NotebookText, Users, User} from "lucide-react"
+import {ListIcon, NotebookText, Users, User, Activity} from "lucide-react"
import {
SidebarGroup,
SidebarGroupContent,
@@ -21,6 +21,7 @@ export function NavMain() {
const app = useAppSelector(state => state.app)
const questions = useSelector(selectQuestions)
const upkAnswers = useSelector(selectUserUpkAnswers)
+ const taskAttempts = useAppSelector(state => state.taskStatus)
return (
<SidebarGroup>
@@ -72,6 +73,20 @@ export function NavMain() {
</SidebarMenuButton>
</SidebarMenuItem>
+ <SidebarMenuItem key="task_attempts"
+ onClick={() => dispatch(setPage("task_attempts"))}
+ >
+ <SidebarMenuButton tooltip="Survey History">
+ <Activity/>
+ <span>
+ Survey History <Badge
+ className="absolute top-2 right-2 h-5 min-w-5 rounded-full px-1 font-mono tabular-nums cursor-pointer"
+ variant="outline"
+ >{taskAttempts.length.toLocaleString()}</Badge>
+ </span>
+ </SidebarMenuButton>
+ </SidebarMenuItem>
+
</SidebarMenu>
</SidebarGroupContent>
</SidebarGroup>
diff --git a/src/components/site-header.tsx b/src/components/site-header.tsx
index f3e8851..25b3e52 100644
--- a/src/components/site-header.tsx
+++ b/src/components/site-header.tsx
@@ -20,8 +20,10 @@ const SiteHeader = () => {
<h1 className="text-base font-medium">
{app.currentPage === 'offerwall' && "Offerwall"}
{app.currentPage === 'questions' && "Profiling Questions"}
- {app.currentPage === 'cashouts' && "Cashout Methods"}
{app.currentPage === 'demographics' && "User Demographics"}
+ {app.currentPage === 'task_attempts' && "Task Attempts"}
+ {app.currentPage === 'cashouts' && "Cashout Methods"}
+ {app.currentPage === 'transaction_history' && 'Transaction History'}
</h1>
</div>