169 lines
15 KiB
Plaintext
169 lines
15 KiB
Plaintext
@{
|
|
ViewData["Title"] = "Multitenantselection3";
|
|
}
|
|
@section Styles {
|
|
<link rel="stylesheet" href="/css/auth3.css" asp-append-version="true" />
|
|
}
|
|
|
|
|
|
<section class="min-h-screen flex" x-data="{ loading: false, showNotification: false, notificationMessage: '', selectedTenant: '', selectedIndex: -1 }">
|
|
<div class="hidden lg:flex w-1/2 bg-gradient-to-br from-blue-700 via-blue-600 to-blue-500 items-center justify-center p-12">
|
|
<div class="max-w-md">
|
|
<div class="flex items-center gap-3 mb-8">
|
|
<div class="w-14 h-14 bg-white/15 rounded-xl flex items-center justify-center backdrop-blur-sm">
|
|
<svg class="w-8 h-8 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5"/></svg>
|
|
</div>
|
|
<div>
|
|
<div class="text-2xl font-bold text-white">EnterpriseKit</div>
|
|
<div class="text-sm text-blue-100">Enterprise Application Platform</div>
|
|
</div>
|
|
</div>
|
|
<h2 class="text-3xl font-bold text-white leading-tight mb-4">Select Your<br/>Workspace</h2>
|
|
<p class="text-blue-100 leading-relaxed mb-8">Choose the organization you'd like to access. You can switch between workspaces at any time from your profile settings.</p>
|
|
<div class="space-y-4">
|
|
<div class="flex items-start gap-3">
|
|
<div class="w-5 h-5 rounded bg-white/15 flex items-center justify-center flex-shrink-0 mt-0.5"><svg class="w-3 h-3 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="3"><path stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"/></svg></div>
|
|
<div><span class="font-semibold text-white text-sm">Multiple Workspaces</span><p class="text-xs text-blue-200 mt-0.5">Access all your organizations from one account</p></div>
|
|
</div>
|
|
<div class="flex items-start gap-3">
|
|
<div class="w-5 h-5 rounded bg-white/15 flex items-center justify-center flex-shrink-0 mt-0.5"><svg class="w-3 h-3 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="3"><path stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"/></svg></div>
|
|
<div><span class="font-semibold text-white text-sm">Role-Based Access</span><p class="text-xs text-blue-200 mt-0.5">Each workspace has its own permissions and settings</p></div>
|
|
</div>
|
|
<div class="flex items-start gap-3">
|
|
<div class="w-5 h-5 rounded bg-white/15 flex items-center justify-center flex-shrink-0 mt-0.5"><svg class="w-3 h-3 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="3"><path stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"/></svg></div>
|
|
<div><span class="font-semibold text-white text-sm">Secure & Isolated</span><p class="text-xs text-blue-200 mt-0.5">Data is completely isolated between workspaces</p></div>
|
|
</div>
|
|
</div>
|
|
<div class="mt-10 p-4 bg-white/10 border border-white/20 rounded-xl backdrop-blur-sm">
|
|
<div class="flex items-center gap-3">
|
|
<div class="w-10 h-10 rounded-full bg-white/15 flex items-center justify-center flex-shrink-0">
|
|
<svg class="w-5 h-5 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z"/></svg>
|
|
</div>
|
|
<div>
|
|
<div class="text-sm font-semibold text-white">Signed in as admin@@company.com</div>
|
|
<div class="text-xs text-blue-200">Choose a workspace to continue</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="w-full lg:w-1/2 flex items-center justify-center p-6 sm:p-10 lg:p-16">
|
|
<div class="w-full max-w-md">
|
|
<div class="text-center mb-8">
|
|
<h2 class="text-2xl font-bold text-gray-900">Choose Workspace</h2>
|
|
<p class="text-gray-500 text-sm mt-2 leading-relaxed">Select one of your workspaces below to access the EnterpriseKit platform. Your workspaces are listed with their current status.</p>
|
|
</div>
|
|
|
|
<div class="space-y-4">
|
|
<div class="tenant-card p-5 flex items-start gap-4" :class="selectedIndex === 0 ? 'selected' : ''" @@click="selectedIndex = 0; selectedTenant = 'Acme Corporation'">
|
|
<div class="w-12 h-12 bg-blue-100 rounded-xl flex items-center justify-center flex-shrink-0 mt-0.5">
|
|
<svg class="w-6 h-6 text-blue-600" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M3.75 21h16.5M4.5 3h15M5.25 3v18m13.5-18v18M9 6.75h1.5m-1.5 3h1.5m-1.5 3h1.5m3-6H15m-1.5 3H15m-1.5 3H15M9 21v-3.375c0-.621.504-1.125 1.125-1.125h3.75c.621 0 1.125.504 1.125 1.125V21"/></svg>
|
|
</div>
|
|
<div class="flex-1 min-w-0">
|
|
<div class="flex items-center justify-between">
|
|
<h3 class="text-base font-semibold text-gray-900">Acme Corporation</h3>
|
|
<span class="inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-green-100 text-green-700">Active</span>
|
|
</div>
|
|
<p class="text-sm text-gray-500 mt-1 leading-relaxed">Global enterprise technology solutions provider specializing in digital transformation, cloud infrastructure, and managed IT services for Fortune 500 companies worldwide.</p>
|
|
<div class="flex items-center gap-4 mt-3 text-xs text-gray-400">
|
|
<span class="flex items-center gap-1">
|
|
<svg class="w-3.5 h-3.5" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M15 19.128a9.38 9.38 0 002.625.372 9.337 9.337 0 004.121-.952 4.125 4.125 0 00-7.533-2.493M15 19.128v-.003c0-1.113-.285-2.16-.786-3.07M15 19.128v.106A12.318 12.318 0 018.624 21c-2.331 0-4.512-.645-6.374-1.766l-.001-.109a6.375 6.375 0 0111.964-3.07M12 6.375a3.375 3.375 0 11-6.75 0 3.375 3.375 0 016.75 0zm8.25 2.25a2.625 2.625 0 11-5.25 0 2.625 2.625 0 015.25 0z"/></svg>
|
|
248 users
|
|
</span>
|
|
<span class="flex items-center gap-1">
|
|
<svg class="w-3.5 h-3.5" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M9 12.75L11.25 15 15 9.75m-3-7.036A11.959 11.959 0 013.598 6 11.99 11.99 0 003 9.749c0 5.592 3.824 10.29 9 11.623 5.176-1.332 9-6.03 9-11.622 0-1.31-.21-2.571-.598-3.751h-.152c-3.196 0-6.1-1.248-8.25-3.285z"/></svg>
|
|
Enterprise Plan
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="tenant-card p-5 flex items-start gap-4" :class="selectedIndex === 1 ? 'selected' : ''" @@click="selectedIndex = 1; selectedTenant = 'Stark Industries'">
|
|
<div class="w-12 h-12 bg-blue-100 rounded-xl flex items-center justify-center flex-shrink-0 mt-0.5">
|
|
<svg class="w-6 h-6 text-blue-600" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M3.75 21h16.5M4.5 3h15M5.25 3v18m13.5-18v18M9 6.75h1.5m-1.5 3h1.5m-1.5 3h1.5m3-6H15m-1.5 3H15m-1.5 3H15M9 21v-3.375c0-.621.504-1.125 1.125-1.125h3.75c.621 0 1.125.504 1.125 1.125V21"/></svg>
|
|
</div>
|
|
<div class="flex-1 min-w-0">
|
|
<div class="flex items-center justify-between">
|
|
<h3 class="text-base font-semibold text-gray-900">Stark Industries</h3>
|
|
<span class="inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-yellow-100 text-yellow-700">Pending</span>
|
|
</div>
|
|
<p class="text-sm text-gray-500 mt-1 leading-relaxed">Leading industrial manufacturing conglomerate based in Detroit, Michigan. Specializing in advanced manufacturing, defense technology, and sustainable energy solutions.</p>
|
|
<div class="flex items-center gap-4 mt-3 text-xs text-gray-400">
|
|
<span class="flex items-center gap-1">
|
|
<svg class="w-3.5 h-3.5" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M15 19.128a9.38 9.38 0 002.625.372 9.337 9.337 0 004.121-.952 4.125 4.125 0 00-7.533-2.493M15 19.128v-.003c0-1.113-.285-2.16-.786-3.07M15 19.128v.106A12.318 12.318 0 018.624 21c-2.331 0-4.512-.645-6.374-1.766l-.001-.109a6.375 6.375 0 0111.964-3.07M12 6.375a3.375 3.375 0 11-6.75 0 3.375 3.375 0 016.75 0zm8.25 2.25a2.625 2.625 0 11-5.25 0 2.625 2.625 0 015.25 0z"/></svg>
|
|
1,247 users
|
|
</span>
|
|
<span class="flex items-center gap-1">
|
|
<svg class="w-3.5 h-3.5" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M9 12.75L11.25 15 15 9.75m-3-7.036A11.959 11.959 0 013.598 6 11.99 11.99 0 003 9.749c0 5.592 3.824 10.29 9 11.623 5.176-1.332 9-6.03 9-11.622 0-1.31-.21-2.571-.598-3.751h-.152c-3.196 0-6.1-1.248-8.25-3.285z"/></svg>
|
|
Enterprise Plan
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="tenant-card p-5 flex items-start gap-4" :class="selectedIndex === 2 ? 'selected' : ''" @@click="selectedIndex = 2; selectedTenant = 'Wayne Enterprises'">
|
|
<div class="w-12 h-12 bg-blue-100 rounded-xl flex items-center justify-center flex-shrink-0 mt-0.5">
|
|
<svg class="w-6 h-6 text-blue-600" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M3.75 21h16.5M4.5 3h15M5.25 3v18m13.5-18v18M9 6.75h1.5m-1.5 3h1.5m-1.5 3h1.5m3-6H15m-1.5 3H15m-1.5 3H15M9 21v-3.375c0-.621.504-1.125 1.125-1.125h3.75c.621 0 1.125.504 1.125 1.125V21"/></svg>
|
|
</div>
|
|
<div class="flex-1 min-w-0">
|
|
<div class="flex items-center justify-between">
|
|
<h3 class="text-base font-semibold text-gray-900">Wayne Enterprises</h3>
|
|
<span class="inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-green-100 text-green-700">Active</span>
|
|
</div>
|
|
<p class="text-sm text-gray-500 mt-1 leading-relaxed">Multinational conglomerate headquartered in New York City with diverse interests in technology, finance, defense, media, and pharmaceuticals across 47 countries.</p>
|
|
<div class="flex items-center gap-4 mt-3 text-xs text-gray-400">
|
|
<span class="flex items-center gap-1">
|
|
<svg class="w-3.5 h-3.5" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M15 19.128a9.38 9.38 0 002.625.372 9.337 9.337 0 004.121-.952 4.125 4.125 0 00-7.533-2.493M15 19.128v-.003c0-1.113-.285-2.16-.786-3.07M15 19.128v.106A12.318 12.318 0 018.624 21c-2.331 0-4.512-.645-6.374-1.766l-.001-.109a6.375 6.375 0 0111.964-3.07M12 6.375a3.375 3.375 0 11-6.75 0 3.375 3.375 0 016.75 0zm8.25 2.25a2.625 2.625 0 11-5.25 0 2.625 2.625 0 015.25 0z"/></svg>
|
|
3,580 users
|
|
</span>
|
|
<span class="flex items-center gap-1">
|
|
<svg class="w-3.5 h-3.5" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M9 12.75L11.25 15 15 9.75m-3-7.036A11.959 11.959 0 013.598 6 11.99 11.99 0 003 9.749c0 5.592 3.824 10.29 9 11.623 5.176-1.332 9-6.03 9-11.622 0-1.31-.21-2.571-.598-3.751h-.152c-3.196 0-6.1-1.248-8.25-3.285z"/></svg>
|
|
Enterprise Plan
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<template x-if="showNotification">
|
|
<div class="fixed top-6 right-6 bg-green-50 border border-green-200 rounded-xl p-4 shadow-lg fade-in z-50 max-w-sm">
|
|
<div class="flex items-center gap-3">
|
|
<div class="w-8 h-8 rounded-full bg-green-100 flex items-center justify-center flex-shrink-0">
|
|
<svg class="w-4 h-4 text-green-600" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"/></svg>
|
|
</div>
|
|
<div>
|
|
<div class="text-sm font-semibold text-green-800" x-text="notificationMessage"></div>
|
|
<div class="text-xs text-green-600 mt-0.5">You will be automatically redirected.</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<button @@click="
|
|
if(loading) return;
|
|
if(!selectedTenant) { notificationMessage='Please select a workspace first.'; showNotification=true; setTimeout(()=>showNotification=false, 2000); return; }
|
|
loading = true;
|
|
setTimeout(() => {
|
|
loading = false;
|
|
notificationMessage = 'Tenant is ready, will be automatically redirected.';
|
|
showNotification = true;
|
|
setTimeout(() => showNotification = false, 3000);
|
|
}, 2000);
|
|
" :disabled="loading" class="btn-primary w-full mt-6" :class="loading ? 'opacity-70 cursor-not-allowed' : ''">
|
|
<template x-if="loading">
|
|
<svg class="w-4 h-4 spinner" fill="none" viewBox="0 0 24 24"><circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"/><path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"/></svg>
|
|
</template>
|
|
<span x-text="loading ? 'Loading...' : 'Continue to Workspace'"></span>
|
|
<template x-if="!loading">
|
|
<svg class="w-4 h-4" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M13 7l5 5m0 0l-5 5m5-5H6"/></svg>
|
|
</template>
|
|
</button>
|
|
|
|
<p class="mt-6 text-center text-sm text-gray-500">
|
|
Don't see your workspace?
|
|
<a class="text-blue-600 font-semibold text-sm hover:text-blue-700 hover:underline ml-1" href="#">Contact Support</a>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</section> |