Version 1.0.0
This commit is contained in:
57
resources/views/app.blade.php
Normal file
57
resources/views/app.blade.php
Normal file
@@ -0,0 +1,57 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}" @class(['dark' => ($appearance ?? 'system') == 'dark'])>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/storage/favicon/apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/storage/favicon/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/storage/favicon/favicon-16x16.png">
|
||||
<link rel="manifest" href="/storage/favicon/site.webmanifest">
|
||||
<link rel="shortcut icon" href="/storage/favicon.ico">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
|
||||
{{-- Inline script to detect system dark mode preference and apply it immediately --}}
|
||||
<script>
|
||||
(function() {
|
||||
const appearance = '{{ $appearance ?? "system" }}';
|
||||
|
||||
if (appearance === 'system') {
|
||||
const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
|
||||
|
||||
if (prefersDark) {
|
||||
document.documentElement.classList.add('dark');
|
||||
}
|
||||
}
|
||||
})();
|
||||
</script>
|
||||
|
||||
{{-- Inline style to set the HTML background color based on our theme in app.css --}}
|
||||
<style>
|
||||
html {
|
||||
background-color: oklch(0.9897 0 0);
|
||||
}
|
||||
|
||||
html.dark {
|
||||
background-color: oklch(0.24 0.04 265);
|
||||
}
|
||||
|
||||
html.contrast {
|
||||
background-color: oklch(0 0 0);
|
||||
}
|
||||
</style>
|
||||
|
||||
<title inertia>{{ config('app.name', 'Szpital Oborniki') }}</title>
|
||||
|
||||
<!-- CSRF Token -->
|
||||
<meta name="csrf-token" content="{{ csrf_token() }}">
|
||||
|
||||
@routes
|
||||
@viteReactRefresh
|
||||
@vite(['resources/js/app.tsx', "resources/js/pages/{$page['component']}.tsx"])
|
||||
@inertiaHead
|
||||
</head>
|
||||
<body class="font-sans antialiased">
|
||||
@inertia
|
||||
</body>
|
||||
</html>
|
||||
91
resources/views/emails/contact-form.blade.php
Normal file
91
resources/views/emails/contact-form.blade.php
Normal file
@@ -0,0 +1,91 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Wiadomość z formularza kontaktowego</title>
|
||||
<style>
|
||||
body {
|
||||
font-family: Arial, sans-serif;
|
||||
line-height: 1.6;
|
||||
color: #333;
|
||||
padding: 20px;
|
||||
}
|
||||
.container {
|
||||
max-width: 600px;
|
||||
margin: 0 auto;
|
||||
border: 1px solid #ddd;
|
||||
border-radius: 5px;
|
||||
padding: 20px;
|
||||
}
|
||||
.header {
|
||||
background-color: #f8f9fa;
|
||||
padding: 15px;
|
||||
margin-bottom: 20px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
.content {
|
||||
padding: 15px;
|
||||
}
|
||||
.footer {
|
||||
margin-top: 20px;
|
||||
padding-top: 20px;
|
||||
border-top: 1px solid #ddd;
|
||||
font-size: 12px;
|
||||
color: #777;
|
||||
}
|
||||
.field {
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
.field-label {
|
||||
font-weight: bold;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
.field-value {
|
||||
padding: 10px;
|
||||
background-color: #f8f9fa;
|
||||
border-radius: 5px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="header">
|
||||
<h2>Nowa wiadomość z formularza kontaktowego</h2>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="field">
|
||||
<div class="field-label">Imię i nazwisko:</div>
|
||||
<div class="field-value">{{ $name }}</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<div class="field-label">Adres e-mail:</div>
|
||||
<div class="field-value">{{ $email }}</div>
|
||||
</div>
|
||||
|
||||
@if($phone)
|
||||
<div class="field">
|
||||
<div class="field-label">Telefon:</div>
|
||||
<div class="field-value">{{ $phone }}</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="field">
|
||||
<div class="field-label">Temat:</div>
|
||||
<div class="field-value">{{ $subject }}</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<div class="field-label">Treść wiadomości:</div>
|
||||
<div class="field-value">{{ $messageContent }}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="footer">
|
||||
<p>Ta wiadomość została wysłana automatycznie z formularza kontaktowego na stronie Samodzielny Publiczny Zakład Opieki Zdrowotnej w Obornikach (www.szpital.oborniki.info).</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
9
resources/views/filament/admin/logo.blade.php
Normal file
9
resources/views/filament/admin/logo.blade.php
Normal file
@@ -0,0 +1,9 @@
|
||||
@php
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
$files = Storage::disk('public')->files('header-logo');
|
||||
$lastFile = !empty($files) ? last($files) : 'header-logo/logo.png';
|
||||
@endphp
|
||||
<div class="flex items-center gap-2">
|
||||
<img src="{{ asset('storage/' . $lastFile) }}" alt="Logo Szpitala" class="h-10">
|
||||
<h1 class="text-2xl font-semibold">Szpital Oborniki</h1>
|
||||
</div>
|
||||
@@ -0,0 +1,7 @@
|
||||
<x-filament-panels::page>
|
||||
<x-filament-panels::form wire:submit="save">
|
||||
{{ $this->form }}
|
||||
<x-filament-panels::form.actions :actions="$this->getFormActions()" />
|
||||
<x-filament-actions::modals />
|
||||
</x-filament-panels::form>
|
||||
</x-filament-panels::page>
|
||||
58
resources/views/filament/pages/diagnostic-page.blade.php
Normal file
58
resources/views/filament/pages/diagnostic-page.blade.php
Normal file
@@ -0,0 +1,58 @@
|
||||
<x-filament-panels::page>
|
||||
<div class="flex flex-col items-start justify-start">
|
||||
<h1 class="text-2xl font-bold tracking-tight text-gray-950 dark:text-white mb-4">Informacje o serwerze</h1>
|
||||
|
||||
<h2 class="text-xl font-semibold tracking-tight text-gray-950 dark:text-white">Aplikacja</h2>
|
||||
<ul class="mb-4 w-fit text-gray-950 list-disc list-inside dark:text-gray-400">
|
||||
<li class="text-gray-950 dark:text-gray-400">Nazwa aplikacji: {{ config('app.name') }}</li>
|
||||
<li class="text-gray-950 dark:text-gray-400">URL aplikacji: {{ config('app.url') }}</li>
|
||||
<li class="text-gray-950 dark:text-gray-400">Środowisko: {{ config('app.env') }}</li>
|
||||
<li class="text-gray-950 dark:text-gray-400">Debugowanie: {{ config('app.debug') }}</li>
|
||||
<li class="text-gray-950 dark:text-gray-400">Język aplikacji: {{ config('app.locale') }}</li>
|
||||
</ul>
|
||||
|
||||
<h2 class="text-xl font-semibold tracking-tight text-gray-950 dark:text-white">Biblioteki (npm)</h2>
|
||||
<ul class="mb-4 w-fit text-gray-950 list-disc list-inside dark:text-gray-400">
|
||||
@foreach ($npmPackages as $package)
|
||||
<li class="text-gray-950 dark:text-gray-400" style="color: {{ $package['is_up_to_date'] ? 'green' : 'red' }}">{{ $package['name'] }}{{ $package['current_version'] ? ', Wersja: ' . $package['current_version'] : null }}{{ !$package['is_up_to_date'] ? ' -> Nowsza wersja: ' . $package['latest_version'] : null }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
|
||||
<h2 class="text-xl font-semibold tracking-tight text-gray-950 dark:text-white">Biblioteki (composer)</h2>
|
||||
<ul class="mb-4 w-fit text-gray-950 list-disc list-inside dark:text-gray-400">
|
||||
@foreach ($composerPackages as $package)
|
||||
<li class="text-gray-950 dark:text-gray-400" style="color: {{ $package['is_up_to_date'] ? 'green' : 'red' }}">{{ $package['name'] }}{{ $package['current_version'] ? ', Wersja: ' . $package['current_version'] : null }}{{ !$package['is_up_to_date'] ? ' -> Nowsza wersja: ' . $package['latest_version'] : null }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
|
||||
<h2 class="text-xl font-semibold tracking-tight text-gray-950 dark:text-white">PHP {{ phpversion() }}</h2>
|
||||
|
||||
<?php
|
||||
$json = file_get_contents('https://www.php.net/releases/?json');
|
||||
$data = json_decode($json, true);
|
||||
|
||||
if (is_array($data) && !empty($data)) {
|
||||
$versions = array_keys($data);
|
||||
usort($versions, 'version_compare');
|
||||
$latest = end($versions);
|
||||
|
||||
$latestVersionObj = $data[$latest];
|
||||
$latestVersionField = $latestVersionObj['version'] ?? $latest;
|
||||
|
||||
echo "<p class='font-semibold underline text-gray-950 dark:text-gray-400'>Najnowsza wersja PHP: $latestVersionField</p>";
|
||||
} else {
|
||||
echo "<p class='font-semibold underline text-gray-950 dark:text-gray-400'>Nie udało się pobrać danych o wersjach PHP.</p>";
|
||||
}
|
||||
?>
|
||||
|
||||
<p class="text-lg text-gray-950 dark:text-white">Załadowane moduły:</p>
|
||||
<ul class="mb-4 w-fit text-gray-950 list-disc list-inside dark:text-gray-400">
|
||||
<?php
|
||||
$modules = get_loaded_extensions();
|
||||
foreach ($modules as $module) {
|
||||
echo '<li class="text-gray-950 dark:text-gray-400">' . $module . ', Wersja: ' . phpversion($module) . "</li>";
|
||||
}
|
||||
?>
|
||||
</ul>
|
||||
</div>
|
||||
</x-filament-panels::page>
|
||||
Reference in New Issue
Block a user