Deploy Ladill Meet / deploy (push) Successful in 1m5s
Recreate spotlight tiles with video on switch, limit regular meetings to four primary controls before More, and align mobile notification badge with desktop.
54 lines
2.7 KiB
PHP
54 lines
2.7 KiB
PHP
@php
|
|
$variant = $variant ?? 'primary';
|
|
$type = $type ?? 'submit';
|
|
$tag = ! empty($href) ? 'a' : 'button';
|
|
$ariaLabel = $ariaLabel ?? $label ?? '';
|
|
$desktopLabel = $desktopLabel ?? $label ?? '';
|
|
$showDesktopIcon = $showDesktopIcon ?? ($variant === 'primary');
|
|
|
|
$mobileClass = match ($variant) {
|
|
'primary' => 'btn-fab h-10 w-10 lg:hidden',
|
|
'outline' => 'inline-flex h-10 w-10 items-center justify-center rounded-full border border-slate-200 bg-white text-slate-700 shadow-sm transition hover:border-slate-300 hover:bg-slate-50 lg:hidden',
|
|
'dark' => 'inline-flex h-10 w-10 items-center justify-center rounded-full bg-gray-900 text-white shadow-sm transition hover:bg-gray-800 lg:hidden',
|
|
'indigo' => 'inline-flex h-10 w-10 items-center justify-center rounded-full bg-indigo-600 text-white shadow-sm transition hover:bg-indigo-700 lg:hidden',
|
|
default => 'btn-fab h-10 w-10 lg:hidden',
|
|
};
|
|
|
|
$desktopClass = match ($variant) {
|
|
'primary' => 'btn-primary hidden items-center lg:inline-flex',
|
|
'outline' => 'hidden items-center rounded-lg border border-gray-200 bg-white px-4 py-2 text-sm font-medium text-gray-700 shadow-sm transition hover:bg-gray-50 lg:inline-flex',
|
|
'dark' => 'hidden items-center gap-1.5 rounded-lg bg-gray-900 px-3.5 py-2 text-sm font-medium text-white transition hover:bg-gray-800 lg:inline-flex',
|
|
'indigo' => 'hidden items-center justify-center rounded-xl bg-indigo-600 px-4 py-2.5 text-sm font-semibold text-white transition hover:bg-indigo-700 lg:inline-flex',
|
|
default => 'btn-primary hidden items-center lg:inline-flex',
|
|
};
|
|
|
|
$extraClass = $class ?? '';
|
|
@endphp
|
|
|
|
<{{ $tag }}
|
|
@if ($tag === 'a') href="{{ $href }}" @endif
|
|
@if ($tag === 'button') type="{{ $type }}" @endif
|
|
aria-label="{{ $ariaLabel }}"
|
|
title="{{ $ariaLabel }}"
|
|
@if (! empty($attributes)) {!! $attributes !!} @endif
|
|
class="{{ trim($mobileClass.' '.$extraClass) }}"
|
|
>
|
|
<svg class="h-5 w-5" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24" aria-hidden="true">
|
|
<path stroke-linecap="round" stroke-linejoin="round" d="M12 4.5v15m7.5-7.5h-15"/>
|
|
</svg>
|
|
</{{ $tag }}>
|
|
|
|
<{{ $tag }}
|
|
@if ($tag === 'a') href="{{ $href }}" @endif
|
|
@if ($tag === 'button') type="{{ $type }}" @endif
|
|
@if (! empty($attributes)) {!! $attributes !!} @endif
|
|
class="{{ trim($desktopClass.' '.$extraClass) }}"
|
|
>
|
|
@if ($showDesktopIcon)
|
|
<svg class="h-4 w-4 shrink-0" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24" aria-hidden="true">
|
|
<path stroke-linecap="round" stroke-linejoin="round" d="M12 4.5v15m7.5-7.5h-15"/>
|
|
</svg>
|
|
@endif
|
|
{{ $desktopLabel }}
|
|
</{{ $tag }}>
|