193{
194"imports": {
195"react": "https://esm.sh/react@18.2.0?dev",
196"react-dom": "https://esm.sh/react-dom@18.2.0/client?dev",
197"react-router": "https://esm.sh/react-router@7.4.0?dev&deps=react@18.2.0,react-dom@18.2.0",
198"react-use": "https://esm.sh/react-use?dev&deps=react@18.2.0,react-dom@18.2.0",
199"@ai-sdk/react": "https://esm.sh/@ai-sdk/react?dev&deps=react@18.2.0,react-dom@18.2.0,zod@3.24",
200"react-markdown": "https://esm.sh/react-markdown?dev&deps=react@18.2.0,react-dom@18.2.0"
201}
202}
216- **Imports:** Use `https://esm.sh` for npm and Deno dependencies to ensure compatibility on server and browser
217- **Storage Strategy:** Only use backend storage if explicitly required; prefer simple static client-side sites
218- **React Configuration:** When using React libraries, pin versions with `?deps=react@18.2.0,react-dom@18.2.0` and start the file with `/** @jsxImportSource https://esm.sh/react@18.2.0 */`
219- Ensure all React dependencies and sub-dependencies are pinned to the same version
220- **Styling:** Default to using TailwindCSS via `<script src="https://cdn.twind.style" crossorigin></script>` unless otherwise specified
221351- Always run table creation before querying
3523533. **React Configuration:**
354- All React dependencies must be pinned to 18.2.0
355- Always include `@jsxImportSource https://esm.sh/react@18.2.0` at the top of React files
356- Rendering issues often come from mismatched React versions
3573584. **File Handling:**
bluesky-jaws-1975jaws-1975.txt2 matches
145She tires, fishing boat comes along...
146It's happened before.
147I don't think you appreciate the gut reaction people have to these things.
148Larry, I appreciate it.
149I'm just reacting to what I was told.
150Martin, it's all psychological.
151You yell, "Barracuda!" and everybody says, "Huh? What?"
vtEditorFiles-fixvaltown.mdc6 matches
170- **Imports:** Use `https://esm.sh` for npm and Deno dependencies to ensure compatibility on server and browser
171- **Storage Strategy:** Only use backend storage if explicitly required; prefer simple static client-side sites
172- **React Configuration:** When using React libraries, pin versions with `?deps=react@18.2.0,react-dom@18.2.0` and start the file with `/** @jsxImportSource https://esm.sh/react@18.2.0 */`
173- Ensure all React dependencies and sub-dependencies are pinned to the same version
174- **Styling:** Default to using TailwindCSS via `<script src="https://cdn.twind.style" crossorigin></script>` unless otherwise specified
175257- Always run table creation before querying
2582593. **React Configuration:**
260- All React dependencies must be pinned to 18.2.0
261- Always include `@jsxImportSource https://esm.sh/react@18.2.0` at the top of React files
262- Rendering issues often come from mismatched React versions
2632644. **File Handling:**
GIthubProfileindex.tsx12 matches
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2import React, { useState, useEffect } from "https://esm.sh/react@18.2.0";
3import { createRoot } from "https://esm.sh/react-dom@18.2.0/client";
45// Types
9596// Components
97const LoadingSpinner: React.FC = () => (
98<div className="flex justify-center items-center py-12">
99<div className="loading-spinner"></div>
101);
102103const ErrorMessage: React.FC<{ message: string }> = ({ message }) => (
104<div className="bg-red-50 border border-red-200 rounded-lg p-4 text-red-700">
105<div className="flex items-center">
110);
111112const UserProfileCard: React.FC<{ user: GitHubUser }> = ({ user }) => (
113<div className="profile-card text-white p-8 mb-8 fade-in">
114<div className="flex flex-col md:flex-row items-center md:items-start gap-6">
191);
192193const StatsGrid: React.FC<{ user: GitHubUser }> = ({ user }) => (
194<div className="grid grid-cols-2 md:grid-cols-4 gap-4 mb-8">
195{[
210);
211212const RecentRepos: React.FC<{ repos: GitHubRepo[] }> = ({ repos }) => (
213<div className="bg-white rounded-lg shadow-sm p-6 mb-8">
214<h2 className="text-xl font-bold text-gray-800 mb-4 flex items-center gap-2">
270);
271272const RecentActivity: React.FC<{ events: GitHubEvent[] }> = ({ events }) => (
273<div className="bg-white rounded-lg shadow-sm p-6 mb-8">
274<h2 className="text-xl font-bold text-gray-800 mb-4 flex items-center gap-2">
299);
300301const RawDataSection: React.FC<{ rawResponses: any }> = ({ rawResponses }) => {
302const [expandedSection, setExpandedSection] = useState<string | null>(null);
303348349// Main App Component
350const App: React.FC = () => {
351const [username, setUsername] = useState<string>('');
352const [profileData, setProfileData] = useState<GitHubProfileData | null>(null);
377};
378379const handleSubmit = (e: React.FormEvent) => {
380e.preventDefault();
381fetchProfile(username);
GIthubProfileREADME.md2 matches
18โโโ frontend/
19โ โโโ index.html # Main HTML template
20โ โโโ index.tsx # React frontend application
21โ โโโ style.css # Custom styles
22โโโ README.md
3839- **Backend**: Hono (TypeScript API framework)
40- **Frontend**: React with TypeScript
41- **Styling**: TailwindCSS
42- **APIs**: GitHub REST API v4
100## Codebase Structure
101102This project extends Val Town's recommended approach for using Hono and React together (https://www.val.town/x/std/reactHonoStarter) with additional enterprise features.
103104```
111โ โ โโโ views/ # HTML page serving
112โ โโโ index.ts # Main Hono application entry point
113โโโ frontend/ # Client-side React application
114โ โโโ components/ # React components
115โ โโโ index.html # Main HTML template
116โ โโโ index.tsx # Frontend JavaScript entry point
125### Frontend (`/frontend`)
126127React-based user interface with Tailwind CSS styling. Includes the main demo interface, cobrowsing integration, and interactive components.
128129### Shared (`/shared`)
138- **Blob Storage**: Val Town's built-in caching solution for performance optimization
139- **Cron Jobs**: Scheduled tasks to maintain cache freshness
140- **React/JSX**: Frontend interface templates with TypeScript
141- **Tailwind CSS**: Utility-first CSS framework for styling
142143## Technical Implementation
144145### React Frontend
146147The frontend uses React 18.2.0 with JSX import source configuration:
148149```typescript
150/** @jsxImportSource https://esm.sh/react@18.2.0 */
151```
152153All React dependencies are pinned to ensure compatibility across the platform.
154155### Hono Backend Routes
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2import { useEffect, useState } from "https://esm.sh/react@18.2.0";
3import { DemoData, isApiError, isNotionPage } from "../index.tsx";
4import { TOC } from "./content/demoTableOfContents.tsx";
44// current hash for nav styling
45const currentHash = useCurrentHash();
46// a little light logging so we can see that React is connecting the /frontend and the /backend
47console.log("Current path:", location.pathname);
48console.log("Demo data:", demoData);
258};
259260// this last return puts the page elements from renderDemoData into a div, which React likes
261return (
262<div>
GlancergenerateHTML.tsx2 matches
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2import { useEffect } from "https://esm.sh/react@18.2.0";
34/*
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
23export function TOC({ data }): any {