order emails theming, sold out product card, contact page hcaptcha

This commit is contained in:
elvira
2026-09-25 17:44:42 +03:00
parent 3347febb3c
commit e2d7bbb043
21 changed files with 445 additions and 39 deletions
+18 -3
View File
@@ -3,6 +3,11 @@
@section('title', __('storefront.nav.contact'))
@section('description', 'Επικοινώνησε μαζί μας για οποιαδήποτε απορία ή ιδέα έχεις και θα σου απαντήσουμε το συντομότερο δυνατό.')
{{-- Only on pages with a captcha, not in the global layout. --}}
@push('scripts')
<script src="https://js.hcaptcha.com/1/api.js?hl={{ app()->getLocale() }}" async defer></script>
@endpush
@section('content')
<section class="grid grid-cols-1 lg:grid-cols-2 lg:divide-x lg:divide-black lg:min-h-[calc(100vh-102px)]">
@@ -30,25 +35,35 @@
@csrf
<div class="grid grid-cols-1 gap-8 sm:grid-cols-2">
<x-ui.field label="Το όνομά σου" for="contact-name" :error="$errors->first('name')">
<x-ui.field label="Το όνομά σου *" for="contact-name" :error="$errors->first('name')">
<x-ui.input id="contact-name" name="name" autocomplete="name" maxlength="100" :value="old('name')" :required="true"
:aria-invalid="$errors->has('name') ? 'true' : null"
:aria-describedby="$errors->has('name') ? 'contact-name-error' : null" />
</x-ui.field>
<x-ui.field label="Το email σου" for="contact-email" :error="$errors->first('email')">
<x-ui.field label="Το email σου *" for="contact-email" :error="$errors->first('email')">
<x-ui.input id="contact-email" name="email" type="email" autocomplete="email" maxlength="255" :value="old('email')" :required="true"
:aria-invalid="$errors->has('email') ? 'true' : null"
:aria-describedby="$errors->has('email') ? 'contact-email-error' : null" />
</x-ui.field>
</div>
<x-ui.field label="Το μήνυμά σου" for="contact-message" :error="$errors->first('message')">
<x-ui.field label="Το μήνυμά σου *" for="contact-message" :error="$errors->first('message')">
<x-ui.textarea id="contact-message" name="message" rows="5" maxlength="5000" :required="true"
:aria-invalid="$errors->has('message') ? 'true' : null"
:aria-describedby="$errors->has('message') ? 'contact-message-error' : null">{{ old('message') }}</x-ui.textarea>
</x-ui.field>
{{-- hCaptcha checkbox, verified by App\Rules\HCaptcha (see auth/login). --}}
<x-ui.field for="contact-captcha" :error="$errors->first('h-captcha-response')">
<div
id="contact-captcha"
class="h-captcha min-h-[78px]"
data-sitekey="{{ config('services.hcaptcha.sitekey') }}"
@if ($errors->has('h-captcha-response')) aria-describedby="contact-captcha-error" @endif
></div>
</x-ui.field>
@if (session('contact_error'))
<p role="alert" class="text-sm text-red-600">{{ session('contact_error') }}</p>
@endif