package com.example.timert

import android.content.Context
import android.content.pm.PackageManager
import android.os.Bundle
import android.widget.Switch
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.app.AppCompatDelegate
import android.widget.Button
import androidx.appcompat.app.AlertDialog
import androidx.core.text.HtmlCompat

class SettingsActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_settings2)

        val versionTextView: TextView = findViewById(R.id.versionTextView)
        val darkModeSwitch: Switch = findViewById(R.id.darkModeSwitch)
        val aboutButton: Button = findViewById(R.id.aboutButton)
        val developersButton: Button = findViewById(R.id.developersButton)

        // Получаем сохраненное состояние темы из SharedPreferences
        val sharedPreferences = getSharedPreferences("AppSettings", Context.MODE_PRIVATE)
        val isDarkMode = sharedPreferences.getBoolean("DarkMode", false) // По умолчанию - светлая тема
        darkModeSwitch.isChecked = isDarkMode

        // Применяем тему
        if (isDarkMode) {
            AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES)
        } else {
            AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)
        }

        try {
            val packageInfo = packageManager.getPackageInfo(packageName, 0)
            val versionName = packageInfo.versionName
            versionTextView.text = "Версия: $versionName"
        } catch (e: PackageManager.NameNotFoundException) {
            versionTextView.text = "Версия: Неизвестно"
        }

        // Устанавливаем слушатель для Switch
        darkModeSwitch.setOnCheckedChangeListener { _, isChecked ->
            // Сохраняем состояние темы в SharedPreferences
            val editor = sharedPreferences.edit()
            editor.putBoolean("DarkMode", isChecked)
            editor.apply()

            // Применяем тему
            if (isChecked) {
                AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES)
            } else {
                AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)
            }
        }

        // Обработчик нажатия на кнопку "О программе"
        aboutButton.setOnClickListener {
            AlertDialog.Builder(this)
                .setTitle("О программе")
                .setMessage("Краткое описание пользования приложением.\n\nНапример: Это приложение позволяет тренироваться, чтобы быть как арнольдшварцнигер 😄")
                .setPositiveButton("ОК", null)
                .show()
        }

        // Обработчик нажатия на кнопку "Разработчики"
        developersButton.setOnClickListener {
            AlertDialog.Builder(this)
                .setTitle("Разработчики")
                .setMessage(HtmlCompat.fromHtml(
                    "<p style='margin-left: 2em;'><b>Вятский государственный университет</b></p><br>" +
                            "<p style='margin-left: 2em;'>Емцова Надежда Александровна</p>" +
                            "<p style='margin-left: 2em;'>Новиков Николай Алексеевич</p>" +
                            "<p style='margin-left: 2em;'>Пискун Алёна Викторовна</p>",
                    HtmlCompat.FROM_HTML_MODE_LEGACY
                ))
                .setPositiveButton("ОК", null)
                .show()
        }
    }
}