package com.example.kliker

import android.os.Bundle
import android.util.Log
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.Image
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.material3.Button
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import com.example.kliker.ui.theme.KlikerTheme
import androidx.compose.runtime.*      // remember, mutableStateOf

class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        //enableEdgeToEdge()
        setContent {
            KlikerTheme {
                    MyKliker(
                    )
            }
        }
    }
}

@Composable
fun MyKliker() {

    var numberOfClicks by remember { mutableStateOf(0)  }  // liczba kliknięć
    var pictureNumber by remember { mutableStateOf(0) }    // nr wyświetlanego obrazka z listy
    var addition by remember { mutableStateOf(1) } // dodatek
    val oczka = listOf(R.drawable.question, // 0
                       R.drawable.jeden,   // 1
                       R.drawable.dwa,     // 2
                       R.drawable.trzy,    // 3
                       R.drawable.cztery,  // 4
                       R.drawable.piec,    // 5
                       R.drawable.szesc)   // 6

    Column {
        Text(
            text = "Kliker!"
        )
        Button(
            onClick = {
                numberOfClicks++
                pictureNumber += addition     // addition ma wartość 1 lub -1
                if (numberOfClicks % 6 == 0){
                    addition = -addition      // zmiana na liczbe przeciwną
                }
                //Log.i("MyKliker", "numberOfClicks: $numberOfClicks")
                //Log.i("MyKliker", "addition: $addition")
                //Log.i("MyKliker", "pictureNumber: $pictureNumber")
            },
            modifier = Modifier
                .size(100.dp) // Make the button square by setting both width and height to 100.dp
                .padding(16.dp),
            contentPadding = PaddingValues(0.dp) // Remove any internal padding for perfect square shape
        ) {
            Image(
                painter = painterResource(oczka[pictureNumber]),
                contentDescription = "kostka",
            )
        }
        Text(
            text = numberOfClicks.toString(),
        )
    }

}

@Preview(showBackground = true)
@Composable
fun GreetingPreview() {
    KlikerTheme {
        MyKliker()
    }
}