<!DOCTYPE html>
<html lang="el">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Φακός με Ρύθμιση Συχνότητας</title>
</head>
<body>
    <input type="range" id="frequencySlider" min="10" max="30" value="10" />
    <span id="frequencyValue">10</span> Hz
    <br><br>
    <button id="flashlightButton">lens(flash) off</button>

    <script>
        let flashlightOn = false;
        let intervalId;
        let frequency = 10;
        let flashActive = false; 

        document.getElementById('frequencySlider').addEventListener('input', function() {
            frequency = this.value;
            document.getElementById('frequencyValue').textContent = frequency;
        });

        document.getElementById('flashlightButton').addEventListener('click', async () => {
            const button = document.getElementById('flashlightButton');

            if (flashActive) {
                clearInterval(intervalId);
                flashActive = false;
                button.textContent = 'lens (flash) off';
                flashlightOn = false;
            } else {
                if ('mediaDevices' in navigator && 'getUserMedia' in navigator.mediaDevices) {
                    try {
                        const stream = await navigator.mediaDevices.getUserMedia({ video: { facingMode: 'environment' } });
                        const track = stream.getVideoTracks()[0];

                        if ('torch' in track.getCapabilities()) {
                            flashActive = true;
                            button.textContent = 'lens(flash) on';
                            flashlightOn = true;
                            intervalId = setInterval(() => {
                                track.applyConstraints({
                                    advanced: [{ torch: flashlightOn }]
                                });
                                flashlightOn = !flashlightOn;
                            }, 1000 / frequency);
                        } else {
                            alert('Η συσκευή σου δεν υποστηρίζει το torch.');
                        }
                    } catch (error) {
                        alert('Η συσκευή σου δεν υποστηρίζει φακό μέσω browser. Παρακαλώ δοκίμασε σε άλλη συσκευή ή εφαρμογή.');
                    }
                } else {
                    alert('Η συσκευή σου δεν υποστηρίζει φακό μέσω browser.');
                }
            }
        });
    </script>
</body>
</html>
