nyuchimzizi
Mzizi — an open-architecture project of the Bundu Foundation, operated and developed by Nyuchi. Built on the Five African Minerals palette.
Built by Nyuchi Africav4.0.39
Transaction history page. Filterable list of all transactions with date grouping, search, and export. Shows transaction type, status, amount, and counterparty.
View the full component source code below.
"use client"
import * as React from "react"
import { cn } from "@/lib/utils"
import { useNyuchiHarness } from "@/lib/harness"
interface TransactionHistoryPageProps {
filters?: React.ReactNode
children?: React.ReactNode
loading?: boolean
className?: string
}
export function TransactionHistoryPage({ filters, children, loading = false, className }: TransactionHistoryPageProps) {
const { log, motion, LiveRegion } = useNyuchiHarness("transaction-history-page")
const animStyle = React.useMemo(() => motion.prefersReduced ? {} : { animation: `nyuchi-fade-slide-up ${motion.enterDuration}ms ${motion.enterEasing} both` }, [motion])
if (loading) return <main data-slot="transaction-history-page" data-portal="https://design.nyuchi.com/components/transaction-history-page" data-loading role="main" className="p-4 space-y-3 animate-pulse">{[1,2,3,4,5].map(i=><div key={i} className="h-16 rounded-[var(--radius-lg,14px)] bg-muted" />)}</main>
return (
<main data-slot="transaction-history-page" role="main" aria-label="Transaction History" style={animStyle} className={cn("flex flex-col gap-4 p-4", className)}>
<h1 className="text-xl font-bold">Transactions</h1>
{filters && <section aria-label="Filters">{filters}</section>}
<section aria-label="Transaction list" className="flex flex-col gap-2">{children}</section>
</main>
)
}
export type { TransactionHistoryPageProps }npx shadcn@latest add https://mzizi.dev/api/v1/ui/transaction-history-pageFetch this component's metadata and source code from the registry API.
/api/v1/ui/transaction-history-page