mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-10-06 11:48:24 +00:00
KMP swaps so the note types can live in commonMain: - formatDateTime(DateTimeStyle) replaces SimpleDateFormat in NoteCompose, DisplayOts, CalendarEvent, Attestation, MeetingSpace and the live-stream flags - DecimalPatternFormatter, PlatformNumberFormatter and the quartz BigDecimal (plus parseBigDecimalOrNull) replace java.text / java.math in the zap, goal, reward, poll, medical, classifieds and software-app types - phonePrefersMiles() is a commons expect; timeDiffAgo* and formatSecondsToTime are common - UrlInfoItem resolves OpenGraph URLs through resolveHttpUrl and moves to commonMain with the URL preview card, recording indicators and streaming flags - NIP-95 local media is an okio Path from Nip95BlobStore.path(id) - ic_dm, nip_05 and profile_banner move to commonsUI Compose resources (painterRes) - podcast chapters/transcripts fetch through fetchPreviewText; live streams probe through isVideoOnline; the event "copy JSON" goes through toPrettyJson Platform verbs as small commonsUI expect/actuals: rememberTextSharer (share sheet), rememberShortNotice (toast), rememberBlossomUriOpener, argbPixelsToImageBitmap. Plain VIEW intents use LocalUriHandler; the zap poll pays through AccountViewModelHost. Slots: TranslationPlatform (Play installs ML Kit, F-Droid none) behind a shared TranslatableRichTextViewer; RichTextPlatform gains SecretMessage; the preview AccountViewModel mocks move to commonsUI. NotePlatform (media players, map, audio/chess/ git/meeting/napplet note types, reactions row, post editor) is defined with its Android implementation installed in the theme; call sites are switched in the next step. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01S7FuNBSKiyVecARSoE4B9P