From 80539188ef6814b4202d677d62b761bd5b670574 Mon Sep 17 00:00:00 2001 From: Max Nanis Date: Tue, 24 Jun 2025 19:04:01 +0700 Subject: Dynamic height adjustment for widget size. CSS inject by JS for single file --- src/components/app-sidebar.tsx | 82 ++++++++++++++++++++++++++++++++---- src/components/nav-main.tsx | 94 ------------------------------------------ src/components/site-header.tsx | 9 +--- 3 files changed, 75 insertions(+), 110 deletions(-) delete mode 100644 src/components/nav-main.tsx (limited to 'src/components') diff --git a/src/components/app-sidebar.tsx b/src/components/app-sidebar.tsx index c60bf17..b61a716 100644 --- a/src/components/app-sidebar.tsx +++ b/src/components/app-sidebar.tsx @@ -1,9 +1,7 @@ "use client" import React from "react" -import {CircleDollarSign, SquareStack} from "lucide-react" - -import {NavMain} from "@/components/nav-main" +import {Activity, CircleDollarSign, ListIcon, NotebookText, SquareStack, User} from "lucide-react" import { Sidebar, SidebarContent, @@ -22,6 +20,8 @@ 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) @@ -29,8 +29,12 @@ export function AppSidebar({...props}: React.ComponentProps) { const cashoutMethods = useSelector(selectCashoutMethods) const transactionHistory = useSelector(selectTransactionHistory) + const questions = useSelector(selectQuestions) + const upkAnswers = useSelector(selectUserUpkAnswers) + const taskAttempts = useAppSelector(state => state.taskStatus) + return ( - + @@ -38,7 +42,6 @@ export function AppSidebar({...props}: React.ComponentProps) { asChild className="data-[slot=sidebar-menu-button]:!p-1.5" > - {app.panelName} @@ -46,10 +49,73 @@ export function AppSidebar({...props}: React.ComponentProps) { - - + + + + + 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 diff --git a/src/components/nav-main.tsx b/src/components/nav-main.tsx deleted file mode 100644 index 9ed1b24..0000000 --- a/src/components/nav-main.tsx +++ /dev/null @@ -1,94 +0,0 @@ -"use client" - -import {ListIcon, NotebookText, Users, User, Activity} from "lucide-react" -import { - SidebarGroup, - SidebarGroupContent, - SidebarMenu, - SidebarMenuButton, - SidebarMenuItem, -} from "@/components/ui/sidebar" -import {setPage} from "@/models/appSlice.ts"; -import {useAppDispatch, useAppSelector} from "@/hooks.ts"; -import {useSelector} from "react-redux"; -import {selectQuestions} from "@/models/questionSlice.ts"; -import {Badge} from "@/components/ui/badge" -import {selectUserUpkAnswers} from "@/models/userUpkAnswerSlice.ts"; - -export function NavMain() { - const dispatch = useAppDispatch() - - const app = useAppSelector(state => state.app) - 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()} - - - - - - - - ) -} diff --git a/src/components/site-header.tsx b/src/components/site-header.tsx index dca4996..70a2068 100644 --- a/src/components/site-header.tsx +++ b/src/components/site-header.tsx @@ -1,8 +1,6 @@ import {Separator} from "@/components/ui/separator" -import {SidebarTrigger} from "@/components/ui/sidebar" import {useAppSelector} from "@/hooks.ts"; import {App} from "@/models/app.ts" -import {Offerwall} from "@/pages/Offerwall.tsx"; const SiteHeader = () => { const app: App = useAppSelector(state => state.app) @@ -10,13 +8,8 @@ const SiteHeader = () => { return (
-
- +
-

{app.currentPage === 'offerwall' && "Offerwall"} {app.currentPage === 'questions' && "Profiling Questions"} -- cgit v1.2.3