1/** @jsxImportSource https://esm.sh/react */
2import { render } from "https://deno.land/x/resvg_wasm/mod.ts";
3import { Hono } from "npm:hono";
1/** @jsxImportSource https://esm.sh/react@19 */
2import fcsdk from "https://esm.sh/@farcaster/frame-sdk";
3import { ArrowUpRight, CircleX, ExternalLink, LoaderCircle, Store } from "https://esm.sh/lucide-react";
4import { NavLink, Route, Routes, useNavigate, useParams, useSearchParams } from "https://esm.sh/react-router@7";
5import { useEffect, useMemo, useRef, useState } from "https://esm.sh/react@19";
6
7import { Button, Input, Section, ShareButton } from "../components/ui.tsx";
28 {context && <ShareButton onClick={onShare} />}
29 </div>
30 {/* <div class="opacity-50">Hono + React + Tailwind + Farcaster Mini App Starter Project on Val Town</div> */}
31
32 <MiniApps />
1/** @jsxImportSource https://esm.sh/react@19 */
2import fcsdk from "https://esm.sh/@farcaster/frame-sdk";
3import { useEffect, useState } from "https://esm.sh/react@19";
4import { formatAddress, formatJSON, MonoButtonWithStatus, Section } from "./ui.tsx";
5
1/** @jsxImportSource https://esm.sh/react@19 */
2import { useState } from "https://esm.sh/react@19";
3
4export function Example() {
6 <div class="m-5 mb-8">
7 <h1 class="text-4xl font-semibold mb-2">Mini App Starter</h1>
8 <div class="opacity-50">Hono + React + Tailwind + Farcaster Mini App Starter Project on Val Town</div>
9 </div>
10 );
1/** @jsxImportSource https://esm.sh/react@19 */
2import fcsdk from "https://esm.sh/@farcaster/frame-sdk";
3import { NavLink, Route, Routes } from "https://esm.sh/react-router@7";
4import { useEffect, useState } from "https://esm.sh/react@19";
5
6import { Example } from "./components/Example.tsx";
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2import { parseProject } from "https://esm.town/v/std/parseImportMeta/project";
3import { sqlite } from "https://esm.town/v/std/sqlite?v=6";
4import { html } from "https://esm.town/v/stevekrouse/html";
5import { renderToString } from "npm:react-dom@18.2.0/server";
6import config from "./config.json" with { type: "json" };
7import { SparklineSVG } from "./sparklineSVG";
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2export function SparklineSVG({ strokeWidth = 2, data = [], fill = "none", stroke = "black" }) {
3 const padding = 2;
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2import { createRoot } from "https://esm.sh/react-dom@18.2.0/client";
3import React, { useEffect, useState } from "https://esm.sh/react@18.2.0";
4
5function App() {
1/** @jsxImportSource https://esm.sh/react@19.0.0 */
2
3import { ReactNode } from "https://esm.sh/react@19.0.0";
4
5export type ActionButtonProps = {
10 loadingLabel?: string;
11 isLoading?: boolean;
12 icon?: ReactNode;
13 iconOnly?: boolean;
14 title?: string;
1/** @jsxImportSource https://esm.sh/react@19.0.0 */
2import { useState } from "https://esm.sh/react@19.0.0";
3import { AudioRecorder } from "./AudioRecorder.tsx";
4import { ImageUploader } from "./ImageUploader.tsx";
67 };
68
69 const handleSubmit = async (e: React.FormEvent) => {
70 e.preventDefault();
71