1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2
3export function IframeContent({ data, content }) {
22โ โโโ index.html # Main application interface
23โ โโโ components/
24โ โ โโโ App.tsx # Main React component
25โ โ โโโ AnalysisTable.tsx # Results display
26โ โโโ style.css # Application styles
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2
3export type ToastTypes =
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2import type { TimerState } from "../../shared/types.ts";
3import { Button } from "./Button.tsx";
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2import React, { useState } from "https://esm.sh/react@18.2.0";
3
4interface ContactProps {
6}
7
8const Contact: React.FC<ContactProps> = ({ onNavigate }) => {
9 const [formData, setFormData] = useState({
10 name: '',
16 const [submitMessage, setSubmitMessage] = useState('');
17
18 const handleInputChange = (e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement>) => {
19 const { name, value } = e.target;
20 setFormData(prev => ({
24 };
25
26 const handleSubmit = async (e: React.FormEvent) => {
27 e.preventDefault();
28 setIsSubmitting(true);
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2import React, { useState } from "https://esm.sh/react@18.2.0";
3import type { ContactForm } from "../../../shared/types.ts";
4
7}
8
9const GetInvolved: React.FC<GetInvolvedProps> = ({ onNavigate }) => {
10 const [formData, setFormData] = useState<ContactForm>({
11 name: '',
18 const [submitMessage, setSubmitMessage] = useState('');
19
20 const handleInputChange = (e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement>) => {
21 const { name, value } = e.target;
22 setFormData(prev => ({
26 };
27
28 const handleSubmit = async (e: React.FormEvent) => {
29 e.preventDefault();
30 setIsSubmitting(true);
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2import React from "https://esm.sh/react@18.2.0";
3import type { Event } from "../../../shared/types.ts";
4
7}
8
9const Events: React.FC<EventsProps> = ({ onNavigate }) => {
10 const upcomingEvents: Event[] = [
11 {
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2import React from "https://esm.sh/react@18.2.0";
3import type { FilmClubActivity } from "../../../shared/types.ts";
4
7}
8
9const FilmClubs: React.FC<FilmClubsProps> = ({ onNavigate }) => {
10 const activities: FilmClubActivity[] = [
11 {
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2import React from "https://esm.sh/react@18.2.0";
3import { createRoot } from "https://esm.sh/react-dom@18.2.0/client";
4import App from "./components/App.tsx";
5
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2import React from "https://esm.sh/react@18.2.0";
3import type { CoreValue } from "../../../shared/types.ts";
4
7}
8
9const About: React.FC<AboutProps> = ({ onNavigate }) => {
10 const coreValues: CoreValue[] = [
11 {