From: review-reports/code-quality.md findings #2, #3
HomeScreen.kt (688 LOC): contains HomeScreen, HeroCarousel, StaticHero, SyncBanner, MovieCardWithContextMenu, MovieCard, CwCard in one file. HeroCarousel alone is ~130 LOC. Hard to review/test/refactor any single piece.
Fix: Extract to ui/home/:
HeroCarousel.kt
SyncBanner.kt
ui/widgets/MovieCard.kt + CwCard.kt (they're reusable)
Daos.kt (643 LOC): 11 DAO interfaces + ProviderCount + ContentDao.Companion search-query builder all in one file. MovieDao alone is 200 LOC.
Fix: Split data/db/ into per-DAO files matching the one-file-per-entity convention already used in Entities.kt: MovieDao.kt, SeriesDao.kt, ChannelDao.kt, ProgrammeDao.kt, etc.
No behaviour change — pure organisation. Makes future reviews + git blame easier.
From:
review-reports/code-quality.mdfindings #2, #3HomeScreen.kt (688 LOC): contains
HomeScreen,HeroCarousel,StaticHero,SyncBanner,MovieCardWithContextMenu,MovieCard,CwCardin one file.HeroCarouselalone is ~130 LOC. Hard to review/test/refactor any single piece.Fix: Extract to
ui/home/:HeroCarousel.ktSyncBanner.ktui/widgets/MovieCard.kt+CwCard.kt(they're reusable)Daos.kt (643 LOC): 11 DAO interfaces +
ProviderCount+ContentDao.Companionsearch-query builder all in one file. MovieDao alone is 200 LOC.Fix: Split
data/db/into per-DAO files matching the one-file-per-entity convention already used in Entities.kt:MovieDao.kt,SeriesDao.kt,ChannelDao.kt,ProgrammeDao.kt, etc.No behaviour change — pure organisation. Makes future reviews + git blame easier.