ReversiScope
Receiver scope class providing composition helper functions and access to app state. Used as a receiver for composable lambdas to provide themed UI components.
Functions
Simple about page presenting project and authorship information.
Modal popup for confirming user actions.
Composable rendering the interactive Reversi game board. Displays the grid, pieces, and available moves (if target mode is enabled). Handles user clicks for piece placement with click blocking during animations.
Composable displaying an empty state for the lobby when no saved games are available. Shows a game icon and prompts the user to create a new game.
Composable that displays an error message based on the error type.
Main game page displaying the Reversi board, player scores, and game controls. Manages game music playback and periodic game state refreshes for multiplayer games.
Main game view composable displaying the board and player information side-by-side. Combines the game board on the left with player scores and controls on the right.
Retrieves the current application state.
Retrieves the current application theme.
Renders the board grid with cells, pieces, and animated indicators for valid moves. Supports animation feedback for available moves in target mode.
Loading overlay composable displaying a circular progress indicator with loading message. Covers the entire screen with a semi-transparent overlay and prevents user interaction.
Lobby menu screen for browsing and joining saved multiplayer games. Displays available games in a carousel and handles game selection and joining.
Main menu screen showing navigation options. Handles menu audio playback and navigation callbacks to other pages.
New game page for creating a local game with piece selection. Allows the user to choose their piece color and start a new game.
Shared UI for new game page with piece selection and game initiation. Provides input fields for game name, player name, board size, and a dropdown menu for piece selection.
Button to pass the current player's turn.
Modal popup for selecting a piece color before joining a multiplayer game. Displays available pieces as interactive circular buttons with visual feedback.
Back navigation button with hover animation and scaling effects. Includes smooth transitions for scale and offset when hovering.
Themed button component using the application's primary color. Supports custom shapes, borders, and disabled state styling.
Themed checkbox component following the application's design system.
Themed dropdown menu with application color scheme. Provides a container for dropdown menu items with consistent styling.
Themed dropdown menu item for use within ReversiDropDownMenu. Provides consistent styling for menu options.
Themed text composable following the application's color scheme. Supports auto-sizing and various text styling options.
Themed text input field following the application's design system. Supports placeholder, label, and single/multi-line modes.
Main scaffold composable providing consistent layout structure for pages. Includes top app bar with title and navigation, content area, and error handling.
Settings page displaying configuration options including player name, storage, audio, and theme. Provides apply action to persist changes and navigate back.
Section header composable for organizing settings into logical groups. Displays a title and divider line with the section content below.
Toggle button for target mode, showing available moves on the board. Displays "Target ON" or "Target OFF" based on the current state.
Composable that shows a toast message for errors. The message is displayed for 2 seconds before being cleared.