UI: Phosphor-Icons für Jobs, Filme, Admin-Bewerbungen + Jobs-Link in Entdecken, SW by-v582
This commit is contained in:
parent
d5e408528b
commit
b3bd34c76a
6 changed files with 42 additions and 23 deletions
|
|
@ -8,6 +8,8 @@ window.Page_jobs = (() => {
|
|||
let _appState = null;
|
||||
|
||||
const _esc = s => UI.escape(s ?? '');
|
||||
const _ph = (name, size = 22) =>
|
||||
`<svg class="ph-icon" aria-hidden="true" style="width:${size}px;height:${size}px;flex-shrink:0;color:var(--c-primary)"><use href="/icons/phosphor.svg#${name}"></use></svg>`;
|
||||
|
||||
async function init(container, appState) {
|
||||
_container = container;
|
||||
|
|
@ -46,11 +48,11 @@ window.Page_jobs = (() => {
|
|||
<div style="padding:var(--space-5)">
|
||||
<h2 style="font-size:var(--text-lg);font-weight:700;margin:0 0 var(--space-4);color:var(--c-primary)">Die Stelle</h2>
|
||||
<div style="display:grid;gap:var(--space-3)">
|
||||
${_infoRow('📍', 'Remote', '100 % flexibel — du arbeitest wann und wie du willst')}
|
||||
${_infoRow('📅', 'Umfang', '1–2 Posts pro Woche auf Instagram & TikTok')}
|
||||
${_infoRow('💶', 'Vergütung', '50 € / Monat — wächst mit der Community')}
|
||||
${_infoRow('🤖', 'Luna an deiner Seite', 'Unser KI-Assistent schreibt Captions, generiert Post-Ideen und Hashtags — du wählst aus und postest')}
|
||||
${_infoRow('⭐', 'Gründer-Status', 'Du wirst Teil der ersten 100 Gründer — für immer')}
|
||||
${_infoRow(_ph('map-pin'), 'Remote', '100 % flexibel — du arbeitest wann und wie du willst')}
|
||||
${_infoRow(_ph('calendar-dots'), 'Umfang', '1–2 Posts pro Woche auf Instagram & TikTok')}
|
||||
${_infoRow(_ph('tag'), 'Vergütung', '50 € / Monat — wächst mit der Community')}
|
||||
${_infoRow(_ph('robot'), 'Luna an deiner Seite', 'Unser KI-Assistent schreibt Captions, generiert Post-Ideen und Hashtags — du wählst aus und postest')}
|
||||
${_infoRow(_ph('star'), 'Gründer-Status', 'Du wirst Teil der ersten 100 Gründer — für immer')}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -58,8 +60,9 @@ window.Page_jobs = (() => {
|
|||
<!-- Luna-Probezugang Teaser -->
|
||||
<div style="background:linear-gradient(135deg,var(--c-primary),#e8a857);border-radius:var(--radius-lg);
|
||||
padding:var(--space-5);margin-bottom:var(--space-4);color:#fff">
|
||||
<div style="font-size:var(--text-lg);font-weight:800;margin-bottom:var(--space-2)">
|
||||
🤖 Luna 14 Tage kostenlos testen
|
||||
<div style="font-size:var(--text-lg);font-weight:800;margin-bottom:var(--space-2);display:flex;align-items:center;gap:var(--space-2)">
|
||||
<svg class="ph-icon" aria-hidden="true" style="width:24px;height:24px"><use href="/icons/phosphor.svg#robot"></use></svg>
|
||||
Luna 14 Tage kostenlos testen
|
||||
</div>
|
||||
<p style="margin:0;opacity:.9;font-size:var(--text-sm)">
|
||||
Mit deiner Bewerbung schalten wir dir sofort den vollen Zugang zu Luna frei —
|
||||
|
|
@ -68,7 +71,8 @@ window.Page_jobs = (() => {
|
|||
</p>
|
||||
${trialStatus?.active ? `<div style="margin-top:var(--space-3);background:rgba(255,255,255,.2);
|
||||
border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-weight:700;font-size:var(--text-sm)">
|
||||
✅ Dein Probezugang läuft noch ${trialStatus.remaining_days} Tage</div>` : ''}
|
||||
<svg class="ph-icon" aria-hidden="true" style="width:16px;height:16px;vertical-align:middle"><use href="/icons/phosphor.svg#check-circle"></use></svg>
|
||||
Dein Probezugang läuft noch ${trialStatus.remaining_days} Tage</div>` : ''}
|
||||
</div>
|
||||
|
||||
<!-- Wen wir suchen -->
|
||||
|
|
@ -99,7 +103,7 @@ window.Page_jobs = (() => {
|
|||
function _infoRow(icon, label, text) {
|
||||
return `
|
||||
<div style="display:flex;gap:var(--space-3);align-items:flex-start">
|
||||
<span style="font-size:20px;line-height:1.4">${icon}</span>
|
||||
<div style="margin-top:1px">${icon}</div>
|
||||
<div>
|
||||
<div style="font-weight:700;font-size:var(--text-sm)">${label}</div>
|
||||
<div style="color:var(--c-text-secondary);font-size:var(--text-sm)">${text}</div>
|
||||
|
|
@ -109,15 +113,17 @@ window.Page_jobs = (() => {
|
|||
|
||||
function _renderStatus(app) {
|
||||
const statusMap = {
|
||||
pending: { icon: '⏳', text: 'Deine Bewerbung ist eingegangen — wir melden uns bald!', color: 'var(--c-text-secondary)' },
|
||||
reviewing: { icon: '🔍', text: 'Wir schauen uns deine Bewerbung gerade genauer an.', color: '#0284c7' },
|
||||
accepted: { icon: '🎉', text: 'Herzlichen Glückwunsch — du bist dabei!', color: 'var(--c-success)' },
|
||||
rejected: { icon: '😔', text: 'Es hat diesmal leider nicht geklappt.', color: 'var(--c-danger)' },
|
||||
pending: { icon: 'clock', text: 'Deine Bewerbung ist eingegangen — wir melden uns bald!', color: 'var(--c-text-secondary)' },
|
||||
reviewing: { icon: 'magnifying-glass', text: 'Wir schauen uns deine Bewerbung gerade genauer an.', color: '#0284c7' },
|
||||
accepted: { icon: 'check-circle', text: 'Herzlichen Glückwunsch — du bist dabei!', color: 'var(--c-success)' },
|
||||
rejected: { icon: 'x', text: 'Es hat diesmal leider nicht geklappt.', color: 'var(--c-danger)' },
|
||||
};
|
||||
const s = statusMap[app.status] || statusMap.pending;
|
||||
return `
|
||||
<div class="card" style="padding:var(--space-5);text-align:center">
|
||||
<div style="font-size:40px;margin-bottom:var(--space-3)">${s.icon}</div>
|
||||
<div style="margin-bottom:var(--space-3)">
|
||||
<svg class="ph-icon" aria-hidden="true" style="width:48px;height:48px;color:${s.color}"><use href="/icons/phosphor.svg#${s.icon}"></use></svg>
|
||||
</div>
|
||||
<div style="font-weight:700;color:${s.color};font-size:var(--text-lg);margin-bottom:var(--space-2)">${s.text}</div>
|
||||
<div style="color:var(--c-text-muted);font-size:var(--text-xs)">
|
||||
Bewerbung eingereicht: ${app.created_at?.slice(0,10)}
|
||||
|
|
@ -203,8 +209,9 @@ window.Page_jobs = (() => {
|
|||
bekommst du sofort den 14-tägigen Luna-Probezugang.
|
||||
</div>` : ''}
|
||||
|
||||
<button type="submit" class="btn btn-primary w-full" style="margin-top:var(--space-2)">
|
||||
Bewerbung absenden + Luna freischalten 🚀
|
||||
<button type="submit" class="btn btn-primary w-full" style="margin-top:var(--space-2);display:flex;align-items:center;justify-content:center;gap:var(--space-2)">
|
||||
<svg class="ph-icon" aria-hidden="true" style="width:18px;height:18px"><use href="/icons/phosphor.svg#sparkle"></use></svg>
|
||||
Bewerbung absenden + Luna freischalten
|
||||
</button>
|
||||
|
||||
</form>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue