From 154b54d452b6b0d6ddfd85b44e6dac0055b94b48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Gruszczy=C5=84ski?= Date: Wed, 2 Sep 2026 10:35:19 +0200 Subject: [PATCH] v0.10.0 --- FILE_MANIFEST.sha256 | 4 ++-- web/js/flows.js | 4 ++-- web/styles.css | 10 +++++++--- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/FILE_MANIFEST.sha256 b/FILE_MANIFEST.sha256 index 69f93dd..253d3bf 100644 --- a/FILE_MANIFEST.sha256 +++ b/FILE_MANIFEST.sha256 @@ -179,7 +179,7 @@ f07600277c60c771c04b1d43c5ed08de6bf518a72660011767b71cde8ec5bde8 ./web/js/core. dfc123885a9b6b5c1d07c12d2d2625ff15aa0844e5cd3736092ccd0a360da39c ./web/js/dashboard.js 2887856e35e086bb575e9fc0d8b0ed1160b6912297a2957535d5416bda68b4b7 ./web/js/entities.js 9a0e87911f78cd8a969f4c57ce74774f5fa829fdecd79494d9a7f9d5804f9792 ./web/js/events.js -707614dc2c48c09b483b39d67af8ec4c5c0423f4f1d59e17402bbef521fedb9d ./web/js/flows.js +133165112ee1a37264be87d251a6eae07db6af4e14d7ac6115f4e3589940f0e3 ./web/js/flows.js f06557c6d338259059b990f8f79c91d68ac8ec1f245c302468f08929b5506901 ./web/js/forms.js dbf36223863ba882c03eccea4516ba8db7acf0c2e72c6c64490cb994f1e20f96 ./web/js/history.js 7eaa04992ea828dc89f5eaebf674cbbfd160f53eb8d0d6ef0d4e47bd8c28c435 ./web/js/main.js @@ -189,6 +189,6 @@ c8c82e88c3715b1bfabf155e36266a4c94f5e2fc03eb39dcdd9d08a1985a997c ./web/js/route 34513d9ec2e45c60443dffe028eea74f415b8a29016df6af3377a80a4ac0df5b ./web/js/settings-ui.js aa6a2ba22648de44547efd09f41c4335ebe38ed564f4684e942d7827df40f1a2 ./web/js/settings.js 6b653e4fe2d4db4ffae6ff8f39b8ce57a10a990dc0000ee4aae51d949afadd52 ./web/manifest.webmanifest -91cc0f52bd276a39d11bad6b76674f41c8e88b70f699d02ca71a1c473d1ca557 ./web/styles.css +cabd79ded6d8386c6b715751058139edc1b3d1031f5bb1b7872323f340dff4f0 ./web/styles.css ae1b03f30b494f474a781a5d32072f1e73eba2b7c768109fc1cc8028cb6662a4 ./web/sw.js d505d793ce7cc9485b45b78bba1c0d51887adc7451ab59a42702946e5b991382 ./web/theme-init.js diff --git a/web/js/flows.js b/web/js/flows.js index db57166..d21dae6 100644 --- a/web/js/flows.js +++ b/web/js/flows.js @@ -650,7 +650,7 @@ function renderFlowPresetPreview(preset) { const reqMarkup = req.requirements.length ? req.requirements.map(item => `${item.ok ? '✓' : '!' } ${esc(item.label)}`).join('') : `✓ ${esc(tr('flow.templateRequirementsReady'))}`; - host.innerHTML = `
${esc(tr('flow.templatePreview'))}

${esc(flowPresetText(preset.name) || preset.id)}

+ host.innerHTML = `
${esc(tr('flow.templatePreview'))}

${esc(flowPresetText(preset.name) || preset.id)}

${esc(flowPresetText(preset.description))}

${esc(tr('flow.templateNodesCount', { count:preset.flow.nodes.length }))}${esc(tr('flow.templateEdgesCount', { count:preset.flow.edges.length }))}
${flowPresetPreviewGraph(preset)} @@ -686,7 +686,7 @@ function renderFlowPresetBrowser(category = '') { const emptyKey = query ? 'flow.templateNoResults' : flowPresetActiveCategory === 'favorites' ? 'flow.templateNoFavorites' : flowPresetActiveCategory === 'recent' ? 'flow.templateNoRecent' : 'flow.templateNoResults'; const cards = active.map(preset => { const isFavorite = favorites.has(preset.id), selected = preset.id === flowPresetPreviewId; - return `
`; + return `
`; }).join(''); host.innerHTML = `
${esc(flowPresetCategoryLabel(flowPresetActiveCategory))}${esc(flowPresetCategoryHint(flowPresetActiveCategory))}
${cards ? `
${cards}
` : `
${esc(tr(emptyKey))}
`}
`; if (!active.some(preset => preset.id === flowPresetPreviewId)) flowPresetPreviewId = active[0]?.id || ''; diff --git a/web/styles.css b/web/styles.css index eeeb8a5..2bd1d04 100644 --- a/web/styles.css +++ b/web/styles.css @@ -6360,9 +6360,13 @@ body.flow-editor-open { overflow:hidden; } .flow-template-card.selected { border-color:var(--accent); box-shadow:0 0 0 1px var(--accent-border); } .flow-template-card-main { display:grid; gap:7px; width:100%; min-height:118px; border:0; background:transparent; color:var(--text); padding:14px 42px 14px 14px; text-align:left; align-content:start; cursor:pointer; } .flow-template-card-main span { color:var(--muted); font-size:.86rem; line-height:1.4; } -.flow-template-favorite { width:34px; height:34px; border:0; border-radius:50%; background:transparent; color:var(--muted); cursor:pointer; font-size:1.15rem; line-height:1; } -.flow-template-card > .flow-template-favorite { position:absolute; right:7px; top:7px; } -.flow-template-favorite.active { color:var(--accent); background:var(--accent-soft); } +.flow-template-favorite { width:30px; height:30px; display:grid; place-items:center; border:0; border-radius:8px; background:transparent; color:var(--muted); cursor:pointer; font-size:1.22rem; line-height:1; opacity:.72; transition:color .15s ease, background .15s ease, opacity .15s ease, transform .15s ease; } +.flow-template-card > .flow-template-favorite { position:absolute; right:8px; top:8px; } +.flow-template-favorite:hover { color:var(--text); background:var(--surface); opacity:1; } +.flow-template-favorite:focus-visible { outline:2px solid var(--accent); outline-offset:2px; opacity:1; } +.flow-template-favorite.active { color:var(--accent); background:transparent; opacity:1; } +.flow-template-favorite.active:hover { background:var(--accent-soft); } +.flow-template-favorite:active { transform:scale(.92); } .flow-template-preview .form-actions { margin-top:0; padding-top:10px; border-top:1px solid var(--line); } @media (max-width:900px) {