<html>

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script type="text/javascript" src="sudoku.js"></script>
    <style>
        body {

            background-color: #222;
        }

        .sudoku {
            float: left;
            color: hwb(0 20% 80%);
            background-color: blue;
        }
    </style>
    <script type="text/javascript">
        const renderPuzzleFromString = (str, readOnly, size, darkMode) => {
            darkMode = true
            const sudoku = document.createElement('my-sudoku')
            sudoku.setAttribute('puzzle', str ? str : 'generate')
            if(readOnly)
            sudoku.setAttribute('read-only', 'true')
            sudoku.classList.add('sudoku')
            if(darkMode){
                sudoku.classList.add('sudoku-dark')
            }
            document.body.appendChild(sudoku);
            const id = generateIdByPosition(sudoku);
            sudoku.id = id
            return sudoku
        }

        const renderPuzzles = (readOnly,size,darkMode) => {
            renderPuzzleFromString(null,readOnly, size, darkMode)

        }

        document.addEventListener('DOMContentLoaded', (e) => {
            let size = randInt(4, 20);
            let darkMode = randInt(0,1);
            renderPuzzleFromString(`0  0  8  0  9  0  0  0  0 
 0  9  0  0  0  7  0  0  7 
 0  0  0  0  2  0  0  0  0 
 0  0  3  0  0  0  0  0  0 
 5  0  0  0  8  0  0  0  0 
 0  0  6  0  0  0  0  0  0 
 0  0  0  0  0  3  9  0  0 
 9  1  0  0  0  0  0  0  0 
 0  0  0  0  1  0  0  0  0 `, true, size, darkMode)
            renderPuzzleFromString(`2  3  8  1  9  7  4  5  6 
        4  9  1  3  5  0  2  8  7 
        6  5  0  0  0  0  1  3  9 
        1  2  3  0  4  9  0  6  8 
        5  7  9  6  8  1  3  2  4 
        8  4  0  7  3  2  0  9  1 
        7  8  4  2  6  3  9  1  5 
        9  1  2  8  7  5  0  4  3 
        3  6  5  9  1  4  8  7  0
       `, true, size, darkMode)
            renderPuzzleFromString(` 0  0  8  0  9  0  0  0  0 
        0  9  0  0  0  0  0  0  7 
        0  0  0  0  2  0  0  0  0 
        0  0  3  0  0  0  0  0  0 
        5  0  0  0  8  0  0  0  0 
        0  0  6  0  0  0  0  0  0 
        0  0  0  0  0  3  9  0  0 
        9  1  0  0  0  0  0  0  0 
        0  0  0  0  1  0  0  0  0`, size, darkMode)
            for (let i = 0; i < 30; i++) {
                renderPuzzles(true, size, darkMode)
            }
        });
    </script>
</head>

<body>

</body>

</html>