feat(seed-saving): source attribution + advisory note

Record where the guidance comes from (copyright/attribution) and make
clear it is general, not local gospel — kept light:
- seed_saving.json gains a top-level sources list (Seed to Seed / Seed
  Savers Exchange / Organic Seed Alliance); parsed into
  SeedSavingData.sources, exposed via SeedSavingCatalog.sources.
- The detail section shows a small muted footer: an italic 'advisory —
  adapt to your climate' line plus a 'Source: …' credit.
- i18n seedSaving.advisory + sourcePrefix (en/es/pt/ast).
- Tests: asset carries sources; the section renders advisory + credit.
This commit is contained in:
vjrj 2026-07-11 07:52:28 +02:00
parent d897d3934c
commit 89addb1ed7
15 changed files with 93 additions and 8 deletions

View file

@ -29,4 +29,7 @@ class SeedSavingCatalog {
/// matches. See [SeedSavingData.guideFor].
static SeedSavingGuide? guideFor({String? scientificName, String? family}) =>
data?.guideFor(scientificName: scientificName, family: family);
/// The attributions for the guidance (empty before load).
static List<SeedSavingSource> get sources => data?.sources ?? const [];
}