const canvas = document.getElementById("canvas");
const ctx = canvas.getContext("2d");
const minElem = document.querySelector("input#min-rad");
const maxElem = document.querySelector("input#max-rad");
const clearBtn = document.querySelector("button#clear");
minElem.addEventListener("change", function (event) {
min_radius = parseInt(event.target.value);
localStorage.setItem("min-radius", min_radius);
maxElem.addEventListener("change", function (event) {
max_radius = parseInt(event.target.value);
localStorage.setItem("max-radius", max_radius);
clearBtn.addEventListener("click", function (event) {
ctx.clearRect(0, 0, canvas.width, canvas.height);
let image_data = canvas.toDataURL();
localStorage.setItem("image-data", image_data);
window.addEventListener("DOMContentLoaded", (event) => {
if (localStorage.getItem("image-data")) {
img.onload = function () {
ctx.drawImage(img, 0, 0);
img.src = localStorage.getItem("image-data");
if (localStorage.getItem("min-radius")) {
min_radius = parseInt(localStorage.getItem("min-radius"));
if (localStorage.getItem("max-radius")) {
max_radius = parseInt(localStorage.getItem("max-radius"));
minElem.value = min_radius;
maxElem.value = max_radius;
canvas.addEventListener("mousedown", function (event) {
const canvas_rect = event.target.getBoundingClientRect();
const pos_x = event.clientX - canvas_rect.left;
const pos_y = event.clientY - canvas_rect.top;
for (let i = 0; i < 10; i++) {
min_radius + Math.floor(Math.random() * (max_radius - min_radius));
ctx.arc(pos_x, pos_y, radius, 0, 2 * Math.PI);
let image_data = canvas.toDataURL();
localStorage.setItem("image-data", image_data);