Back
Version 31
8/24/2024
/**
* This enhanced Doodle clone for DND scheduling now includes:
* - Immediate visibility of session availability upon entering a poll code
* - Simplified availability display with clear representation for unavailable days
* - Total response count and list of all respondents
* - Names of available people for each day with responses
* - Color-coded availability indicators
* - Grouped responses by date for clearer visualization
*
* The app uses React for the frontend and SQLite for data persistence.
* It features improved styling, interactive elements, and email functionality.
*/
/** @jsxImportSource https://esm.sh/react */
import confetti from "https://esm.sh/canvas-confetti";
import { addDays, format, parse } from "https://esm.sh/date-fns";
import React, { useEffect, useState } from "https://esm.sh/react";
import { createRoot } from "https://esm.sh/react-dom/client";
function App() {
const [name, setName] = useState("");
const [email, setEmail] = useState("");
const [groupCode, setGroupCode] = useState("");
const [groupName, setGroupName] = useState("");
const [availability, setAvailability] = useState({});
const [groupAvailability, setGroupAvailability] = useState({});
const [bestDate, setBestDate] = useState("");
const [isCreatingGroup, setIsCreatingGroup] = useState(false);
const [createdGroupCode, setCreatedGroupCode] = useState("");
const [createdGroupName, setCreatedGroupName] = useState("");
const [isLoading, setIsLoading] = useState(false);
const [message, setMessage] = useState("");
const [editToken, setEditToken] = useState("");
const [editLink, setEditLink] = useState("");
const [groupShareLink, setGroupShareLink] = useState("");
const [confirmNoEmail, setConfirmNoEmail] = useState(false);
csl_-dndoodle.web.val.run
Updated: August 26, 2024