Zweites Lebenslauf-Design "Social Media" + Anschreiben folgt dem Layout
Der Lebenslauf kann jetzt zwischen zwei Layouts waehlen, und das Anschreiben uebernimmt immer das Layout des Lebenslaufs - beide Dokumente kommen als ein Set beim Unternehmen an. "Social Media" ist die verspielte Variante nach der Media-Kit-Vorlage: getoente Seite, rundes Portrait mit Blob, Schreibschrift-Zeile ueber einem grossen Namen, Herzchen als Abschnittsmarker und Bullets, abgerundete Karten je Station, Pill-Chips fuer Kompetenzen und Sprachen, Glitzer-Sterne als Deko. Bewusst laut - gedacht fuer kreative und Social-Media-Stellen. Die gesamte Farbwelt (Seite, Karten, Pills, Deko) wird aus der Akzentfarbe abgeleitet, das Layout funktioniert also auch in Violett oder Tiefblau. Neue Akzente Pink und Violett; das Layout bringt eigene Defaults mit (pink, rundes Foto), sodass ein Wechsel sofort stimmig aussieht. Neue Schriften (SIL OFL): Poppins fuer die geometrische Sans, Pacifico fuer die Schreibschrift. Es werden nur die Fonts eingebettet, die das gewaehlte Layout nutzt - ein klassischer Lebenslauf traegt Poppins/Pacifico nicht mit. Herz und Sparkle sind als Bezier-Pfade gezeichnet, weil sich auf ein Herz-Glyph in der Schrift nicht verlassen werden kann. Das neue Layout nutzt dieselbe Mess- und Skalier-Mechanik wie das klassische, erbt also die Ein-Seiten-Garantie. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -2001,8 +2001,18 @@ initializeDatabase().then(() => {
|
||||
app.post('/vorlagen/design', async (req, res) => {
|
||||
try {
|
||||
const gewaehlt = designStore.settings(req.body);
|
||||
// Compare against what the *chosen layout* ships with, not the global
|
||||
// defaults — otherwise picking "social" would persist its own pink/round
|
||||
// defaults as if the user had overridden them. `layout` itself keeps the
|
||||
// global default as its yardstick, so choosing a non-default layout is
|
||||
// stored (comparing it against itself would never save anything).
|
||||
const basis = {
|
||||
...designStore.DEFAULTS,
|
||||
...(designStore.LAYOUT_DEFAULTS[gewaehlt.layout] || {}),
|
||||
layout: designStore.DEFAULTS.layout,
|
||||
};
|
||||
for (const [key, value] of Object.entries(gewaehlt)) {
|
||||
if (value === designStore.DEFAULTS[key]) {
|
||||
if (value === basis[key]) {
|
||||
await dbRun('DELETE FROM design WHERE key = ?', [key]);
|
||||
} else {
|
||||
await dbRun(
|
||||
|
||||
Reference in New Issue
Block a user