mirror of
https://github.com/Growstuff/growstuff.git
synced 2026-09-29 17:34:27 -04:00
* Restore the Ruby 4.0.6 upgrade PR #4831 committed a stale Gemfile.lock over the newer one, taking .ruby-version back to 3.2.3 and rolling back active_median, dalli, parallel, rbs and selenium-webdriver. Dockerfile and .devcontainer/Dockerfile still build on Ruby 4, so the Gemfile's version check fails against the image. Restores both files to what they were before that merge. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * Upgrade Font Awesome from 5.15.1 to 6.7.2 Font names have moved on twice since this was pinned: the codebase still carried Font Awesome 4 names that render as an empty box, and FA6 icons such as fa-ellipsis-vertical were unavailable. The 6.x gem no longer ships _font-awesome-sprockets.scss, but its @font-face rules still call fa-font-path(), so application.scss defines that against Sprockets' font-path helper. Its fonts live under assets/fonts/font-awesome, which is already in the precompile list. Icon names: - The bare "fa" prefix is not a style in 6. Every "fa fa-<name>" becomes "fas fa-<name>" (38 call sites, all solid; the one brands icon already used fab). - fa-sun-o was a Font Awesome 4 name and had been rendering as a box; now fa-sun. - fa-pencil was likewise broken under 5, where it was fa-pencil-alt. It exists again in 6, so the existing name now works. - activity_icon asked for 'fa-truck-pickup' through a helper that already adds the prefix, so it emitted "fa-fa-truck-pickup". Verified that the solid, regular and brands fonts all resolve through the asset pipeline. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * couple more places to upgrade font awesome --------- Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
24 lines
931 B
React
24 lines
931 B
React
import React from 'react';
|
|
|
|
// Where you are in a dialog of steps: done steps get a tick, the current one is
|
|
// marked for assistive technology as well as by colour. `current` is 1-based.
|
|
export default function Steps({steps, current}) {
|
|
return (
|
|
<ol className="plant-steps" aria-label="Progress">
|
|
{steps.map((label, index) => {
|
|
const number = index + 1;
|
|
const state = number < current ? 'done' : number === current ? 'current' : 'todo';
|
|
return (
|
|
<li key={label} className={`plant-step plant-step-${state}`} aria-current={state === 'current' ? 'step' : undefined}>
|
|
<span className="plant-step-number">
|
|
{state === 'done' ? <i className="fas fa-check" aria-hidden="true" /> : number}
|
|
</span>
|
|
{label}
|
|
{state === 'done' && <span className="visually-hidden"> (done)</span>}
|
|
</li>
|
|
);
|
|
})}
|
|
</ol>
|
|
);
|
|
}
|