fix: disable route prefetching app-wide to avoid spurious requests

Wrap next/link in a shared Link component that ships prefetch=false by
default, so no route is ever prefetched (viewport or hover) anymore, and
drop the DNS prefetch hint. Removes hidden background requests that were
the source of intermittent issues.
This commit is contained in:
openhands committed 2026-08-29 19:27:13 +02:00
1 parent 944e8ff1d8
commit 7a41775c7e
136 files changed
+141 -143

No files matched your search

+1 -1
View File
@@ -1,5 +1,5 @@
import Link from "next/link";
import { useTranslations } from "next-intl"; import { useTranslations } from "next-intl";
import Link from "@/components/link";
import { ContentCard } from "@/components/public/ui"; import { ContentCard } from "@/components/public/ui";
export const metadata = { title: "Community" }; export const metadata = { title: "Community" };
+1 -1
View File
@@ -1,10 +1,10 @@
"use client"; "use client";
import { Home, RefreshCw } from "lucide-react"; import { Home, RefreshCw } from "lucide-react";
import Link from "next/link";
import { useTranslations } from "next-intl"; import { useTranslations } from "next-intl";
import { useEffect } from "react"; import { useEffect } from "react";
import { ErrorScreen } from "@/components/error-screen"; import { ErrorScreen } from "@/components/error-screen";
import Link from "@/components/link";
/** /**
* Site route-segment error boundary. Renders inside the site shell layout. * Site route-segment error boundary. Renders inside the site shell layout.
+1 -1
View File
@@ -1,8 +1,8 @@
import { and, asc, count, eq, inArray } from "drizzle-orm"; import { and, asc, count, eq, inArray } from "drizzle-orm";
import Image from "next/image"; import Image from "next/image";
import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import Link from "@/components/link";
import { ContentCard, EmptyState } from "@/components/public/ui"; import { ContentCard, EmptyState } from "@/components/public/ui";
import { auth } from "@/lib/auth"; import { auth } from "@/lib/auth";
import { import {
+1 -1
View File
@@ -1,7 +1,7 @@
import { count, desc, eq, inArray } from "drizzle-orm"; import { count, desc, eq, inArray } from "drizzle-orm";
import Image from "next/image"; import Image from "next/image";
import Link from "next/link";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import Link from "@/components/link";
import { ContentCard, EmptyState } from "@/components/public/ui"; import { ContentCard, EmptyState } from "@/components/public/ui";
import { import {
db, db,
+1 -1
View File
@@ -1,8 +1,8 @@
import { headers } from "next/headers"; import { headers } from "next/headers";
import Link from "next/link";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import { requestReset } from "@/actions/password-reset"; import { requestReset } from "@/actions/password-reset";
import { CaptchaWidget } from "@/components/auth/captcha-widget"; import { CaptchaWidget } from "@/components/auth/captcha-widget";
import Link from "@/components/link";
import { ContentCard } from "@/components/public/ui"; import { ContentCard } from "@/components/public/ui";
import { captchaConfig } from "@/lib/services/captcha"; import { captchaConfig } from "@/lib/services/captcha";
+1 -1
View File
@@ -1,9 +1,9 @@
import { asc, eq, inArray, or } from "drizzle-orm"; import { asc, eq, inArray, or } from "drizzle-orm";
import Link from "next/link";
import { redirect } from "next/navigation"; import { redirect } from "next/navigation";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import type { CSSProperties } from "react"; import type { CSSProperties } from "react";
import { removeFriendship } from "@/actions/messenger"; import { removeFriendship } from "@/actions/messenger";
import Link from "@/components/link";
import { ContentCard, EmptyState, OnlineBadge } from "@/components/public/ui"; import { ContentCard, EmptyState, OnlineBadge } from "@/components/public/ui";
import { UserAvatarThumbnail } from "@/components/shared/user-avatar-thumbnail"; import { UserAvatarThumbnail } from "@/components/shared/user-avatar-thumbnail";
import { auth } from "@/lib/auth"; import { auth } from "@/lib/auth";
@@ -1,9 +1,9 @@
import { and, asc, eq, inArray } from "drizzle-orm"; import { and, asc, eq, inArray } from "drizzle-orm";
import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import type { CSSProperties } from "react"; import type { CSSProperties } from "react";
import { replyToThread } from "@/actions/social"; import { replyToThread } from "@/actions/social";
import Link from "@/components/link";
import { ContentCard, EmptyState } from "@/components/public/ui"; import { ContentCard, EmptyState } from "@/components/public/ui";
import { auth } from "@/lib/auth"; import { auth } from "@/lib/auth";
import { import {
@@ -1,9 +1,9 @@
import { eq } from "drizzle-orm"; import { eq } from "drizzle-orm";
import Link from "next/link";
import { notFound, redirect } from "next/navigation"; import { notFound, redirect } from "next/navigation";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import type { CSSProperties } from "react"; import type { CSSProperties } from "react";
import { postThread } from "@/actions/social"; import { postThread } from "@/actions/social";
import Link from "@/components/link";
import { ContentCard } from "@/components/public/ui"; import { ContentCard } from "@/components/public/ui";
import { auth } from "@/lib/auth"; import { auth } from "@/lib/auth";
import { db, Guilds } from "@/lib/db"; import { db, Guilds } from "@/lib/db";
+1 -1
View File
@@ -1,8 +1,8 @@
import { and, desc, eq, inArray } from "drizzle-orm"; import { and, desc, eq, inArray } from "drizzle-orm";
import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import type { CSSProperties } from "react"; import type { CSSProperties } from "react";
import Link from "@/components/link";
import { ContentCard, EmptyState } from "@/components/public/ui"; import { ContentCard, EmptyState } from "@/components/public/ui";
import { db, Guilds, GuildsForumsThreads, User } from "@/lib/db"; import { db, Guilds, GuildsForumsThreads, User } from "@/lib/db";
import { formatDate } from "@/lib/format-date"; import { formatDate } from "@/lib/format-date";
+1 -1
View File
@@ -1,7 +1,7 @@
import { asc, eq, inArray } from "drizzle-orm"; import { asc, eq, inArray } from "drizzle-orm";
import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import Link from "@/components/link";
import { ContentCard, EmptyState, StatBlock } from "@/components/public/ui"; import { ContentCard, EmptyState, StatBlock } from "@/components/public/ui";
import { UserAvatarThumbnail } from "@/components/shared/user-avatar-thumbnail"; import { UserAvatarThumbnail } from "@/components/shared/user-avatar-thumbnail";
import { db, Guilds, GuildsMembers, User } from "@/lib/db"; import { db, Guilds, GuildsMembers, User } from "@/lib/db";
+1 -1
View File
@@ -1,6 +1,6 @@
import { desc } from "drizzle-orm"; import { desc } from "drizzle-orm";
import Link from "next/link";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import Link from "@/components/link";
import { ContentCard, EmptyState } from "@/components/public/ui"; import { ContentCard, EmptyState } from "@/components/public/ui";
import { db, Guilds } from "@/lib/db"; import { db, Guilds } from "@/lib/db";
import { excerpt } from "@/lib/format"; import { excerpt } from "@/lib/format";
+1 -1
View File
@@ -1,7 +1,7 @@
import { asc, eq, ne } from "drizzle-orm"; import { asc, eq, ne } from "drizzle-orm";
import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import Link from "@/components/link";
import { ContentCard } from "@/components/public/ui"; import { ContentCard } from "@/components/public/ui";
import { SanitizedHtml } from "@/components/shared/sanitized-html"; import { SanitizedHtml } from "@/components/shared/sanitized-html";
import { db, WebsiteHelpCenterCategories } from "@/lib/db"; import { db, WebsiteHelpCenterCategories } from "@/lib/db";
+1 -1
View File
@@ -1,6 +1,6 @@
import { asc } from "drizzle-orm"; import { asc } from "drizzle-orm";
import Link from "next/link";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import Link from "@/components/link";
import { ContentCard, EmptyState } from "@/components/public/ui"; import { ContentCard, EmptyState } from "@/components/public/ui";
import { import {
db, db,
+1 -1
View File
@@ -1,9 +1,9 @@
import { asc, eq, inArray } from "drizzle-orm"; import { asc, eq, inArray } from "drizzle-orm";
import Link from "next/link";
import { notFound, redirect } from "next/navigation"; import { notFound, redirect } from "next/navigation";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import type { CSSProperties } from "react"; import type { CSSProperties } from "react";
import { closeHelpTicket, replyHelpTicket } from "@/actions/help-tickets"; import { closeHelpTicket, replyHelpTicket } from "@/actions/help-tickets";
import Link from "@/components/link";
import { ContentCard } from "@/components/public/ui"; import { ContentCard } from "@/components/public/ui";
import { positiveBigInt } from "@/lib/api"; import { positiveBigInt } from "@/lib/api";
import { auth } from "@/lib/auth"; import { auth } from "@/lib/auth";
+1 -1
View File
@@ -1,9 +1,9 @@
import { desc, eq } from "drizzle-orm"; import { desc, eq } from "drizzle-orm";
import Link from "next/link";
import { redirect } from "next/navigation"; import { redirect } from "next/navigation";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import type { CSSProperties } from "react"; import type { CSSProperties } from "react";
import { createTicket } from "@/actions/help-tickets"; import { createTicket } from "@/actions/help-tickets";
import Link from "@/components/link";
import { ContentCard, EmptyState, StatBlock } from "@/components/public/ui"; import { ContentCard, EmptyState, StatBlock } from "@/components/public/ui";
import { auth } from "@/lib/auth"; import { auth } from "@/lib/auth";
import { db, WebsiteHelpCenterTickets } from "@/lib/db"; import { db, WebsiteHelpCenterTickets } from "@/lib/db";
+1 -1
View File
@@ -1,6 +1,6 @@
import { desc, eq } from "drizzle-orm"; import { desc, eq } from "drizzle-orm";
import Link from "next/link";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import Link from "@/components/link";
import { ContentCard, EmptyState, RankBadge } from "@/components/public/ui"; import { ContentCard, EmptyState, RankBadge } from "@/components/public/ui";
import { import {
CurrencyIcon, CurrencyIcon,
+1 -1
View File
@@ -1,11 +1,11 @@
import { count, desc, eq } from "drizzle-orm"; import { count, desc, eq } from "drizzle-orm";
import { headers } from "next/headers"; import { headers } from "next/headers";
import Image from "next/image"; import Image from "next/image";
import Link from "next/link";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import { LoginForm } from "@/components/auth/login-form"; import { LoginForm } from "@/components/auth/login-form";
import { Clock } from "@/components/clock"; import { Clock } from "@/components/clock";
import { LanguageSwitcher } from "@/components/language-switcher"; import { LanguageSwitcher } from "@/components/language-switcher";
import Link from "@/components/link";
import { Reveal } from "@/components/motion-reveal"; import { Reveal } from "@/components/motion-reveal";
import { UserAvatarThumbnail } from "@/components/shared/user-avatar-thumbnail"; import { UserAvatarThumbnail } from "@/components/shared/user-avatar-thumbnail";
import { SurfaceCard } from "@/components/surface-card"; import { SurfaceCard } from "@/components/surface-card";
+1 -2
View File
@@ -1,9 +1,9 @@
import { and, asc, count, desc, eq, gt, or } from "drizzle-orm"; import { and, asc, count, desc, eq, gt, or } from "drizzle-orm";
import Image from "next/image"; import Image from "next/image";
import Link from "next/link";
import { redirect } from "next/navigation"; import { redirect } from "next/navigation";
import type { CSSProperties, ReactNode } from "react"; import type { CSSProperties, ReactNode } from "react";
import { claimReferral } from "@/actions/referral"; import { claimReferral } from "@/actions/referral";
import Link from "@/components/link";
import { Reveal } from "@/components/motion-reveal"; import { Reveal } from "@/components/motion-reveal";
import { UserAvatarThumbnail } from "@/components/shared/user-avatar-thumbnail"; import { UserAvatarThumbnail } from "@/components/shared/user-avatar-thumbnail";
@@ -282,7 +282,6 @@ export default async function MePage({
/> />
<Link <Link
href="/client" href="/client"
prefetch={false}
className="btn-shine flex items-center justify-center gap-1.5 rounded-xl border py-2 px-4 font-extrabold text-xs transition-all duration-200 hover:scale-[1.02] active:scale-95 shadow-lg" className="btn-shine flex items-center justify-center gap-1.5 rounded-xl border py-2 px-4 font-extrabold text-xs transition-all duration-200 hover:scale-[1.02] active:scale-95 shadow-lg"
style={{ style={{
background: "var(--color-primary)", background: "var(--color-primary)",
+1 -1
View File
@@ -1,5 +1,4 @@
import { desc, eq, inArray, or } from "drizzle-orm"; import { desc, eq, inArray, or } from "drizzle-orm";
import Link from "next/link";
import { redirect } from "next/navigation"; import { redirect } from "next/navigation";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import type { CSSProperties } from "react"; import type { CSSProperties } from "react";
@@ -8,6 +7,7 @@ import {
declineFriendRequest, declineFriendRequest,
sendOfflineMessage, sendOfflineMessage,
} from "@/actions/messenger"; } from "@/actions/messenger";
import Link from "@/components/link";
import { ContentCard, EmptyState } from "@/components/public/ui"; import { ContentCard, EmptyState } from "@/components/public/ui";
import { UserAvatarThumbnail } from "@/components/shared/user-avatar-thumbnail"; import { UserAvatarThumbnail } from "@/components/shared/user-avatar-thumbnail";
import { auth } from "@/lib/auth"; import { auth } from "@/lib/auth";
+1 -1
View File
@@ -1,11 +1,11 @@
import { and, asc, eq, inArray } from "drizzle-orm"; import { and, asc, eq, inArray } from "drizzle-orm";
import type { Metadata } from "next"; import type { Metadata } from "next";
import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import type { CSSProperties } from "react"; import type { CSSProperties } from "react";
import { postComment } from "@/actions/article-comments"; import { postComment } from "@/actions/article-comments";
import { toggleReaction } from "@/actions/article-reactions"; import { toggleReaction } from "@/actions/article-reactions";
import Link from "@/components/link";
import { ContentCard, EmptyState } from "@/components/public/ui"; import { ContentCard, EmptyState } from "@/components/public/ui";
import { SanitizedHtml } from "@/components/shared/sanitized-html"; import { SanitizedHtml } from "@/components/shared/sanitized-html";
import { auth } from "@/lib/auth"; import { auth } from "@/lib/auth";
+1 -1
View File
@@ -1,6 +1,6 @@
import Image from "next/image"; import Image from "next/image";
import Link from "next/link";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import Link from "@/components/link";
import { ContentCard, EmptyState } from "@/components/public/ui"; import { ContentCard, EmptyState } from "@/components/public/ui";
import { excerpt } from "@/lib/format"; import { excerpt } from "@/lib/format";
import { formatDate } from "@/lib/format-date"; import { formatDate } from "@/lib/format-date";
+1 -1
View File
@@ -1,7 +1,6 @@
import { count, desc, eq } from "drizzle-orm"; import { count, desc, eq } from "drizzle-orm";
import { headers } from "next/headers"; import { headers } from "next/headers";
import Image from "next/image"; import Image from "next/image";
import Link from "next/link";
import { redirect } from "next/navigation"; import { redirect } from "next/navigation";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import { AmbientOrbs } from "@/components/ambient-orbs"; import { AmbientOrbs } from "@/components/ambient-orbs";
@@ -9,6 +8,7 @@ import { AnimatedCounter } from "@/components/animated-counter";
import { HomeLoginForm } from "@/components/auth/home-login-form"; import { HomeLoginForm } from "@/components/auth/home-login-form";
import { Clock } from "@/components/clock"; import { Clock } from "@/components/clock";
import { LanguageSwitcher } from "@/components/language-switcher"; import { LanguageSwitcher } from "@/components/language-switcher";
import Link from "@/components/link";
import { Reveal } from "@/components/motion-reveal"; import { Reveal } from "@/components/motion-reveal";
import { UserAvatarThumbnail } from "@/components/shared/user-avatar-thumbnail"; import { UserAvatarThumbnail } from "@/components/shared/user-avatar-thumbnail";
import { SurfaceCard } from "@/components/surface-card"; import { SurfaceCard } from "@/components/surface-card";
+1 -1
View File
@@ -1,7 +1,7 @@
import { and, asc, eq, inArray } from "drizzle-orm"; import { and, asc, eq, inArray } from "drizzle-orm";
import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import Link from "@/components/link";
import { ContentCard, EmptyState } from "@/components/public/ui"; import { ContentCard, EmptyState } from "@/components/public/ui";
import { auth } from "@/lib/auth"; import { auth } from "@/lib/auth";
import { import {
+1 -1
View File
@@ -1,6 +1,6 @@
import { and, count, desc, inArray, isNull, lte, or } from "drizzle-orm"; import { and, count, desc, inArray, isNull, lte, or } from "drizzle-orm";
import Link from "next/link";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import Link from "@/components/link";
import { ContentCard, EmptyState } from "@/components/public/ui"; import { ContentCard, EmptyState } from "@/components/public/ui";
import { db, WebsitePoll, WebsitePollQuestion } from "@/lib/db"; import { db, WebsitePoll, WebsitePollQuestion } from "@/lib/db";
import { excerpt } from "@/lib/format"; import { excerpt } from "@/lib/format";
+1 -1
View File
@@ -1,7 +1,7 @@
import { eq } from "drizzle-orm"; import { eq } from "drizzle-orm";
import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import Link from "@/components/link";
import { ContentCard } from "@/components/public/ui"; import { ContentCard } from "@/components/public/ui";
import { db, RadioContests } from "@/lib/db"; import { db, RadioContests } from "@/lib/db";
import { formatDate } from "@/lib/format-date"; import { formatDate } from "@/lib/format-date";
+1 -1
View File
@@ -1,6 +1,6 @@
import { desc, eq } from "drizzle-orm"; import { desc, eq } from "drizzle-orm";
import Link from "next/link";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import Link from "@/components/link";
import { ContentCard, EmptyState } from "@/components/public/ui"; import { ContentCard, EmptyState } from "@/components/public/ui";
import { db, RadioContests } from "@/lib/db"; import { db, RadioContests } from "@/lib/db";
import { formatDate } from "@/lib/format-date"; import { formatDate } from "@/lib/format-date";
+1 -1
View File
@@ -1,7 +1,7 @@
import { eq } from "drizzle-orm"; import { eq } from "drizzle-orm";
import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import Link from "@/components/link";
import { ContentCard } from "@/components/public/ui"; import { ContentCard } from "@/components/public/ui";
import { db, RadioGiveaways } from "@/lib/db"; import { db, RadioGiveaways } from "@/lib/db";
import { formatDate } from "@/lib/format-date"; import { formatDate } from "@/lib/format-date";
+1 -1
View File
@@ -1,6 +1,6 @@
import { desc, eq } from "drizzle-orm"; import { desc, eq } from "drizzle-orm";
import Link from "next/link";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import Link from "@/components/link";
import { ContentCard, EmptyState } from "@/components/public/ui"; import { ContentCard, EmptyState } from "@/components/public/ui";
import { db, RadioGiveaways } from "@/lib/db"; import { db, RadioGiveaways } from "@/lib/db";
import { formatDate } from "@/lib/format-date"; import { formatDate } from "@/lib/format-date";
+1 -1
View File
@@ -1,6 +1,6 @@
import Link from "next/link";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import type { ReactNode } from "react"; import type { ReactNode } from "react";
import Link from "@/components/link";
const RADIO_SIDEBAR_LINKS = [ const RADIO_SIDEBAR_LINKS = [
{ key: "schedule", href: "/radio/schedule", icon: "🗓️" }, { key: "schedule", href: "/radio/schedule", icon: "🗓️" },
+1 -1
View File
@@ -1,6 +1,6 @@
import { sql } from "drizzle-orm"; import { sql } from "drizzle-orm";
import Link from "next/link";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import Link from "@/components/link";
import { ContentCard, EmptyState, RankBadge } from "@/components/public/ui"; import { ContentCard, EmptyState, RankBadge } from "@/components/public/ui";
import { UserAvatarThumbnail } from "@/components/shared/user-avatar-thumbnail"; import { UserAvatarThumbnail } from "@/components/shared/user-avatar-thumbnail";
import { db } from "@/lib/db"; import { db } from "@/lib/db";
+1 -1
View File
@@ -1,6 +1,6 @@
import { asc, eq, inArray } from "drizzle-orm"; import { asc, eq, inArray } from "drizzle-orm";
import Link from "next/link";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import Link from "@/components/link";
import { ContentCard, EmptyState, OnlineBadge } from "@/components/public/ui"; import { ContentCard, EmptyState, OnlineBadge } from "@/components/public/ui";
import { db, RadioSchedules, User } from "@/lib/db"; import { db, RadioSchedules, User } from "@/lib/db";
import { siteSettings } from "@/lib/services/site-settings"; import { siteSettings } from "@/lib/services/site-settings";
+1 -1
View File
@@ -1,6 +1,6 @@
import { desc } from "drizzle-orm"; import { desc } from "drizzle-orm";
import Link from "next/link";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import Link from "@/components/link";
import { import {
ContentCard, ContentCard,
EmptyState, EmptyState,
+1 -1
View File
@@ -1,7 +1,7 @@
import { asc, eq } from "drizzle-orm"; import { asc, eq } from "drizzle-orm";
import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import Link from "@/components/link";
import { ContentCard, EmptyState } from "@/components/public/ui"; import { ContentCard, EmptyState } from "@/components/public/ui";
import { db, WebsiteRareValueCategories, WebsiteRareValues } from "@/lib/db"; import { db, WebsiteRareValueCategories, WebsiteRareValues } from "@/lib/db";
import { siteSettings } from "@/lib/services/site-settings"; import { siteSettings } from "@/lib/services/site-settings";
+1 -1
View File
@@ -1,6 +1,6 @@
import { asc, count } from "drizzle-orm"; import { asc, count } from "drizzle-orm";
import Link from "next/link";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import Link from "@/components/link";
import { ContentCard, EmptyState } from "@/components/public/ui"; import { ContentCard, EmptyState } from "@/components/public/ui";
import { db, WebsiteRareValueCategories, WebsiteRareValues } from "@/lib/db"; import { db, WebsiteRareValueCategories, WebsiteRareValues } from "@/lib/db";
import { siteSettings } from "@/lib/services/site-settings"; import { siteSettings } from "@/lib/services/site-settings";
+1 -1
View File
@@ -1,11 +1,11 @@
import { count, desc, eq } from "drizzle-orm"; import { count, desc, eq } from "drizzle-orm";
import { headers } from "next/headers"; import { headers } from "next/headers";
import Image from "next/image"; import Image from "next/image";
import Link from "next/link";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import { RegisterForm } from "@/components/auth/register-form"; import { RegisterForm } from "@/components/auth/register-form";
import { Clock } from "@/components/clock"; import { Clock } from "@/components/clock";
import { LanguageSwitcher } from "@/components/language-switcher"; import { LanguageSwitcher } from "@/components/language-switcher";
import Link from "@/components/link";
import { Reveal } from "@/components/motion-reveal"; import { Reveal } from "@/components/motion-reveal";
import { UserAvatarThumbnail } from "@/components/shared/user-avatar-thumbnail"; import { UserAvatarThumbnail } from "@/components/shared/user-avatar-thumbnail";
import { SurfaceCard } from "@/components/surface-card"; import { SurfaceCard } from "@/components/surface-card";
+1 -1
View File
@@ -1,6 +1,6 @@
import Link from "next/link";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import { resetPassword } from "@/actions/password-reset"; import { resetPassword } from "@/actions/password-reset";
import Link from "@/components/link";
import { ContentCard } from "@/components/public/ui"; import { ContentCard } from "@/components/public/ui";
export default async function ResetPage({ export default async function ResetPage({
+1 -1
View File
@@ -1,7 +1,7 @@
import { eq } from "drizzle-orm"; import { eq } from "drizzle-orm";
import type { Metadata } from "next"; import type { Metadata } from "next";
import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import Link from "@/components/link";
import { ContentCard, EmptyState, StatBlock } from "@/components/public/ui"; import { ContentCard, EmptyState, StatBlock } from "@/components/public/ui";
import { db, Rooms, User } from "@/lib/db"; import { db, Rooms, User } from "@/lib/db";
+1 -1
View File
@@ -1,6 +1,6 @@
import { and, eq, like } from "drizzle-orm"; import { and, eq, like } from "drizzle-orm";
import type { Metadata } from "next"; import type { Metadata } from "next";
import Link from "next/link"; import Link from "@/components/link";
import { UserAvatarThumbnail } from "@/components/shared/user-avatar-thumbnail"; import { UserAvatarThumbnail } from "@/components/shared/user-avatar-thumbnail";
import { SurfaceCard } from "@/components/surface-card"; import { SurfaceCard } from "@/components/surface-card";
import { db, Rooms, User } from "@/lib/db"; import { db, Rooms, User } from "@/lib/db";
+1 -1
View File
@@ -1,5 +1,4 @@
import { eq } from "drizzle-orm"; import { eq } from "drizzle-orm";
import Link from "next/link";
import { redirect } from "next/navigation"; import { redirect } from "next/navigation";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import { import {
@@ -7,6 +6,7 @@ import {
confirmTwoFactor, confirmTwoFactor,
disableTwoFactor, disableTwoFactor,
} from "@/actions/twofactor"; } from "@/actions/twofactor";
import Link from "@/components/link";
import { ContentCard } from "@/components/public/ui"; import { ContentCard } from "@/components/public/ui";
import { env } from "@/env"; import { env } from "@/env";
import { auth } from "@/lib/auth"; import { auth } from "@/lib/auth";
+1 -1
View File
@@ -1,9 +1,9 @@
import { eq } from "drizzle-orm"; import { eq } from "drizzle-orm";
import Image from "next/image"; import Image from "next/image";
import Link from "next/link";
import { redirect } from "next/navigation"; import { redirect } from "next/navigation";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import { updateMotto } from "@/actions/user-settings"; import { updateMotto } from "@/actions/user-settings";
import Link from "@/components/link";
import { Reveal } from "@/components/motion-reveal"; import { Reveal } from "@/components/motion-reveal";
import { SurfaceCard } from "@/components/surface-card"; import { SurfaceCard } from "@/components/surface-card";
import { auth } from "@/lib/auth"; import { auth } from "@/lib/auth";
+1 -1
View File
@@ -1,8 +1,8 @@
import { asc, eq } from "drizzle-orm"; import { asc, eq } from "drizzle-orm";
import Link from "next/link";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import type { CSSProperties } from "react"; import type { CSSProperties } from "react";
import { buyShopArticle } from "@/actions/shop"; import { buyShopArticle } from "@/actions/shop";
import Link from "@/components/link";
import { ContentCard, EmptyState } from "@/components/public/ui"; import { ContentCard, EmptyState } from "@/components/public/ui";
import { CurrencyIcon } from "@/components/shared/currency-icon"; import { CurrencyIcon } from "@/components/shared/currency-icon";
import { auth } from "@/lib/auth"; import { auth } from "@/lib/auth";
+1 -1
View File
@@ -1,6 +1,6 @@
import { asc, desc, eq, gte } from "drizzle-orm"; import { asc, desc, eq, gte } from "drizzle-orm";
import Link from "next/link";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import Link from "@/components/link";
import { ContentCard, EmptyState } from "@/components/public/ui"; import { ContentCard, EmptyState } from "@/components/public/ui";
import { db, User, WebsiteTeams } from "@/lib/db"; import { db, User, WebsiteTeams } from "@/lib/db";
import { siteSettings } from "@/lib/services/site-settings"; import { siteSettings } from "@/lib/services/site-settings";
+1 -1
View File
@@ -1,11 +1,11 @@
import { and, asc, desc, eq, inArray, or } from "drizzle-orm"; import { and, asc, desc, eq, inArray, or } from "drizzle-orm";
import type { Metadata } from "next"; import type { Metadata } from "next";
import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import type { CSSProperties } from "react"; import type { CSSProperties } from "react";
import { postGuestbook } from "@/actions/guestbook"; import { postGuestbook } from "@/actions/guestbook";
import { sendFriendRequest } from "@/actions/social"; import { sendFriendRequest } from "@/actions/social";
import Link from "@/components/link";
import { import {
ContentCard, ContentCard,
EmptyState, EmptyState,
+1 -1
View File
@@ -1,8 +1,8 @@
import { eq } from "drizzle-orm"; import { eq } from "drizzle-orm";
import { CheckCircle2, Clock, MailX } from "lucide-react"; import { CheckCircle2, Clock, MailX } from "lucide-react";
import Link from "next/link";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import { isValidVerificationToken } from "@/actions/email-verify"; import { isValidVerificationToken } from "@/actions/email-verify";
import Link from "@/components/link";
import { SurfaceCard } from "@/components/surface-card"; import { SurfaceCard } from "@/components/surface-card";
import { db, User } from "@/lib/db"; import { db, User } from "@/lib/db";
+1 -1
View File
@@ -1,9 +1,9 @@
import { eq } from "drizzle-orm"; import { eq } from "drizzle-orm";
import { Megaphone } from "lucide-react"; import { Megaphone } from "lucide-react";
import Link from "next/link";
import { notFound, redirect } from "next/navigation"; import { notFound, redirect } from "next/navigation";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import { updateAd } from "@/actions/admin-ads"; import { updateAd } from "@/actions/admin-ads";
import Link from "@/components/link";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
import { db, WebsiteAds } from "@/lib/db"; import { db, WebsiteAds } from "@/lib/db";
import { canAccess, getAdminContext, PERMS } from "@/lib/permissions"; import { canAccess, getAdminContext, PERMS } from "@/lib/permissions";
+1 -1
View File
@@ -1,10 +1,10 @@
"use client"; "use client";
import { Trash2 } from "lucide-react"; import { Trash2 } from "lucide-react";
import Link from "next/link";
import { useTranslations } from "next-intl"; import { useTranslations } from "next-intl";
import { deleteAd } from "@/actions/admin-ads"; import { deleteAd } from "@/actions/admin-ads";
import { useConfirmDialog } from "@/components/admin/confirm-dialog"; import { useConfirmDialog } from "@/components/admin/confirm-dialog";
import Link from "@/components/link";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
import { useServerAction } from "@/hooks/use-server-action"; import { useServerAction } from "@/hooks/use-server-action";
+1 -1
View File
@@ -1,7 +1,7 @@
import { Megaphone } from "lucide-react"; import { Megaphone } from "lucide-react";
import Link from "next/link";
import { redirect } from "next/navigation"; import { redirect } from "next/navigation";
import { createAd } from "@/actions/admin-ads"; import { createAd } from "@/actions/admin-ads";
import Link from "@/components/link";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
import { canAccess, getAdminContext, PERMS } from "@/lib/permissions"; import { canAccess, getAdminContext, PERMS } from "@/lib/permissions";
+1 -1
View File
@@ -1,8 +1,8 @@
import { desc } from "drizzle-orm"; import { desc } from "drizzle-orm";
import Link from "next/link";
import { redirect } from "next/navigation"; import { redirect } from "next/navigation";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import { StatusCard } from "@/components/admin/dashboard"; import { StatusCard } from "@/components/admin/dashboard";
import Link from "@/components/link";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
import { db, WebsiteAds } from "@/lib/db"; import { db, WebsiteAds } from "@/lib/db";
import { formatDate } from "@/lib/format-date"; import { formatDate } from "@/lib/format-date";
+1 -1
View File
@@ -1,9 +1,9 @@
import { desc, inArray } from "drizzle-orm"; import { desc, inArray } from "drizzle-orm";
import Link from "next/link";
import { redirect } from "next/navigation"; import { redirect } from "next/navigation";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import { dismissApplication } from "@/actions/admin-applications"; import { dismissApplication } from "@/actions/admin-applications";
import { StatusCard } from "@/components/admin/dashboard"; import { StatusCard } from "@/components/admin/dashboard";
import Link from "@/components/link";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
import { db, User, WebsiteStaffApplications } from "@/lib/db"; import { db, User, WebsiteStaffApplications } from "@/lib/db";
import { formatDate } from "@/lib/format-date"; import { formatDate } from "@/lib/format-date";
+1 -1
View File
@@ -1,10 +1,10 @@
import { eq } from "drizzle-orm"; import { eq } from "drizzle-orm";
import { Newspaper } from "lucide-react"; import { Newspaper } from "lucide-react";
import Link from "next/link";
import { notFound, redirect } from "next/navigation"; import { notFound, redirect } from "next/navigation";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import { deleteArticle, updateArticle } from "@/actions/admin-articles"; import { deleteArticle, updateArticle } from "@/actions/admin-articles";
import { ArticleForm } from "@/components/admin/article-form"; import { ArticleForm } from "@/components/admin/article-form";
import Link from "@/components/link";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
import { db, WebsiteArticles } from "@/lib/db"; import { db, WebsiteArticles } from "@/lib/db";
import { canAccess, getAdminContext, PERMS } from "@/lib/permissions"; import { canAccess, getAdminContext, PERMS } from "@/lib/permissions";
+1 -1
View File
@@ -1,9 +1,9 @@
import { Newspaper } from "lucide-react"; import { Newspaper } from "lucide-react";
import Link from "next/link";
import { redirect } from "next/navigation"; import { redirect } from "next/navigation";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import { createArticle } from "@/actions/admin-articles"; import { createArticle } from "@/actions/admin-articles";
import { ArticleForm } from "@/components/admin/article-form"; import { ArticleForm } from "@/components/admin/article-form";
import Link from "@/components/link";
import { canAccess, getAdminContext, PERMS } from "@/lib/permissions"; import { canAccess, getAdminContext, PERMS } from "@/lib/permissions";
export default async function NewArticle({ export default async function NewArticle({
+1 -1
View File
@@ -1,11 +1,11 @@
import { desc, inArray } from "drizzle-orm"; import { desc, inArray } from "drizzle-orm";
import { Newspaper } from "lucide-react"; import { Newspaper } from "lucide-react";
import Link from "next/link";
import { redirect } from "next/navigation"; import { redirect } from "next/navigation";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import { AdminPageShell } from "@/components/admin/admin-page-shell"; import { AdminPageShell } from "@/components/admin/admin-page-shell";
import { ArticleCard } from "@/components/admin/article-card"; import { ArticleCard } from "@/components/admin/article-card";
import { StatusCard } from "@/components/admin/dashboard"; import { StatusCard } from "@/components/admin/dashboard";
import Link from "@/components/link";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
import { db, User, WebsiteArticles } from "@/lib/db"; import { db, User, WebsiteArticles } from "@/lib/db";
import { formatDate } from "@/lib/format-date"; import { formatDate } from "@/lib/format-date";
+1 -1
View File
@@ -1,7 +1,7 @@
import { asc, eq } from "drizzle-orm"; import { asc, eq } from "drizzle-orm";
import Link from "next/link";
import { notFound, redirect } from "next/navigation"; import { notFound, redirect } from "next/navigation";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import Link from "@/components/link";
import { CalendarCampaigns, CalendarRewards, db } from "@/lib/db"; import { CalendarCampaigns, CalendarRewards, db } from "@/lib/db";
import { formatDate } from "@/lib/format-date"; import { formatDate } from "@/lib/format-date";
import { canAccess, getAdminContext, PERMS } from "@/lib/permissions"; import { canAccess, getAdminContext, PERMS } from "@/lib/permissions";
+1 -1
View File
@@ -1,8 +1,8 @@
import { count, desc } from "drizzle-orm"; import { count, desc } from "drizzle-orm";
import Link from "next/link";
import { redirect } from "next/navigation"; import { redirect } from "next/navigation";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import { StatusCard } from "@/components/admin/dashboard"; import { StatusCard } from "@/components/admin/dashboard";
import Link from "@/components/link";
import { CalendarCampaigns, CalendarRewards, db } from "@/lib/db"; import { CalendarCampaigns, CalendarRewards, db } from "@/lib/db";
import { formatDate } from "@/lib/format-date"; import { formatDate } from "@/lib/format-date";
import { canAccess, getAdminContext, PERMS } from "@/lib/permissions"; import { canAccess, getAdminContext, PERMS } from "@/lib/permissions";
@@ -12,7 +12,6 @@ import {
Settings, Settings,
Trash2, Trash2,
} from "lucide-react"; } from "lucide-react";
import Link from "next/link";
import { useEffect, useRef, useState } from "react"; import { useEffect, useRef, useState } from "react";
import { deleteCatalogPage, updateCatalogPage } from "@/actions/catalog"; import { deleteCatalogPage, updateCatalogPage } from "@/actions/catalog";
import { CatalogImagePicker } from "@/components/admin/catalog/catalog-image-picker"; import { CatalogImagePicker } from "@/components/admin/catalog/catalog-image-picker";
@@ -20,6 +19,7 @@ import { IconPicker } from "@/components/admin/catalog/icon-picker";
import { ImagePreview } from "@/components/admin/catalog-manager/image-preview"; import { ImagePreview } from "@/components/admin/catalog-manager/image-preview";
import { CatalogIcon, LAYOUT_COLORS } from "@/components/admin/catalog-tree"; import { CatalogIcon, LAYOUT_COLORS } from "@/components/admin/catalog-tree";
import { useConfirmDialog } from "@/components/admin/confirm-dialog"; import { useConfirmDialog } from "@/components/admin/confirm-dialog";
import Link from "@/components/link";
import { Badge } from "@/components/ui/badge"; import { Badge } from "@/components/ui/badge";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
+1 -1
View File
@@ -1,8 +1,8 @@
import { asc, eq } from "drizzle-orm"; import { asc, eq } from "drizzle-orm";
import { ChevronRight } from "lucide-react"; import { ChevronRight } from "lucide-react";
import Link from "next/link";
import { notFound, redirect } from "next/navigation"; import { notFound, redirect } from "next/navigation";
import { Fragment } from "react"; import { Fragment } from "react";
import Link from "@/components/link";
import { CatalogPages, db } from "@/lib/db"; import { CatalogPages, db } from "@/lib/db";
import { canAccess, getAdminContext, PERMS } from "@/lib/permissions"; import { canAccess, getAdminContext, PERMS } from "@/lib/permissions";
import { loadCatalogItemsData } from "@/lib/services/catalog-items-loader"; import { loadCatalogItemsData } from "@/lib/services/catalog-items-loader";
@@ -10,7 +10,6 @@ import {
Save, Save,
Trash2, Trash2,
} from "lucide-react"; } from "lucide-react";
import Link from "next/link";
import { useEffect, useRef, useState } from "react"; import { useEffect, useRef, useState } from "react";
import { import {
createBcItem, createBcItem,
@@ -19,6 +18,7 @@ import {
updateBcPage, updateBcPage,
} from "@/actions/catalog-bc"; } from "@/actions/catalog-bc";
import { useConfirmDialog } from "@/components/admin/confirm-dialog"; import { useConfirmDialog } from "@/components/admin/confirm-dialog";
import Link from "@/components/link";
import { Badge } from "@/components/ui/badge"; import { Badge } from "@/components/ui/badge";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
+1 -1
View File
@@ -1,10 +1,10 @@
"use client"; "use client";
import { Pencil } from "lucide-react"; import { Pencil } from "lucide-react";
import Link from "next/link";
import { deleteCatalogPage, toggleCatalogPage } from "@/actions/catalog"; import { deleteCatalogPage, toggleCatalogPage } from "@/actions/catalog";
import { deleteBcTreePage, toggleBcPage } from "@/actions/catalog-bc"; import { deleteBcTreePage, toggleBcPage } from "@/actions/catalog-bc";
import { DataTable } from "@/components/admin/data-table"; import { DataTable } from "@/components/admin/data-table";
import Link from "@/components/link";
import { Badge } from "@/components/ui/badge"; import { Badge } from "@/components/ui/badge";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
import { useServerAction } from "@/hooks/use-server-action"; import { useServerAction } from "@/hooks/use-server-action";
+1 -1
View File
@@ -1,8 +1,8 @@
import { count, desc, eq, gte } from "drizzle-orm"; import { count, desc, eq, gte } from "drizzle-orm";
import { AlertTriangle, Database, HeartPulse, Server } from "lucide-react"; import { AlertTriangle, Database, HeartPulse, Server } from "lucide-react";
import Link from "next/link";
import { redirect } from "next/navigation"; import { redirect } from "next/navigation";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import Link from "@/components/link";
import { Badge } from "@/components/ui/badge"; import { Badge } from "@/components/ui/badge";
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
import { fetchOpsHealth } from "@/lib/admin/ops-health"; import { fetchOpsHealth } from "@/lib/admin/ops-health";
+1 -1
View File
@@ -1,9 +1,9 @@
"use client"; "use client";
import { LayoutDashboard, RefreshCw } from "lucide-react"; import { LayoutDashboard, RefreshCw } from "lucide-react";
import Link from "next/link";
import { useTranslations } from "next-intl"; import { useTranslations } from "next-intl";
import { useEffect } from "react"; import { useEffect } from "react";
import Link from "@/components/link";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
/** /**
+1 -1
View File
@@ -1,11 +1,11 @@
"use client"; "use client";
import { Pencil, Trash2 } from "lucide-react"; import { Pencil, Trash2 } from "lucide-react";
import Link from "next/link";
import { useTranslations } from "next-intl"; import { useTranslations } from "next-intl";
import { deleteEvent } from "@/actions/events"; import { deleteEvent } from "@/actions/events";
import { useConfirmDialog } from "@/components/admin/confirm-dialog"; import { useConfirmDialog } from "@/components/admin/confirm-dialog";
import { DataTable } from "@/components/admin/data-table"; import { DataTable } from "@/components/admin/data-table";
import Link from "@/components/link";
import { Badge } from "@/components/ui/badge"; import { Badge } from "@/components/ui/badge";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
import { useServerAction } from "@/hooks/use-server-action"; import { useServerAction } from "@/hooks/use-server-action";
+1 -1
View File
@@ -1,6 +1,6 @@
import { count, desc, eq, like } from "drizzle-orm"; import { count, desc, eq, like } from "drizzle-orm";
import Link from "next/link";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import Link from "@/components/link";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
import { fetchAdminList } from "@/lib/admin-list"; import { fetchAdminList } from "@/lib/admin-list";
import { db, WebsiteEvent, WebsiteEventType } from "@/lib/db"; import { db, WebsiteEvent, WebsiteEventType } from "@/lib/db";
+1 -1
View File
@@ -1,8 +1,8 @@
import { asc, count, eq, inArray } from "drizzle-orm"; import { asc, count, eq, inArray } from "drizzle-orm";
import Link from "next/link";
import { notFound, redirect } from "next/navigation"; import { notFound, redirect } from "next/navigation";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import { disbandGuild } from "@/actions/admin-guilds"; import { disbandGuild } from "@/actions/admin-guilds";
import Link from "@/components/link";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
import { db, Guilds, GuildsForumsThreads, GuildsMembers, User } from "@/lib/db"; import { db, Guilds, GuildsForumsThreads, GuildsMembers, User } from "@/lib/db";
import { formatDate } from "@/lib/format-date"; import { formatDate } from "@/lib/format-date";
+1 -1
View File
@@ -1,11 +1,11 @@
import { count, desc, eq, inArray, like, or } from "drizzle-orm"; import { count, desc, eq, inArray, like, or } from "drizzle-orm";
import { Shield } from "lucide-react"; import { Shield } from "lucide-react";
import Link from "next/link";
import { redirect } from "next/navigation"; import { redirect } from "next/navigation";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import { AdminPageShell } from "@/components/admin/admin-page-shell"; import { AdminPageShell } from "@/components/admin/admin-page-shell";
import { AdminSimplePager } from "@/components/admin/admin-simple-pager"; import { AdminSimplePager } from "@/components/admin/admin-simple-pager";
import { StatusCard } from "@/components/admin/dashboard"; import { StatusCard } from "@/components/admin/dashboard";
import Link from "@/components/link";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
import { calcPagination, parseListParams } from "@/lib/admin-helpers"; import { calcPagination, parseListParams } from "@/lib/admin-helpers";
import { db, Guilds, GuildsMembers, User } from "@/lib/db"; import { db, Guilds, GuildsMembers, User } from "@/lib/db";
+1 -1
View File
@@ -1,8 +1,8 @@
import { eq } from "drizzle-orm"; import { eq } from "drizzle-orm";
import { HelpCircle } from "lucide-react"; import { HelpCircle } from "lucide-react";
import Link from "next/link";
import { notFound, redirect } from "next/navigation"; import { notFound, redirect } from "next/navigation";
import { deleteHelpQuestion, updateHelpQuestion } from "@/actions/admin-help"; import { deleteHelpQuestion, updateHelpQuestion } from "@/actions/admin-help";
import Link from "@/components/link";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
import { db, WebsiteHelpCenterCategories } from "@/lib/db"; import { db, WebsiteHelpCenterCategories } from "@/lib/db";
import { canAccess, getAdminContext, PERMS } from "@/lib/permissions"; import { canAccess, getAdminContext, PERMS } from "@/lib/permissions";
+1 -1
View File
@@ -1,7 +1,7 @@
import { HelpCircle } from "lucide-react"; import { HelpCircle } from "lucide-react";
import Link from "next/link";
import { redirect } from "next/navigation"; import { redirect } from "next/navigation";
import { createHelpQuestion } from "@/actions/admin-help"; import { createHelpQuestion } from "@/actions/admin-help";
import Link from "@/components/link";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
import { canAccess, getAdminContext, PERMS } from "@/lib/permissions"; import { canAccess, getAdminContext, PERMS } from "@/lib/permissions";
+1 -1
View File
@@ -1,8 +1,8 @@
import { asc } from "drizzle-orm"; import { asc } from "drizzle-orm";
import Link from "next/link";
import { redirect } from "next/navigation"; import { redirect } from "next/navigation";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import { StatusCard } from "@/components/admin/dashboard"; import { StatusCard } from "@/components/admin/dashboard";
import Link from "@/components/link";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
import { db, WebsiteHelpCenterCategories } from "@/lib/db"; import { db, WebsiteHelpCenterCategories } from "@/lib/db";
import { canAccess, getAdminContext, PERMS } from "@/lib/permissions"; import { canAccess, getAdminContext, PERMS } from "@/lib/permissions";
@@ -1,7 +1,6 @@
"use client"; "use client";
import { ArrowLeft, Loader2, Mail, Send, Shield, User } from "lucide-react"; import { ArrowLeft, Loader2, Mail, Send, Shield, User } from "lucide-react";
import Link from "next/link";
import { useTranslations } from "next-intl"; import { useTranslations } from "next-intl";
import { useEffect, useRef, useState } from "react"; import { useEffect, useRef, useState } from "react";
import { import {
@@ -10,6 +9,7 @@ import {
reopenHelpCenterTicket, reopenHelpCenterTicket,
replyHelpCenterTicket, replyHelpCenterTicket,
} from "@/actions/admin-help-tickets"; } from "@/actions/admin-help-tickets";
import Link from "@/components/link";
import { Badge } from "@/components/ui/badge"; import { Badge } from "@/components/ui/badge";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
@@ -1,8 +1,8 @@
"use client"; "use client";
import Link from "next/link";
import { useTranslations } from "next-intl"; import { useTranslations } from "next-intl";
import { DataTable } from "@/components/admin/data-table"; import { DataTable } from "@/components/admin/data-table";
import Link from "@/components/link";
import { Badge } from "@/components/ui/badge"; import { Badge } from "@/components/ui/badge";
import type { DataTableColumn, PaginatedResult } from "@/types/common"; import type { DataTableColumn, PaginatedResult } from "@/types/common";
+1 -1
View File
@@ -1,7 +1,7 @@
import { asc, eq } from "drizzle-orm"; import { asc, eq } from "drizzle-orm";
import Link from "next/link";
import { redirect } from "next/navigation"; import { redirect } from "next/navigation";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import Link from "@/components/link";
import { import {
AclModelPermission, AclModelPermission,
AclPermission, AclPermission,
@@ -1,10 +1,10 @@
"use client"; "use client";
import Link from "next/link";
import { useRouter } from "next/navigation"; import { useRouter } from "next/navigation";
import { useTranslations } from "next-intl"; import { useTranslations } from "next-intl";
import { useState } from "react"; import { useState } from "react";
import { updateItemsBase } from "@/actions/items-base"; import { updateItemsBase } from "@/actions/items-base";
import Link from "@/components/link";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
import { Input } from "@/components/ui/input"; import { Input } from "@/components/ui/input";
+1 -1
View File
@@ -1,8 +1,8 @@
"use client"; "use client";
import { Eye, Package, Pencil } from "lucide-react"; import { Eye, Package, Pencil } from "lucide-react";
import Link from "next/link";
import { DataTable } from "@/components/admin/data-table"; import { DataTable } from "@/components/admin/data-table";
import Link from "@/components/link";
import { Badge } from "@/components/ui/badge"; import { Badge } from "@/components/ui/badge";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
import type { DataTableColumn, PaginatedResult } from "@/types/common"; import type { DataTableColumn, PaginatedResult } from "@/types/common";
+1 -1
View File
@@ -1,6 +1,5 @@
import { eq } from "drizzle-orm"; import { eq } from "drizzle-orm";
import { LogOut } from "lucide-react"; import { LogOut } from "lucide-react";
import Link from "next/link";
import { redirect } from "next/navigation"; import { redirect } from "next/navigation";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import type { ReactNode } from "react"; import type { ReactNode } from "react";
@@ -9,6 +8,7 @@ import { AdminMobileWrapper } from "@/components/admin/admin-mobile-wrapper";
import { AdminSidebarNav } from "@/components/admin/admin-sidebar-nav"; import { AdminSidebarNav } from "@/components/admin/admin-sidebar-nav";
import { AdminTopbar } from "@/components/admin/admin-topbar"; import { AdminTopbar } from "@/components/admin/admin-topbar";
import { LanguageSwitcher } from "@/components/language-switcher"; import { LanguageSwitcher } from "@/components/language-switcher";
import Link from "@/components/link";
import { ThemeSwitcher } from "@/components/theme-switcher"; import { ThemeSwitcher } from "@/components/theme-switcher";
import { requireStaff } from "@/lib/admin/guard"; import { requireStaff } from "@/lib/admin/guard";
import { collectNavPermissionSlugs } from "@/lib/admin-nav"; import { collectNavPermissionSlugs } from "@/lib/admin-nav";
+1 -1
View File
@@ -1,12 +1,12 @@
import { count, desc, eq, inArray } from "drizzle-orm"; import { count, desc, eq, inArray } from "drizzle-orm";
import { Store } from "lucide-react"; import { Store } from "lucide-react";
import Link from "next/link";
import { redirect } from "next/navigation"; import { redirect } from "next/navigation";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import { cancelMarketplaceListing } from "@/actions/admin-marketplace"; import { cancelMarketplaceListing } from "@/actions/admin-marketplace";
import { AdminPageShell } from "@/components/admin/admin-page-shell"; import { AdminPageShell } from "@/components/admin/admin-page-shell";
import { AdminSimplePager } from "@/components/admin/admin-simple-pager"; import { AdminSimplePager } from "@/components/admin/admin-simple-pager";
import { StatusCard } from "@/components/admin/dashboard"; import { StatusCard } from "@/components/admin/dashboard";
import Link from "@/components/link";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
import { calcPagination, parseListParams } from "@/lib/admin-helpers"; import { calcPagination, parseListParams } from "@/lib/admin-helpers";
import { db, MarketplaceItems, User } from "@/lib/db"; import { db, MarketplaceItems, User } from "@/lib/db";
@@ -11,7 +11,6 @@ import {
VolumeX, VolumeX,
Zap, Zap,
} from "lucide-react"; } from "lucide-react";
import Link from "next/link";
import { useState } from "react"; import { useState } from "react";
import { import {
assignCfhTicket, assignCfhTicket,
@@ -21,6 +20,7 @@ import {
quickMute, quickMute,
updateCfhState, updateCfhState,
} from "@/actions/moderation"; } from "@/actions/moderation";
import Link from "@/components/link";
import { Badge } from "@/components/ui/badge"; import { Badge } from "@/components/ui/badge";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
+1 -1
View File
@@ -1,8 +1,8 @@
"use client"; "use client";
import Link from "next/link";
import { useTranslations } from "next-intl"; import { useTranslations } from "next-intl";
import { DataTable } from "@/components/admin/data-table"; import { DataTable } from "@/components/admin/data-table";
import Link from "@/components/link";
import { Badge } from "@/components/ui/badge"; import { Badge } from "@/components/ui/badge";
import type { DataTableColumn, PaginatedResult } from "@/types/common"; import type { DataTableColumn, PaginatedResult } from "@/types/common";
+1 -1
View File
@@ -8,9 +8,9 @@ import {
Shield, Shield,
User as UserIcon, User as UserIcon,
} from "lucide-react"; } from "lucide-react";
import Link from "next/link";
import { redirect } from "next/navigation"; import { redirect } from "next/navigation";
import { StatsCard } from "@/components/admin/stats-card"; import { StatsCard } from "@/components/admin/stats-card";
import Link from "@/components/link";
import { Badge } from "@/components/ui/badge"; import { Badge } from "@/components/ui/badge";
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
import { getMinStaffRank } from "@/lib/admin/min-staff-rank"; import { getMinStaffRank } from "@/lib/admin/min-staff-rank";
+1 -1
View File
@@ -1,6 +1,6 @@
import { and, count, desc, gte, inArray, like } from "drizzle-orm"; import { and, count, desc, gte, inArray, like } from "drizzle-orm";
import Link from "next/link";
import { redirect } from "next/navigation"; import { redirect } from "next/navigation";
import Link from "@/components/link";
import { AvatarImage } from "@/components/shared/avatar-image"; import { AvatarImage } from "@/components/shared/avatar-image";
import { Badge } from "@/components/ui/badge"; import { Badge } from "@/components/ui/badge";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
+1 -1
View File
@@ -7,9 +7,9 @@ import {
Newspaper, Newspaper,
Users, Users,
} from "lucide-react"; } from "lucide-react";
import Link from "next/link";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import { StatusCard } from "@/components/admin/dashboard"; import { StatusCard } from "@/components/admin/dashboard";
import Link from "@/components/link";
import { unixNow } from "@/lib/bans"; import { unixNow } from "@/lib/bans";
import { Ban, db, StaffActivities, User, WebsiteArticles } from "@/lib/db"; import { Ban, db, StaffActivities, User, WebsiteArticles } from "@/lib/db";
import { formatDate } from "@/lib/format-date"; import { formatDate } from "@/lib/format-date";
@@ -13,13 +13,13 @@ import {
Terminal, Terminal,
UserCheck, UserCheck,
} from "lucide-react"; } from "lucide-react";
import Link from "next/link";
import { useMemo, useState } from "react"; import { useMemo, useState } from "react";
import { toast } from "sonner"; import { toast } from "sonner";
import { import {
saveRank as saveRankAction, saveRank as saveRankAction,
setCmsPermissions, setCmsPermissions,
} from "@/actions/permissions"; } from "@/actions/permissions";
import Link from "@/components/link";
import { Badge } from "@/components/ui/badge"; import { Badge } from "@/components/ui/badge";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
@@ -11,7 +11,6 @@ import {
UserCheck, UserCheck,
Users, Users,
} from "lucide-react"; } from "lucide-react";
import Link from "next/link";
import { useState } from "react"; import { useState } from "react";
import { toast } from "sonner"; import { toast } from "sonner";
import { import {
@@ -19,6 +18,7 @@ import {
deleteRank, deleteRank,
repairAdminNavAclGrants, repairAdminNavAclGrants,
} from "@/actions/permissions"; } from "@/actions/permissions";
import Link from "@/components/link";
import { Badge } from "@/components/ui/badge"; import { Badge } from "@/components/ui/badge";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
import { import {
+1 -1
View File
@@ -1,11 +1,11 @@
import { count, desc, inArray } from "drizzle-orm"; import { count, desc, inArray } from "drizzle-orm";
import { Camera } from "lucide-react"; import { Camera } from "lucide-react";
import Link from "next/link";
import { redirect } from "next/navigation"; import { redirect } from "next/navigation";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import { deletePhoto } from "@/actions/admin-photos"; import { deletePhoto } from "@/actions/admin-photos";
import { AdminPageShell } from "@/components/admin/admin-page-shell"; import { AdminPageShell } from "@/components/admin/admin-page-shell";
import { StatusCard } from "@/components/admin/dashboard"; import { StatusCard } from "@/components/admin/dashboard";
import Link from "@/components/link";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
import { calcPagination, parseListParams } from "@/lib/admin-helpers"; import { calcPagination, parseListParams } from "@/lib/admin-helpers";
import { CameraWeb, db, User } from "@/lib/db"; import { CameraWeb, db, User } from "@/lib/db";
+1 -1
View File
@@ -1,6 +1,6 @@
import { count, desc, like } from "drizzle-orm"; import { count, desc, like } from "drizzle-orm";
import Link from "next/link";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import Link from "@/components/link";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
import { fetchAdminList } from "@/lib/admin-list"; import { fetchAdminList } from "@/lib/admin-list";
import { db, WebsitePoll } from "@/lib/db"; import { db, WebsitePoll } from "@/lib/db";
+1 -1
View File
@@ -1,11 +1,11 @@
"use client"; "use client";
import { Pencil, Trash2 } from "lucide-react"; import { Pencil, Trash2 } from "lucide-react";
import Link from "next/link";
import { useTranslations } from "next-intl"; import { useTranslations } from "next-intl";
import { deletePoll } from "@/actions/polls"; import { deletePoll } from "@/actions/polls";
import { useConfirmDialog } from "@/components/admin/confirm-dialog"; import { useConfirmDialog } from "@/components/admin/confirm-dialog";
import { DataTable } from "@/components/admin/data-table"; import { DataTable } from "@/components/admin/data-table";
import Link from "@/components/link";
import { Badge } from "@/components/ui/badge"; import { Badge } from "@/components/ui/badge";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
import { useServerAction } from "@/hooks/use-server-action"; import { useServerAction } from "@/hooks/use-server-action";
+1 -1
View File
@@ -1,6 +1,6 @@
import Link from "next/link";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import { StatusCard } from "@/components/admin/dashboard"; import { StatusCard } from "@/components/admin/dashboard";
import Link from "@/components/link";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
import { resolveHotelName } from "@/lib/hotel-name"; import { resolveHotelName } from "@/lib/hotel-name";
import { siteSettings } from "@/lib/services/site-settings"; import { siteSettings } from "@/lib/services/site-settings";
@@ -17,7 +17,6 @@ import {
Users, Users,
UserX, UserX,
} from "lucide-react"; } from "lucide-react";
import Link from "next/link";
import { useMemo, useState } from "react"; import { useMemo, useState } from "react";
import { import {
bulkDeleteRoomItems, bulkDeleteRoomItems,
@@ -25,6 +24,7 @@ import {
roomRconAction, roomRconAction,
} from "@/actions/rooms"; } from "@/actions/rooms";
import { useConfirmDialog } from "@/components/admin/confirm-dialog"; import { useConfirmDialog } from "@/components/admin/confirm-dialog";
import Link from "@/components/link";
import { Badge } from "@/components/ui/badge"; import { Badge } from "@/components/ui/badge";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
+1 -1
View File
@@ -1,7 +1,7 @@
import { DoorOpen, Eye } from "lucide-react"; import { DoorOpen, Eye } from "lucide-react";
import Link from "next/link";
import { redirect } from "next/navigation"; import { redirect } from "next/navigation";
import { AdminBreadcrumb } from "@/components/admin/admin-breadcrumb"; import { AdminBreadcrumb } from "@/components/admin/admin-breadcrumb";
import Link from "@/components/link";
import { Badge } from "@/components/ui/badge"; import { Badge } from "@/components/ui/badge";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
import { canAccess, getAdminContext, PERMS } from "@/lib/permissions"; import { canAccess, getAdminContext, PERMS } from "@/lib/permissions";
+1 -1
View File
@@ -1,8 +1,8 @@
"use client"; "use client";
import { Eye, Pencil, Sofa, Wifi } from "lucide-react"; import { Eye, Pencil, Sofa, Wifi } from "lucide-react";
import Link from "next/link";
import { DataTable } from "@/components/admin/data-table"; import { DataTable } from "@/components/admin/data-table";
import Link from "@/components/link";
import { Badge } from "@/components/ui/badge"; import { Badge } from "@/components/ui/badge";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
import type { DataTableColumn, PaginatedResult } from "@/types/common"; import type { DataTableColumn, PaginatedResult } from "@/types/common";
+1 -1
View File
@@ -1,7 +1,7 @@
import { DoorOpen, Eye, Globe, Lock, Pencil, Sofa, Users } from "lucide-react"; import { DoorOpen, Eye, Globe, Lock, Pencil, Sofa, Users } from "lucide-react";
import Link from "next/link";
import { redirect } from "next/navigation"; import { redirect } from "next/navigation";
import { AdminBreadcrumb } from "@/components/admin/admin-breadcrumb"; import { AdminBreadcrumb } from "@/components/admin/admin-breadcrumb";
import Link from "@/components/link";
import { Badge } from "@/components/ui/badge"; import { Badge } from "@/components/ui/badge";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
+1 -1
View File
@@ -1,9 +1,9 @@
import { eq } from "drizzle-orm"; import { eq } from "drizzle-orm";
import { Package } from "lucide-react"; import { Package } from "lucide-react";
import Link from "next/link";
import { notFound, redirect } from "next/navigation"; import { notFound, redirect } from "next/navigation";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import { deleteShopArticle, updateShopArticle } from "@/actions/admin-shop"; import { deleteShopArticle, updateShopArticle } from "@/actions/admin-shop";
import Link from "@/components/link";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
import { db, WebsiteShopArticles } from "@/lib/db"; import { db, WebsiteShopArticles } from "@/lib/db";
import { canAccess, getAdminContext, PERMS } from "@/lib/permissions"; import { canAccess, getAdminContext, PERMS } from "@/lib/permissions";
+1 -1
View File
@@ -1,8 +1,8 @@
import { Package } from "lucide-react"; import { Package } from "lucide-react";
import Link from "next/link";
import { redirect } from "next/navigation"; import { redirect } from "next/navigation";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import { createShopArticle } from "@/actions/admin-shop"; import { createShopArticle } from "@/actions/admin-shop";
import Link from "@/components/link";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
import { canAccess, getAdminContext, PERMS } from "@/lib/permissions"; import { canAccess, getAdminContext, PERMS } from "@/lib/permissions";
+1 -1
View File
@@ -1,11 +1,11 @@
import { asc, count, desc } from "drizzle-orm"; import { asc, count, desc } from "drizzle-orm";
import { ShoppingCart } from "lucide-react"; import { ShoppingCart } from "lucide-react";
import Link from "next/link";
import { redirect } from "next/navigation"; import { redirect } from "next/navigation";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import { AdminPageShell } from "@/components/admin/admin-page-shell"; import { AdminPageShell } from "@/components/admin/admin-page-shell";
import { AdminSimplePager } from "@/components/admin/admin-simple-pager"; import { AdminSimplePager } from "@/components/admin/admin-simple-pager";
import { StatusCard } from "@/components/admin/dashboard"; import { StatusCard } from "@/components/admin/dashboard";
import Link from "@/components/link";
import { CurrencyIcon } from "@/components/shared/currency-icon"; import { CurrencyIcon } from "@/components/shared/currency-icon";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
import { calcPagination, parseListParams } from "@/lib/admin-helpers"; import { calcPagination, parseListParams } from "@/lib/admin-helpers";
+1 -1
View File
@@ -14,8 +14,8 @@ import {
Upload, Upload,
Wrench, Wrench,
} from "lucide-react"; } from "lucide-react";
import Link from "next/link";
import { usePathname } from "next/navigation"; import { usePathname } from "next/navigation";
import Link from "@/components/link";
import { cn } from "@/lib/utils"; import { cn } from "@/lib/utils";
const TABS: { href: string; label: string; icon: LucideIcon }[] = [ const TABS: { href: string; label: string; icon: LucideIcon }[] = [
@@ -10,7 +10,6 @@ import {
Shield, Shield,
User, User,
} from "lucide-react"; } from "lucide-react";
import Link from "next/link";
import { useEffect, useRef, useState } from "react"; import { useEffect, useRef, useState } from "react";
import { import {
adminReplyTicket, adminReplyTicket,
@@ -18,6 +17,7 @@ import {
updateTicketPriority, updateTicketPriority,
updateTicketStatus, updateTicketStatus,
} from "@/actions/tickets"; } from "@/actions/tickets";
import Link from "@/components/link";
import { Badge } from "@/components/ui/badge"; import { Badge } from "@/components/ui/badge";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
+1 -1
View File
@@ -1,8 +1,8 @@
"use client"; "use client";
import Link from "next/link";
import { useTranslations } from "next-intl"; import { useTranslations } from "next-intl";
import { DataTable } from "@/components/admin/data-table"; import { DataTable } from "@/components/admin/data-table";
import Link from "@/components/link";
import { Badge } from "@/components/ui/badge"; import { Badge } from "@/components/ui/badge";
import type { DataTableColumn, PaginatedResult } from "@/types/common"; import type { DataTableColumn, PaginatedResult } from "@/types/common";
@@ -1,8 +1,8 @@
"use client"; "use client";
import Link from "next/link";
import { useTranslations } from "next-intl"; import { useTranslations } from "next-intl";
import { DataTable } from "@/components/admin/data-table"; import { DataTable } from "@/components/admin/data-table";
import Link from "@/components/link";
import { Badge } from "@/components/ui/badge"; import { Badge } from "@/components/ui/badge";
import type { DataTableColumn, PaginatedResult } from "@/types/common"; import type { DataTableColumn, PaginatedResult } from "@/types/common";
+1 -1
View File
@@ -1,8 +1,8 @@
import { and, asc, count, like, or, type SQL, sql } from "drizzle-orm"; import { and, asc, count, like, or, type SQL, sql } from "drizzle-orm";
import { ExternalLink } from "lucide-react"; import { ExternalLink } from "lucide-react";
import Link from "next/link";
import { getTranslations } from "next-intl/server"; import { getTranslations } from "next-intl/server";
import { EmulatorSettingsForm } from "@/components/admin/emulator-settings-form"; import { EmulatorSettingsForm } from "@/components/admin/emulator-settings-form";
import Link from "@/components/link";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
import { calcPagination } from "@/lib/admin-helpers"; import { calcPagination } from "@/lib/admin-helpers";
import { db, EmulatorSettings } from "@/lib/db"; import { db, EmulatorSettings } from "@/lib/db";
@@ -1,9 +1,9 @@
"use client"; "use client";
import { Gamepad2, Globe, Server } from "lucide-react"; import { Gamepad2, Globe, Server } from "lucide-react";
import Link from "next/link";
import { usePathname } from "next/navigation"; import { usePathname } from "next/navigation";
import { useTranslations } from "next-intl"; import { useTranslations } from "next-intl";
import Link from "@/components/link";
import { cn } from "@/lib/utils"; import { cn } from "@/lib/utils";
export function TranslationsTabs() { export function TranslationsTabs() {
@@ -1,5 +1,5 @@
import { MessageSquare, Terminal } from "lucide-react"; import { MessageSquare, Terminal } from "lucide-react";
import Link from "next/link"; import Link from "@/components/link";
import { Badge } from "@/components/ui/badge"; import { Badge } from "@/components/ui/badge";
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
+1 -1
View File
@@ -1,5 +1,5 @@
import { DoorOpen, Users } from "lucide-react"; import { DoorOpen, Users } from "lucide-react";
import Link from "next/link"; import Link from "@/components/link";
import { Badge } from "@/components/ui/badge"; import { Badge } from "@/components/ui/badge";
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
Loaded 100 of 136 files, more files were not shown because too many files have changed in this diff. Show more