Fristen, index, css

This commit is contained in:
2026-03-30 21:46:43 +02:00
parent b34bfb0a47
commit d93d3bd1d1
8 changed files with 79 additions and 19 deletions

View File

@@ -24,6 +24,6 @@ class ChaosEvents extends Model
public static function getActiveEvents(){ public static function getActiveEvents(){
return self::where('active', 1)->where('to_date_internal', '>=', today()) return self::where('active', 1)->where('to_date_internal', '>=', today())
->where('from_date_internal', '<=', today())->get(); ->where('from_date_internal', '<=', today())->orderBy('to_date_internal')->get();
} }
} }

View File

@@ -23,6 +23,9 @@ return [
'editApplications' => 'Anträge bearbeiten', 'editApplications' => 'Anträge bearbeiten',
'logout' => 'Abmelden' 'logout' => 'Abmelden'
], ],
'index' => [
'welcome' => 'Willkommen auf der Internetpräsenz des C3Gov'
],
'about' => [ 'about' => [
'subtitle' => 'Unbeschwertes Einreisen in die stationären sowie temporären CCC Bezirksregionen', 'subtitle' => 'Unbeschwertes Einreisen in die stationären sowie temporären CCC Bezirksregionen',
'text1' => 'Das C3Gov bietet Ihnen die Ausstellung unserer zertifizierten Reisepässe an, mit denen Sie unbeschwert in die Botschaften [Hackspaces] sowie temporär bestehenden Bezirksregionen des CCC einreisen und Ihren Aufenthalt verifizieren lassen können.', 'text1' => 'Das C3Gov bietet Ihnen die Ausstellung unserer zertifizierten Reisepässe an, mit denen Sie unbeschwert in die Botschaften [Hackspaces] sowie temporär bestehenden Bezirksregionen des CCC einreisen und Ihren Aufenthalt verifizieren lassen können.',
@@ -86,6 +89,7 @@ return [
<br />Nachdem Sie den Vorantrag abgeschickt haben, erhalten Sie eine Bestätigung via elektronischer Post.', <br />Nachdem Sie den Vorantrag abgeschickt haben, erhalten Sie eine Bestätigung via elektronischer Post.',
'noevent' => 'Es sind derzeit keine Termine verfügbar.', 'noevent' => 'Es sind derzeit keine Termine verfügbar.',
'region' => 'Bezirksregion', 'region' => 'Bezirksregion',
'time_ends' => 'Frist endet am',
'passport_type' => 'Reisepass-Typ', 'passport_type' => 'Reisepass-Typ',
'passport' => [ 'passport' => [
'standard' => 'Hacker*innen-Reisepass', 'standard' => 'Hacker*innen-Reisepass',

View File

@@ -23,6 +23,9 @@ return [
'editApplications' => 'Edit applications', 'editApplications' => 'Edit applications',
'logout' => 'Logout' 'logout' => 'Logout'
], ],
'index' => [
'welcome' => 'Welcome to the Internet presence of the C3Gov'
],
'about' => [ 'about' => [
'subtitle' => 'Hassle-Free Entry into CCC\'s Permanent and Temporary District Regions', 'subtitle' => 'Hassle-Free Entry into CCC\'s Permanent and Temporary District Regions',
'text1' => 'C3Gov offers you the issuance of our certified travel documents, which allow you to enter the CCC\'s permanent and temporary district regions hassle-free and have your stay verified.', 'text1' => 'C3Gov offers you the issuance of our certified travel documents, which allow you to enter the CCC\'s permanent and temporary district regions hassle-free and have your stay verified.',
@@ -86,6 +89,7 @@ return [
<br />After you have submitted the pre-application, you will receive a confirmation by e-mail.', <br />After you have submitted the pre-application, you will receive a confirmation by e-mail.',
'noevent' => 'Currently, there are no open appointment slots available.', 'noevent' => 'Currently, there are no open appointment slots available.',
'region' => 'District region', 'region' => 'District region',
'time_ends' => 'Time ends on',
'passport_type' => 'Passport type', 'passport_type' => 'Passport type',
'passport' => [ 'passport' => [
'standard' => 'Hacker Passport', 'standard' => 'Hacker Passport',

View File

@@ -257,3 +257,40 @@ nav {
text-align: center; text-align: center;
flex-shrink: 0; flex-shrink: 0;
} }
.split-left {
float: left;
width: 50%;
}
.split-right {
float: left;
width: 50%;
border-left: 1px dotted #000;
padding-left: 30px;
}
.content::after {
content: "";
display: table;
clear: both;
}
.apply-button {
font-size: 2.5em;
padding: 20px 40px;
border: 5px solid cyan;
border-radius: 10px;
cursor: pointer;
font-weight: bold;
animation: blink 2s infinite;
}
@keyframes blink {
0%, 100% {
background-color: white;
color: #4b0600;
}
50% {
background-color: cyan;
color: black;
}
}

View File

@@ -1,10 +0,0 @@
.split-left {
float: left;
width: 21%;
}
.split-right {
float: left;
width: 50%;
border-left: 1px dotted #000;
padding-left: 30px;
}

View File

@@ -16,14 +16,17 @@
<p>{!! __('app.preapplication.content') !!}</p> <p>{!! __('app.preapplication.content') !!}</p>
@forelse (ChaosEvents::getActiveEvents() as $event) @if (ChaosEvents::getActiveEvents()->count() > 0)
<div class="eingabemaske"> <div class="eingabemaske">
<table class="eingabetabelle"> <table class="eingabetabelle">
<tr> <tr>
<td>{{ __('app.preapplication.region') }}:</td> <td>{{ __('app.preapplication.region') }}:</td>
<td><select name="district_region" id="district_region"> <td><select name="district_region" id="district_region">
<option value="{{ $event->id }}">{{ $event->name }} ({{ $event->from_date_visible->format('Y-m-d') }} - {{ $event->to_date_visible->format('Y-m-d') }})</option> @foreach(ChaosEvents::getActiveEvents() as $event)
</select></td> <option value="{{ $event->id }}">{{ $event->name }} ({{ $event->from_date_visible->format('Y-m-d') }} - {{ $event->to_date_visible->format('Y-m-d') . ") - " . __('app.preapplication.time_ends') . ": " . $event->to_date_internal->format('Y-m-d')}}</option>
@endforeach
</select>
</td>
</tr> </tr>
<tr> <tr>
<td>{{ __('app.preapplication.passport_type') }}:</td> <td>{{ __('app.preapplication.passport_type') }}:</td>
@@ -56,8 +59,8 @@
</div> </div>
@empty @else
<p><b>{{ __('app.preapplication.noevent') }}</b></p> <p><b>{{ __('app.preapplication.noevent') }}</b></p>
@endforelse @endif
@endsection @endsection

View File

@@ -1,6 +1,29 @@
@extends('layout.app') @extends('layout.app')
@section('content') @section('content')
<img class="content-img" src="{{ asset('/Bilder/verwvstempel.jpg') }}" alt="{{ __('app.services.alt.stamp') }}"> <h1>{{ __('app.index.welcome') }}</h1>
<h1>Guten Tag.</h1>
<div style="text-align: center;">
<a href="{{ route('apply') }}"><button class="apply-button">{{ __('app.nav.apply') }}!!!!</button></a>
</div>
<br /><br />
<div class="split-left">
<h2 style="text-align: center;">{{ __('app.nav.about') }}</h2>
<a href="{{ route('about') }}"><img class="content-img" src="{{ asset('/Bilder/verwvstempel.jpg') }}" alt="{{ __('app.services.alt.stamp') }}"></a>
<br />
<h2 style="text-align: center;">{{ __('app.nav.news') }}</h2>
<a href="{{ route('news') }}"><img class="content-img" src="{{ asset('/Bilder/neuigkeiten.jpg') }}" alt="{{ __('app.news_alt') }}"></a>
</div>
<div class="split-right">
<h2 style="text-align: center;">{{ __('app.nav.services') }}</h2>
<a href="{{ route('services') }}"><img class="content-img" src="{{ asset('/Bilder/abgelehnt.jpg') }}" alt="{{ __('app.services.alt.rejected') }}"></a>
<br />
<h2 style="text-align: center;">{{ __('app.nav.contact') }}</h2>
<a href="{{ route('contact') }}"><img class="content-img" src="{{ asset('/Bilder/kontakt.jpg') }}" alt="{{ __('app.nav.contact') }}"></a>
</div>
<h2 style="text-align: center;">{{ __('app.nav.imprint') }}</h2>
<a href="{{ route('imprint') }}"><img class="content-img" src="{{ asset('/Bilder/ernsthaft.jpg') }}" alt="{{ __('app.nav.imprint') }}"></a>
@endsection @endsection

View File

@@ -12,7 +12,6 @@
} }
}; };
</script> </script>
<link rel="stylesheet" href="{{ asset("css/ticker/ticker.css") }}">
<script src="{{ asset("js/intern.js") }}"></script> <script src="{{ asset("js/intern.js") }}"></script>
<script src="{{ asset("js/ticker/edit.js") }}"></script> <script src="{{ asset("js/ticker/edit.js") }}"></script>
@endsection @endsection