package com.dano.test1 import android.view.View import android.widget.* import android.util.TypedValue import androidx.core.widget.TextViewCompat import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.withContext class HandlerClientCoachCode( private val answers: MutableMap, private val languageID: String, private val goToNextQuestion: () -> Unit, private val goToPreviousQuestion: () -> Unit, private val showToast: (String) -> Unit, ) : QuestionHandler { private lateinit var question: QuestionItem.ClientCoachCodeQuestion private lateinit var layout: View override fun bind(layout: View, question: QuestionItem) { if (question !is QuestionItem.ClientCoachCodeQuestion) return this.layout = layout this.question = question // Bind UI components val clientCodeField = layout.findViewById(R.id.client_code) val coachCodeField = layout.findViewById(R.id.coach_code) val questionTextView = layout.findViewById(R.id.question) val titleTextView = layout.findViewById(R.id.textView) // Fill question text using language manager questionTextView.text = question.question?.let { LanguageManager.getText(languageID, it) } ?: "" // --- Schriftgrößen prozentual zur Bildschirmhöhe setzen --- // Passe die Prozente bei Bedarf an: setTextSizePercentOfScreenHeight(titleTextView, 0.03f) // 5.5% der Bildschirmhöhe setTextSizePercentOfScreenHeight(questionTextView,0.03f) // 5.0% der Bildschirmhöhe setTextSizePercentOfScreenHeight(clientCodeField, 0.025f) // 3.5% der Bildschirmhöhe setTextSizePercentOfScreenHeight(coachCodeField, 0.025f) // anpassen nach Geschmack // ---------------------------------------------------------- // Load last used client code if available val lastClientCode = GlobalValues.LAST_CLIENT_CODE if (!lastClientCode.isNullOrBlank()) { clientCodeField.setText(lastClientCode) clientCodeField.isEnabled = false } else { clientCodeField.setText(answers["client_code"] as? String ?: "") clientCodeField.isEnabled = true } // Load saved coach code coachCodeField.setText(answers["coach_code"] as? String ?: "") // Set click listener for Next button layout.findViewById