@@ -217,6 +229,54 @@ export default function HelperReportsPage() {
Loading payouts...
+ ) : showPayoutPreview ? (
+ <>
+
+ {PAYOUT_PREVIEW_ROWS.map((payout) => (
+
+ ))}
+ >
) : payouts.length === 0 ? (
@@ -296,8 +356,17 @@ export default function HelperReportsPage() {
{/* Monthly Reports Tab Content */}
{activeTab === "monthly" && (
-
- Monthly reports content would go here
+
+ {REPORTS_MONTHLY_PREVIEW_DISCLAIMER}
+
+ {MONTHLY_PREVIEW_STATS.map((row) => (
+
+ Preview
+ {row.label}
+ {row.value}
+
+ ))}
+
)}
diff --git a/src/app/helper/support/page.tsx b/src/app/helper/support/page.tsx
index f64e271..802a2ea 100644
--- a/src/app/helper/support/page.tsx
+++ b/src/app/helper/support/page.tsx
@@ -9,6 +9,11 @@ import { Avatar, AvatarFallback } from "@/components/ui/avatar"
import { Card, CardContent } from "@/components/ui/card"
import { Clock, Users, Plus, Sparkles } from "lucide-react"
import { useMemo } from "react"
+import { toast } from "sonner"
+import {
+ SUPPORT_TICKET_PREVIEW_CARDS,
+ SUPPORT_TICKETS_PREVIEW_DISCLAIMER,
+} from "@/lib/helper-area-preview-copy"
import { useProjectSelection } from "@/contexts/project-context"
import { useTicketsWithDetails } from "@/hooks/useTicketsWithDetails"
import { useProjectPaymentSettings } from "@/hooks/useProject"
@@ -111,6 +116,18 @@ export default function HelperSupportPage() {
const todayFormatted = formatDuration(todayMinutes)
+ const showSupportTicketPreview =
+ !!projectId &&
+ !ticketsLoading &&
+ availableTickets.length === 0 &&
+ activeTickets.length === 0
+
+ const previewRates = rates ?? {
+ startPrice: "USD 10.00",
+ first60: "USD 1.50/min",
+ after60: "USD 1.00/min",
+ }
+
return (
@@ -172,7 +189,103 @@ export default function HelperSupportPage() {
{/* Available Tickets */}
Available Tickets
- {formattedAvailable.length === 0 ? (
+ {formattedAvailable.length === 0 && showSupportTicketPreview ? (
+
+
+ {SUPPORT_TICKETS_PREVIEW_DISCLAIMER}
+
+ {SUPPORT_TICKET_PREVIEW_CARDS.map((ticket) => (
+
+
+
+
+ {ticket.avatar}
+
+
+
+
+ {ticket.title}
+
+ Preview
+
+ • {ticket.timestamp}
+
+ {ticket.description}
+
+
+ {ticket.topics.length > 0 && (
+
+ Other topics
+
+ {ticket.topics.map((topic) => (
+
+ {topic}
+
+ ))}
+
+
+ )}
+
+
+ Type of help
+
+ {ticket.helpType}
+
+
+
+
+ Rates
+
+
+ Start price
+ {previewRates.startPrice}
+
+
+ First 60 min
+ {previewRates.first60}
+
+
+ After 60 min
+ {previewRates.after60}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ))}
+
+ ) : formattedAvailable.length === 0 ? (
No available tickets right now.
) : (
formattedAvailable.map((ticket) => (
diff --git a/src/app/helpers/page.tsx b/src/app/helpers/page.tsx
index b43f1a0..fcfd33f 100644
--- a/src/app/helpers/page.tsx
+++ b/src/app/helpers/page.tsx
@@ -19,6 +19,10 @@ import { useCreateProjectInvite, useListProjectInvites, useRevokeProjectInvite }
import { useProjectSelection } from "@/contexts/project-context"
import { useUser } from "@/contexts/user-context"
import Link from "next/link"
+import {
+ HELPER_LIST_PREVIEW_DISCLAIMER,
+ HELPER_PREVIEW_PLACEHOLDERS,
+} from "@/lib/helper-preview-placeholders"
const GithubIcon = ({ className }: { className?: string }) => (
|