Working on licencing

This commit is contained in:
Owen
2025-10-24 10:11:28 -07:00
parent adefbdbeb3
commit 68f0c4df3a
11 changed files with 129 additions and 59 deletions

View File

@@ -1,9 +1,6 @@
import SettingsSectionTitle from "@app/components/SettingsSectionTitle";
import { HorizontalTabs } from "@app/components/HorizontalTabs";
import { verifySession } from "@app/lib/auth/verifySession";
import { redirect } from "next/navigation";
import { cache } from "react";
import { getTranslations } from "next-intl/server";
type GeneralSettingsProps = {
children: React.ReactNode;
@@ -14,8 +11,6 @@ export default async function GeneralSettingsPage({
children,
params
}: GeneralSettingsProps) {
const { orgId } = await params;
const getUser = cache(verifySession);
const user = await getUser();
@@ -23,31 +18,5 @@ export default async function GeneralSettingsPage({
redirect(`/`);
}
const t = await getTranslations();
const navItems = [
{
title: t("request"),
href: `/{orgId}/settings/logs/request`
},
{
title: t("access"),
href: `/{orgId}/settings/logs/access`
},
{
title: t("action"),
href: `/{orgId}/settings/logs/action`
}
];
return (
<>
<SettingsSectionTitle
title={t("logs")}
description={t("logsSettingsDescription")}
/>
<HorizontalTabs items={navItems}>{children}</HorizontalTabs>
</>
);
return children;
}

View File

@@ -12,6 +12,7 @@ import { DateTimeValue } from "@app/components/DateTimePicker";
import { Key, RouteOff, User, Lock, Unlock, ArrowUpRight } from "lucide-react";
import Link from "next/link";
import { ColumnFilter } from "@app/components/ColumnFilter";
import SettingsSectionTitle from "@app/components/SettingsSectionTitle";
export default function GeneralPage() {
const router = useRouter();
@@ -755,6 +756,11 @@ export default function GeneralPage() {
return (
<>
<SettingsSectionTitle
title={t('requestLogs')}
description={t('requestLogsDescription')}
/>
<LogDataTable
columns={columns}
data={rows}

View File

@@ -17,7 +17,9 @@ import {
Server,
Zap,
CreditCard,
Logs
Logs,
SquareMousePointer,
ScanEye
} from "lucide-react";
export type SidebarNavSection = {
@@ -113,6 +115,26 @@ export const orgNavSections = (
}
]
},
{
heading: "Analytics",
items: [
{
title: "sidebarLogsRequest",
href: "/{orgId}/settings/logs/request",
icon: <SquareMousePointer className="h-4 w-4" />
},
{
title: "sidebarLogsAccess",
href: "/{orgId}/settings/logs/access",
icon: <ScanEye className="h-4 w-4" />
},
{
title: "sidebarLogsAction",
href: "/{orgId}/settings/logs/action",
icon: <Logs className="h-4 w-4" />
},
]
},
{
heading: "Organization",
items: [
@@ -139,11 +161,6 @@ export const orgNavSections = (
}
]
: []),
{
title: "sidebarLogs",
href: "/{orgId}/settings/logs/request",
icon: <Logs className="h-4 w-4" />
},
{
title: "sidebarSettings",
href: "/{orgId}/settings/general",

View File

@@ -4,10 +4,10 @@ import React from "react";
import Link from "next/link";
import { useParams, usePathname } from "next/navigation";
import { cn } from "@app/lib/cn";
import { buttonVariants } from "@/components/ui/button";
import { Badge } from "@app/components/ui/badge";
import { useLicenseStatusContext } from "@app/hooks/useLicenseStatusContext";
import { useTranslations } from "next-intl";
import { useSubscriptionStatusContext } from "@app/hooks/useSubscriptionStatusContext";
export type HorizontalTabs = Array<{
title: string;
@@ -30,6 +30,7 @@ export function HorizontalTabs({
const pathname = usePathname();
const params = useParams();
const { licenseStatus, isUnlocked } = useLicenseStatusContext();
const subscription = useSubscriptionStatusContext();
const t = useTranslations();
function hydrateHref(href: string) {