Fix demo task readiness and gate event creation
This commit is contained in:
@@ -28,6 +28,7 @@ export default function MobileEventsPage() {
|
||||
const navigate = useNavigate();
|
||||
const { user } = useAuth();
|
||||
const isMember = user?.role === 'member';
|
||||
const isSuperAdmin = user?.role === 'super_admin' || user?.role === 'superadmin';
|
||||
const [events, setEvents] = React.useState<TenantEvent[]>([]);
|
||||
const [loading, setLoading] = React.useState(true);
|
||||
const [error, setError] = React.useState<string | null>(null);
|
||||
@@ -85,13 +86,21 @@ export default function MobileEventsPage() {
|
||||
}, [isMember]);
|
||||
|
||||
const canCreateEvent = React.useMemo(() => {
|
||||
if (isMember || packagesLoading) {
|
||||
if (isMember) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (isSuperAdmin) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (packagesLoading) {
|
||||
return false;
|
||||
}
|
||||
|
||||
const activePackages = collectActivePackages(packagesOverview);
|
||||
return activePackages.some((pkg) => packageHasRemainingEvents(pkg));
|
||||
}, [isMember, packagesLoading, packagesOverview]);
|
||||
return activePackages.some((pkg) => resellerHasRemainingEvents(pkg));
|
||||
}, [isMember, isSuperAdmin, packagesLoading, packagesOverview]);
|
||||
|
||||
return (
|
||||
<MobileShell
|
||||
@@ -540,18 +549,13 @@ function toNumber(value: unknown): number | null {
|
||||
return null;
|
||||
}
|
||||
|
||||
function packageHasRemainingEvents(pkg: TenantPackageSummary): boolean {
|
||||
const remaining = toNumber(pkg.remaining_events);
|
||||
|
||||
function resellerHasRemainingEvents(pkg: TenantPackageSummary): boolean {
|
||||
if (pkg.package_type !== 'reseller') {
|
||||
if (remaining !== null) {
|
||||
return remaining > 0;
|
||||
}
|
||||
|
||||
const usedEvents = toNumber(pkg.used_events) ?? 0;
|
||||
return usedEvents < 1;
|
||||
return false;
|
||||
}
|
||||
|
||||
const remaining = toNumber(pkg.remaining_events);
|
||||
|
||||
if (remaining !== null) {
|
||||
return remaining > 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user