Compare commits
No commits in common. "1a0574e7f49770f2c0ea8c9ee127d428d94ed960" and "d95af184bec99297ae4d8688e4c983203d336280" have entirely different histories.
1a0574e7f4
...
d95af184be
3 changed files with 33 additions and 39 deletions
|
|
@ -54,17 +54,17 @@ export function LoginPageClient() {
|
||||||
return (
|
return (
|
||||||
<div className="grid min-h-svh lg:grid-cols-2">
|
<div className="grid min-h-svh lg:grid-cols-2">
|
||||||
<div className="flex flex-col gap-6 p-6 md:p-10">
|
<div className="flex flex-col gap-6 p-6 md:p-10">
|
||||||
<div className="mt-6 flex flex-col items-center gap-3 text-center">
|
<div className="flex flex-col items-center gap-2 text-center">
|
||||||
<Link href="/" className="group flex flex-col items-center gap-2">
|
<Link href="/" className="group flex flex-col items-center gap-2">
|
||||||
<div className="flex items-center gap-2.5">
|
<div className="flex items-center gap-2">
|
||||||
<span className="text-3xl font-bold tracking-tight text-neutral-900">
|
<span className="text-2xl font-bold tracking-tight text-neutral-900">
|
||||||
Raven
|
Raven
|
||||||
</span>
|
</span>
|
||||||
<span className="rounded-full bg-neutral-900 px-3 py-1 text-sm font-medium text-white">
|
<span className="rounded-full bg-neutral-900 px-2.5 py-0.5 text-xs font-medium text-white">
|
||||||
Helpdesk
|
Helpdesk
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<span className="text-base text-neutral-500">
|
<span className="text-sm text-neutral-500">
|
||||||
Por Rever Tecnologia
|
Por Rever Tecnologia
|
||||||
</span>
|
</span>
|
||||||
</Link>
|
</Link>
|
||||||
|
|
@ -88,8 +88,7 @@ export function LoginPageClient() {
|
||||||
Desenvolvido por Esdras Renan
|
Desenvolvido por Esdras Renan
|
||||||
</footer>
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
<div className="relative hidden items-center justify-center p-6 lg:flex">
|
<div className="relative hidden overflow-hidden bg-gradient-to-br from-neutral-800 via-neutral-700 to-neutral-600 lg:flex">
|
||||||
<div className="relative h-[calc(100%-0px)] w-full overflow-hidden rounded-3xl bg-gradient-to-br from-neutral-800 via-neutral-700 to-neutral-600 shadow-2xl">
|
|
||||||
<ShaderBackground className="h-full w-full opacity-50" />
|
<ShaderBackground className="h-full w-full opacity-50" />
|
||||||
<div className="absolute inset-0 flex items-center justify-center px-8">
|
<div className="absolute inset-0 flex items-center justify-center px-8">
|
||||||
<div className="text-center text-white">
|
<div className="text-center text-white">
|
||||||
|
|
@ -101,6 +100,5 @@ export function LoginPageClient() {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6364,13 +6364,6 @@ function DeviceCard({ device, companyName }: { device: DevicesQueryItem; company
|
||||||
})()
|
})()
|
||||||
const persona = collaborator?.role === "manager" ? "Gestor" : "Colaborador"
|
const persona = collaborator?.role === "manager" ? "Gestor" : "Colaborador"
|
||||||
const companyLabel = companyName ?? device.companySlug ?? null
|
const companyLabel = companyName ?? device.companySlug ?? null
|
||||||
const windowsActivationStatus = (() => {
|
|
||||||
const inv = device.inventory as DeviceInventory | null
|
|
||||||
const windowsExt = inv?.extended?.windows
|
|
||||||
const osInfo = parseWindowsOsInfo(windowsExt?.osInfo)
|
|
||||||
if (!osInfo) return null
|
|
||||||
return osInfo.isActivated ?? (typeof osInfo.licenseStatus === "number" ? osInfo.licenseStatus === 1 : null)
|
|
||||||
})()
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Link href={`/admin/devices/${device.id}`} className="group">
|
<Link href={`/admin/devices/${device.id}`} className="group">
|
||||||
|
|
@ -6403,6 +6396,14 @@ function DeviceCard({ device, companyName }: { device: DevicesQueryItem; company
|
||||||
<span>{device.devicePlatform}</span>
|
<span>{device.devicePlatform}</span>
|
||||||
</>
|
</>
|
||||||
) : null}
|
) : null}
|
||||||
|
{device.authEmail ? (
|
||||||
|
<>
|
||||||
|
<span className="text-slate-300">•</span>
|
||||||
|
<span className="truncate max-w-[140px]" title={device.authEmail}>
|
||||||
|
{device.authEmail}
|
||||||
|
</span>
|
||||||
|
</>
|
||||||
|
) : null}
|
||||||
</div>
|
</div>
|
||||||
{collaborator?.email ? (
|
{collaborator?.email ? (
|
||||||
<div className="mt-3 flex flex-col gap-2 text-xs text-slate-600">
|
<div className="mt-3 flex flex-col gap-2 text-xs text-slate-600">
|
||||||
|
|
@ -6444,27 +6445,22 @@ function DeviceCard({ device, companyName }: { device: DevicesQueryItem; company
|
||||||
return [name, ver].filter(Boolean).join(" ").trim()
|
return [name, ver].filter(Boolean).join(" ").trim()
|
||||||
})()}
|
})()}
|
||||||
</Badge>
|
</Badge>
|
||||||
{windowsActivationStatus !== null ? (
|
{device.architecture ? (
|
||||||
<Badge
|
<Badge variant="outline" className="border-slate-300 bg-slate-100 text-xs font-medium text-slate-700">
|
||||||
variant="outline"
|
{device.architecture.toUpperCase()}
|
||||||
className={cn(
|
|
||||||
"text-xs font-medium",
|
|
||||||
windowsActivationStatus
|
|
||||||
? "border-emerald-300 bg-emerald-50 text-emerald-700"
|
|
||||||
: "border-amber-300 bg-amber-50 text-amber-700"
|
|
||||||
)}
|
|
||||||
>
|
|
||||||
{windowsActivationStatus ? "Ativado" : "Não ativado"}
|
|
||||||
</Badge>
|
</Badge>
|
||||||
) : null}
|
) : null}
|
||||||
</div>
|
</div>
|
||||||
{companyLabel ? (
|
|
||||||
<div className="flex flex-wrap items-center gap-2">
|
<div className="flex flex-wrap items-center gap-2">
|
||||||
|
<Badge variant="outline" className="border-slate-300 bg-slate-100 text-xs font-medium text-slate-700">
|
||||||
|
{deviceTypeLabel}
|
||||||
|
</Badge>
|
||||||
|
{companyLabel ? (
|
||||||
<Badge variant="outline" className="border-slate-300 bg-slate-100 text-xs font-medium text-slate-700">
|
<Badge variant="outline" className="border-slate-300 bg-slate-100 text-xs font-medium text-slate-700">
|
||||||
{companyLabel}
|
{companyLabel}
|
||||||
</Badge>
|
</Badge>
|
||||||
</div>
|
|
||||||
) : null}
|
) : null}
|
||||||
|
</div>
|
||||||
<div className="grid grid-cols-2 gap-2">
|
<div className="grid grid-cols-2 gap-2">
|
||||||
<div className="flex items-center gap-2 rounded-md border border-slate-200 bg-slate-50/80 px-2 py-1.5">
|
<div className="flex items-center gap-2 rounded-md border border-slate-200 bg-slate-50/80 px-2 py-1.5">
|
||||||
<Cpu className="size-4 text-slate-500" />
|
<Cpu className="size-4 text-slate-500" />
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ export function SidebarBrand({ logoSrc, logoAlt, title, subtitle }: SidebarBrand
|
||||||
<SidebarMenuButton
|
<SidebarMenuButton
|
||||||
asChild
|
asChild
|
||||||
size="lg"
|
size="lg"
|
||||||
className="h-auto cursor-default select-none hover:bg-transparent hover:text-inherit active:bg-transparent active:text-inherit focus-visible:ring-0"
|
className="cursor-default select-none hover:bg-transparent hover:text-inherit active:bg-transparent active:text-inherit focus-visible:ring-0"
|
||||||
>
|
>
|
||||||
<div className="flex items-center gap-3">
|
<div className="flex items-center gap-3">
|
||||||
<div className="flex h-12 w-12 items-center justify-center rounded-lg">
|
<div className="flex h-12 w-12 items-center justify-center rounded-lg">
|
||||||
|
|
@ -37,7 +37,7 @@ export function SidebarBrand({ logoSrc, logoAlt, title, subtitle }: SidebarBrand
|
||||||
</div>
|
</div>
|
||||||
<div className="flex flex-col items-start gap-1 leading-none">
|
<div className="flex flex-col items-start gap-1 leading-none">
|
||||||
<span className="text-lg font-semibold">{title}</span>
|
<span className="text-lg font-semibold">{title}</span>
|
||||||
<span className="inline-flex whitespace-nowrap rounded-full bg-neutral-900 px-2.5 py-1 text-[11px] font-medium text-white">
|
<span className="inline-flex rounded-full bg-neutral-900 px-2.5 py-0.5 text-[11px] font-medium text-white">
|
||||||
{subtitle}
|
{subtitle}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue