Files
jobbi-bewerbung/extension/content.css
T
thomasandClaude Opus 4.8 fd20ca0daf Add AI application assistant: Indeed import + Ollama document generation
- Browser extension (Chromium MV3) injecting a "send to tracker" button next
  to the Indeed job description; scrapes job info and posts it to a new
  /api/indeed-import endpoint (CORS-enabled), configurable tracker URL via popup.
- New "Entwurf" status. Imports create a draft and trigger background AI
  generation of tailored Anschreiben + Lebenslauf (PDF attachments) via the
  Ollama Cloud API, grounded strictly in user-provided base documents.
- Vorlagen page to manage base documents; attachments UI, generation status
  polling, regenerate and download routes on the application page.
- Schema: ort/stellenbeschreibung/quelle_url/generierung_* columns, plus
  basis_dokumente and anhaenge tables (with migrations).
- Config via .env (OLLAMA_API_KEY/OLLAMA_MODEL/OLLAMA_HOST); dependency-free
  .env loader. Dockerfile copies lib/, .dockerignore added.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-02 22:21:28 +02:00

49 lines
1.2 KiB
CSS

/* Button injected next to the Indeed job description */
.bt-import-wrap {
margin: 12px 0;
display: flex;
flex-direction: column;
gap: 6px;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
.bt-import-btn {
display: inline-flex;
align-items: center;
gap: 8px;
align-self: flex-start;
background: #16a34a;
color: #fff;
border: none;
border-radius: 8px;
padding: 10px 16px;
font-size: 14px;
font-weight: 600;
cursor: pointer;
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
transition: background 0.15s ease, opacity 0.15s ease;
}
.bt-import-btn:hover { background: #15803d; }
.bt-import-btn:disabled { opacity: 0.7; cursor: default; }
.bt-import-btn svg { width: 18px; height: 18px; flex: 0 0 auto; }
.bt-import-status {
font-size: 13px;
line-height: 1.4;
}
.bt-import-status a { color: #2563eb; text-decoration: underline; }
.bt-import-status.bt-ok { color: #16a34a; }
.bt-import-status.bt-err { color: #dc2626; }
/* Spinner */
.bt-spin {
width: 16px; height: 16px;
border: 2px solid rgba(255, 255, 255, 0.5);
border-top-color: #fff;
border-radius: 50%;
animation: bt-rotate 0.7s linear infinite;
}
@keyframes bt-rotate { to { transform: rotate(360deg); } }