Update
This commit is contained in:
98
resources/views/layouts/site.blade.php
Normal file
98
resources/views/layouts/site.blade.php
Normal file
@@ -0,0 +1,98 @@
|
||||
<!doctype html>
|
||||
<html lang="{{ app()->getLocale() }}">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<link rel="icon" type="image/x-icon" href="{{ $assetBase }}/img/love.svg">
|
||||
<link rel="stylesheet" href="{{ $assetBase }}/css/bootstrap.min.css" />
|
||||
<link rel="stylesheet" href="{{ $assetBase }}/css/owl.carousel.min.css" />
|
||||
<link rel="stylesheet" href="{{ $assetBase }}/css/owl.theme.default.min.css" />
|
||||
<link rel="stylesheet" href="{{ $assetBase }}/css/style.css" />
|
||||
<link rel="stylesheet" href="{{ $assetBase }}/css/responsive.css" />
|
||||
<title>{{ $title }}</title>
|
||||
@stack('head')
|
||||
</head>
|
||||
<body>
|
||||
@php
|
||||
$showPageReveal = in_array($page ?? null, ['home', 'about'], true);
|
||||
@endphp
|
||||
|
||||
@if($showPageReveal)
|
||||
<div class="page-reveal"></div>
|
||||
@endif
|
||||
<!------ Header Area Start ----->
|
||||
<header class="header">
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<nav class="header-wrapper nav-desktop">
|
||||
<a href="{{ route('home') }}">Home</a>
|
||||
<a href="{{ route('work') }}">Work</a>
|
||||
<div class="site-logo">
|
||||
<a href="{{ route('home') }}"><img src="{{ $assetBase }}/img/logo.svg" alt="Aritmija logo"></a>
|
||||
</div>
|
||||
<a href="{{ route('about') }}">About</a>
|
||||
<a href="{{ route('contact') }}">Contact</a>
|
||||
</nav>
|
||||
|
||||
<div class="mobile-nav">
|
||||
<div class="love-sm">
|
||||
<a href="{{ route('home') }}"><img src="{{ $assetBase }}/img/love.svg" alt="Aritmija icon"></a>
|
||||
</div>
|
||||
<div class="logo-sm">
|
||||
<a href="{{ route('home') }}"><img src="{{ $assetBase }}/img/logo.svg" alt="Aritmija logo"></a>
|
||||
</div>
|
||||
<div class="menu-trigger">
|
||||
<span></span>
|
||||
<span></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</header> <!------ Header Area End ----->
|
||||
|
||||
<!------ Slide Mobile Menu Area Start ----->
|
||||
<div class="slide-menu">
|
||||
<div class="menu-close">
|
||||
<span></span>
|
||||
<span></span>
|
||||
</div>
|
||||
<div class="menu_item">
|
||||
<ul>
|
||||
<li @class(['active' => ($page ?? null) === 'home'])><a href="{{ route('home') }}">Home</a></li>
|
||||
<li @class(['active' => ($page ?? null) === 'about'])><a href="{{ route('about') }}">About</a></li>
|
||||
<li @class(['active' => ($page ?? null) === 'work'])><a href="{{ route('work') }}">Work</a></li>
|
||||
<li @class(['active' => ($page ?? null) === 'contact'])><a href="{{ route('contact') }}">Contact</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="info-bottom">
|
||||
<span>En</span>
|
||||
<img src="{{ $assetBase }}/img/love.svg" alt="Aritmija icon">
|
||||
<span>Sl</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@yield('content')
|
||||
|
||||
<footer @class(['footer' => ($page ?? null) === 'home'])>
|
||||
@if (($page ?? null) === 'home')
|
||||
<x-block keycode="FOOTER-HOME-BLOCK"></x-block>
|
||||
@endif
|
||||
<x-block keycode="FOOTER-BLOCK"></x-block>
|
||||
</footer>
|
||||
|
||||
<!-- Bootstrap Bundle with Popper -->
|
||||
<script src="https://cdn.jsdelivr.net/npm/lenis@1.3.13/dist/lenis.min.js"></script>
|
||||
<script src="{{ $assetBase }}/js/jquery.min.js"></script>
|
||||
<script src="{{ $assetBase }}/js/Popper.js"></script>
|
||||
<script src="{{ $assetBase }}/js/bootstrap.min.js"></script>
|
||||
<script src="{{ $assetBase }}/js/owl.carousel.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.5/gsap.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/Draggable.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.5/ScrollTrigger.min.js"></script>
|
||||
<script src="https://unpkg.com/gsap@3/dist/MorphSVGPlugin.min.js"></script>
|
||||
<script src="{{ $assetBase }}/js/main.js"></script>
|
||||
@stack('scripts')
|
||||
</body>
|
||||
</html>
|
||||
45
resources/views/pages/_terms.blade.php
Normal file
45
resources/views/pages/_terms.blade.php
Normal file
@@ -0,0 +1,45 @@
|
||||
@extends('layouts.site')
|
||||
|
||||
@section('content')
|
||||
<div class="terms-area">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="terms-content">
|
||||
<div class="content-block">
|
||||
<h2>Terms of Service</h2>
|
||||
<h4>Omejitev odgovornosti</h4>
|
||||
<p>Družba Aritmija se bo po najboljših močeh trudila zagotavljati najbolj točne in najnovejše podatke na svojih straneh, vendar opozarja uporabnike spletnih strani, da so besedila informativnega značaja, zato ne jamči in ne prevzema nobene odgovornosti za njihovo točnost in celovitost strani. Vsi uporabniki objavljeno vsebino uporabljajo na lastno odgovornost.</p>
|
||||
<p>Niti družba Aritmija niti katera koli druga pravna ali fizična oseba, ki je sodelovala pri nastanku in izdelavi teh spletnih strani, ni odgovorna za občasno nedelovanje strani, za morebitno netočnost informacij in tudi ne za morebitno škodo, nastalo zaradi uporabe netočnih ali nepopolnih informacij, zato ne odgovarja za nobeno škodo ali neprijetnosti, ki bi izhajale iz obstoja spletnih strani, iz dostopa do in/ali uporabe in/ali nezmožnosti uporabe informacij na teh spletnih straneh in/ali za kakršne koli napake ali pomanjkljivosti v njihovi vsebini, ne glede na to, ali so bili obveščeni o možnosti take škode.</p>
|
||||
<p>Ker obstajajo na spletni strani družbe Aritmija določene povezave na druge spletne strani, ki niso v nikakršni povezavi z družbo Aritmija in nad katerimi družba Aritmija nima nadzora, družba Aritmija ne more jamčiti in tudi ne prejemati ali posredovati pritožb glede točnosti vsebin katerekoli spletne strani, za katero nudi povezavo ali referenco in ne prevzema nobene odgovornosti za zaščito podatkov na teh spletnih straneh.</p>
|
||||
<p>Družba Aritmija si pridržuje pravico, da kadarkoli spremeni, dodaja ali odstrani vsebino teh spletnih strani dodajanja ali odstranitve vsebin, objavljenih na spletni strani www.aritmija.si kadarkoli, na kakršenkoli način, delno ali v celoti, ne glede na razlog ter brez predhodnega opozorila. Vsi uporabniki vso objavljeno vsebino uporabljajo na lastno odgovornost.</p>
|
||||
</div>
|
||||
<div class="content-block">
|
||||
<h4>Zaupnost podatkov</h4>
|
||||
<p>Družba Aritmija avtomatsko zbira podatke o uporabi teh strani, predvsem podatke, katere strani so največkrat obiskane, število obiskovalcev, koliko časa obiskovalci ostanejo na spletnem mestu, ipd.. Ti podatki ne omogočajo vpogleda v osebne podatke uporabnikov. Uporabili jih bomo z namenom izboljšanja uporabe spletnega mesta. Družba Aritmija spoštuje vašo zasebnost in se zavezuje, da bo varovala zasebnost uporabnikov spletnega mesta.</p>
|
||||
<p>Avtorske pravice <br>
|
||||
Vsa vsebina, objavljena na spletnih straneh www.aritmija.si, je last družbe Aritmija in je v zakonsko dovoljenem okviru predmet avtorske zaščite ali drugih oblik zaščite intelektualne lastnine.</p>
|
||||
<p>
|
||||
Dokumenti, objavljeni na teh spletnih straneh, se lahko uporabljajo izključno v nekomercialne namene, in se jih ne sme spreminjati, prepisovati, razmnoževati, ponovno objavljati, pošiljati po pošti ali kako drugače razširjati v komercialne namene brez izrecnega pisnega dovoljenja družbe Aritmija. <br>
|
||||
|
||||
Vse reprodukcije ali primerki vsebine teh spletnih strani morajo ohraniti tudi vse navedene označbe avtorskih pravic, drugih obvestil o pravicah intelektualne lastnine ali obvestil o drugih pravicah (© 2021 Aritmija - Vse pravice pridržane). <br>
|
||||
|
||||
Blagovne znamke in storitvene znamke, ki se pojavljajo na teh straneh, so registrirane blagovne znamke, katerih imetnik ali uporabnik licence je družba Aritmija ali njene povezane družbe. Uporaba teh znamk je izrecno prepovedana, razen v primerih, ki so določeni v tem besedilu. <br>
|
||||
|
||||
<p>Družba Aritmija aktivno uveljavlja pravice do intelektualne lastnine v največjem možnem obsegu, ki ga omogoča zakonodaja.</p>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="content-block">
|
||||
<h4>Avtorske pravice</h4>
|
||||
<p>Vsa vsebina, objavljena na spletnih straneh www.aritmija.si, je last družbe Aritmija in je v zakonsko dovoljenem okviru predmet avtorske zaščite ali drugih oblik zaščite intelektualne lastnine.</p>
|
||||
<p>Dokumenti, objavljeni na teh spletnih straneh, se lahko uporabljajo izključno v nekomercialne namene, in se jih ne sme spreminjati, prepisovati, razmnoževati, ponovno objavljati, pošiljati po pošti ali kako drugače razširjati v komercialne namene brez izrecnega pisnega dovoljenja družbe Aritmija.</p>
|
||||
<p>Vse reprodukcije ali primerki vsebine teh spletnih strani morajo ohraniti tudi vse navedene označbe avtorskih pravic, drugih obvestil o pravicah intelektualne lastnine ali obvestil o drugih pravicah (© 2021 Aritmija - Vse pravice pridržane). Blagovne znamke in storitvene znamke, ki se pojavljajo na teh straneh, so registrirane blagovne znamke, katerih imetnik ali uporabnik licence je družba Aritmija ali njene povezane družbe. Uporaba teh znamk je izrecno prepovedana, razen v primerih, ki so določeni v tem besedilu.</p>
|
||||
<p>Družba Aritmija aktivno uveljavlja pravice do intelektualne lastnine v največjem možnem obsegu, ki ga omogoča zakonodaja.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
15
resources/views/pages/about.blade.php
Normal file
15
resources/views/pages/about.blade.php
Normal file
@@ -0,0 +1,15 @@
|
||||
@extends('layouts.site')
|
||||
|
||||
@section('content')
|
||||
<x-block keycode="ABOUT-PAGE-MAIN"></x-block>
|
||||
<x-block keycode="ABOUT-PAGE-WORKING-TOGETHER"></x-block>
|
||||
<x-block keycode="ABOUT-PAGE-CREATIVE"></x-block>
|
||||
<x-block keycode="ABOUT-PAGE-SLIDER"></x-block>
|
||||
<x-block keycode="ABOUT-PAGE-INSPIRATION"></x-block>
|
||||
@php
|
||||
/*<x-block keycode="ABOUT-PAGE-ABOUT-AREA"></x-block>*/
|
||||
@endphp
|
||||
<x-block keycode="HOME-PAGE-BRANDING-AREA"></x-block>
|
||||
|
||||
<x-block keycode="ABOUT-PAGE-WORKING-TOGETHER-BOTTOM"></x-block>
|
||||
@endsection
|
||||
12
resources/views/pages/contact.blade.php
Normal file
12
resources/views/pages/contact.blade.php
Normal file
@@ -0,0 +1,12 @@
|
||||
@extends('layouts.site')
|
||||
|
||||
@section('content')
|
||||
@php($formErrors = $errors ?? new \Illuminate\Support\ViewErrorBag())
|
||||
<div class="contact-area">
|
||||
<div class="container">
|
||||
<div class="row"><div class="col-lg-12"><div class="contact-wrapper"><div class="contact-title"><h2>{{ trans('fp.LETS_MAKE_MAGIC') }}</h2><p>{{ trans('fp.CONTACT_DESCRIPTION') }}</p></div><div class="contact-form"><form action="{{ route('contact.submit') }}" method="POST">@csrf<div class="single-item"><input type="text" name="name" value="{{ old('name') }}" placeholder="{{ trans('fp.NAME') }}">@if ($formErrors->has('name'))<p class="text-danger mt-2">{{ $formErrors->first('name') }}</p>@endif</div><div class="single-item"><input type="email" name="email" value="{{ old('email') }}" placeholder="{{ trans('fp.EMAIL') }}">@if ($formErrors->has('email'))<p class="text-danger mt-2">{{ $formErrors->first('email') }}</p>@endif</div><div class="single-item"><textarea name="message" placeholder="{{ trans('fp.MESSAGE') }}">{{ old('message') }}</textarea>@if ($formErrors->has('message'))<p class="text-danger mt-2">{{ $formErrors->first('message') }}</p>@endif</div><div class="single-item submit-btn"><button type="submit" class="btn__primary">{{ trans('fp.SEND_IT') }} <span><img src="{{ $assetBase }}/img/send.svg" alt="{{ trans('fp.SEND') }}"></span></button></div></form></div></div></div></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<section class="contact-note-area"><div class="container"><div class="row"><div class="col-lg-12"><div class="note-text"><h2>Follow us on Instagram, LinkedIn or Behance for the latest news & updates.</h2></div></div></div></div></section>
|
||||
@endsection
|
||||
65
resources/views/pages/home.blade.php
Normal file
65
resources/views/pages/home.blade.php
Normal file
@@ -0,0 +1,65 @@
|
||||
@extends('layouts.site')
|
||||
|
||||
@push('head')
|
||||
@if(!empty($seo['meta_description']))
|
||||
<meta name="description" content="{{ $seo['meta_description'] }}">
|
||||
@endif
|
||||
@if(!empty($seo['meta_keywords']))
|
||||
<meta name="keywords" content="{{ $seo['meta_keywords'] }}">
|
||||
@endif
|
||||
@if(!empty($seo['meta_author']))
|
||||
<meta name="author" content="{{ $seo['meta_author'] }}">
|
||||
@endif
|
||||
@if(!empty($seo['meta_publisher']))
|
||||
<meta name="publisher" content="{{ $seo['meta_publisher'] }}">
|
||||
@endif
|
||||
@if(!empty($seo['meta_copyright']))
|
||||
<meta name="copyright" content="{{ $seo['meta_copyright'] }}">
|
||||
@endif
|
||||
@if(!empty($seo['meta_refresh']))
|
||||
<meta http-equiv="refresh" content="{{ $seo['meta_refresh'] }}">
|
||||
@endif
|
||||
<meta property="og:type" content="{{ $seo['og_type'] }}">
|
||||
<meta property="og:title" content="{{ $seo['og_title'] }}">
|
||||
@if(!empty($seo['og_description']))
|
||||
<meta property="og:description" content="{{ $seo['og_description'] }}">
|
||||
@endif
|
||||
@if(!empty($seo['og_image']))
|
||||
<meta property="og:image" content="{{ $seo['og_image'] }}">
|
||||
@endif
|
||||
<meta property="og:url" content="{{ request()->url() }}">
|
||||
@endpush
|
||||
|
||||
@section('content')
|
||||
|
||||
|
||||
@php
|
||||
/*
|
||||
<section class="hero-area">
|
||||
<div class="video-hero">
|
||||
<x-block keycode="HOME-PAGE-VIDEO"></x-block>
|
||||
</div>
|
||||
<a href="{{ route('contact') }}" class="lets-talk-btn">Let’s talk</a>
|
||||
<div class="language-action">
|
||||
<ul>
|
||||
@foreach($activeLanguages as $language)
|
||||
<li @class(['active' => app()->getLocale() === $language->iso])>
|
||||
<button type="button" onclick="window.location.href='{{ route('home', ['locale' => $language->iso]) }}'">{{ strtoupper($language->iso) }}</button>
|
||||
</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
*/
|
||||
@endphp
|
||||
|
||||
<x-block keycode="HOME-PAGE-AREA-HOME"></x-block>
|
||||
<x-block keycode="HOME-PAGE-SHOWCASE"></x-block>
|
||||
<x-block keycode="HOME-PAGE-ABOUT-AREA"></x-block>
|
||||
<x-block keycode="HOME-PAGE-VIDEO"></x-block>
|
||||
<x-block keycode="HOME-PAGE-WORKING-TOGETHER"></x-block>
|
||||
<x-block keycode="HOME-PAGE-BRANDING-AREA"></x-block>
|
||||
<x-block keycode="HOME-PAGE-BRIEF-AREA"></x-block>
|
||||
<x-block keycode="HOME-PAGE-CTA-AREA"></x-block>
|
||||
|
||||
@endsection
|
||||
37
resources/views/pages/index.blade.php
Normal file
37
resources/views/pages/index.blade.php
Normal file
@@ -0,0 +1,37 @@
|
||||
@extends('layouts.site')
|
||||
|
||||
@push('head')
|
||||
@if(!empty($seo['meta_description']))
|
||||
<meta name="description" content="{{ $seo['meta_description'] }}">
|
||||
@endif
|
||||
@if(!empty($seo['meta_keywords']))
|
||||
<meta name="keywords" content="{{ $seo['meta_keywords'] }}">
|
||||
@endif
|
||||
@if(!empty($seo['meta_author']))
|
||||
<meta name="author" content="{{ $seo['meta_author'] }}">
|
||||
@endif
|
||||
@if(!empty($seo['meta_publisher']))
|
||||
<meta name="publisher" content="{{ $seo['meta_publisher'] }}">
|
||||
@endif
|
||||
@if(!empty($seo['meta_copyright']))
|
||||
<meta name="copyright" content="{{ $seo['meta_copyright'] }}">
|
||||
@endif
|
||||
@if(!empty($seo['meta_refresh']))
|
||||
<meta http-equiv="refresh" content="{{ $seo['meta_refresh'] }}">
|
||||
@endif
|
||||
<meta property="og:type" content="{{ $seo['og_type'] }}">
|
||||
<meta property="og:title" content="{{ $seo['og_title'] }}">
|
||||
@if(!empty($seo['og_description']))
|
||||
<meta property="og:description" content="{{ $seo['og_description'] }}">
|
||||
@endif
|
||||
@if(!empty($seo['og_image']))
|
||||
<meta property="og:image" content="{{ $seo['og_image'] }}">
|
||||
@endif
|
||||
<meta property="og:url" content="{{ request()->url() }}">
|
||||
@endpush
|
||||
|
||||
@section('content')
|
||||
<main class="page-content">
|
||||
{!! $page->content->content ?? '' !!}
|
||||
</main>
|
||||
@endsection
|
||||
49
resources/views/pages/page.blade.php
Normal file
49
resources/views/pages/page.blade.php
Normal file
@@ -0,0 +1,49 @@
|
||||
@extends('layouts.site')
|
||||
|
||||
@push('head')
|
||||
@if(!empty($seo['meta_description']))
|
||||
<meta name="description" content="{{ $seo['meta_description'] }}">
|
||||
@endif
|
||||
@if(!empty($seo['meta_keywords']))
|
||||
<meta name="keywords" content="{{ $seo['meta_keywords'] }}">
|
||||
@endif
|
||||
@if(!empty($seo['meta_author']))
|
||||
<meta name="author" content="{{ $seo['meta_author'] }}">
|
||||
@endif
|
||||
@if(!empty($seo['meta_publisher']))
|
||||
<meta name="publisher" content="{{ $seo['meta_publisher'] }}">
|
||||
@endif
|
||||
@if(!empty($seo['meta_copyright']))
|
||||
<meta name="copyright" content="{{ $seo['meta_copyright'] }}">
|
||||
@endif
|
||||
@if(!empty($seo['meta_refresh']))
|
||||
<meta http-equiv="refresh" content="{{ $seo['meta_refresh'] }}">
|
||||
@endif
|
||||
<meta property="og:type" content="{{ $seo['og_type'] }}">
|
||||
<meta property="og:title" content="{{ $seo['og_title'] }}">
|
||||
@if(!empty($seo['og_description']))
|
||||
<meta property="og:description" content="{{ $seo['og_description'] }}">
|
||||
@endif
|
||||
@if(!empty($seo['og_image']))
|
||||
<meta property="og:image" content="{{ $seo['og_image'] }}">
|
||||
@endif
|
||||
<meta property="og:url" content="{{ request()->url() }}">
|
||||
@endpush
|
||||
|
||||
@section('content')
|
||||
|
||||
|
||||
<div class="terms-area">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="terms-content">
|
||||
<div class="content-block">
|
||||
{!! html_entity_decode((string) ($content->translation->content ?? ''), ENT_QUOTES | ENT_HTML5, 'UTF-8') !!}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
63
resources/views/pages/partials/project-slot.blade.php
Normal file
63
resources/views/pages/partials/project-slot.blade.php
Normal file
@@ -0,0 +1,63 @@
|
||||
{{--
|
||||
Renders a single project slot: image, text, video (youtube/bunny/frameio/mp4).
|
||||
Expected $slot shape:
|
||||
type : 'image' | 'text' | 'video'
|
||||
image : ['url' => string, 'alt' => string]
|
||||
media : ['type' => string, 'url' => string, 'embedUrl' => string] | null
|
||||
--}}
|
||||
@php
|
||||
$stretch = $stretch ?? false;
|
||||
$squareEmbed = $squareEmbed ?? false;
|
||||
$slotType = $slot['type'] ?? '';
|
||||
@endphp
|
||||
|
||||
@if($slotType === 'image' && !empty($slot['image']['url']))
|
||||
|
||||
<div @class(['project-slot', 'project-slot--image', 'project-slot--stretch' => $stretch])>
|
||||
<img class="project-slot__image" src="{{ $slot['image']['url'] }}" alt="{{ $slot['image']['alt'] ?? '' }}">
|
||||
</div>
|
||||
|
||||
@elseif($slotType === 'text' && trim(strip_tags((string) ($slot['text'] ?? ''))) !== '')
|
||||
|
||||
<div @class(['project-slot', 'project-slot--text', 'project-slot--stretch' => $stretch, 'd-flex' => true, 'align-items-center' => true])>
|
||||
<div class="project-slot__text col-12 col-lg-8 offset-lg-2">
|
||||
<div class="text-center w-100">
|
||||
{!! $slot['text'] !!}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@elseif($slotType === 'video' && !empty($slot['media']))
|
||||
@php $media = $slot['media']; @endphp
|
||||
|
||||
<div @class(['project-slot', 'project-slot--video', 'project-slot--stretch' => $stretch])>
|
||||
@if(in_array($media['type'], ['youtube', 'bunny', 'frameio']) && !empty($media['embedUrl']))
|
||||
<div class="project-slot__embed">
|
||||
<iframe
|
||||
class="project-slot__iframe"
|
||||
src="{!! $media['embedUrl'] !!}"
|
||||
frameborder="0"
|
||||
@if(!empty($media['autoplay']))
|
||||
style="width: 100%;{{ $squareEmbed ? ' aspect-ratio: 1/1;' : ' aspect-ratio: 16/9;' }};pointer-events:none;"
|
||||
@else
|
||||
style="width: 100%;{{ $squareEmbed ? ' aspect-ratio: 1/1;' : ' aspect-ratio: 16/9;' }}"
|
||||
@endif
|
||||
allow="autoplay; fullscreen; picture-in-picture"
|
||||
allowfullscreen>
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
@elseif($media['type'] === 'video' && !empty($media['url']))
|
||||
<video
|
||||
class="project-video project-slot__video"
|
||||
@if(!empty($media['autoplay'])) autoplay @endif
|
||||
@if(!empty($media['muted'])) muted @endif
|
||||
@if(!empty($media['loop'])) loop @endif
|
||||
playsinline>
|
||||
<source src="{{ $media['url'] }}" type="video/mp4">
|
||||
</video>
|
||||
|
||||
@endif
|
||||
</div>
|
||||
|
||||
@endif
|
||||
172
resources/views/pages/project.blade.php
Normal file
172
resources/views/pages/project.blade.php
Normal file
@@ -0,0 +1,172 @@
|
||||
@extends('layouts.site')
|
||||
|
||||
@push('head')
|
||||
@if(!empty($seo['meta_description']))
|
||||
<meta name="description" content="{{ $seo['meta_description'] }}">
|
||||
@endif
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:title" content="{{ $seo['og_title'] }}">
|
||||
@if(!empty($seo['og_description']))
|
||||
<meta property="og:description" content="{{ $seo['og_description'] }}">
|
||||
@endif
|
||||
@if(!empty($seo['og_image']))
|
||||
<meta property="og:image" content="{{ $seo['og_image'] }}">
|
||||
@endif
|
||||
<meta property="og:url" content="{{ $seo['og_url'] }}">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="{{ $seo['og_title'] }}">
|
||||
@if(!empty($seo['og_description']))
|
||||
<meta name="twitter:description" content="{{ $seo['og_description'] }}">
|
||||
@endif
|
||||
@if(!empty($seo['og_image']))
|
||||
<meta name="twitter:image" content="{{ $seo['og_image'] }}">
|
||||
@endif
|
||||
<link rel="canonical" href="{{ $seo['og_url'] }}">
|
||||
@endpush
|
||||
|
||||
@section('content')
|
||||
<section class="projects-area">
|
||||
<div class="container">
|
||||
{{-- ── Header row ─────────────────────────────────────── --}}
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="single-project">
|
||||
|
||||
{{-- Title + subline --}}
|
||||
<div class="project-info">
|
||||
<div class="row">
|
||||
<div class="col-lg-6 col-md-8">
|
||||
<h2>{!! $project['headline'] !!}</h2>
|
||||
</div>
|
||||
@if($project['subline'])
|
||||
<div class="col-lg-6 col-md-4">
|
||||
<div class="subtitle">{!! $project['subline'] !!}</div>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{-- Hero media --}}
|
||||
@if($project['hero'])
|
||||
<div class="thumbnail-wrap">
|
||||
@include('pages.partials.project-slot', ['slot' => $project['hero']])
|
||||
</div>
|
||||
@endif
|
||||
|
||||
{{-- Client, awarded and description in the original template structure --}}
|
||||
@if($project['hero'] || $project['clientName'] || !empty($project['awarded']) || $project['description'])
|
||||
<div class="row mt-5">
|
||||
<div class="col-lg-6">
|
||||
<div class="project-info mb-0">
|
||||
@if($project['year'])
|
||||
<div class="client-info">
|
||||
<h4>{{ trans('fp.YEAR') }}</h4>
|
||||
<span>{{ $project['year'] }}</span>
|
||||
</div>
|
||||
@endif
|
||||
<div class="client-info">
|
||||
<h4>{{ trans('fp.CLIENT') }}</h4>
|
||||
@if($project['clientName'])
|
||||
<span>{!! $project['clientName'] !!}</span>
|
||||
@else
|
||||
<span>-</span>
|
||||
@endif
|
||||
</div>
|
||||
<div class="project-details">
|
||||
@if(!empty($project['awarded']))
|
||||
<h4>{{ trans('fp.AWARDED') }}</h4>
|
||||
@foreach($project['awarded'] as $award)
|
||||
<p>{!! $award !!}</p>
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<div class="description-text">
|
||||
@if($project['description'])
|
||||
@php($description = trim($project['description']))
|
||||
@if(str_contains($description, '<'))
|
||||
{!! $description !!}
|
||||
@else
|
||||
<p>{!! nl2br(e($description)) !!}</p>
|
||||
@endif
|
||||
@else
|
||||
<p>-</p>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{-- ── Content blocks ──────────────────────────────────── --}}
|
||||
@foreach($project['blocks'] as $block)
|
||||
@if(!empty($block['hidden']))
|
||||
@continue
|
||||
@endif
|
||||
|
||||
@if($block['type'] === 'FullWidth' && ($block['slot']['type'] ?? '') === 'text')
|
||||
{{-- Text block: centred quote style --}}
|
||||
<div class="row project-content justify-content-center">
|
||||
<div class="col-lg-6 text-center">
|
||||
{!! $block['slot']['text'] !!}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@elseif($block['type'] === 'FullWidth')
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="single-project">
|
||||
<div class="thumbnail-wrap">
|
||||
@include('pages.partials.project-slot', ['slot' => $block['slot']])
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@elseif($block['type'] === 'TwoColumns')
|
||||
<div class="row">
|
||||
<div class="col-lg-6 col-md-6">
|
||||
<div class="single-project">
|
||||
<div class="thumbnail-wrap">
|
||||
@include('pages.partials.project-slot', ['slot' => $block['left'], 'squareEmbed' => true])
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6 col-md-6">
|
||||
<div class="single-project">
|
||||
<div class="thumbnail-wrap">
|
||||
@include('pages.partials.project-slot', ['slot' => $block['right'], 'squareEmbed' => true])
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endif
|
||||
|
||||
@endforeach
|
||||
|
||||
</div>
|
||||
|
||||
{{-- ── Next project ─────────────────────────────────────── --}}
|
||||
@if(!empty($nextProject))
|
||||
<div class="container mt-4">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="btn-wrapper">
|
||||
<a href="{{ $nextProject['url'] }}" class="common-btn">
|
||||
Next project <span><img src="{{ $assetBase }}/img/arrow.svg" alt=""></span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
</section>
|
||||
@endsection
|
||||
|
||||
34
resources/views/pages/thankyou.blade.php
Normal file
34
resources/views/pages/thankyou.blade.php
Normal file
@@ -0,0 +1,34 @@
|
||||
@extends('layouts.site')
|
||||
|
||||
@section('content')
|
||||
<div class="contact-area">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="contact-wrapper">
|
||||
<div class="contact-title">
|
||||
<h2>Thank you!</h2>
|
||||
<p>Your question has been sent, we will <br>
|
||||
get back to you shortly.</p>
|
||||
</div>
|
||||
<div class="back-home">
|
||||
<a href="{{ route('home') }}" class="btn__primary">Back to homepage <span><img src="{{ $assetBase }}/img/send.svg" alt=""></span></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<section class="contact-note-area">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="note-text">
|
||||
<h2>Follow us on Instagram, LinkedIn or Behance for the latest news & updates.</h2>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@endsection
|
||||
122
resources/views/pages/work.blade.php
Normal file
122
resources/views/pages/work.blade.php
Normal file
@@ -0,0 +1,122 @@
|
||||
@extends('layouts.site')
|
||||
|
||||
@section('content')
|
||||
<section class="portfolio-area">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-12 text-center">
|
||||
<x-block keycode="WORK-HEADER"></x-block>
|
||||
</div> <!-- end .col-lg-12 -->
|
||||
</div> <!-- end .row -->
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="portfolio-filter">
|
||||
<button class="active" data-filter="all">{{ trans('fp.ALL') }}</button>
|
||||
@foreach($categories as $category)
|
||||
<button data-filter="{{ $category['filter'] }}">{{ $category['title'] }}</button>
|
||||
@endforeach
|
||||
</div>
|
||||
<div class="portfolio-projects">
|
||||
@forelse(collect($artworks)->sortBy('sort_order')->values() as $artwork)
|
||||
@php
|
||||
$subline = $artwork['subline'] ?? null;
|
||||
$subtitle = $artwork['subtitle'] ?? null;
|
||||
$thumbnail = $artwork['thumbnail'] ?? ['type' => 'image', 'url' => $artwork['image'] ?? null];
|
||||
@endphp
|
||||
<div class="project-card {{ implode(' ', $artwork['filters']) }}" data-order="{{ $artwork['sort_order'] ?? 0 }}" style="order: {{ $artwork['sort_order'] ?? 0 }};">
|
||||
<a href="{{ $artwork['url'] }}">
|
||||
<div class="project-img-wrapper">
|
||||
@if(($thumbnail['type'] ?? 'image') === 'bunny' && !empty($thumbnail['embedUrl']))
|
||||
<iframe class="project-slot__iframe"
|
||||
src="{!! $thumbnail['embedUrl'] !!}"
|
||||
frameborder="0"
|
||||
style="width: 100%; aspect-ratio: 587/673;pointer-events:none;"
|
||||
allow="autoplay; fullscreen; picture-in-picture"
|
||||
allowfullscreen="">
|
||||
</iframe>
|
||||
@else
|
||||
<img src="{{ $thumbnail['url'] ?? $artwork['image'] }}" alt="{{ $artwork['title'] }}" loading="lazy">
|
||||
@endif
|
||||
</div></a>
|
||||
<div class="portfolio-info">
|
||||
<h4>{{ $artwork['title'] }}</h4>
|
||||
@if($subline || $subtitle)
|
||||
<span>{{ $subline ?: $subtitle }}</span>
|
||||
@endif
|
||||
</div> <!-- end .portfolio-info -->
|
||||
</div> <!-- end .project-card -->
|
||||
@empty
|
||||
<div class="mt-4 text-center">
|
||||
<p class="text-center">{{ trans('fp.NO_PUBLISHED_PROJECTS_YET') }}</p>
|
||||
</div> <!-- end .mt-4 -->
|
||||
@endforelse
|
||||
</div> <!-- end .portfolio-projects -->
|
||||
</div> <!-- end .col-lg-12 -->
|
||||
</div> <!-- end .row -->
|
||||
</div> <!-- end .container -->
|
||||
</section> <!-- end .portfolio-area -->
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script>
|
||||
gsap.registerPlugin(ScrollTrigger);
|
||||
|
||||
document.fonts.ready.then(() => {
|
||||
gsap.set('.portfolio-filter button', { opacity: 1 });
|
||||
|
||||
gsap.fromTo(
|
||||
'.portfolio-filter button',
|
||||
{
|
||||
y: '-=50',
|
||||
opacity: 0,
|
||||
rotation: 'random(-30,30)'
|
||||
},
|
||||
{
|
||||
y: '0',
|
||||
opacity: 1,
|
||||
rotation: 0,
|
||||
duration: 0.8,
|
||||
ease: 'back.out(1.5)',
|
||||
stagger: 0.15,
|
||||
scrollTrigger: {
|
||||
trigger: '.portfolio-filter',
|
||||
start: 'top 80%',
|
||||
toggleActions: 'play none none none'
|
||||
}
|
||||
}
|
||||
);
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
|
||||
@push('scripts')
|
||||
<script>
|
||||
gsap.registerPlugin(ScrollTrigger);
|
||||
|
||||
document.fonts.ready.then(() => {
|
||||
gsap.set('.portfolio-filter button', { opacity: 1 });
|
||||
|
||||
gsap.fromTo(
|
||||
'.portfolio-filter button',
|
||||
{
|
||||
y: '-=50',
|
||||
opacity: 0,
|
||||
rotation: 'random(-30,30)'
|
||||
},
|
||||
{
|
||||
y: '0',
|
||||
opacity: 1,
|
||||
rotation: 0,
|
||||
duration: 0.8,
|
||||
ease: 'back.out(1.5)',
|
||||
stagger: 0.15,
|
||||
scrollTrigger: {
|
||||
trigger: '.portfolio-filter',
|
||||
start: 'top 80%',
|
||||
toggleActions: 'play none none none'
|
||||
}
|
||||
}
|
||||
);
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
225
resources/views/welcome.blade.php
Normal file
225
resources/views/welcome.blade.php
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user