Company Profile
@@ -384,7 +389,7 @@ export default function SettingsPage() {
/>
-
+ : null}
{/* ── API Keys Tab ── */}
diff --git a/frontend/src/components/ui/beta-unavailable-state.tsx b/frontend/src/components/ui/beta-unavailable-state.tsx
new file mode 100644
index 000000000..cda68fa3e
--- /dev/null
+++ b/frontend/src/components/ui/beta-unavailable-state.tsx
@@ -0,0 +1,14 @@
+import { Callout } from '@/components/ui/callout';
+import { BETA_UNAVAILABLE_COPY } from '@/lib/dashboard-load-failure';
+
+export interface BetaUnavailableStateProps {
+ feature?: string;
+}
+
+export function BetaUnavailableState({ feature = 'This feature' }: BetaUnavailableStateProps) {
+ return (
+
+ Contact support
+
+ );
+}
diff --git a/frontend/src/lib/dashboard-load-failure.ts b/frontend/src/lib/dashboard-load-failure.ts
new file mode 100644
index 000000000..ec2322d52
--- /dev/null
+++ b/frontend/src/lib/dashboard-load-failure.ts
@@ -0,0 +1,11 @@
+import { getErrorStatus } from '@/lib/api-error';
+
+export const BETA_UNAVAILABLE_COPY = 'not yet available in RegEngine Beta';
+
+export function isBetaUnavailableStatus(status: unknown): boolean {
+ return status === 404 || status === 403;
+}
+
+export function isBetaUnavailableError(error: unknown): boolean {
+ return isBetaUnavailableStatus(getErrorStatus(error));
+}