Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: countdown zur Wahl #787

Open
b90g opened this issue Dec 5, 2024 · 9 comments
Open

Feature: countdown zur Wahl #787

b90g opened this issue Dec 5, 2024 · 9 comments

Comments

@b90g
Copy link
Member

b90g commented Dec 5, 2024

TYPO3 hats, WordPress noch nicht.

@FloJuh
Copy link
Contributor

FloJuh commented Dec 5, 2024

Christian hatte 2021 angeboten uns sowas zu programmieren: https://chatbegruenung.de/channel/sunflower-wordpress?msg=bx78Yg2QavAcNJDRF

@levino
Copy link

levino commented Jan 5, 2025

Kann man das nicht einfach mit ein bisschen html und js als unabhängiges Element einbetten?

@albig
Copy link
Member

albig commented Jan 7, 2025

Klar. Teil gern deine Lösung.

@levino
Copy link

levino commented Jan 7, 2025

Courtesy of chat gpt:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Countdown Timer</title>
  <script src="https://cdn.tailwindcss.com"></script>
</head>
<body class="flex items-center justify-center h-screen bg-gray-900 text-white">
  <div class="text-center space-y-4">
    <h1 class="text-4xl font-bold">Countdown to January 23, 2025</h1>
    <div id="countdown" class="flex justify-center space-x-6 text-2xl">
      <div class="flex flex-col items-center">
        <span id="days" class="font-mono text-5xl transition-all">0</span>
        <span>Days</span>
      </div>
      <div class="flex flex-col items-center">
        <span id="hours" class="font-mono text-5xl transition-all">0</span>
        <span>Hours</span>
      </div>
      <div class="flex flex-col items-center">
        <span id="minutes" class="font-mono text-5xl transition-all">0</span>
        <span>Minutes</span>
      </div>
      <div class="flex flex-col items-center">
        <span id="seconds" class="font-mono text-5xl transition-all">0</span>
        <span>Seconds</span>
      </div>
    </div>
  </div>

  <script>
    const countdown = () => {
      const targetDate = new Date("2025-01-23T00:00:00+01:00"); // Berlin time
      const now = new Date();
      const difference = targetDate - now;

      if (difference <= 0) {
        document.getElementById("countdown").innerHTML = "<div class='text-3xl font-bold'>The date has arrived!</div>";
        return;
      }

      const days = Math.floor(difference / (1000 * 60 * 60 * 24));
      const hours = Math.floor((difference % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
      const minutes = Math.floor((difference % (1000 * 60 * 60)) / (1000 * 60));
      const seconds = Math.floor((difference % (1000 * 60)) / 1000);

      document.getElementById("days").textContent = days;
      document.getElementById("hours").textContent = hours;
      document.getElementById("minutes").textContent = minutes;
      document.getElementById("seconds").textContent = seconds;
    };

    countdown();
    setInterval(countdown, 1000);
  </script>
</body>
</html>

@alexschnapper
Copy link

@albig und @levino finde das cool. Habe mir mal kleine Gedanken gemacht und die auch in meiner Testinstanz getestet. Und als Repo in github hochgeladen. => https://github.com/alexschnapper/sunflower_countdown
Wollt ihr mal da drüber schauen? Soll ich das mal entspechend hier im repo forken und dann ggfs ein Pull Request branch name issue 787 erstellen?
😄

@albig
Copy link
Member

albig commented Feb 28, 2025

Danke für deinen Aufschlag @alexschnapper . Ich hab's ausprobiert und es funktioniert grundsätzlich. Aber "nur" als Widget, was beim Sunflower-Theme ja nur im Footer ist.

Ich hab naiv bei den Blöcken mal "Counter" eingegeben und mir hat WordPress dann https://wordpress.org/plugins/countdown-time vorgeschlagen. Das kann man man sowohl als Gutenberg-Block als auch als Widget verwenden.

Image

Vielleicht sollten wir zunächst klären, wie der Counter aussehen und wo er platziert werden soll. Ich könnte mir den ja auch "frei" irgendwo oben vorstellen und die Einstellungen über die Sunflower-Einstellungen.

@FloJuh
Copy link
Contributor

FloJuh commented Feb 28, 2025

Ein Gutenberg-Block wäre praktischer. Ich würde die Einstellungen jedoch direkt im Block vornehmen und nicht in den Sunflower-Einstellungen, da sie dort möglicherweise schwerer zu finden sind und dies zu nachfragen führen könnte. Auch könnte man so verschiedene Countdowns erstellen

@albig
Copy link
Member

albig commented Feb 28, 2025

Für ein Block sollten die Einstellungen auch dort passieren. Ein losgelöster Counter z.B. im Header wäre dann was für die Sunflower-Einstellungen.

@levino
Copy link

levino commented Feb 28, 2025

Also ich denke, es sollte erst einmal klar gesagt werden, ob so ein Block / Widget tatsächlich als Feature aufgenommen werden soll, damit sich @alexschnapper nicht zu viel Arbeit macht. Ich bin ja quasi nur ein Spaziergänger, der sich hier über den Gartenzaun lehnt und ungefragt Eure Arbeit am Fundament der neuen Gartenhütte kommentiert. Aber ich halte das für ein Feature, was fast niemand braucht und auch keinen value zu einer Seite addet: Wieso sollte der Ortsverband Hintertupfingen irgendwelchen Leuten zeigen wollen, wie lange es noch bis zur Wahl ist? Und wenn die das wollen, dann können sie einfach das HTML oben in die Seite werfen und haben es erledigt. Solange kein klarer Konsens besteht, dass das Feature rein soll, sorgen irgendwelche "Vorschläge" höchstens dafür, dass @alexschnapper sich Mühe macht, ohne die Chance zu haben, dass das irgendwann gemerged wird. Sehr frustrierende Erfahrung. Insofern schlage ich vor, dass dazu erst einmal eine Aussage (mit Specs!) von jemandem kommt, die oder der nachher auch willig ist, das zu mergen.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants