From a353d9801d8a92ccb333f6721931f720ce3defba Mon Sep 17 00:00:00 2001
From: Mohamed Bassem
Date: Sun, 18 Jan 2026 23:25:37 +0000
Subject: feat: disable karakeep 2025 wrapped
---
apps/web/app/dashboard/layout.tsx | 20 ++------------------
apps/web/app/dashboard/wrapped/page.tsx | 24 ------------------------
apps/web/app/settings/stats/page.tsx | 15 +--------------
3 files changed, 3 insertions(+), 56 deletions(-)
delete mode 100644 apps/web/app/dashboard/wrapped/page.tsx
(limited to 'apps')
diff --git a/apps/web/app/dashboard/layout.tsx b/apps/web/app/dashboard/layout.tsx
index 81b44a3c..be65e66a 100644
--- a/apps/web/app/dashboard/layout.tsx
+++ b/apps/web/app/dashboard/layout.tsx
@@ -16,7 +16,6 @@ import {
Highlighter,
Home,
Search,
- Sparkles,
Tag,
} from "lucide-react";
@@ -35,10 +34,9 @@ export default async function Dashboard({
redirect("/");
}
- const [lists, userSettings, showWrapped] = await Promise.all([
+ const [lists, userSettings] = await Promise.all([
tryCatch(api.lists.list()),
tryCatch(api.users.settings()),
- tryCatch(api.users.hasWrapped()),
]);
if (userSettings.error) {
@@ -57,10 +55,6 @@ export default async function Dashboard({
throw lists.error;
}
- if (showWrapped.error) {
- throw showWrapped.error;
- }
-
const items = (t: TFunction) =>
[
{
@@ -92,20 +86,10 @@ export default async function Dashboard({
icon: ,
path: "/dashboard/archive",
},
- // Only show wrapped if user has at least 20 bookmarks
- showWrapped.data
- ? [
- {
- name: t("wrapped.button"),
- icon: ,
- path: "/dashboard/wrapped",
- },
- ]
- : [],
].flat();
const mobileSidebar = (t: TFunction) => [
- ...items(t).filter((item) => item.path !== "/dashboard/wrapped"),
+ ...items(t),
{
name: t("lists.all_lists"),
icon: ,
diff --git a/apps/web/app/dashboard/wrapped/page.tsx b/apps/web/app/dashboard/wrapped/page.tsx
deleted file mode 100644
index f479aca7..00000000
--- a/apps/web/app/dashboard/wrapped/page.tsx
+++ /dev/null
@@ -1,24 +0,0 @@
-"use client";
-
-import { useEffect } from "react";
-import { useRouter } from "next/navigation";
-import { WrappedModal } from "@/components/wrapped";
-
-export default function WrappedPage() {
- const router = useRouter();
-
- const handleClose = () => {
- router.push("/dashboard/bookmarks");
- };
-
- // Always show the modal when this page is loaded
- useEffect(() => {
- // Prevent page from being scrollable when modal is open
- document.body.style.overflow = "hidden";
- return () => {
- document.body.style.overflow = "";
- };
- }, []);
-
- return ;
-}
diff --git a/apps/web/app/settings/stats/page.tsx b/apps/web/app/settings/stats/page.tsx
index 6f9db115..28c017f5 100644
--- a/apps/web/app/settings/stats/page.tsx
+++ b/apps/web/app/settings/stats/page.tsx
@@ -1,12 +1,10 @@
"use client";
-import { useMemo, useState } from "react";
+import { useMemo } from "react";
import { Badge } from "@/components/ui/badge";
-import { Button } from "@/components/ui/button";
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
import { Progress } from "@/components/ui/progress";
import { Skeleton } from "@/components/ui/skeleton";
-import { WrappedModal } from "@/components/wrapped";
import { useTranslation } from "@/lib/i18n/client";
import { api } from "@/lib/trpc";
import {
@@ -28,7 +26,6 @@ import {
List,
Rss,
Smartphone,
- Sparkles,
TrendingUp,
Upload,
Zap,
@@ -165,8 +162,6 @@ export default function StatsPage() {
const { t } = useTranslation();
const { data: stats, isLoading } = api.users.stats.useQuery();
const { data: userSettings } = api.users.settings.useQuery();
- const { data: hasWrapped } = api.users.hasWrapped.useQuery();
- const [showWrapped, setShowWrapped] = useState(false);
const maxHourlyActivity = useMemo(() => {
if (!stats) return 0;
@@ -241,16 +236,8 @@ export default function StatsPage() {
)}
- {hasWrapped && (
-
- )}
- setShowWrapped(false)} />
-
{/* Overview Stats */}