Package-level declarations
Overview
Contains all UI pages/screens of the application, their view models, and page navigation logic.
Key Components
Page— Sealed interface defining all possible pages in the appViewModel— Base interface for all page view modelscreatePageView— Factory function to create page composablescreateViewModel— Factory function to create view models for pages
Sub-packages
menu— Main menu page with New Game, Load Game, Settings, Exit optionsnewGamePage— Game creation interface with player configurationlobby— Game lobby for joining/managing multiplayer gamesgame— Active game page with board, controls, and game state displaywinnerPage— End game screen showing winner and final scoresaboutPage— About/credits pagesettingsPage— Application settings and configuration
Responsibilities
Defining the structure of each application screen
Managing page-specific state through ViewModels
Handling navigation between pages
Providing reusable page creation patterns
Functions
Creates and returns the appropriate composable page view based on the current Page type.
Creates a composable page view if the provided ViewModel is of the expected type T.
Creates and returns the appropriate ViewModel instance based on the current Page type.