Stern zum Merken einzelner Bewerbungen auf der Startseiten-Liste, der Bewerbungsdetailseite und einer neuen 'Gemerkte Bewerbungen'-Sektion ganz oben — unabhaengig vom Status. Die bisherigen Jobangebot-Favoriten werden durchgaengig entfernt (Endpoint, Migration, UI, Startseiten-Sektion), da nur Bewerbungen gemerkt werden sollen. Co-Authored-By: Claude <noreply@anthropic.com>
47 lines
3.1 KiB
Plaintext
47 lines
3.1 KiB
Plaintext
<%
|
|
// Gemerkte Bewerbungen — Sektion ganz oben auf der Startseite. Zeigt alle
|
|
// favorisierten Bewerbungen unabhängig von ihrem Status. Wird nur gerendert,
|
|
// wenn mindestens ein Favorit vorhanden ist.
|
|
%>
|
|
<% if (bewerbungFavoriten && bewerbungFavoriten.length) { %>
|
|
<%- include('favorit-script') %>
|
|
<section id="bewerbungFavoritenCard" data-fav-card class="bg-white dark:bg-gray-800 rounded-lg shadow-md mb-8 overflow-hidden">
|
|
<div class="flex flex-wrap items-center gap-2 px-6 py-4 border-b border-gray-200 dark:border-gray-700">
|
|
<svg class="h-5 w-5 text-amber-500" viewBox="0 0 24 24" fill="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M11.48 3.5l2.6 5.27 5.82.85-4.21 4.1.99 5.79-5.2-2.73-5.2 2.73.99-5.79-4.21-4.1 5.82-.85 2.6-5.27z"/></svg>
|
|
<h2 class="text-lg font-semibold text-gray-800 dark:text-white">Gemerkte Bewerbungen</h2>
|
|
<span class="ml-auto inline-flex items-center gap-1.5 rounded-full bg-amber-50 px-2.5 py-1 text-xs font-medium text-amber-700 dark:bg-amber-500/10 dark:text-amber-300">
|
|
<%= bewerbungFavoriten.length %>
|
|
</span>
|
|
</div>
|
|
<ul class="divide-y divide-gray-100 dark:divide-gray-700/60">
|
|
<% bewerbungFavoriten.forEach(function(b){ %>
|
|
<li data-fav-item class="flex flex-wrap items-start justify-between gap-3 px-6 py-4">
|
|
<div class="min-w-0 flex-1">
|
|
<div class="flex flex-wrap items-center gap-2 mb-1">
|
|
<% if (b.status) { %>
|
|
<span class="inline-flex items-center px-2 py-0.5 rounded text-xs font-medium bg-gray-100 text-gray-700 dark:bg-gray-700 dark:text-gray-200"><%= b.status %></span>
|
|
<% } %>
|
|
<% if (b.datum) { %>
|
|
<span class="inline-flex items-center px-2 py-0.5 rounded text-xs font-medium bg-gray-100 text-gray-600 dark:bg-gray-700 dark:text-gray-300"><%= new Date(b.datum).toLocaleDateString('de-DE') %></span>
|
|
<% } %>
|
|
</div>
|
|
<a href="/bewerbung/<%= b.id %>" class="text-base font-semibold text-gray-800 dark:text-gray-100 break-words hover:underline">
|
|
<%= b.firma %>
|
|
</a>
|
|
<p class="text-sm text-gray-700 dark:text-gray-200 break-words"><%= b.stelle %></p>
|
|
<% if (b.ort) { %>
|
|
<p class="text-sm text-gray-500 dark:text-gray-400 mt-0.5"><%= b.ort %></p>
|
|
<% } %>
|
|
</div>
|
|
<div class="shrink-0 flex flex-col gap-2 self-start items-end">
|
|
<a href="/bewerbung/<%= b.id %>"
|
|
class="inline-flex items-center justify-center gap-1.5 px-3 py-1.5 text-xs bg-blue-600 hover:bg-blue-700 text-white rounded-md transition-colors">
|
|
Öffnen
|
|
</a>
|
|
<%- include('favorit-button', { j: b, endpoint: '/api/bewerbungen/' + b.id + '/favorit' }) %>
|
|
</div>
|
|
</li>
|
|
<% }); %>
|
|
</ul>
|
|
</section>
|
|
<% } %> |