Project API Keys
diff --git a/apps/landing/src/app/admin/layout.tsx b/apps/landing/src/app/admin/layout.tsx
new file mode 100644
index 0000000..dab1815
--- /dev/null
+++ b/apps/landing/src/app/admin/layout.tsx
@@ -0,0 +1,34 @@
+'use client';
+
+import { ReactNode } from 'react';
+import { usePathname } from 'next/navigation';
+import { SubsectionNav } from '@/components/shared/SubsectionNav';
+
+interface AdminLayoutProps {
+ children: ReactNode;
+}
+
+const navItems = [
+ { label: 'Master Key', href: '/admin/master' },
+ { label: 'API Keys', href: '/admin/apikeys' },
+];
+
+export default function AdminLayout({ children }: AdminLayoutProps) {
+ const pathname = usePathname();
+
+ return (
+
+ {/* Animated gradient background */}
+
+
+ {/* Subsection Navigation */}
+
+
+ {/* Page Content */}
+
{children}
+
+ );
+}
diff --git a/apps/landing/src/app/admin/master/page.tsx b/apps/landing/src/app/admin/master/page.tsx
index f86a515..23ad318 100644
--- a/apps/landing/src/app/admin/master/page.tsx
+++ b/apps/landing/src/app/admin/master/page.tsx
@@ -5,7 +5,6 @@ import { bootstrapMasterKey } from '@/lib/actions/apiKeyActions';
import KeyDisplay from '@/components/admin/KeyDisplay';
import AdminFormInput from '@/components/admin/AdminFormInput';
import AdminButton from '@/components/admin/AdminButton';
-import Link from 'next/link';
const STORAGE_KEY = 'banatie_master_key';
@@ -67,23 +66,7 @@ export default function MasterKeyPage() {
};
return (
-
- {/* Navigation */}
-
-
- Master Key
-
-
- API Keys
-
-
-
+
{/* Page Header */}
Master Key Management
diff --git a/apps/landing/src/lib/apikey/types.ts b/apps/landing/src/lib/apikey/types.ts
index e45b1fd..84513bb 100644
--- a/apps/landing/src/lib/apikey/types.ts
+++ b/apps/landing/src/lib/apikey/types.ts
@@ -63,8 +63,8 @@ export interface ApiKeyContextValue {
// Focus method for external components
focus: () => void;
- inputRef: React.Ref;
- containerRef: React.Ref;
+ inputRef: React.RefObject;
+ containerRef: React.RefObject;
}
/**