fork from .

master
Benjamin Völkl 2022-05-12 13:10:19 +02:00
commit e51c41c736
20 changed files with 1538 additions and 0 deletions

8
.idea/.gitignore vendored Normal file
View File

@ -0,0 +1,8 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

8
.idea/modules.xml Normal file
View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/themes-getlumino.iml" filepath="$PROJECT_DIR$/.idea/themes-getlumino.iml" />
</modules>
</component>
</project>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

6
.idea/vcs.xml Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

142
config.json Normal file
View File

@ -0,0 +1,142 @@
{
"name": "Areya Energy Theme",
"description": "The Template for themes.getlumino.com",
"image": "https://ik.imagekit.io/areya/tr:ar-5-3,w-800/montage-einer-pv-anlage-1200x618_J04U-ZQ5d.jpg",
"version": "0.1",
"author": {
"name": "Areya Webservices",
"link": "https://www.areya.de/"
},
"lumino-version": {"min": "3.0", "max": "3.1"},

"content-types": [
{
"name":"Themes",
"description":"Themes to display on the Web",
"icon":"suitcase",
"status":"1",
"fields": [

{
"name": "Short Description",
"type": "text",
"required": "1"
},

{
"name": "Extensive Description",
"type": "textfield",
"required": "0"
},


{
"name": "Licence",
"type": "select",
"options": ["Public Domain","LGPL","Permissive","Copyleft","Proprietary"],
"required": "1"
},

{
"name": "Git Location",
"type": "url",
"required": "1"
},

{
"name": "Features",
"type": "select-multiple",
"options": ["Dashboard","Multiuser","Payment", "Subscriptions", "Calendar", "Lead Collector"],
"required": "0"
},
{
"name": "Demo Link",
"type": "url",
"required": "0"
}
]
},

{
"name":"Immobilien",
"description":"Themes to display on the Web",
"icon":"suitcase",
"status":"1",
"fields": [

{
"name": "Description",
"type": "text",
"required": "1"
},

{
"name": "Preise",
"type": "number",
"required": "1"
},


{
"name": "Addresse",
"type": "location",
"required": "1"
},

{
"name": "Git Location",
"type": "url",
"required": "1"
},

{
"name": "Features",
"type": "select-multiple",
"options": ["Dashboard","Multiuser","Payment", "Subscriptions", "Calendar", "Lead Collector"],
"required": "0"
},
{
"name": "Demo Link",
"type": "url",
"required": "0"
}
]
},

{
"name":"Produkte",
"description":"Themes to display on the Web",
"icon":"suitcase",
"status":"1",
"fields": [

{
"name": "Beschreibung",
"type": "text",
"required": "1"
},

{
"name": "Preis",
"type": "number",
"required": "1"
},

{
"name": "Aktions Preis",
"type": "number",
"required": "1"
},


{
"name": "Zustand",
"type": "text",
"required": "1"
}

]
}
]
}

136
content/author.blade.php Normal file
View File

@ -0,0 +1,136 @@
@extends('template.'.config('settings.template').'.content.master')
@section('content')





<div class="container">

<div class="row">

@if(empty($author->cover_image))
<div id="header_static" style="background-color: #9699AA; min-height: 520px; background-image: url('https://www.jobs-oberpfalz.de/images/manual/default-arbeitgeber-cover.jpg'); background-position: center; background-size: cover;" >

</div>
@else
<div id="header_static" style="background-color: #9699AA; min-height: 520px; background-image: url('{{ asset('uploads/cover/' . $author->cover_image) }}'); background-position: center; background-size: cover;" >
</div>
@endif


</div>

<div class="row">

<div class="col-2">

<div id="author_logo" style="margin-top: -70px;">
<img src="{{ $author->gravatar() }}?s=120&d=identicon&r=PG" class="rounded img-fluid border d-block mx-auto" title="{{ $author->name }}" alt="Logo {{ $author->name }}">
</div>
</div>
<div class="col-10">
<h1 class="mb-5 mt-4">{{ $author->name }}</h1>

</div>

<div class="col-12 fs-4">
{{ $author->description }}

<br>
<br>
<br>
<br>
<br>
<br>
</div>
</div>


<div class="row">


@if ($nachrichten->count() == 0)
<div class="col-12">
<div class="text-center">
<br>
<br>
<br>
<br>
<i>Currently there are no public themes by this Author available.</i>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
</div>
</div>


@else
<div class="row">


@foreach($nachrichten as $nach)


<div class="col-12 col-md-6 col-4 mb-5">
<a href="{{ route_content($nach) }}" class="text-decoration-none text-dark">
<div class="card shadow-lg">

@if ($nach->image)
<img class="rounded-top img-fluid" src="{{ asset('uploads/' . $nach->image) }}" loading="lazy">
@else
<img class="rounded-top img-fluid" src="https://picsum.photos/800/400?{{rand(0,100)}}" loading="lazy">
@endif

<div class="card-body">
<h2 class="fs-4">{{$nach->title}}</h2>
<a href="{{ route('author.get', [$nach->user->slug]) }}" class="text-decoration-none">
<img src="{{ $nach->user->gravatar() }}" width="20px" title="{{ $nach->user->name }}" class="border rounded img-fluid shadow-sm" alt="Logo {{ $nach->user->name }} ">
{{ $nach->user->name }}
</a>
<p class="mt-4">
{!! isset($nach->data_fields['short_description'])?$nach->data_fields['short_description']:'keine Angaben' !!}
</p>


</div>

</div>

</a>


</div>






@endforeach

<div style="margin: auto;text-align: center; display: table; overflow: scroll;">
{!! $nachrichten->onEachSide(1)->fragment("latest_jobs")->render() !!}
</div>



</div>
@endif
</div>


</div>


@stop



View File

@ -0,0 +1,296 @@
@extends('template.'.config('settings.template').'.content.master')
@section('content')


<div class="container" style="margin-top: 80px;">

<div class="row">


<div class="col-12">
<h1 class="mb-5">{{$content->title}}</h1>

</div>



<div class="col-12 col-md-9">





<div style="position: relative">
@if ($content->image)
<img class="rounded-top img-fluid" src="{{ asset($content->image) }}" loading="lazy" >
@else
<img class="rounded-top img-fluid" src="https://picsum.photos/800/400?{{rand(0,100)}}" loading="lazy" width="100%">
@endif



</div>


<br>
<br>
<br>


<p class="fs-5 mt-5">

{!! isset($content->data_fields['short_description'])?$content->data_fields['short_description']:'keine Angaben' !!}
</p>


@isset($content->data_fields['extensive_description'])
<h2 class="fs-4 mt-5 mb-3">Beschreibung</h2>

<div class="fs-5">
{!!$content->data_fields['extensive_description']!!}

</div>

@endisset


@isset($content->data_fields['features'])
<h2 class="fs-4 mt-5">Beschreibung</h2>
<br>

<div class="row">

@if($content->data_fields['features'] == "Dashboard")
<div class="col-2 mb-3 text-center">
<div style="background-color: #24052f; height: 120px; width: 120px; margin-bottom: 35px;" class="p-4 rounded-circle text-center align-middle" title="Checkout">
<svg style="fill: white; height: 90%;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M352 128C352 57.42 294.579 0 224 0 153.42 0 96 57.42 96 128H0v304c0 44.183 35.817 80 80 80h288c44.183 0 80-35.817 80-80V128h-96zM224 48c44.112 0 80 35.888 80 80H144c0-44.112 35.888-80 80-80zm176 384c0 17.645-14.355 32-32 32H80c-17.645 0-32-14.355-32-32V176h48v40c0 13.255 10.745 24 24 24s24-10.745 24-24v-40h160v40c0 13.255 10.745 24 24 24s24-10.745 24-24v-40h48v256z"/></svg>
</div>
</div>
@endif


<div class="col-2 mb-3 text-center">
<div style="background-color: #24052f; height: 120px; width: 120px; margin-bottom: 35px;" class="p-4 rounded-circle text-center align-middle" title="Checkout">
<svg style="fill: white; height: 90%;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M352 128C352 57.42 294.579 0 224 0 153.42 0 96 57.42 96 128H0v304c0 44.183 35.817 80 80 80h288c44.183 0 80-35.817 80-80V128h-96zM224 48c44.112 0 80 35.888 80 80H144c0-44.112 35.888-80 80-80zm176 384c0 17.645-14.355 32-32 32H80c-17.645 0-32-14.355-32-32V176h48v40c0 13.255 10.745 24 24 24s24-10.745 24-24v-40h160v40c0 13.255 10.745 24 24 24s24-10.745 24-24v-40h48v256z"/></svg>
</div>
</div>

</div>

<br>
<br>
@endisset





</div>

<div class="col-12 col-md-3">

<div class="bg-ci rounded p-3 border-ci position-fixed shadow-lg" style="width: 16%;">


Hersteller: <a href="{{ route('author.get', [$content->user->slug]) }}" class="text-decoration-none mt-2">
<img src="{{ $content->user->gravatar() }}" width="20px" title="{{ $content->user->name }}" class="border rounded img-fluid shadow-sm" alt="Logo {{ $content->user->name }} ">
{{ $content->user->name }}
</a>
<br>
Artikelnummer: <a href="">3.2</a>
<br>
Datenblatt: <a href="">2.93</a>
<br>
Verfügbarkeit: <a href="">2.93</a>
<br>
Preis: <i>free</i>

<a class="btn btn-primary d-block mt-4 btn-lg" data-bs-toggle="modal" data-bs-target="#exampleModal">

Bestellen
</a>
</div>


</div>

<div class="col-12">
<br>
<br>
<br>
<br>
<br>
<hr>

<br>
<br>
<br>
<h2>Andere Produkte</h2>
<br>
<br>


</div>

<div class="row">
@foreach($contents as $indexContent => $content)
<div class="col-12 col-md-4 col-lg-3 mb-5">
<a href="{{ route_content($content) }}" class="text-decoration-none text-dark">
<div class="card shadow-lg">

@if ($content->image)
<img class="rounded-top img-fluid" src="{{ asset('uploads/' . $content->image) }}" loading="lazy">
@else
<img class="rounded-top img-fluid" src="https://picsum.photos/800/400?{{rand(0,100)}}" loading="lazy">
@endif

<div class="card-body">
<h2 class="fs-5">{{$content->title}}</h2>
<a href="{{ route('author.get', [$content->user->slug]) }}" class="text-decoration-none">
<img src="{{ $content->user->gravatar() }}" width="20px" title="{{ $content->user->name }}" class="border rounded img-fluid shadow-sm" alt="Logo {{ $content->user->name }} ">
{{ $content->user->name }}
</a>
<p>
Public Showcase of Lumino Themes. You can browse, compare the templates and install them into your own Lumino Installation.
</p>


</div>

</div>

</a>


</div>

@endforeach
</div>




</div>
</div>





<!-- Modal -->
<div class="modal fade" id="exampleModal" data-bs-backdrop="static" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Install Theme</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">

<div class="row">
<div class="col-12 col-md-10 offset-md-1">


<br>


@isset($content->data_fields['git_location'])
<div class="input-group input-group-lg shadow-lg">
<input type="text" id="inputPassword5" class="form-control border-ci rounded" aria-describedby="passwordHelpBlock" readonly value="{{$content->data_fields['git_location']}}">
</div>



<div id="passwordHelpBlock" class="form-text">
Use this link to install the chosen theme into your own Lumino installation. Make sure the Theme is compatible with your Lumino Version.
</div>
@endisset






<br>
<br>
<br>
<h5>Instructions</h5>


<br>

<div class="row">
<div class="col-2 offset-1 mb-3">
<div style="background-color: #24052f; height: 50px; width: 50px; color: white" class="p-2 rounded-circle text-center fw-bold fs-5">
1.
</div>
</div>
<div class="col-9 mt-2">
Log in to your Lumino Admin

</div>


<div class="col-2 offset-1 mb-3">
<div style="background-color: #24052f; height: 50px; width: 50px; color: white" class="p-2 rounded-circle text-center fw-bold fs-5">
2.
</div>
</div>
<div class="col-9 mt-2">
Go to <i>Configurations</i> ⟶ <i>Themes</i> -> <i>"Add new Theme"</i>

</div>


<div class="col-2 offset-1 mb-3">
<div style="background-color: #24052f; height: 50px; width: 50px; color: white" class="p-2 rounded-circle text-center fw-bold fs-5">
3.
</div>
</div>
<div class="col-9 mt-2">
Copy & Paste the Theme URL

</div>


<div class="col-2 offset-1 mb-3">
<div style="background-color: #24052f; height: 50px; width: 50px; color: white" class="p-2 rounded-circle text-center fw-bold fs-5">
4.
</div>
</div>
<div class="col-9 mt-2">
After Verification Theme can be installed

</div>


</div>



<br>

<div class="text-center">
<img src="https://i.gifer.com/XG0z.gif" class="img-fluid rounded mb-5" width="82%" loading="lazy">

</div>
</div>
</div>





</div>

</div>
</div>
</div>

@stop



View File

@ -0,0 +1,55 @@
@extends('template.'.config('settings.template').'.content.master')
@section('content')


<div class="container">

<div class="row">
<div class="col">
<br>
<br>

<br>
<br>
<br>
<h1>404 Error</h1>
<p class="text-muted">This site does not exist. </p>

<br>
<br>
<p class="fs-4"> Either you misspelled the URL or the page got deleted.</p>
<br>
<a class="btn btn-primary" href="{{url('/')}}">Return to the Home Page</a>
<br>
<br>
<br>

<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>



</div>
</div>




</div>

@stop



View File

@ -0,0 +1,99 @@
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">

<style>
body{
background-color: rgba(218, 211, 227, 0.65);
}



.card{
background-color: #f0e4f45c;
}


h1,h2,h3{
color: #255306;
}

section{
padding-top: 45px;
padding-bottom: 45px;
margin-bottom: 90px;
padding-left: 1rem;
padding-right: 1rem;

}

.bg-ci{
background-color: #37622736 ;

}


.bg-ci-animated{
background: linear-gradient(318deg, #24052f, #81329d);
background-size: 400% 400%;

-webkit-animation: bg-ci-animated 30s ease infinite;
-moz-animation: bg-ci-animated 30s ease infinite;
animation: bg-ci-animated 30s ease infinite;
}


@-webkit-keyframes bg-ci-animated {
0%{background-position:0% 50%}
50%{background-position:100% 50%}
100%{background-position:0% 50%}
}
@-moz-keyframes bg-ci-animated {
0%{background-position:0% 50%}
50%{background-position:100% 50%}
100%{background-position:0% 50%}
}
@keyframes bg-ci-animated {
0%{background-position:0% 50%}
50%{background-position:100% 50%}
100%{background-position:0% 50%}
}


.border-ci{
border: 1px solid #255306;
}

footer, footer h3{

color: white;
}


footer .bg-ci-animated a{
text-decoration: none;
}

.btn-primary{
background-color: #255306;
border-color: #183703 ;
}
.btn-primary:hover{
background-color: #183703;
}

nav{
padding-top: 30px;
padding-bottom: 30px;
color: white;
}
nav a, nav a:hover, footer a, footer a:hover {
color: white;
}


a, a:hover{
color: #255306;
}


</style>

View File

@ -0,0 +1,63 @@
<footer>

<div style="background-color: #255306" class="d-none">
<div class="container pb-5">
<div class="row">
<div class="col-12 col-md-4">
<h4 class="mb-2 fw-bold mt-5">Produkte</h4>


<a class="fs-5 mb-3 textdecoration-none" href="{{url('/create-theme')}}">Photovoltaik Module</a>
<br>
<a class="fs-5 mb-3 textdecoration-none" href="{{url('/publish')}}">Wechselrichter</a>
<br>
<a class="fs-5 mb-3 textdecoration-none" href="{{url('/api')}}">Befestigungsmaterial</a>
<br>



</div>

<div class="col-12 col-md-4">


</div>

<div class="col-12 col-md-4">



</div>
</div>
</div>

</div>

<div style=" background-color: #255306">
<div class="container pt-2 pb-3">



<div class="row">
<div class="col-12 col-sm-6 text-md-start text-center mt-3">
Erstellt mit dem <a href="https://www.areya.de/software/cms">Areya CMS
<svg style="width: 11px; fill: currentColor" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!-- Font Awesome Pro 5.15.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) --><path d="M440,256H424a8,8,0,0,0-8,8V464a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V112A16,16,0,0,1,48,96H248a8,8,0,0,0,8-8V72a8,8,0,0,0-8-8H48A48,48,0,0,0,0,112V464a48,48,0,0,0,48,48H400a48,48,0,0,0,48-48V264A8,8,0,0,0,440,256ZM500,0,364,.34a12,12,0,0,0-12,12v10a12,12,0,0,0,12,12L454,34l.7.71L131.51,357.86a12,12,0,0,0,0,17l5.66,5.66a12,12,0,0,0,17,0L477.29,57.34l.71.7-.34,90a12,12,0,0,0,12,12h10a12,12,0,0,0,12-12L512,12A12,12,0,0,0,500,0Z"/></svg>
</a>
</div>
<div class="col-12 col-sm-6 text-md-end text-center mt-3">
<a href="{{url('/agb')}}">AGB</a>
|
<a href="{{url('/datenschutz')}}">Datenschutz</a>
|
<a href="https://www.areya.de/impressum">Impressum</a>


</div>
</div>
</div>
</div>



</div>

View File

@ -0,0 +1,84 @@
@if(App::environment('production'))
@if (!empty(config('settings.facebook')))
<script>
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window, document,'script',
'https://connect.facebook.net/en_US/fbevents.js');
fbq('init', "{{config('settings.facebook') }}");
fbq('track', 'PageView');
</script>
<noscript>
<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id={{config('settings.facebook') }}&ev=PageView&noscript=1"/>
</noscript>
@endif

<!-- Hotjar Tracking Code -->
@if (!empty(config('settings.hotjar')))
<script>
(function(h,o,t,j,a,r){
h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)};
h._hjSettings={hjid:{{config('settings.hotjar')}},hjsv:6};
a=o.getElementsByTagName('head')[0];
r=o.createElement('script');r.async=1;
r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv;
a.appendChild(r);
})(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');
</script>
@endif



@if (!empty(config('settings.analytics')))
<script async src="https://www.googletagmanager.com/gtag/js?id={{config('settings.analytics')}}"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());

gtag('config', "{{config('settings.analytics')}}");
</script>
@endif
@if (!empty(config('settings.intercom')) && !empty(config('settings.intercom_key')))
@if(Auth::check())
@php ($hash_hmac = hash_hmac('sha256', Auth::user()->id, config('settings.intercom_key')))
<script>
window.intercomSettings = {
app_id: "{{config('settings.intercom')}}",
user_hash: "{{$hash_hmac}}",
user_id: "{{Auth::user()->id}}",
name: "{{Auth::user()->name}}",
email: "{{Auth::user()->email}}",
created_at: "{{strtotime(Auth::user()->created_at)}}",
avatar: '{"type":"avatar", "image_url": "{{Auth::user()->gravatar()}}"}',
custom_launcher_selector:'.btn-intercom'
};
</script>
@elseif(isset($invitedUser) && $invitedUser->invite != null)
@php ($hash_hmac = hash_hmac('sha256', $invitedUser->id, config('settings.intercom_key')))
<script>
window.intercomSettings = {
app_id: "{{config('settings.intercom')}}",
user_hash: "{{$hash_hmac}}",
user_id: "{{$invitedUser->id}}",
name: "{{$invitedUser->name}}",
email: "{{$invitedUser->email}}",
created_at: "{{strtotime($invitedUser->created_at)}}",
avatar: '{"type":"avatar", "image_url": "{{$invitedUser->gravatar()}}"}',
custom_launcher_selector:'.btn-intercom'
};
</script>
@else
<script>
window.intercomSettings = {app_id: "{{config('settings.intercom')}}"};
</script>
@endif
<script>
(function(){var w=window;var ic=w.Intercom;if(typeof ic==="function"){ic('reattach_activator');ic('update',w.intercomSettings);}else{var d=document;var i=function(){i.c(arguments);};i.q=[];i.c=function(args){i.q.push(args);};w.Intercom=i;var l=function(){var s=d.createElement('script');s.type='text/javascript';s.async=true;s.src='https://widget.intercom.io/widget/qffjq6ts';var x=d.getElementsByTagName('script')[0];x.parentNode.insertBefore(s,x);};if(w.attachEvent){w.attachEvent('onload',l);}else{w.addEventListener('load',l,false);}}})();
</script>
@endif
@endif

View File

@ -0,0 +1,131 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, user-scalable=no">
<link rel="manifest" href="/manifest.json">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=rMBWbbb2wK">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=rMBWbbb2wK">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png?v=rMBWbbb2wK">
<link rel="manifest" href="/site.webmanifest?v=rMBWbbb2wK">
<link rel="mask-icon" href="/safari-pinned-tab.svg?v=rMBWbbb2wK" color="#5bbad5">
<link rel="shortcut icon" href="/favicon.ico?v=rMBWbbb2wK">
<meta name="msapplication-TileColor" content="#f49c35">
<meta name="theme-color" content="#ffffff">

@if (\Route::currentRouteName() == 'content' and isset($list))
<title>{{removeHtmlTags(showListTitle($list, $filters))}}</title>
<!-- Para colocar title do SEO exemplo: $listModel->seo_title -->
<meta name="description" content="Finden Sie hier Ihren Job in der Region {{ $list->name }} und bewerben Sie sich ohne Registrierung bei Top-Arbeitgebern.">
<meta property="og:description" content="Finden Sie hier Ihren Job in der Region {{ $list->name }} und bewerben Sie sich ohne Registrierung bei Top-Arbeitgebern.">
<meta property="og:type" content="website">
<meta property="og:title" content="Aktuelle Stellenangebote in {{ $list->name }}">
<meta property="og:site_name" content="{{ config('settings.name') }}">
<meta property="og:url" content="{{ \Request::url() }}">
@if ($list->image)
<meta property="og:image" content="{{ asset('uploads/lists/' . $list->image) }}">
@else
<meta property="og:image" content="{{ asset('uploads/' . config('settings.image')) }}">
@endif

<link rel="canonical" href="{{url('/') .'/'. $list->slug }}" />



@elseif (\Route::currentRouteName() == 'author.get' and isset($author))
<title>Offene Jobangebote bei {{ $author->name }}</title>
<meta name="description" content="Finden Sie hier Ihren Job bei {{ $author->name }} und bewerben Sie sich direkt online">
<meta property="og:description" content="Finden Sie hier Ihren Job bei {{ $author->name }} und bewerben Sie sich direkt online">
<meta property="og:type" content="website">
<meta property="og:title" content="Offene Jobangebote bei {{ $author->name }}">
<meta property="og:site_name" content="{{ config('settings.name') }}">
<meta property="og:url" content="{{ \Request::url() }}">
<meta property="og:image" content="{{ $author->gravatar() }}?s=120&d=identicon&r=PG">
@elseif (Route::currentRouteName() == 'content' and isset($content))
<title>{{ $content->title }}</title>
<!-- Para colocar title do SEO exemplo: $nach->seo_title -->
@isset($content->data_fields['stellenbeschreibung'])
<meta name="description" content="{!! \Str::limit(strip_tags($content->data_fields['stellenbeschreibung']), 285, ' ...') !!}">
<meta property="og:description" content="{!! \Str::limit(strip_tags($content->data_fields['stellenbeschreibung']), 285, ' ...') !!}">
@endisset
<meta property="og:type" content="article">
<meta property="article:author" content="{{ $content->user->name }}">
<meta property="article:published_time" content="{{ $content->created_at }}">
<meta property="og:title" content="Stellenangebot: {{ $content->title}}">
<meta property="og:site_name" content="{{ config('settings.name') }}">
<meta property="og:url" content="{{ \Request::url() }}">
@if ($content->image)
<meta property="og:image" content="{{ asset('uploads/' . $content->image) }}">
@else
<meta property="og:image" content="{{ $content->user->gravatar() }}">
@endif
@if(App::environment('production'))
<?php
$employmentType = "";
if(isset($content->data_fields['beschaftigungsart'])){
if ($content->data_fields['beschaftigungsart'] == 'Praktikum') {
$employmentType = "INTERN";
}
if ($content->data_fields['beschaftigungsart'] == 'Vollzeit') {
$employmentType = "FULL_TIME";
}
if ($content->data_fields['beschaftigungsart'] == 'Teilzeit') {
$employmentType = "PART_TIME";
}
if ($content->data_fields['beschaftigungsart'] == 'Ausbildung') {
$employmentType = "INTERN";
}
}
function escapeJsonString($value)
{
$escapers = array("\\", "/", "\"", "\n", "\r", "\t", "\x08", "\x0c");
$replacements = array("\\\\", "\\/", "\\\"", "\\n", "\\r", "\\t", "\\f", "\\b");
$result = str_replace($escapers, $replacements, $value);
return $result;
}
?>
@isset ($content->data_fields['arbeitsort']['postalCode'])
<script type="application/ld+json">
{
"@context": "https://schema.org/",
"@type": "JobPosting",
"title": "{{ $content->title }}",
"description": "{!! escapeJsonString($content->data_fields['stellenbeschreibung']) !!}",
"datePosted": "{{ $content->updated_at->format('Y-m-d') }}",
"validThrough": "{{ $content->updated_at->addDays(90)->toIso8601String() }}",
"employmentType": "{{ $employmentType }}",
"hiringOrganization": {
"@type": "Organization",
"name": "{{ $content->user->name }}",
"sameAs": "{{ isset($content->user->social_networks['site']) ? $content->user->social_networks['site'] : '' }}",
"logo": "{{ $content->user->gravatar() }}?s=120&d=identicon&r=PG"
},
"jobLocation": {
"@type": "Place",
"address": {
"@type": "PostalAddress",
"streetAddress": "{{ $content->data_fields['arbeitsort']['streetAddress'] }}",
"addressLocality": "{{ $content->data_fields['arbeitsort']['addressLocality'] }}",
"addressRegion": "{{ $content->data_fields['arbeitsort']['addressRegion'] }}",
"postalCode": "{{ $content->data_fields['arbeitsort']['postalCode'] }}",
"addressCountry": "{{ $content->data_fields['arbeitsort']['addressCountry'] }}"
}
}
}
</script>
@endisset
@endif
@else
<title>@yield('meta_title', '')</title>
<meta name="description" content="@yield('meta_description', \Str::limit(strip_tags(config('settings.description')), 285, ' ...'))">
<meta property="og:description" content="@yield('meta_og_description', \Str::limit(strip_tags(config('settings.description')), 285, ' ...'))">
<meta property="og:type" content="website">
<meta property="og:title" content="@yield('meta_og_title', config('settings.name'))">
<meta property="og:site_name" content="@yield('meta_og_site_name', config('settings.name'))">
<meta property="og:url" content="{{ \Request::url() }}">
<meta property="og:image" content="@yield('meta_og_image', asset('uploads/' . config('settings.image')))">
<link rel="canonical" href="{{ \Request::url() }}" />
@endif

@if (!empty(config('settings.favicon_image')))
<link rel="apple-touch-icon" sizes="180x180" href="{{ asset('uploads/' . config('settings.favicon_image')) }}">
<link rel="icon" type="image/png" sizes="32x32" href="{{ asset('uploads/' . config('settings.favicon_image')) }}">
<link rel="icon" type="image/png" sizes="16x16" href="{{ asset('uploads/' . config('settings.favicon_image')) }}">
@endif

View File

@ -0,0 +1 @@
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>

97
content/index.blade.php Normal file
View File

@ -0,0 +1,97 @@
@extends('template.'.config('settings.template').'.content.master')
@section('content')


<div class="container">

<section class="rounded bg-ci" style="margin-top: 80px;">
<div class="row">
<div class="col">
<h1>Areya Energy</h1>

<p class="fs-4 mt-2">
<br>
Photovoltaik und Energielösungen.
<br> Vetrieb von Anlagen und Einzelkomponenten.
</p>

<p class="fs-6 mt-2">
<br>
Neuenhammerstr. 44, 92714 Pleystein, Germany
</p>


</div>
</div>
</section>






<div class="row">
@foreach($contents as $indexContent => $content)
<div class="col-12 col-md-4 col-4 mb-5">
<a href="{{ route_content($content) }}" class="text-decoration-none text-dark">
<div class="card shadow-lg">

@if ($content->image)
<img class="rounded-top img-fluid" src="{{ asset('uploads/' . $content->image) }}" loading="lazy">
@else
<img class="rounded-top img-fluid" src="https://picsum.photos/800/400?{{rand(0,100)}}" loading="lazy">
@endif

<div class="card-body">
<h2 class="fs-4">{{$content->title}}</h2>
<a href="{{ route('author.get', [$content->user->slug]) }}" class="text-decoration-none">
<img src="{{ $content->user->gravatar() }}" width="20px" title="{{ $content->user->name }}" class="border rounded img-fluid shadow-sm" alt="Logo {{ $content->user->name }} ">
{{ $content->user->name }}
</a>
<p class="mt-4">
{!! isset($content->data_fields['short_description'])?$content->data_fields['short_description']:'keine Angaben' !!}
</p>


</div>

</div>

</a>


</div>

@endforeach
</div>


@if(count($premiumAuthors) > 0)
<section>
<div class="row carousel-row">
<div class="container">
<div class="col-sm-12">
<h2 class="mb-4">Marken und Partner</h2>
</div>
<div class="row top_arbeitgeber logo-carousel slider" data-arrows="true">
@foreach($premiumAuthors as $premiumAuthor)
<div class="logos slide" style="padding-bottom: 40px; text-align: center">
<a href="{{url('/authors')}}/{{$premiumAuthor->slug}}" class="text-center" style="font-size: 13px;">
<img src="{{url('/uploads/profile')}}/{{$premiumAuthor->image}}" loading="lazy" alt="Logo {{$premiumAuthor->name}}" class="img-fluid center-block border rounded-circle mb-2">
</a>
</div>
@endforeach
</div>
</div>
</div>
</section>
@endif
</div>

@stop



View File

@ -0,0 +1,63 @@
@extends('template.'.config('settings.template').'.content.master')
@section('content')


<div class="container">

<section class="rounded">
<div class="row">
<div class="col">
<h1>Lumio Theme Store</h1>

<p class="fs-4">
A showcase of public Lumino Themes.
<br>
You can browse, compare the templates and install them into your own Lumino Installation. To develop and list your own Lumino Template <a href="https://www.areya.de/contact" class="text-decoration-none"> get in contact</a>
</p>

</div>
</div>
</section>



<div class="row">
@foreach($contents as $indexContent => $content)
<div class="col-12 col-md-6 col-4 mb-5">
<a href="{{ route_content($content) }}" class="text-decoration-none text-dark">
<div class="card shadow-lg">

@if ($content->image)
<img class="rounded-top img-fluid" src="{{ asset('uploads/' . $content->image) }}" loading="lazy">
@else
<img class="rounded-top img-fluid" src="https://picsum.photos/800/400?{{rand(0,100)}}" loading="lazy">
@endif

<div class="card-body">
<h2 class="fs-5">{{$content->title}}</h2>
<a href="{{ route('author.get', [$content->user->slug]) }}" class="text-decoration-none">
<img src="{{ $content->user->gravatar() }}" width="20px" title="{{ $content->user->name }}" class="border rounded img-fluid shadow-sm" alt="Logo {{ $content->user->name }} ">
{{ $content->user->name }}
</a>
<p>
<br>
Public Showcase of Lumino Themes. You can browse, compare the templates and install them into your own Lumino Installation.</p>


</div>

</div>

</a>


</div>

@endforeach
</div>
</div>

@stop



22
content/master.blade.php Normal file
View File

@ -0,0 +1,22 @@
<!doctype html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
@include('template.'.config('settings.template').'.content.includes.meta')
@include('template.'.config('settings.template').'.content.includes.css')
@include('template.'.config('settings.template').'.content.includes.integrations')
@yield('head')
</head>
<body>

<nav style="background-color: #2d840e">
<div class="container">
<a href="{{url('/')}}" class="fs-4 fw-bold text-decoration-none">Areya Energy</a>
</div>
</nav>
@yield('content')
@include('template.'.config('settings.template').'.content.includes.footer')
@include('template.'.config('settings.template').'.content.includes.scripts')
@yield('scripts')
@yield('end_scripts')
</body>
</html>

View File

@ -0,0 +1,44 @@
@extends('template.'.config('settings.template').'.content.master')
@section('content')


<div class="container">

<section>
<div class="row">
<div class="col">
<h1>Lumino Theme API</h1>

<p class="fs-4 mt-4">
You can easily integrate this Lumino Theme Showcase into your own Website / App
<br>
<br>
<br>

<code>
{{url('/api/contents/themes')}}</code>



</p>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>

</div>
</div>
</section>

</div>



@stop



View File

@ -0,0 +1,214 @@
@extends('template.'.config('settings.template').'.content.master')
@section('content')


<div class="container">

<section>
<div class="row">
<div class="col">
<h1 class="mt-5 mb-4">Create your own Lumino Theme</h1>

<p class="fs-4 mt-4">
Here you find all the ressources you need to develop your own Lumino theme from scratch.
<br>
<br>
<br>
<br>
<br>






</p>


<h2 class="mt-4 mb-3">Get the minimal Demo Theme</h2>
<p class="fs-5">
This will help you getting started in no time. Use our boilerplate to start ajusting the theme to your needs.
<br>
Basic functionalities included.
</p>
<br>
<br>
<br>

<div class="row">
<div class="col-12 col-md-8 offset-md-2">
<a href="" data-bs-toggle="modal" data-bs-target="#exampleModal">
<img src="https://picsum.photos/800/500" class="rounded mx-0">
</a>
<br>

<a class="btn btn-primary d-block mt-4 btn-lg" data-bs-toggle="modal" data-bs-target="#exampleModal">

<svg style="fill: currentColor; width: 24px; margin-right: 5px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path d="M543.7 200.1C539.7 142.1 491.4 96 432 96c-7.6 0-15.1.8-22.4 2.3C377.7 58.3 328.1 32 272 32c-84.6 0-155.5 59.7-172.3 139.8C39.9 196.1 0 254.4 0 320c0 88.4 71.6 160 160 160h336c79.5 0 144-64.5 144-144 0-61.8-39.2-115.8-96.3-135.9zM496 432H160c-61.9 0-112-50.1-112-112 0-56.4 41.7-103.1 96-110.9V208c0-70.7 57.3-128 128-128 53.5 0 99.3 32.8 118.4 79.4 11.2-9.6 25.7-15.4 41.6-15.4 35.3 0 64 28.7 64 64 0 11.8-3.2 22.9-8.8 32.4 2.9-.3 5.9-.4 8.8-.4 53 0 96 43 96 96s-43 96-96 96zM387 256h-67v-84c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v84h-67c-10.7 0-16 12.9-8.5 20.5l99 99c4.7 4.7 12.3 4.7 17 0l99-99c7.6-7.6 2.2-20.5-8.5-20.5z"/></svg>
Install this Theme
</a>

</div>
</div>

<br>
<br>
<br>
<br>
<br>
<br>
<br>

<h2>Learn about the Lumino Key Concepts</h2>
<br>
<h4>Content</h4>
<p class="fs-5">
A <i>content</i> is every information that is published on the Website. Every content is defined by its content type and inherits all the atributes from it.
</p>
<br>

<h4>List</h4>
<p class="fs-5">
A <i>list</i> is a collection of contents or users. You can create unlimited lists with different includes and filters. For each list you can define its own list design.

</p>
<br>

<h4>Page</h4>
<p class="fs-5">
A page can be a static HTML page or display contents.
</p>
<br>

<h4>Content Typpe</h4>
<p class="fs-5">
A content type defines the fields a content consists of. This is made through Content Type Fields.
<br>
Example: A Content Car could consist of Content Type fields "Brand", "Color", "Fabrication date" and "Location"
</p>
<br>

<h4>Content Typpe Fields</h4>
<p class="fs-5">
A content type field is what defines a content type.
<br>
List of available content type fileds:
<br>
<ul>
<li>Text</li>
<li>Textfield</li>
<li>email</li>
<li>url</li>
<li>color</li>
<li>number</li>
<li>location</li>
<li>regex</li>
</ul>
</p>
<br>

<h4>User</h4>
<p class="fs-5">
A <i>user</i> is everyone that can log in to the system. Each user belongs to one usergrroup from where the user inherits its
permissions and custom fields.
</p>
<br>


<h4>Usergroup</h4>
<p class="fs-5">
A <i>usergroup</i> defines the users permissions and any additionl information about the user.

</p>
<br>


<h4>List Group</h4>
<p class="fs-5">
A <i>listgroup</i>is a "list of lists". That means that it consits of multiple lists that share the same or similar characteritics.
<br>
Example: The Lists "London", "Sydney", "Boston and "Rio de Janeiro" could be brought together in the List "Cities".
</p>
<br>
<br>
<br>
<br>
<br>
<br>
<br>


<h2>Read the Lumino Theme Developer Documentation</h2>
<p class="fs-5">
For full reference please refer to the <a href="#">Lumino Developer Documentation</a>
<br>
Basic functionalities included.
</p>
<br>
<small>This site is still under construction.</small>



<br>
<br>
<br>
<br>
<br>
<br>
<br>

</div>
</div>
</section>

</div>




<div class="modal fade" id="exampleModal" data-bs-backdrop="static" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Install Minimal Lumino Theme</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">

<br>


<div class="input-group input-group-lg">
<input type="text" id="inputPassword5" class="form-control border-ci rounded" aria-describedby="passwordHelpBlock" readonly value="git@code.areya.de:Areya/minimal-theme.git">
<div id="passwordHelpBlock" class="form-text">
<br>
Use this link to install the chosen theme into your own Lumino installation. Make sure the Theme is compatible with your Lumino Version.
</div>
</div>






<br>
<br>
<br>
<h5>Instructions</h5>

<br>

<img src="https://i.gifer.com/XG0z.gif" class="img-fluid" width="100%" loading="lazy">



</div>

</div>
</div>
</div>

@stop



View File

@ -0,0 +1 @@
Impressum

View File

@ -0,0 +1,60 @@
@extends('template.'.config('settings.template').'.content.master')
@section('content')


<div class="container">

<section>
<div class="row">
<div class="col">
<h1 class="mt-5 mb-3">Publish your Lumino Theme</h1>

<p class="fs-4 mt-4">
Publishing you Lumino Theme is easy and straight forward.
<br>
<br>
<br>



</p>
<br>
<br>

<h2 class="fs-3">1. Create your theme</h2>
<p class="fs-4">
If you don't know how , visti our page <a href="{{url('create-theme')}}">Create a Lumino Theme</a>.
</p>
<br>
<br>

<h2 class="fs-3">2. Sign-up for a themes.getlumino.com Account</h2>
<p class="fs-4">
Create your account and set up your public author profile.
</p>
<br>
<br>

<h2 class="fs-3">3. Select your Licence and publish your work</h2>
<p class="fs-4">
You can decide how you want to publish your work. It can remain private, public or even paid.
</p>
<br>
<br>
<br>
<br>
<br>
<br>

</div>
</div>
</section>

</div>



@stop