package eu.gaudian.translator.view.hints

import androidx.compose.runtime.Composable
import androidx.compose.ui.res.stringResource
import androidx.navigation.NavController
import eu.gaudian.translator.R

/**
 * Wrapper for Category Hint Screen
 */
@Composable
fun CategoryHintScreenWrapper(navController: NavController) {
    HintScreen(
        navController = navController,
        title = stringResource(R.string.category_hint_intro)
    ) {
        CategoryHint()
    }
}

/**
 * Dictionary Hint Screen
 */
@Composable
fun DictionaryHintScreen(navController: NavController) {
    HintScreen(
        navController = navController,
        title = stringResource(R.string.label_dictionary_options)
    ) {
        getDictionaryOptionsHint().Render()
    }
}

/**
 * Import Hint Screen
 */
@Composable
fun ImportHintScreen(navController: NavController) {
    HintScreen(
        navController = navController,
        title = stringResource(R.string.hint_how_to_generate_vocabulary_with_ai)
    ) {
        getImportVocabularyHint()
    }
}

/**
 * Sorting Hint Screen
 */
@Composable
fun SortingHintScreen(navController: NavController) {
    HintScreen(
        navController = navController,
        title = stringResource(R.string.sorting_hint_title)
    ) {
        SortingScreenHint()
    }
}

/**
 * Stages Hint Screen
 */
@Composable
fun StagesHintScreen(navController: NavController) {
    HintScreen(
        navController = navController,
        title = stringResource(R.string.learning_stages_title)
    ) {
        LearningStagesHint()
    }
}

/**
 * Translation Hint Screen
 */
@Composable
fun TranslationHintScreen(navController: NavController) {
    HintScreen(
        navController = navController,
        title = stringResource(R.string.hint_translate_how_it_works)
    ) {
        getTranslationScreenHint().Render()
    }
}

/**
 * Scan Hint Screen
 */
@Composable
fun ScanHintScreen(navController: NavController) {
    HintScreen(
        navController = navController,
        title = stringResource(R.string.hint_scan_hint_title)
    ) {
        AddModelScanHint()
    }
}

/**
 * API Hint Screen
 */
@Composable
fun ApiHintScreen(navController: NavController) {
    HintScreen(
        navController = navController,
        title = stringResource(R.string.hint_how_to_connect_to_an_ai)
    ) {
        ApiKeyHint()
    }
}

/**
 * Vocabulary Progress Hint Screen
 */
@Composable
fun VocabularyProgressHintScreen(navController: NavController) {
    HintScreen(
        navController = navController,
        title = stringResource(R.string.hint_vocabulary_progress_hint_title)
    ) {
        VocabularyProgressHint()
    }
}
