This commit updates the `QuizScreen` to display the ID of the fetched quiz and connects the `QuizScreen` composable to the navigation graph.
Key changes:
- **UI Layer (`ui:quiz` module):**
- In `QuizScreen.kt`:
- Modified the `QuizScreen` composable to display the `quiz.id.value` from the `QuizUiState` within a `Column` and `Text` element.
- In `navigation/QuizNavigation.kt`:
- Updated the `quizScreen` navigation extension to call the `QuizScreen()` composable.
This commit introduces the `QuizScreen` composable, its associated `QuizScreenViewModel`, and sets up the basic navigation graph for the application.
Key changes:
- **UI Layer (`ui:quiz` module):**
- Added `QuizScreen.kt` with a basic composable structure.
- Implemented `QuizScreenViewModel.kt` which fetches quiz data using `GetQuizUseCase` and exposes it via `QuizUiState`.
- Created `QuizUiState` data class to hold the quiz data for the UI.
- Added `navigation/QuizNavigation.kt` to define the `QuizRoute` and `quizScreen` navigation extension.
- Updated `ui/quiz/build.gradle.kts` to include dependencies for Hilt navigation and Timber.
- **App Module (`app` module):**
- Created `KahootQuizApp.kt` which sets up the main `Scaffold` and includes the navigation graph.
- Added `KahootQuizNavGraph.kt` to define the `NavHost` and integrate the `quizScreen`.
- Modified `MainActivity.kt` to call the new `KahootQuizApp` composable, removing the previous direct use case call and UI.
- **Data Layer (`model:data` module):**
- Updated `QuizMapper.kt` to convert `time` from `Long?` to `Duration?` (using `milliseconds`) when mapping `QuestionDto` to the domain `Question` model.