refactor(commons): extract Birdstar Birdex/detection cards to commons

Fourth batch of the note-ui-commons extraction. The two Birdstar cards
(Birdex kind 12473, bird detection kind 2473) are pure value-in renderers:
they only read decoded tag values and open one Wikidata link, with no
AccountViewModel/INav.

- commons/ui/note/BirdexCard.kt: BirdexCard(BirdexEvent) and
  BirdDetectionCard(BirdDetectionEvent). The scientific-name link reuses the
  commons ClickableUrl atom; labels resolve via commons Res.
- amethyst keeps thin RenderBirdex(Note) / RenderBirdDetection(Note) entries
  that decode the event and call the shared cards.
- Migrated bird_detection_title (string) plus birdex_species_count and
  birdex_species_preview_more (plurals) with all locale translations from
  amethyst/res into commons/composeResources; deleted the amethyst copies.

Verified: :commons:compileKotlinJvm and :amethyst:compileFdroidDebugKotlin
both pass; every touched strings.xml is well-formed.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Gmrt3jwYPDJ38MJGJ6GaNr
This commit is contained in:
Claude
2026-07-17 22:48:33 +00:00
parent b2c78d6b76
commit a9ff6f5fbb
114 changed files with 632 additions and 590 deletions
@@ -11,4 +11,17 @@
<item quantity="many">%1$d souboru změněno</item>
<item quantity="other">%1$d souborů změněno</item>
</plurals>
<string name="bird_detection_title">Detekce ptáků</string>
<plurals name="birdex_species_count">
<item quantity="one">Birdex · %1$d druh</item>
<item quantity="few">Birdex · %1$d druhy</item>
<item quantity="many">Birdex · %1$d druhů</item>
<item quantity="other">Birdex · %1$d druhů</item>
</plurals>
<plurals name="birdex_species_preview_more">
<item quantity="one">%1$s +%2$d další</item>
<item quantity="few">%1$s +%2$d další</item>
<item quantity="many">%1$s +%2$d dalších</item>
<item quantity="other">%1$s +%2$d dalších</item>
</plurals>
</resources>