import { ShipWheel } from 'lucide-react';
import { useLicense } from '@/context/LicenseContext';
import { useDismissalState } from '@/hooks/useDismissalState';
import {
CompactBlurredLock,
DismissedPill,
FullUpsellCard,
type TierGateProps,
} from './tierUpsell';
const DISMISS_KEY = 'sencho-admiral-upgrade-prompt-dismissed';
/**
* Gate for Admiral-tier-only features. Mirrors PaidGate's state machine
* but with a stricter license predicate (requires variant === 'admiral')
* and Admiral-themed icon/copy.
*/
export function AdmiralGate({ children, featureName = 'This feature', compact = false }: TierGateProps) {
const { isPaid, license } = useLicense();
const { dismissed, dismiss, restore } = useDismissalState(DISMISS_KEY);
if (isPaid && license?.variant === 'admiral') return <>{children}>;
const pillText = 'Upgrade to Admiral to unlock';
if (compact) {
return (
{children}
);
}
if (dismissed) {
return ;
}
return (
Unlock team features like LDAP / Active Directory, audit logging, API tokens, and unlimited user accounts with a Sencho Admiral license.
For enterprise pricing or questions, contact{' '}
licensing@sencho.io.
>
}
ctaIcon={ShipWheel}
ctaLabel="Get Admiral"
ctaHref="https://sencho.io/pricing"
onDismiss={dismiss}
/>
);
}