1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2import { useState } from "https://esm.sh/react@18.2.0";
3import { useAuth } from "./AuthContext.tsx";
4import { triggerHapticFeedback } from "../../shared/utils.ts";
19 };
20
21 const handleSubmit = async (e: React.FormEvent) => {
22 e.preventDefault();
23 setFormError('');
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2import { useState, useRef, useEffect } from "https://esm.sh/react@18.2.0";
3import { useAuth } from "./AuthContext.tsx";
4import { useTheme } from "./ThemeContext.tsx";
102
103 // Handle scroll events for haptic feedback
104 const handleScroll = (e: React.UIEvent<HTMLDivElement>) => {
105 // Trigger haptic feedback on scroll
106 if (user?.settings?.haptic_feedback) {
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2import { createContext, useState, useEffect, useContext, ReactNode } from "https://esm.sh/react@18.2.0";
3
4type Theme = 'light' | 'dark' | 'system';
16});
17
18export function ThemeProvider({ children }: { children: ReactNode }) {
19 const [theme, setTheme] = useState<Theme>(() => {
20 const savedTheme = localStorage.getItem('theme');
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2import { createContext, useState, useEffect, useContext, ReactNode } from "https://esm.sh/react@18.2.0";
3import { User, UserSettings } from "../../shared/types.ts";
4
25});
26
27export function AuthProvider({ children }: { children: ReactNode }) {
28 const [user, setUser] = useState<User | null>(null);
29 const [settings, setSettings] = useState<UserSettings | null>(null);
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2import { createRoot } from "https://esm.sh/react-dom@18.2.0/client";
3import { App } from "./components/App.tsx";
4import { AuthProvider } from "./components/AuthContext.tsx";
1import { useState, useEffect } from "react";
2
3const USER_ENDPOINT = "/api/user";
1import { useEffect } from "react";
2
3export function useUsageStats(messages: any[], usages: any[]) {
1import { useEffect, useRef } from 'https://esm.sh/react@18.2.0?dev';
2
3
1import { useState, useEffect } from "react";
2
3const PROJECT_ENDPOINT = "/api/project";
1import { useState, useEffect } from "react";
2
3const ENDPOINT = "/api/projects-loader";