v0.9.0 - Added individual Read more buttons on news.index
Added NewsType - To see if it's a news, menu, guide or event Added type column to News type_id & arrangement_id (Both needed to see what type (menu,guide,news,event) and arrangement(The individual types ID)) Added NewsTypeSeeder.php Fixed CSS Added & Fixed messages en/dk Fixed Editors Added routing when removing yourself from an event, on events.index
This commit is contained in:
@@ -53,9 +53,9 @@
|
||||
modules: {
|
||||
'toolbar': [
|
||||
[ 'bold', 'italic', 'underline', 'strike' ],
|
||||
[{ 'color': [] }, { 'background': [] }],
|
||||
[{ 'color': [] }],
|
||||
[{ 'script': 'super' }, { 'script': 'sub' }],
|
||||
[{ 'header': '1' }, { 'header': '2' }, 'blockquote', 'code-block' ],
|
||||
[{ 'header': '1' }, { 'header': '2' }, 'blockquote' ],
|
||||
[{ 'list': 'ordered' }, { 'list': 'bullet'}, { 'indent': '-1' }, { 'indent': '+1' }],
|
||||
[ {'direction': 'rtl'}, { 'align': [] }],
|
||||
[ 'link' ],
|
||||
|
||||
@@ -52,9 +52,9 @@
|
||||
modules: {
|
||||
'toolbar': [
|
||||
[ 'bold', 'italic', 'underline', 'strike' ],
|
||||
[{ 'color': [] }, { 'background': [] }],
|
||||
[{ 'color': [] }],
|
||||
[{ 'script': 'super' }, { 'script': 'sub' }],
|
||||
[{ 'header': '1' }, { 'header': '2' }, 'blockquote', 'code-block' ],
|
||||
[{ 'header': '1' }, { 'header': '2' }, 'blockquote' ],
|
||||
[{ 'list': 'ordered' }, { 'list': 'bullet'}, { 'indent': '-1' }, { 'indent': '+1' }],
|
||||
[ {'direction': 'rtl'}, { 'align': [] }],
|
||||
[ 'link' ],
|
||||
|
||||
@@ -48,9 +48,9 @@
|
||||
modules: {
|
||||
'toolbar': [
|
||||
[ 'bold', 'italic', 'underline', 'strike' ],
|
||||
[{ 'color': [] }, { 'background': [] }],
|
||||
[{ 'color': [] }],
|
||||
[{ 'script': 'super' }, { 'script': 'sub' }],
|
||||
[{ 'header': '1' }, { 'header': '2' }, 'blockquote', 'code-block' ],
|
||||
[{ 'header': '1' }, { 'header': '2' }, 'blockquote' ],
|
||||
[{ 'list': 'ordered' }, { 'list': 'bullet'}, { 'indent': '-1' }, { 'indent': '+1' }],
|
||||
[ {'direction': 'rtl'}, { 'align': [] }],
|
||||
[ 'link' ],
|
||||
|
||||
@@ -48,9 +48,9 @@
|
||||
modules: {
|
||||
'toolbar': [
|
||||
[ 'bold', 'italic', 'underline', 'strike' ],
|
||||
[{ 'color': [] }, { 'background': [] }],
|
||||
[{ 'color': [] }],
|
||||
[{ 'script': 'super' }, { 'script': 'sub' }],
|
||||
[{ 'header': '1' }, { 'header': '2' }, 'blockquote', 'code-block' ],
|
||||
[{ 'header': '1' }, { 'header': '2' }, 'blockquote' ],
|
||||
[{ 'list': 'ordered' }, { 'list': 'bullet'}, { 'indent': '-1' }, { 'indent': '+1' }],
|
||||
[ {'direction': 'rtl'}, { 'align': [] }],
|
||||
[ 'link' ],
|
||||
|
||||
@@ -63,9 +63,9 @@
|
||||
modules: {
|
||||
'toolbar': [
|
||||
[ 'bold', 'italic', 'underline', 'strike' ],
|
||||
[{ 'color': ['#ffffff-#000000'] }, { 'background': [] }],
|
||||
[{ 'color': [] }],
|
||||
[{ 'script': 'super' }, { 'script': 'sub' }],
|
||||
[{ 'header': '1' }, { 'header': '2' }, 'blockquote', 'code-block' ],
|
||||
[{ 'header': '1' }, { 'header': '2' }, 'blockquote' ],
|
||||
[{ 'list': 'ordered' }, { 'list': 'bullet'}, { 'indent': '-1' }, { 'indent': '+1' }],
|
||||
[ {'direction': 'rtl'}, { 'align': [] }],
|
||||
[ 'link' ],
|
||||
|
||||
@@ -47,9 +47,9 @@
|
||||
modules: {
|
||||
'toolbar': [
|
||||
[ 'bold', 'italic', 'underline', 'strike' ],
|
||||
[{ 'color': [] }, { 'background': [] }],
|
||||
[{ 'color': [] }],
|
||||
[{ 'script': 'super' }, { 'script': 'sub' }],
|
||||
[{ 'header': '1' }, { 'header': '2' }, 'blockquote', 'code-block' ],
|
||||
[{ 'header': '1' }, { 'header': '2' }, 'blockquote' ],
|
||||
[{ 'list': 'ordered' }, { 'list': 'bullet'}, { 'indent': '-1' }, { 'indent': '+1' }],
|
||||
[ {'direction': 'rtl'}, { 'align': [] }],
|
||||
[ 'link' ],
|
||||
|
||||
@@ -33,9 +33,9 @@
|
||||
modules: {
|
||||
'toolbar': [
|
||||
[ 'bold', 'italic', 'underline', 'strike' ],
|
||||
[{ 'color': [] }, { 'background': [] }],
|
||||
[{ 'color': [] }],
|
||||
[{ 'script': 'super' }, { 'script': 'sub' }],
|
||||
[{ 'header': '1' }, { 'header': '2' }, 'blockquote', 'code-block' ],
|
||||
[{ 'header': '1' }, { 'header': '2' }, 'blockquote' ],
|
||||
[{ 'list': 'ordered' }, { 'list': 'bullet'}, { 'indent': '-1' }, { 'indent': '+1' }],
|
||||
[ {'direction': 'rtl'}, { 'align': [] }],
|
||||
[ 'link' ],
|
||||
|
||||
@@ -34,9 +34,9 @@
|
||||
modules: {
|
||||
'toolbar': [
|
||||
[ 'bold', 'italic', 'underline', 'strike' ],
|
||||
[{ 'color': [] }, { 'background': [] }],
|
||||
[{ 'color': [] }],
|
||||
[{ 'script': 'super' }, { 'script': 'sub' }],
|
||||
[{ 'header': '1' }, { 'header': '2' }, 'blockquote', 'code-block' ],
|
||||
[{ 'header': '1' }, { 'header': '2' }, 'blockquote' ],
|
||||
[{ 'list': 'ordered' }, { 'list': 'bullet'}, { 'indent': '-1' }, { 'indent': '+1' }],
|
||||
[ {'direction': 'rtl'}, { 'align': [] }],
|
||||
[ 'link' ],
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
@if($event->resource_id !== null)
|
||||
<div class="header" style="background-size: cover; background-image: url('{{ asset(\App\Resource::query()->where("id", "=", $event->resource_id)->first()->filename) }}');">
|
||||
<h3 style="text-shadow: 2px 2px 2px #00078A;">{{ $event->name }}</h3>
|
||||
<p style="text-shadow: 2px 2px 2px #00078A"; class="text-center mt-0">Af: {{ $event->accountable }}</p>
|
||||
<p style="text-shadow: 2px 2px 2px #00078A"; class="text-center mt-0">{{__('msg.af')}}: {{ $event->accountable }}</p>
|
||||
<p style="text-shadow: 2px 2px 2px #00078A"; class="text-center mt-0">{{ \Illuminate\Support\Facades\Date::createFromTimeStamp(strtotime($event->date))->format('d/m/Y \k\l\. H:i') }}</p>
|
||||
</div>
|
||||
@else
|
||||
@@ -51,14 +51,15 @@
|
||||
<p class="text-center mt-0">{{ \Illuminate\Support\Facades\Date::createFromTimeStamp(strtotime($event->date))->format('d/m/Y \k\l\. H:i') }}</p>
|
||||
</div>
|
||||
@endif
|
||||
<div class="container">
|
||||
<div class="container" style="margin-top: 8px;">
|
||||
{!! \App\Helpers::closetags(substr($event->description, 0, 300) )!!}
|
||||
<input type="hidden" name="event_id" value="{{ $event->id }}">
|
||||
{!! session()->get('error#' . $event->id) !!}
|
||||
{!! session()->get('signup#' . $event->id) !!}
|
||||
<div class="row">
|
||||
<a style="width: 50%; margin: 0; padding: 0; text-align: start; font-weight: 700;" class="sde-blue" href="javascript:;" onclick="document.getElementById('form{{$event->id}}').submit();" >Tilmeld</a>
|
||||
<a style="width: 50%; margin: 0; padding: 0; text-align: end; font-weight: 700;" class="sde-blue" href="{{route("events.show", ["event" => $event->id ])}}">Læs mere</a>
|
||||
<div class="row" style="justify-content: space-between; margin-top: 16px;">
|
||||
<a style="margin: 0; padding: 0; font-weight: 700;" class="sde-blue text-center" href="javascript:;" onclick="document.getElementById('form{{$event->id}}').submit();" >{{__('msg.tilmeld')}}</a>
|
||||
<a style="margin: 0; padding: 0; font-weight: 700;" class="sde-blue text-center" href="{{route("events.show", ["event" => $event->id ])}}">{{__('msg.læsmere')}}</a>
|
||||
<a style="margin: 0; padding: 0; font-weight: 700;" class="sde-blue text-center" href="{{route("events.accountsignups", ["event" => $event->id ])}}">{{__('msg.sedeltagere')}}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -13,7 +13,9 @@
|
||||
<main>
|
||||
<h1 style="margin-bottom: 2rem" class="text-center sde-blue mt-0">{{__('msg.aktiviteter')}}</h1>
|
||||
<div style="padding: 4px; margin-top: .25rem; text-align: justify; ">
|
||||
<h2 class="text-center sde-blue mt-0">{{ $event->name }}</h2>
|
||||
<h2 class="text-center sde-blue mt-0 mb-1">{{ $event->name }}</h2>
|
||||
<p class="text-center mt-0">{{__('msg.af')}}: {{ $event->accountable }}</p>
|
||||
<p class="text-center mt-0">{{ \Illuminate\Support\Facades\Date::createFromTimeStamp(strtotime($event->date))->format('d/m/Y \k\l\. H:i') }}</p>
|
||||
{!!$event->description!!}
|
||||
</div>
|
||||
<button style="margin-top: auto" onclick="window.history.back()" class="btn btn-sde-blue text-white mb-1 mt-1" >{{__('msg.tilbage')}}</button>
|
||||
|
||||
@@ -4,6 +4,34 @@
|
||||
@endsection
|
||||
|
||||
@section("content")
|
||||
<style>
|
||||
div.card {
|
||||
margin-top: 1rem;
|
||||
margin-bottom: 30px;
|
||||
width: auto;
|
||||
heigt: auto;
|
||||
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
|
||||
}
|
||||
|
||||
div.header {
|
||||
background-color: #00788a;
|
||||
color: white;
|
||||
padding: 8px;
|
||||
font-size: 10px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
div.container {
|
||||
padding: 8px;
|
||||
text-align: justify;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
ol {
|
||||
padding-right: 8px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<main>
|
||||
<h1 class="text-center sde-blue mb-0" style="margin-bottom: 2rem">{{__('msg.tilmeldteaktiviteter')}}</h1>
|
||||
{!! session()->get('eventunsubscribed') !!}
|
||||
@@ -12,10 +40,29 @@
|
||||
<form method="post" action="{{ route("userevents.destroy", $userevent) }}">
|
||||
@csrf
|
||||
@method("delete")
|
||||
<h3 class="sde-blue bold text-center mb-0">{{$userevent->name}}</h3>
|
||||
<p class="text-center mt-0">{{ \Illuminate\Support\Facades\Date::createFromTimeStamp(strtotime($userevent->date))->format('d/m/Y \k\l\. H:i') }}</p>
|
||||
<p class="text-center">{!! $userevent->description !!}</p>
|
||||
<button type="submit" class="btn text-center btn-sde-blue" onclick="return confirm('Are you sure you want to remove this event?');">{{__('msg.afmeld')}}</button>
|
||||
<div class="card">
|
||||
@if($userevent->resource_id !== null)
|
||||
<div class="header" style="background-size: cover; background-image: url('{{ asset(\App\Resource::query()->where("id", "=", $userevent->resource_id)->first()->filename) }}');">
|
||||
<h3 style="text-shadow: 2px 2px 2px #00078A;">{{ $userevent->name }}</h3>
|
||||
<p style="text-shadow: 2px 2px 2px #00078A"; class="text-center mt-0">{{__('msg.af')}}: {{ $userevent->accountable }}</p>
|
||||
<p style="text-shadow: 2px 2px 2px #00078A"; class="text-center mt-0">{{ \Illuminate\Support\Facades\Date::createFromTimeStamp(strtotime($userevent->date))->format('d/m/Y \k\l\. H:i') }}</p>
|
||||
</div>
|
||||
@else
|
||||
<div class="header">
|
||||
<h3>{{ $userevent->name }}</h3>
|
||||
<p class="text-center mt-0">{{__('msg.af')}}: {{ $userevent->accountable }}</p>
|
||||
<p class="text-center mt-0">{{ \Illuminate\Support\Facades\Date::createFromTimeStamp(strtotime($event->date))->format('d/m/Y \k\l\. H:i') }}</p>
|
||||
</div>
|
||||
@endif
|
||||
<div class="container">
|
||||
{!! \App\Helpers::closetags(substr($userevent->description, 0, 300) )!!}
|
||||
<div class="row" style="justify-content: space-between;">
|
||||
<a style="margin: 0; padding: 0; font-weight: 700;" class="sde-blue text-center" href="javascript:;" onclick="return confirm('Are you sure you want to remove this event?');" >{{__('msg.afmeld')}}</a>
|
||||
<a style="margin: 0; padding: 0; font-weight: 700;" class="sde-blue text-center" href="{{route("events.show", ["event" => $userevent->id ])}}">{{__('msg.læsmere')}}</a>
|
||||
<a style="margin: 0; padding: 0; font-weight: 700;" class="sde-blue text-center" href="{{route("events.accountsignups", ["event" => $userevent->id ])}}">{{__('msg.sedeltagere')}}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
@endforeach
|
||||
@else
|
||||
|
||||
@@ -48,7 +48,9 @@
|
||||
@endif
|
||||
<div class="container">
|
||||
{!! \App\Helpers::closetags(substr($guide->guide_articles, 0, 300)) !!}
|
||||
<a style="width: 33%; margin: 0; padding: 0; text-align: center; font-weight: 700;" class="sde-blue" href="{{route("guides.show", ["guide" => $guide->id ])}}">Læs mere</a>
|
||||
<div class="row" style="justify-content: center;">
|
||||
<a style="margin: 0; padding: 0; text-align: center; font-weight: 700;" class="sde-blue" href="{{route("guides.show", ["guide" => $guide->id ])}}">{{__('msg.læsmere')}}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
|
||||
@@ -29,22 +29,43 @@
|
||||
</style>
|
||||
<main style="justify-content: unset;">
|
||||
@foreach(\App\News::query()->orderBy("created_at", "desc")->get() as $new)
|
||||
<div class="card">
|
||||
@if($new->resource_id !== null)
|
||||
<div class="header" style="background-size: cover; background-image: url('{{ asset(\App\Resource::query()->where("id", "=", $new->resource_id)->first()->filename) }}');">
|
||||
<p style="text-shadow: 2px 2px 2px #00078A;"><b>{{ $new->name }}</b></p>
|
||||
<h3 style="text-shadow: 2px 2px 2px #00078A;">{{ $new->subname }}</h3>
|
||||
<div class="card">
|
||||
@if($new->resource_id !== null)
|
||||
<div class="header" style="background-size: cover; background-image: url('{{ asset(\App\Resource::query()->where("id", "=", $new->resource_id)->first()->filename) }}');">
|
||||
<p style="text-shadow: 2px 2px 2px #00078A;"><b>{{ $new->name }}</b></p>
|
||||
<h3 style="text-shadow: 2px 2px 2px #00078A;">{{ $new->subname }}</h3>
|
||||
</div>
|
||||
@else
|
||||
<div class="header">
|
||||
<p><b>{{ $new->name }}</b></p>
|
||||
<h3>{{ $new->subname }}</h3>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="container" style="margin-top: 8px;">
|
||||
@if ($new->type_id == 1 || $new->type_id == 2) {{-- If it's a news or menu then display the whole message --}}
|
||||
{!! $new->content !!}
|
||||
@else {{-- If it's a menu, guide or event. Then display up to 300 characters of text --}}
|
||||
{!! \App\Helpers::closetags(substr($new->content, 0, 300) ) !!}
|
||||
@endif
|
||||
|
||||
@if ($new->type_id == 3) {{-- If it's displaying an event, then show `Tilmeld`, `Læs mere` & `Se deltagere` --}}
|
||||
<div class="row" style="justify-content: space-between; margin-top: 16px;">
|
||||
@if (count(\App\UserEvent::query()->where('event_id', '=', $new->arrangement_id)->where('user_id', '=', Auth::user()->id)->get()) > 0)
|
||||
<a style="margin: 0; padding: 0; font-weight: 700;" class="sde-blue text-center" href="javascript:void(0);" onclick="ajaxCallCancel({{ $new->arrangement_id }})" >{{__('msg.afmeld')}}</a>
|
||||
@else {{-- ^ If you're already participating in the event, then show a ´cancel´ button - v Else show a ´participate´ button --}}
|
||||
<a style="margin: 0; padding: 0; font-weight: 700;" class="sde-blue text-center" href="javascript:void(0);" onclick="ajaxCall({{ $new->arrangement_id }})" >{{__('msg.tilmeld')}}</a>
|
||||
@endif
|
||||
<a style="margin: 0; padding: 0; font-weight: 700;" class="sde-blue text-center" href="{{route("events.show", ["event" => $new->arrangement_id ])}}">{{__('msg.læsmere')}}</a>
|
||||
<a style="margin: 0; padding: 0; font-weight: 700;" class="sde-blue text-center" href="{{route("events.accountsignups", ["event" => $new->arrangement_id ])}}">{{__('msg.sedeltagere')}}</a>
|
||||
</div>
|
||||
@elseif ($new->type_id == 4) {{-- Else if's displaying guides, then show `Læs mere` --}}
|
||||
<div class="row" style="justify-content: center">
|
||||
<a style="font-weight: 700;" href="{{route("guides.show", ["guide" => $new->arrangement_id])}}" class="sde-blue">{{__('msg.læsmere')}}</a>
|
||||
</div>
|
||||
@endif {{-- Else if it's a menu or news, then don't show a button at bottom --}}
|
||||
</div>
|
||||
@else
|
||||
<div class="header">
|
||||
<p><b>{{ $new->name }}</b></p>
|
||||
<h3>{{ $new->subname }}</h3>
|
||||
</div>
|
||||
@endif
|
||||
<div class="container">
|
||||
{!! $new->content !!}
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
@if(count(\App\News::query()->orderBy("created_at", "desc")->get()) == 0)
|
||||
<p class="text-center">{{__('msg.ingennyheder')}}</p>
|
||||
@@ -58,10 +79,12 @@
|
||||
var x = document.getElementById("snackbar");
|
||||
x.innerHTML = data;
|
||||
x.className = "show";
|
||||
|
||||
setTimeout(function(){ x.className = x.className.replace("show", ""); }, 3000);
|
||||
}
|
||||
|
||||
function ajaxCall(event_id) {
|
||||
|
||||
axios.post("{{ route("userevents.createajax") }}",
|
||||
{
|
||||
event_id: event_id
|
||||
@@ -70,10 +93,26 @@
|
||||
var data = response.data;
|
||||
|
||||
snackbar(data);
|
||||
setTimeout(function(){document.location.reload(false)}, 2000);
|
||||
}).catch(function (error) {
|
||||
console.log(error);
|
||||
});
|
||||
}
|
||||
|
||||
function ajaxCallCancel(event_id) {
|
||||
|
||||
axios.post("{{ route("userevents.createajaxcancel") }}",
|
||||
{
|
||||
event_id: event_id
|
||||
}
|
||||
).then(function (response) {
|
||||
var data = response.data;
|
||||
|
||||
snackbar(data);
|
||||
setTimeout(function(){document.location.reload(false)}, 2000);
|
||||
}).catch(function (error) {
|
||||
console.log(error);
|
||||
});
|
||||
}
|
||||
</script>
|
||||
@endsection
|
||||
|
||||
Reference in New Issue
Block a user