Package-level declarations

Overview

Utility functions and helper components for the app UI layer.

Components

  • ButtonPreviousPage — Reusable back button component

  • InitializationUtils — Application initialization helpers

  • Loading — Loading indicator composable

  • PageSwitcher — Navigation helper for page transitions

  • ProcessUtils — Process and lifecycle management utilities

Responsibilities

  • Providing reusable UI components

  • Supporting app initialization

  • Managing page transitions

  • Handling loading states

Types

Link copied to clipboard
data class InitializedArgs(val audioPool: AudioPool)

Container for application initialization results.

Properties

Link copied to clipboard
val allArgs: Array<CommandArg>

Array of all supported command-line arguments.

Link copied to clipboard
val argsParser: CommandArgsParser

Parser for command-line arguments.

Link copied to clipboard
val helpArg: CommandArg

Command-line argument displaying help information.

Link copied to clipboard
val noAudioArg: CommandArg

Command-line argument disabling audio playback.

Link copied to clipboard
val noLogArg: CommandArg

Command-line argument enabling file-based logging.

Link copied to clipboard
const val SCALE_MULTIPLIER: Float = 2.0f

Scaling factor for the back button icon when hovered.

Functions

Link copied to clipboard
@Composable
fun AppScreenSwitcher(pagesState: PagesState, theme: AppTheme, contentAlignment: Alignment = Alignment.TopStart, switchAction: @Composable BoxScope.(page: Page) -> Unit)

Central component managing transitions between pages in the application. Slides right (forward) when navigating to higher-level pages, left (backward) when returning.

Link copied to clipboard

Initializes application arguments including logging and audio settings. Parses command-line arguments and configures the application accordingly.

Link copied to clipboard
fun installFatalCrashLogger(exitFunction: () -> Unit)
Link copied to clipboard
@Composable
fun ReversiScope.Loading(modifier: Modifier = Modifier)

Loading overlay composable displaying a circular progress indicator with loading message. Covers the entire screen with a semi-transparent overlay and prevents user interaction.

Link copied to clipboard
@Composable
fun ReversiScope.PreviousPage(onBack: () -> Unit)

Back navigation button with hover animation and scaling effects. Includes smooth transitions for scale and offset when hovering.

Link copied to clipboard
fun reversiFadeAnimation(duration: Int = 500, animation: Easing = CubicBezierEasing(0.22f, 1f, 0.36f, 1f)): ContentTransform

Creates a fade-only animation without slide transition.

Link copied to clipboard
fun reversiGoInAnimation(duration: Int = 500, animation: Easing = CubicBezierEasing(0.22f, 1f, 0.36f, 1f)): ContentTransform

Creates an animation for forward page transitions (sliding right with fade in).

Link copied to clipboard
fun reversiGoOutAnimation(duration: Int = 500, animation: Easing = CubicBezierEasing(0.22f, 1f, 0.36f, 1f)): ContentTransform

Creates an animation for backward page transitions (sliding left with fade in).

Link copied to clipboard
suspend fun runStorageHealthCheck(service: GameServiceImpl, testConf: CoreConfig? = null, save: Boolean = true): Exception?

Runs a health check on the configured game storage backend. If remote (MongoDB) storage is configured, verifies connectivity and functionality. On failure, automatically falls back to local file storage if save is true.