bitcoin event front end forms added

This commit is contained in:
HolgerHatGarKeineNode
2023-02-25 13:05:33 +01:00
parent 3f5881eff8
commit be7092c0a7
14 changed files with 533 additions and 42 deletions

View File

@@ -0,0 +1,6 @@
<div class="w-full mb-4 md:w-auto md:mb-0">
<x-button :href="route('bitcoinEvent.form', ['country' => $country, 'bitcoinEvent' => null])">
<i class="fa fa-thin fa-plus"></i>
{{ __('Register event') }}
</x-button>
</div>

View File

@@ -0,0 +1,129 @@
<div class="container p-4 mx-auto bg-21gray my-2">
<div class="pb-5 flex flex-row justify-between">
<h3 class="text-lg font-medium leading-6 text-gray-200">{{ __('Bitcoin Event') }}</h3>
<div class="flex flex-row space-x-2 items-center">
<div>
@if($bitcoinEvent->id)
<x-button negative wire:click="deleteMe">
<i class="fa fa-thin fa-trash"></i>
{{ __('Delete') }}
</x-button>
@endif
</div>
<div>
<x-button :href="$fromUrl">
<i class="fa fa-thin fa-arrow-left"></i>
{{ __('Back') }}
</x-button>
</div>
</div>
</div>
<form class="space-y-8 divide-y divide-gray-700 pb-24">
<div class="space-y-8 divide-y divide-gray-700 sm:space-y-5">
<div class="mt-6 sm:mt-5 space-y-6 sm:space-y-5">
<x-input.group :for="md5('image')" :label="__('Logo')">
<div class="py-4">
@if ($image)
<div class="text-gray-200">{{ __('Preview') }}:</div>
<img class="h-48 object-contain" src="{{ $image->temporaryUrl() }}">
@endif
@if ($bitcoinEvent->getFirstMediaUrl('logo'))
<div class="text-gray-200">{{ __('Current picture') }}:</div>
<img class="h-48 object-contain" src="{{ $bitcoinEvent->getFirstMediaUrl('logo') }}">
@endif
</div>
<input class="text-gray-200" type="file" wire:model="image">
@error('image') <span class="text-red-500">{{ $message }}</span> @enderror
</x-input.group>
<x-input.group :for="md5('venue_id')">
<x-slot name="label">
<div class="flex flex-row space-x-4 items-center">
<div>
{{ __('Venue') }}
</div>
<x-button xs href="{{ route('venue.form') }}">
<i class="fa fa-thin fa-plus"></i>
{{ __('Create venue') }}
</x-button>
</div>
</x-slot>
<x-select
autocomplete="off"
wire:model.debounce="bitcoinEvent.venue_id"
:placeholder="__('Venue')"
:async-data="[
'api' => route('api.venues.index'),
'method' => 'GET', // default is GET
]"
:template="[
'name' => 'user-option',
'config' => ['src' => 'flag']
]"
option-label="name"
option-value="id"
option-description="city.name"
/>
</x-input.group>
<x-input.group :for="md5('bitcoinEvent.from')" :label="__('Start')">
<x-datetime-picker
:clearable="false"
time-format="24"
timezone="UTC"
user-timezone="{{ config('app.user-timezone') }}"
autocomplete="off"
wire:model.debounce="bitcoinEvent.from"
display-format="DD-MM-YYYY HH:mm"
:placeholder="__('Start')"/>
</x-input.group>
<x-input.group :for="md5('bitcoinEvent.to')" :label="__('To')">
<x-datetime-picker
:clearable="false"
time-format="24"
timezone="UTC"
user-timezone="{{ config('app.user-timezone') }}"
autocomplete="off"
wire:model.debounce="bitcoinEvent.to"
display-format="DD-MM-YYYY HH:mm"
:placeholder="__('To')"/>
</x-input.group>
<x-input.group :for="md5('bitcoinEvent.title')" :label="__('Title')">
<x-input autocomplete="off" wire:model.debounce="bitcoinEvent.title"
:placeholder="__('Title')"/>
</x-input.group>
<x-input.group :for="md5('bitcoinEvent.description')" :label="__('Description')">
<div
class="text-amber-500 text-xs py-2">{{ __('For images in Markdown, please use eg. Imgur or another provider.') }}</div>
<x-input.simple-mde wire:model.defer="bitcoinEvent.description"/>
@error('bitcoinEvent.description') <span class="text-red-500 py-2">{{ $message }}</span> @enderror
</x-input.group>
<x-input.group :for="md5('bitcoinEvent.link')" :label="__('Link')">
<x-input autocomplete="off" wire:model.debounce="bitcoinEvent.link"
:placeholder="__('Link')"/>
</x-input.group>
<x-input.group :for="md5('bitcoinEvent.show_worldwide')" :label="__('Show worldwide')">
<x-toggle lg autocomplete="off" wire:model.debounce="bitcoinEvent.show_worldwide"
:placeholder="__('Show worldwide')"/>
<p class="text-xs py-2 text-gray-200">{{ __('If checked, the event will be shown everywhere.') }}</p>
</x-input.group>
<x-input.group :for="md5('action')" :label="__('Action')">
<x-button primary wire:click="submit">
<i class="fa fa-thin fa-save"></i>
{{ __('Save') }}
</x-button>
</x-input.group>
</div>
</div>
</form>
</div>

View File

@@ -23,12 +23,10 @@
{{ __('Author') }}
</div>
<div x-data="{currentUrl: window.location.href}">
<a x-bind:href="'/content-creator/form/?fromUrl='+currentUrl">
<x-button xs>
<x-button xs :href="route('contentCreator.form')">
<i class="fa fa-thin fa-plus"></i>
{{ __('Create new author') }}
</x-button>
</a>
</div>
</div>
</x-slot>

View File

@@ -55,7 +55,7 @@
<div>
{{ __('City/Area') }}
</div>
<x-button xs :href="route('city.form')" target="_blank">
<x-button xs :href="route('city.form')">
<i class="fa fa-thin fa-plus"></i>
{{ __('New City') }}
</x-button>

View File

@@ -0,0 +1,94 @@
<div class="container p-4 mx-auto bg-21gray my-2">
<div class="pb-5 flex flex-row justify-between">
<h3 class="text-lg font-medium leading-6 text-gray-200">{{ __('Venue') }}</h3>
<div class="flex flex-row space-x-2 items-center">
<div>
@if($venue->id)
<x-button negative wire:click="deleteMe">
<i class="fa fa-thin fa-trash"></i>
{{ __('Delete') }}
</x-button>
@endif
</div>
<div>
<x-button :href="$fromUrl">
<i class="fa fa-thin fa-arrow-left"></i>
{{ __('Back') }}
</x-button>
</div>
</div>
</div>
<form class="space-y-8 divide-y divide-gray-700 pb-24">
<div class="space-y-8 divide-y divide-gray-700 sm:space-y-5">
<div class="mt-6 sm:mt-5 space-y-6 sm:space-y-5">
<x-input.group :for="md5('image')" :label="__('Images')">
<div class="py-4">
@if ($images)
<div class="grid grid-cols-4 gap-1">
@foreach($images as $image)
<div>
<div class="text-gray-200">{{ __('Preview') }}:</div>
<img class="h-48 object-contain" src="{{ $image->temporaryUrl() }}">
</div>
@endforeach
</div>
@endif
{{--@if ($venue->getFirstMediaUrl('images'))
<div class="text-gray-200">{{ __('Current picture') }}:</div>
<img class="h-48 object-contain" src="{{ $venue->getFirstMediaUrl('logo') }}">
@endif--}}
</div>
<input class="text-gray-200" type="file" multiple wire:model="images">
</x-input.group>
<x-input.group :for="md5('city_id')">
<x-slot name="label">
<div class="flex flex-row space-x-4 items-center">
<div>
{{ __('City') }}
</div>
<x-button xs href="{{ route('city.form') }}">
<i class="fa fa-thin fa-plus"></i>
{{ __('New City') }}
</x-button>
</div>
</x-slot>
<x-select
:clearable="false"
autocomplete="off"
wire:model.debounce="venue.city_id"
:placeholder="__('City/Area')"
:async-data="[
'api' => route('api.cities.index'),
'method' => 'GET', // default is GET
]"
option-label="name"
option-value="id"
option-description="country.name"
/>
</x-input.group>
<x-input.group :for="md5('venue.name')" :label="__('Name')">
<x-input autocomplete="off" wire:model.debounce="venue.name"
:placeholder="__('Name')"/>
</x-input.group>
<x-input.group :for="md5('venue.street')" :label="__('Address')">
<x-input autocomplete="off" wire:model.debounce="venue.street"
:placeholder="__('Address')"/>
</x-input.group>
<x-input.group :for="md5('action')" :label="__('Action')">
<x-button primary wire:click="submit">
<i class="fa fa-thin fa-save"></i>
{{ __('Save') }}
</x-button>
</x-input.group>
</div>
</div>
</form>
</div>

View File

@@ -28,15 +28,6 @@
</div>
@endif
@if(str(request()->route()->getName())->contains('bitcoinEvent.'))
<div>
<x-button xs amber href="/nova/resources/bitcoin-events" target="_blank">
<i class="fa fa-thin fa-plus"></i>
{{ __('Register event') }}
</x-button>
</div>
@endif
<div>
<x-button xs amber href="{{ route('profile.show') }}"
:active="request()->routeIs('profile.show')">