retrofairie/resources/views/components/window/window.blade.php
2025-02-23 12:57:03 -08:00

65 lines
1.4 KiB
PHP

@props([
'minimize' => true,
'maximize' => false,
'restore' => true,
'help' => false,
'close' => true,
'dismissible' => false,
])
@aware([
'title' => config('app.name', 'Laravel'),
])
@php
if ($restore) {
$maximize = false;
}
if ($dismissible) {
$close = true;
}
@endphp
<div
{{ $attributes->merge(['class' => 'window']) }}
{!! $dismissible ? 'x-data="{ show: true }" x-show="show"' : '' !!}
>
<div class="title-bar">
<div class="title-bar-text">{{ $title }}</div>
@if ($minimize || $maximize || $restore || $help || $close)
<div class="title-bar-controls">
@if ($minimize)
<button class="minimize" aria-hidden="true"></button>
@endif
@if ($maximize)
<button class="maximize" aria-hidden="true"></button>
@endif
@if ($restore)
<button class="restore" aria-hidden="true"></button>
@endif
@if ($help)
<button class="help" aria-hidden="true"></button>
@endif
@if ($close)
<button
class="close"
aria-hidden="true"
{!! $dismissible ? 'x-on:click="show = false"' : '' !!}
></button>
@endif
</div>
@endif
</div>
<div class="window-body">{{ $slot }}</div>
@isset($status_bar)
<div class="status-bar">{{ $status_bar }}</div>
@endisset
</div>