LeetCode 10-Min Timer

Adds a 10-minute countdown timer on LeetCode problems.

// ==UserScript==
// @name         LeetCode 10-Min Timer
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  Adds a 10-minute countdown timer on LeetCode problems.
// @author       Yange
// @match        https://leetcode.com/problems/*
// @grant        none
// @license      MIT
// ==/UserScript==

(function() {
    'use strict';

    function createTimerButton() {
        const button = document.createElement("button");
        button.innerText = "Start 10m Timer";
        button.style.position = "absolute";
        button.style.bottom = "20px";
        button.style.right = "20px";
        button.style.padding = "10px";
        button.style.backgroundColor = "#ff5722";
        button.style.color = "white";
        button.style.border = "none";
        button.style.borderRadius = "5px";
        button.style.cursor = "pointer";
        button.style.fontSize = "14px";
        button.style.zIndex = "9999";

        button.onclick = startTimer;
        document.body.appendChild(button);
    }

    function startTimer() {
        let timeLeft = 10 * 60; // 10 minutes in seconds
        const timerDisplay = document.createElement("div");
        timerDisplay.style.position = "absolute";
        timerDisplay.style.bottom = "50px";
        timerDisplay.style.right = "20px";
        timerDisplay.style.padding = "10px";
        timerDisplay.style.backgroundColor = "#222";
        timerDisplay.style.color = "#fff";
        timerDisplay.style.borderRadius = "5px";
        timerDisplay.style.fontSize = "16px";
        timerDisplay.style.zIndex = "9999";
        timerDisplay.innerText = "10:00";
        document.body.appendChild(timerDisplay);

        const interval = setInterval(() => {
            timeLeft--;
            const minutes = Math.floor(timeLeft / 60);
            const seconds = timeLeft % 60;
            timerDisplay.innerText = `${minutes}:${seconds < 10 ? '0' : ''}${seconds}`;

            if (timeLeft <= 0) {
                clearInterval(interval);
                alert("Time is up!");
                timerDisplay.innerText = "Time's up!";
                timerDisplay.style.backgroundColor = "red";
            }
        }, 1000);
    }

    createTimerButton();
})();