feat: cover seedlings (plantón) in copy + legal, backup cadence, server picker

Beta-tester feedback triage. The data model already had LotType.seedling as
first class; the gaps were copy and UX.

- Seedlings/plantones: broaden landing hero (EN/ES), in-app legal notice, and
  all legal texts (site + docs masters) from seeds-only to "seeds and
  seedlings", with a live-plant phytosanitary/transport caveat. Seeds stay the
  hero — targeted, not a blanket rename.
- Backups: settings line now states the 7-day cadence explicitly; cadence lives
  in AutoBackupService.backupInterval as the single source for text and schedule.
- Community servers: replace the manual wss:// text box with a checklist of the
  known servers (defaults visible/toggleable) plus an "add server" affordance
  with basic validation. No jargon in the UI.

i18n across en/es/pt/fr/de/ast (ja falls back). Tests updated + a new
server-picker widget test.
This commit is contained in:
vjrj 2026-07-15 15:57:23 +02:00
parent ab027a8779
commit 15385a26cf
36 changed files with 410 additions and 179 deletions

View file

@ -25,9 +25,12 @@ void main() {
expect(find.text('Read the full documents online'), findsWidgets);
// The later sections start below the fold of the test viewport.
await tester.scrollUntilVisible(find.text('About sharing seeds'), 300);
await tester.scrollUntilVisible(
find.text('About sharing seeds and seedlings'),
300,
);
expect(find.text('Rules of the road'), findsOneWidget);
expect(find.text('About sharing seeds'), findsOneWidget);
expect(find.text('About sharing seeds and seedlings'), findsOneWidget);
});
testWidgets('renders under RTL without overflowing', (tester) async {