Initial commit

This commit is contained in:
Roberto Guagliardo
2025-06-19 02:02:04 +02:00
commit b324c030f4
144 changed files with 18580 additions and 0 deletions

View File

@@ -0,0 +1,18 @@
@foreach ($education as $item)
<div class="bg-white dark:bg-gray-800 p-6 rounded-xl shadow space-y-2">
<h3 class="text-xl font-bold text-gray-900 dark:text-white">
{{ $item->opleiding }}
<span class="teitemxt-gray-500 dark:text-gray-400 font-normal"> {{ $item->instituut }}</span>
</h3>
<p class="text-sm text-gray-600 dark:text-gray-300 italic">
{{ \Carbon\Carbon::parse($item->startdatum)->translatedFormat('Y') }}
{{ $item->einddatum ? \Carbon\Carbon::parse($item->einddatum)->translatedFormat('Y') : 'heden' }}
</p>
<div class="text-gray-800 dark:text-gray-100 prose dark:prose-invert max-w-none">
{!! nl2br(e($item->beschrijving)) !!}
</div>
</div>
@endforeach

View File

@@ -0,0 +1,63 @@
<ul class="space-y-4">
@foreach($personalia as $item)
<li class="flex items-start gap-4">
<i class="fa fa-{{ $item->icon }} text-blue-600 text-xl mt-1"></i>
<div>
<p class="text-sm font-semibold text-gray-700 dark:text-gray-200">{{ ucfirst($item->key) }}</p>
@if($item->hidden)
@php
// 1. Vervang <br>-tags door spaties
$cleanValue = str_ireplace(['<br>', '<br/>', '<br />'], ' ', $item->value);
// 2. Verwijder alle andere HTML-tags
$cleanValue = strip_tags($cleanValue);
// 3. Maskeren vanaf derde teken, spaties zichtbaar houden
$masked = '';
$chars = mb_str_split($cleanValue); // Split veilig per karakter
foreach ($chars as $i => $char) {
if ($i < 2) {
$masked .= $char;
} elseif ($char === ' ') {
$masked .= ' ';
} else {
$masked .= '*';
}
}
@endphp
<button
class="text-gray-500 text-left dark:text-gray-400 hover:text-gray-800 dark:hover:text-white font-mono"
onclick="revealValue({{ $item->id }}, this)"
data-placeholder="{{ $masked }}"
>
{{ $masked }}
</button>
@else
<p class="text-gray-800 dark:text-white">{{ $item->value }}</p>
@endif
</div>
</li>
@endforeach
</ul>
<script>
function revealValue(id, el) {
fetch(`/getPersonalia/${id}`)
.then(res => res.json())
.then(data => {
el.innerHTML = data.value; // Gebruik innerHTML om HTML-opmaak te ondersteunen
el.classList.remove('hover:text-gray-800', 'dark:hover:text-white');
el.classList.add('text-gray-800', 'dark:text-white');
el.removeAttribute('onclick');
})
.catch(() => {
el.textContent = '[mislukt ophalen]';
});
}
</script>

View File

@@ -0,0 +1,17 @@
@foreach ($experience as $item)
<div class="bg-white dark:bg-gray-800 p-6 rounded-xl shadow space-y-2">
<h3 class="text-xl font-bold text-gray-900 dark:text-white">
{{ $item->functie }} <span class="text-gray-500 dark:text-gray-400 font-normal">bij {{ $item->werkgever }}</span>
</h3>
<p class="text-sm text-gray-600 dark:text-gray-300 italic">
{{ \Carbon\Carbon::parse($item->startdatum)->translatedFormat('F Y') }}
{{ $item->einddatum ? \Carbon\Carbon::parse($item->einddatum)->translatedFormat('F Y') : 'heden' }}
</p>
<div class="text-gray-800 dark:text-gray-100 prose dark:prose-invert max-w-none">
{!! nl2br(e($item->beschrijving)) !!}
</div>
</div>
@endforeach