basic-business-template/content/index.blade.php

352 lines
23 KiB
PHP

@inject('type', 'Type')
@extends('template.'.config('settings.template').'.content.master')
@php
$typeAnkundigung = $type->get("Ankündigung");
$typeLeistungen = $type->get("Leistungen");
$typeNews = $type->get("News");
$typeProdukte = $type->get("Produkte");
@endphp
@section('head')
<style>
.block {
width: 100%;
height: 100%;
position: relative;
overflow: hidden;
font-size: 16px;
}
.img-parallax {
width: 100vmax;
z-index: -1;
position: absolute;
top: 0;
left: 50%;
transform: translate(-50%, 0);
pointer-events: none;
}
</style>
@stop
@section('content')
@if($_hero_is_container)
<div class="container">
@endif
<div class="block" style="height: 100%;">
<x-img src="{{$cover}}" data-speed="-1" class="img-parallax" alt="{{config('settings.name')}} Cover" loading="eager" blur="off"/>
<div class="d-none d-lg-flex" style="margin-top: 10%; margin-bottom: 8%;">
<div class="p-3 rounded container" style="width: 45vw; background: rgba(255, 255, 255, 0.2);
border-radius: 16px;
box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
backdrop-filter: blur(5px);
-webkit-backdrop-filter: blur(5px);
border: 1px solid rgba(255, 255, 255, 0.3);">
<h1 class="card-title mb-3 text-center" style="text-shadow: 0 2px 4px {{$_primary_ci_color}}36;">
{{config('settings.name')}}
</h1>
<p class="card-text my-2 text-white fs-5" style="text-shadow: 0 2px 4px {{$_primary_ci_color}}36;">
{{config('settings.description')}}
</p>
</div>
</div>
</div>
<div class="card text-bg-dark border-0 d-lg-none" style="border-radius:0; box-shadow:none;">
<x-img src="{{$cover}}" style="object-fit:cover; aspect-ratio:3/1;" class="img-fluid shadow-lg" alt="{{config('settings.name')}} Cover" />
<div class="card-img-overlay d-none d-lg-flex align-items-center" styles="border-radius:0; background: radial-gradient(rgba(0,0,0,.5) 20%,rgba(0,0,0,.1)); box-shadow:inset 0 0 3px 1px rgba(0,0,0,.1), inset 0 0 25px 2px rgba(0,0,0,.2);">
<div class="container p-3 rounded" style="width: 55vw; border-radius:0; background: radial-gradient({{$_primary_ci_color}}50,{{$_primary_ci_color}}30); box-shadow:inset 0 0 3px 1px {{$_primary_ci_color}}10, inset 0 0 25px 2px rgba(0,0,0,.2);">
<h1 class="card-title text-white mb-5 text-center text-uppercase">{{config('settings.name')}}</h1>
<p class="card-text my-2 text-white fs-5">{{config('settings.description')}}</p>
</div>
</div>
</div>
@if($_hero_is_container)
</div>
@endif
<div class="container d-lg-none">
<div class="row">
<div class="col-12">
<h1 class="card-title my-3">{{config('settings.name')}}</h1>
<p class="card-text my-2 text-muted fs-5">{{config('settings.description')}}</p>
</div>
</div>
</div>
@if($typeAnkundigung->status)
@if($typeAnkundigung->contents->isNotEmpty())
<div class="container">
<div class="row pt-1 pt-lg-4">
@foreach($typeAnkundigung->contents->take(3) as $content)
<div class="col-12">
@isset($content->link)
<a href="{{ $content->link }}" class="text-decoration-none" data-aos="fade-up">
<div class="alert alert-{{ $content->color }} my-2" role="alert">
<h5 class="alert-heading">
<svg width="25" height="25" class="me-2" style="fill: currentColor;">
<image id="type-icon" xlink:href="{{asset('fonts/icons/font-awesome/light/')}}/{{ $content->icon }}.svg" width="25" height="25"/>
</svg>
{{ $content->title }}</h5>
{{ $content->ankundigung }} Lorem ipsum dolor sit amet, consectetur adipisicing elit. Animi asperiores atque aut dolorem doloribus hic iusto laboriosam, laborum magnam magni molestiae optio provident ratione rerum sapiente sequi sint tempora voluptatibus.
<div class="text-end">
<i class="text-end me-5">Mehr lesen
<svg style="width: 20px; fill: currentColor" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M507.3 267.3c6.2-6.2 6.2-16.4 0-22.6l-144-144c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L457.4 240 16 240c-8.8 0-16 7.2-16 16s7.2 16 16 16l441.4 0L340.7 388.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l144-144z"/></svg>
</i>
</div>
</div>
</a>
@else
<div class="alert alert-{{ $content->color }} my-2" role="alert">
<h5 class="alert-heading">
<svg width="25" height="25" class="me-2" style="fill: currentColor;">
<image id="type-icon" xlink:href="{{asset('fonts/icons/font-awesome/light')}}/{{ $content->icon }}.svg" width="25" height="25"/>
</svg>
{{ $content->title }}
</h5>
{{ $content->ankundigung }}
</div>
@endisset
</div>
@endforeach
</div>
</div>
@endif
@endif
@if($typeLeistungen->status)
@if($typeLeistungen->contents->isNotEmpty())
<section>
<div class="container">
<div class="row">
<div class="col-12">
<h2 id="leistungen" class="mb-4">Leistungen</h2>
</div>
@foreach($typeLeistungen->contents->take(3) as $contentIndex => $content)
<a href="{{ $content->path }}" class="text-decoration-none">
<div class="card mb-4" >
<div class="row g-0">
<div class="col-md-4">
<x-img src="{{$content->image()}}" alt="{{$content->title}}" style="aspect-ratio:9/5; object-fit:cover;" sizes="(max-width: 330px) 330px, 540px" class="img-fluid card-img-top rounded" loading="{{$contentIndex == 0?'eager':'lazy'}}"/>
</div>
<div class="col-md-7 ps-4">
<div class="card-body py-lg-4 px-lg-3">
<h3 class="card-title h4">{{$content->title}}</h3>
<p class="card-text">{{$content->kurzbeschreibung}}</p>
</div>
</div>
</div>
</div>
</a>
@endforeach
@if($typeLeistungen->contents->count() > 3)
<div class="col-12 text-center mt-3">
<a href="{{url('/leistungen')}}" class="text-muted text-decoration-none">
Alle Leistungen
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-chevron-right" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z" />
</svg>
</a>
</div>
@endif
</div>
</div>
</section>
@endif
@endif
@if($typeNews->status)
@if($typeNews->contents->isNotEmpty())
<section id="article-section" style="margin-top:120px;">
<div class="container">
<div class="row">
<div class="col-12">
<h2 id="aktuelles" class="mb-4">Aktuelles</h2>
</div>
@foreach($typeNews->contents->take(3) as $index => $content)
<div class="col-12 col-md-6 col-lg-4 mb-4" data-aos="fade-up" data-aos-delay="{{$index * 250}}">
<div class="card shadow-sm h-100">
<a href="{{ $content->path }}" class="text-decoration-none">
<x-img src="{{$content->image()}}" alt="{{$content->title}}" style="aspect-ratio:9/5; object-fit:cover;" sizes="(max-width: 330px) 330px, 540px" class="img-fluid card-img-top"/>
</a>
<div class="card-body">
<h3 class="h5 mb-2">
<a href="{{ $content->path }}" class="text-decoration-none">
{{$content->title}}
</a>
</h3>
<div class="text-muted small my-3">
<span title="{{$content->created_at}}">
<svg style="fill: currentColor;width:15px;margin-bottom: 5px;margin-right: 3px;}" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M112 0c8.8 0 16 7.2 16 16V64H320V16c0-8.8 7.2-16 16-16s16 7.2 16 16V64h32c35.3 0 64 28.7 64 64v32 32V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192 160 128C0 92.7 28.7 64 64 64H96V16c0-8.8 7.2-16 16-16zM416 192H32V448c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V192zM384 96H64c-17.7 0-32 14.3-32 32v32H416V128c0-17.7-14.3-32-32-32z"/></svg>
{{ $content->updated_at->diffForHumans() }}
</span>
</div>
{!! Str::limit($content->vorschau, 280) !!}
</div>
<div class="card-footer text-end">
<a class="btn btn-sm btn-ci" href="{{ $content->path }}" onclick="gtag('event', 'See Job', {'event_category' : 'Home', 'event_label' : '{{$content->title}}'});">
Mehr lesen
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-chevron-right" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z" />
</svg>
</a>
</div>
</div>
</div>
@endforeach
@if($news->count() > 3)
<div class="col-12 text-center mt-3">
<a href="{{url('/aktuelles')}}" class="text-muted text-decoration-none">
<svg style="fill: currentColor; width: 14px; margin-right: 4px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M32 132V48c0-8.8-7.2-16-16-16S0 39.2 0 48V176c0 8.8 7.2 16 16 16H144c8.8 0 16-7.2 16-16s-7.2-16-16-16H53.6C89.5 84.3 166.7 32 256 32c123.7 0 224 100.3 224 224s-100.3 224-224 224c-73.3 0-138.3-35.2-179.2-89.6c-5.3-7.1-15.3-8.5-22.4-3.2s-8.5 15.3-3.2 22.4C97.9 471.8 172.2 512 256 512c141.4 0 256-114.6 256-256S397.4 0 256 0C159.6 0 75.7 53.3 32 132zm224-4c-8.8 0-16 7.2-16 16V256c0 4.2 1.7 8.3 4.7 11.3l80 80c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L272 249.4V144c0-8.8-7.2-16-16-16z"/></svg>
Ältere Nachrichten
</a>
</div>
@endif
</div>
</div>
</section>
@endif
@endif
@if($typeProdukte->status)
@if($typeProdukte->contents->isNotEmpty())
<section id="article-section" style="margin-top:120px;">
<div class="container">
<div class="row">
<div class="col-12">
<h2 id="aktuelles" class="mb-4">Produkte</h2>
</div>
@foreach($typeProdukte->contents->take(3) as $content)
<div class="col-12 col-md-6 col-lg-4 mb-4">
<div class="card shadow-sm h-100">
<a href="{{ $content->path }}" class="text-decoration-none">
<x-img src="{{$content->image()}}" alt="{{$content->title}}" style="aspect-ratio:9/5; object-fit:cover;" sizes="(max-width: 330px) 330px, 540px" class="img-fluid card-img-top"/>
</a>
<div class="card-body">
<h3 class="h5 mb-2">
<a href="{{ $content->path }}" class="text-decoration-none">
{{$content->title}}
</a>
</h3>
<div class="text-muted small my-3">
<span title="{{$content->created_at}}">
<svg style="fill: currentColor;width:15px;margin-bottom: 5px;margin-right: 3px;}" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M112 0c8.8 0 16 7.2 16 16V64H320V16c0-8.8 7.2-16 16-16s16 7.2 16 16V64h32c35.3 0 64 28.7 64 64v32 32V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192 160 128C0 92.7 28.7 64 64 64H96V16c0-8.8 7.2-16 16-16zM416 192H32V448c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V192zM384 96H64c-17.7 0-32 14.3-32 32v32H416V128c0-17.7-14.3-32-32-32z"/></svg>
{{$content->updated_at->diffForHumans()}}
</span>
</div>
{{$content->kurzbeschreibung}}
</div>
<div class="card-footer text-end">
<a class="btn btn-sm btn-ci" href="{{$content->path}}" onclick="gtag('event', 'See Job', {'event_category' : 'Home', 'event_label' : '{{$content->title}}'});">
Mehr lesen
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-chevron-right" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z" />
</svg>
</a>
</div>
</div>
</div>
@endforeach
@if($products->count() > 3)
<div class="col-12 text-center mt-3">
<a href="{{url('/aktuelles')}}" class="text-muted text-decoration-none">
<svg style="fill: currentColor; width: 14px; margin-right: 4px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M32 132V48c0-8.8-7.2-16-16-16S0 39.2 0 48V176c0 8.8 7.2 16 16 16H144c8.8 0 16-7.2 16-16s-7.2-16-16-16H53.6C89.5 84.3 166.7 32 256 32c123.7 0 224 100.3 224 224s-100.3 224-224 224c-73.3 0-138.3-35.2-179.2-89.6c-5.3-7.1-15.3-8.5-22.4-3.2s-8.5 15.3-3.2 22.4C97.9 471.8 172.2 512 256 512c141.4 0 256-114.6 256-256S397.4 0 256 0C159.6 0 75.7 53.3 32 132zm224-4c-8.8 0-16 7.2-16 16V256c0 4.2 1.7 8.3 4.7 11.3l80 80c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L272 249.4V144c0-8.8-7.2-16-16-16z"/></svg>
Ältere Nachrichten
</a>
</div>
@endif
</div>
</div>
</section>
@endif
@endif
<section id="kontakt">
<div class="container">
<div class="row">
<div class="col-12">
<h2 class="mt-4 mb-5">Kontakt</h2>
<br>
</div>
<div class="col-md-4 text-center" data-aos="zoom-in">
<div class="icon-box-2">
<div class="icon-box-content">
<svg style="fill: {{$_title_color}} ; width: 70px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M487.8 24.1L387 .8c-14.7-3.4-29.8 4.2-35.8 18.1l-46.5 108.5c-5.5 12.7-1.8 27.7 8.9 36.5l53.9 44.1c-34 69.2-90.3 125.6-159.6 159.6l-44.1-53.9c-8.8-10.7-23.8-14.4-36.5-8.9L18.9 351.3C5 357.3-2.6 372.3.8 387L24 487.7C27.3 502 39.9 512 54.5 512 306.7 512 512 307.8 512 54.5c0-14.6-10-27.2-24.2-30.4zM55.1 480l-23-99.6 107.4-46 59.5 72.8c103.6-48.6 159.7-104.9 208.1-208.1l-72.8-59.5 46-107.4 99.6 23C479.7 289.7 289.6 479.7 55.1 480z"/></svg>
<p class="mt-4">
Telefon: <a href="tel://{{$_telefonnummer}}" class="text-decoration-none">{{$_telefonnummer}}</a>
</p>
<br>
<br>
<br>
</div>
</div>
</div>
<div class="col-md-4 text-center" data-aos="zoom-in" data-aos-delay="250">
<div class="icon-box-2">
<svg style="fill: {{$_title_color}}; width: 70px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 8C118.941 8 8 118.919 8 256c0 137.058 110.919 248 248 248 52.925 0 104.68-17.078 147.092-48.319 5.501-4.052 6.423-11.924 2.095-17.211l-5.074-6.198c-4.018-4.909-11.193-5.883-16.307-2.129C346.93 457.208 301.974 472 256 472c-119.373 0-216-96.607-216-216 0-119.375 96.607-216 216-216 118.445 0 216 80.024 216 200 0 72.873-52.819 108.241-116.065 108.241-19.734 0-23.695-10.816-19.503-33.868l32.07-164.071c1.449-7.411-4.226-14.302-11.777-14.302h-12.421a12 12 0 0 0-11.781 9.718c-2.294 11.846-2.86 13.464-3.861 25.647-11.729-27.078-38.639-43.023-73.375-43.023-68.044 0-133.176 62.95-133.176 157.027 0 61.587 33.915 98.354 90.723 98.354 39.729 0 70.601-24.278 86.633-46.982-1.211 27.786 17.455 42.213 45.975 42.213C453.089 378.954 504 321.729 504 240 504 103.814 393.863 8 256 8zm-37.92 342.627c-36.681 0-58.58-25.108-58.58-67.166 0-74.69 50.765-121.545 97.217-121.545 38.857 0 58.102 27.79 58.102 65.735 0 58.133-38.369 122.976-96.739 122.976z"/></svg>
<div class="icon-box-content">
<p class="mt-4">
<a href="mailto:{{config('settings.contact_email')}}" class="text-decoration-none">{{config('settings.contact_email')}}</a>
</p>
<br>
<br>
<br>
</div>
</div>
</div>
<div class="col-md-4 text-center" data-aos="zoom-in" data-aos-delay="500">
<div class="icon-box-2">
<svg style="fill: {{$_title_color}}; width: 70px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M570.53,242,512,190.75V48a16,16,0,0,0-16-16H400a16,16,0,0,0-16,16V78.75L298.53,4a16,16,0,0,0-21.06,0L5.47,242a16,16,0,0,0,21.07,24.09L64,233.27V464a48.05,48.05,0,0,0,48,48H464a48.05,48.05,0,0,0,48-48V233.27l37.46,32.79A16,16,0,0,0,570.53,242ZM480,464a16,16,0,0,1-16,16H112a16,16,0,0,1-16-16V205.27l192-168,192,168Zm0-301.25-64-56V64h64ZM208,218.67V325.34A26.75,26.75,0,0,0,234.66,352H341.3A26.76,26.76,0,0,0,368,325.34V218.67A26.75,26.75,0,0,0,341.3,192H234.66A26.74,26.74,0,0,0,208,218.67ZM240,224h96v96H240Z"/></svg>
<div class="icon-box-content">
<p class="mt-4">
<strong>{{$_legal_name}}</strong>
<br>
{{$_legal_address}}
<br>
{{$_legal_zip_code}} {{$_legal_city}}
</p>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
@stop
@section('scripts')
<script>
document.addEventListener("DOMContentLoaded", () => {
$('.img-parallax').each(function() {
var $image = $(this);
var $imageParent = $(this).parent().parent().parent();
function parallaxImg () {
var speed = $image.data('speed');
var imageY = $imageParent.offset().top;
var winY = $(this).scrollTop();
var winH = $(this).height();
var parentH = $imageParent.innerHeight();
// The next pixel to show on screen
var winBottom = winY + winH;
// If block is shown on screen
if (winBottom > imageY && winY < imageY + parentH) {
// Number of pixels shown after block appear
var imgBottom = ((winBottom - imageY) * speed);
// Max number of pixels until block disappear
var imgTop = winH + parentH;
// Percentage between start showing until disappearing
var imgPercent = ((imgBottom / imgTop) * 100) + (50 - (speed * 50));
}
$image.css({ top: imgPercent + '%', transform: 'translate(-50%, -' + imgPercent + '%)' });
}
$(document).on({ scroll: function () { parallaxImg(); } });
parallaxImg();
});
});
</script>
@stop