{quickLinks.map((link) => (
@@ -77,3 +81,68 @@ export function AboutGeneral() {
);
}
+
+interface Metrics {
+ statistics: {
+ channelCount: {
+ vtuber?: number;
+ subber?: number;
+ };
+ monthlyChannels: {
+ vtuber?: number;
+ subber?: number;
+ };
+ totalVideos: {
+ count?: number;
+ };
+ dailyVideos: {
+ count?: number;
+ };
+ totalSongs: {
+ count?: number;
+ };
+ };
+}
+function StatsBlock() {
+ const { data: stats, isSuccess } = useQuery({
+ queryKey: ["stats"],
+ queryFn: () => fetch("/statics/stats.json").then((res) => res.json()),
+ staleTime: 50000,
+ });
+
+ if (!isSuccess || !stats) {
+ // return a loading state using Shadcn
+ return
+>(({ className, ...props }, ref) => (
+
+))
+Card.displayName = "Card"
+
+const CardHeader = React.forwardRef<
+ HTMLDivElement,
+ React.HTMLAttributes
+>(({ className, ...props }, ref) => (
+
+))
+CardHeader.displayName = "CardHeader"
+
+const CardTitle = React.forwardRef<
+ HTMLParagraphElement,
+ React.HTMLAttributes
+>(({ className, ...props }, ref) => (
+
+))
+CardTitle.displayName = "CardTitle"
+
+const CardDescription = React.forwardRef<
+ HTMLParagraphElement,
+ React.HTMLAttributes
+>(({ className, ...props }, ref) => (
+
+))
+CardDescription.displayName = "CardDescription"
+
+const CardContent = React.forwardRef<
+ HTMLDivElement,
+ React.HTMLAttributes
+>(({ className, ...props }, ref) => (
+
+))
+CardContent.displayName = "CardContent"
+
+const CardFooter = React.forwardRef<
+ HTMLDivElement,
+ React.HTMLAttributes
+>(({ className, ...props }, ref) => (
+
+))
+CardFooter.displayName = "CardFooter"
+
+export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent }
Loading...
;
+ }
+
+ return (
+
+
+
+
+
+
+ );
+}
diff --git a/packages/react/src/shadcn/ui/button.variants.ts b/packages/react/src/shadcn/ui/button.variants.ts
index a686007c5..15458ad16 100644
--- a/packages/react/src/shadcn/ui/button.variants.ts
+++ b/packages/react/src/shadcn/ui/button.variants.ts
@@ -9,8 +9,10 @@ export const buttonVariants = cva(
"bg-base-3 text-base-12 hover:bg-base-4 focus-visible:ring-primary-7 active:bg-primaryA-7",
outline:
"border border-primary-7 bg-transparent hover:border-primaryA-8 hover:bg-primaryA-5 focus-visible:ring-primary-7",
+ primary:
+ "bg-primary-9 text-base-12 hover:bg-primaryA-4 focus-visible:ring-primary-7",
secondary:
- "bg-secondary-9 text-base-12 hover:bg-secondaryA-4 focus-visible:ring-secondary-7 ",
+ "bg-secondary-9 text-base-12 hover:bg-secondaryA-4 focus-visible:ring-secondary-7",
ghost:
"hover:bg-base-4 hover:text-base-12 focus-visible:ring-primary-7 active:bg-primaryA-7",
"ghost-yt":
diff --git a/packages/react/src/shadcn/ui/card.tsx b/packages/react/src/shadcn/ui/card.tsx
new file mode 100644
index 000000000..522b7c91a
--- /dev/null
+++ b/packages/react/src/shadcn/ui/card.tsx
@@ -0,0 +1,69 @@
+import * as React from "react"
+
+import { cn } from "@/lib/utils"
+
+const Card = React.forwardRef<
+ HTMLDivElement,
+ React.HTMLAttributes