Unify workspace dropdowns; Update layouts (#458)

Unified Account and Workspace drop-downs; Layout updates, now header lives within the PageBody component; Sidebars now use floating variant
This commit is contained in:
Giancarlo Buomprisco
2026-03-11 14:45:42 +08:00
committed by GitHub
parent ca585e09be
commit 4bc8448a1d
530 changed files with 14398 additions and 11198 deletions

View File

@@ -1,69 +0,0 @@
import { NextResponse } from 'next/server';
import { z } from 'zod';
import { enhanceRouteHandler } from '@kit/next/routes';
import { getSupabaseServerClient } from '@kit/supabase/server-client';
import {
createInvitationContextBuilder,
createInvitationsPolicyEvaluator,
} from '@kit/team-accounts/policies';
export const GET = enhanceRouteHandler(
async function ({ params, user }) {
const client = getSupabaseServerClient();
const { account } = z.object({ account: z.string() }).parse(params);
try {
// Evaluate with standard evaluator
const evaluator = createInvitationsPolicyEvaluator();
const hasPolicies = await evaluator.hasPoliciesForStage('preliminary');
if (!hasPolicies) {
return NextResponse.json({
allowed: true,
reasons: [],
metadata: {
policiesEvaluated: 0,
timestamp: new Date().toISOString(),
noPoliciesConfigured: true,
},
});
}
// Build context for policy evaluation (empty invitations for testing)
const contextBuilder = createInvitationContextBuilder(client);
const context = await contextBuilder.buildContext(
{
invitations: [],
accountSlug: account,
},
user,
);
// validate against policies
const result = await evaluator.canInvite(context, 'preliminary');
return NextResponse.json(result);
} catch (error) {
return NextResponse.json(
{
allowed: false,
reasons: [
error instanceof Error ? error.message : 'Unknown error occurred',
],
metadata: {
error: true,
originalError:
error instanceof Error ? error.message : String(error),
},
},
{ status: 500 },
);
}
},
{
auth: true,
},
);