34};
35
36// Simple hash function for the password
37const simpleHash = (str) => {
38 let hash = 0;
143};
144
145function App({ tasks }) {
146 const [completedTasks, setCompletedTasks] = useState([]);
147 const [timerStates, setTimerStates] = useState(tasks.map(task => ({
162 };
163
164 function fire(particleRatio, opts) {
165 confetti({
166 ...defaults,
378}
379
380function client() {
381 // Detect which user from query param in the script URL
382 const url = new URL(import.meta.url);
390}
391
392async function server(request: Request): Promise<Response> {
393 console.log(import.meta.url);
394
3import { createRoot } from "https://esm.sh/react-dom@18.2.0/client";
4
5function App() {
6 const [birthdays, setBirthdays] = useState([]);
7 const [name, setName] = useState('');
80}
81
82function client() {
83 createRoot(document.getElementById("root")).render(<App />);
84}
85if (typeof document !== "undefined") { client(); }
86
87export default async function server(request: Request): Promise<Response> {
88 const { sqlite } = await import("https://esm.town/v/stevekrouse/sqlite");
89 const KEY = "birthdayAlertsApp";
22`;
23
24function parseCSV(csv) {
25 const result = Papa.parse(csv, {
26 header: true,
35}
36
37function App() {
38 const [darkMode, setDarkMode] = useState(false);
39 const [linkData, setLinkData] = useState([]);
50 const toggleSettings = () => setShowSettings(!showSettings);
51
52 function updateLinkList() {
53 const linkList = document.getElementById('link-list');
54 linkList.innerHTML = '';
102 }
103
104 function saveToLocalStorage() {
105 localStorage.setItem('linkData', JSON.stringify(linkData));
106 localStorage.setItem('csvData', csvData);
108 }
109
110 function loadFromLocalStorage() {
111 const savedLinkData = localStorage.getItem('linkData');
112 const savedCsvData = localStorage.getItem('csvData');
126 }
127
128 function updateLineCount() {
129 const lines = csvData.split('\n').length;
130 return `Lines: ${lines}`;
131 }
132
133 function showUpdateMessage(message, type) {
134 // Implementation depends on how you want to show messages in React
135 console.log(`${type}: ${message}`);
282}
283
284function client() {
285 createRoot(document.getElementById("root")).render(<App />);
286}
290}
291
292export default async function server(request: Request): Promise<Response> {
293 return new Response(`
294 <!DOCTYPE html>
3import { createRoot } from "https://esm.sh/react-dom@18.2.0/client";
4
5function LoanCalculator() {
6 const [principal, setPrincipal] = useState('');
7 const [rate, setRate] = useState('');
102}
103
104function App() {
105 return <LoanCalculator />;
106}
107
108function client() {
109 createRoot(document.getElementById("root")).render(<App />);
110}
111if (typeof document !== "undefined") { client(); }
112
113export default async function server(request: Request): Promise<Response> {
114 return new Response(`
115 <html>
8const DISCORD_NOT_PLAYED_URL = process.env.DISCORD_NOT_PLAYED_URL;
9
10export default async function(interval: Interval) {
11 if (!STEAM_WEB_API_KEY || !STEAM_ID || !DISCORD_WEBSOCKET_URL || !DISCORD_NOT_PLAYED_URL) {
12 throw new Error("STEAM_WEB_API_KEY, STEAM_ID or DISCORD_WEBSOCKET_URL not set");
3import { createRoot } from "https://esm.sh/react-dom@18.2.0/client";
4
5function CarRaceGame() {
6 const [carPosition, setCarPosition] = useState(50);
7 const [obstacles, setObstacles] = useState([]);
149};
150
151function client() {
152 createRoot(document.getElementById("root")).render(<CarRaceGame />);
153}
155if (typeof document !== "undefined") { client(); }
156
157export default async function server(request: Request): Promise<Response> {
158 return new Response(`
159 <html>
4
5// Cryptocurrency Mining Simulator
6function CryptoMiningApp() {
7 const [miners, setMiners] = useState([
8 { name: "Bitcoin", hashRate: 0, power: 0, isActive: false },
130}
131
132function App() {
133 return <CryptoMiningApp />;
134}
135
136function client() {
137 createRoot(document.getElementById("root")).render(<App />);
138}
139if (typeof document !== "undefined") { client(); }
140
141export default async function server(request: Request) {
142 return new Response(`
143 <html>
36};
37
38function App() {
39 const [pdfFile, setPdfFile] = useState(null);
40 const [pdfFileName, setPdfFileName] = useState('');
245}
246
247function client() {
248 createRoot(document.getElementById("root")).render(<App />);
249}
250if (typeof document !== "undefined") { client(); }
251
252export default async function server(request: Request): Promise<Response> {
253 if (request.method === 'POST' && new URL(request.url).pathname === '/crop') {
254 try {
42];
43
44function App() {
45 return (
46 <div>
51}
52
53function client() {
54 createRoot(document.getElementById("root")).render(<App />);
55}
56if (typeof document !== "undefined") { client(); }
57
58export default async function server(request: Request): Promise<Response> {
59 // Handle different routes
60 const url = new URL(request.url);
96let monitor: PumpMonitor | null = null;
97
98function verifyDiscordRequest(request: Request): boolean {
99 const signature = request.headers.get('x-signature-ed25519');
100 const timestamp = request.headers.get('x-signature-timestamp');
108}
109
110async function handlePingCommand(): Promise<Response> {
111 let content: string;
112
133}
134
135export default async function (req: Request): Promise<Response> {
136 if (req.method !== 'POST') {
137 return new Response('Method not allowed', { status: 405 });