JustPaste
HomeCategoriesAboutDonateContactTerms of UsePrivacy Policy
JustPaste

Free online notepad — write and share instantly

Navigate

  • Home
  • Timeline
  • Categories

Info

  • About
  • Donate
  • Contact

Legal

  • Terms of Use
  • Privacy Policy

© 2026 JustPaste.app. All rights reserved.

Made with ♥ by JustPaste

Untitled Page | JustPaste.app
4 days ago3 views
👨‍💻Programming

Untitled Page

<!DOCTYPE html>
<html lang="pl">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Projekt EcoTask</title>
    <!-- Najnowszy Bootstrap 5 CDN -->
    <link href="https://jsdelivr.net" rel="stylesheet">
    <!-- Ikony Bootstrap (opcjonalnie dla ikony listka w nagłówku) -->
    <link href="https://jsdelivr.net" rel="stylesheet">
    <style>
        /* Styl dla zaznaczonego kafelka zadania */
        .task-card {
            cursor: pointer;
            transition: all 0.3s ease;
        }
        .task-card.active-task {
            background-color: #d1e7dd !important; /* Zielone tło */
            border-color: #a3cfbb !important;     /* Zielone obramowanie */
        }
    </style>
</head>
<body class="bg-light">

    <div class="container min-vh-100 d-flex flex-column justify-content-center align-items-center py-5">
        
        <!-- Nagłówek główny -->
        <h1 class="mb-4 text-success fw-bold">
            <i class="bi bi-leaf-fill"></i> EcoTask
        </h1>

        <!-- Widoczny element statusu (karta alertu z licznikiem) -->
        <div class="alert alert-info text-center w-100 style-alert mb-4 shadow-sm" style="max-width: 500px;" role="alert">
            <h4 class="alert-heading mb-1">Twój Wynik</h4>
            <span class="fs-2 fw-bold" id="punkty">0</span> <span class="fs-4">pkt</span>
        </div>

        <!-- Kontener na kafelki zadań ekologicznych -->
        <div class="row g-3 w-100 justify-content-center" style="max-width: 800px;">
            
            <!-- Kafelek 1 -->
            <div class="col-md-4">
                <div class="card h-100 text-center shadow-sm task-card text-dark bg-white" onclick="zrobZadanie(this, 5)">
                    <div class="card-body d-flex flex-column justify-content-between p-4">
                        <h5 class="card-title mb-3">Zakręcenie wody podczas mycia zębów</h5>
                        <span class="badge bg-success fs-6 align-self-center">+5 pkt</span>
                    </div>
                </div>
            </div>

            <!-- Kafelek 2 -->
            <div class="col-md-4">
                <div class="card h-100 text-center shadow-sm task-card text-dark bg-white" onclick="zrobZadanie(this, 10)">
                    <div class="card-body d-flex flex-column justify-content-between p-4">
                        <h5 class="card-title mb-3">Używanie torby wielorazowej na zakupach</h5>
                        <span class="badge bg-success fs-6 align-self-center">+10 pkt</span>
                    </div>
                </div>
            </div>

            <!-- Kafelek 3 -->
            <div class="col-md-4">
                <div class="card h-100 text-center shadow-sm task-card text-dark bg-white" onclick="zrobZadanie(this, 15)">
                    <div class="card-body d-flex flex-column justify-content-between p-4">
                        <h5 class="card-title mb-3">Posadzenie rośliny miododajnej</h5>
                        <span class="badge bg-success fs-6 align-self-center">+15 pkt</span>
                    </div>
                </div>
            </div>

        </div>

    </div>

    <!-- Implementacja logiki w JavaScript -->
    <script>
        // Globalna zmienna przechowująca aktualny ogólny wynik
        let sumaPunktow = 0;

        /**
         * Funkcja obsługująca kliknięcie w kafelek zadania.
         * @param {HTMLElement} element - Kliknięty element kafelka (this)
         * @param {number} punkty - Liczba punktów przypisana do zadania
         */
        function zrobZadanie(element, punkty) {
            // Sprawdzenie, czy kafelek posiada już klasę aktywnego zaznaczenia
            const czyZaznaczone = element.classList.contains('active-task');

            if (!czyZaznaczone) {
                // Sytuacja: ZAZNACZENIE ZADANIA
                element.classList.add('active-task'); // Dodanie zielonego tła/obramowania
                sumaPunktow += punkty;               // Dodanie punktów do ogólnego wyniku
            } else {
                // Sytuacja: ODZNACZENIE ZADANIA (ponowne kliknięcie)
                element.classList.remove('active-task'); // Usunięcie stylu zaznaczenia
                sumaPunktow -= punkty;                  // Odjęcie punktów od ogólnego wyniku
            }

            // Dynamiczne zaktualizowanie wyniku wyświetlanego na ekranie
            document.getElementById('punkty').innerText = sumaPunktow;
        }
    </script>

    <!-- Skrypt Bootstrap 5 (opcjonalny, wymagany do komponentów JS Bootstrapa) -->
    <script src="https://jsdelivr.net"></script>
</body>
</html>
← Back to timeline