nice clean recipes pear.dunkirk.sh
recipes
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat: add lucid icons

+7 -4
+5 -2
ui/static/style.css
··· 10 10 --accent-hover:#c44e03; 11 11 --border:#e0ddd8; 12 12 --check-bg:#f0ede8; 13 + --btn-hover:#f6f6f6; 13 14 --error-bg:#fef2f2; 14 15 --error-text:#991b1b; 15 16 --ai-badge:#7c3aed; ··· 296 297 background:var(--accent); 297 298 color:#fff; 298 299 } 299 - .timer-btn:active{transform:scale(0.96)} 300 + .timer-btn:hover{background:var(--btn-hover)} 300 301 301 302 .tmr{font-weight:500;cursor:pointer;transition:color 0.2s;white-space:nowrap} 302 303 .tmr:hover{color:var(--accent)} 303 - .tmr::before{content:"⏲";font-size:0.8em;margin-right:0.4em} 304 + .tmr::before{content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='10' x2='14' y1='2' y2='2'/%3E%3Cline x1='12' x2='15' y1='14' y2='11'/%3E%3Ccircle cx='12' cy='14' r='8'/%3E%3C/svg%3E");margin-right:0.4em;vertical-align:middle} 304 305 305 306 .cook-link{ 306 307 font-family:'SF Mono','Fira Code','Cascadia Code',monospace; ··· 343 344 transition:color 0.15s; 344 345 } 345 346 .meta-link:hover{color:var(--text-muted);text-decoration:underline} 347 + 348 + .meta-icon{vertical-align:-2px;margin-right:0.15em} 346 349 347 350 .flagged-header{margin-bottom:1.5rem} 348 351 .flagged-header h2{font-size:1.5rem;font-weight:600;font-family:'Poppins',system-ui,sans-serif}
+2 -2
ui/templates/recipe.html
··· 36 36 <div class="recipe-header"> 37 37 <h2>{{.Recipe.Name}}</h2> 38 38 <div class="recipe-meta"> 39 - {{if .Recipe.PrepTime}}<span>⏱ {{fmtDuration .Recipe.PrepTime}} prep</span>{{end}} 40 - {{if .Recipe.CookTime}}<span>⏱ {{fmtDuration .Recipe.CookTime}} cook</span>{{end}} 39 + {{if .Recipe.PrepTime}}<span><svg class="meta-icon" xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="M12 6v6l4 2"/></svg> {{fmtDuration .Recipe.PrepTime}} prep</span>{{end}} 40 + {{if .Recipe.CookTime}}<span><svg class="meta-icon" xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="M12 6v6l4 2"/></svg> {{fmtDuration .Recipe.CookTime}} cook</span>{{end}} 41 41 {{if .Recipe.Yield}}<span>Serves {{.Recipe.Yield}}</span>{{end}} 42 42 <a href="/cook?url={{.TargetURL | urlquery}}" class="cook-link">.cook</a> 43 43 <a href="/flag?url={{.TargetURL | urlquery}}" class="flag-link{{if .IsFlagged}} flagged{{end}}" title="Flag as problematic – saves recipe for review"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528"/></svg></a>