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";
1import { useEffect } from "react";
2
3function setLoadingFavicon() {
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2import { useState, useEffect } from "react";
3
4export function useCreditBalance() {
1import { useState, useEffect } from "react";
2
3const ENDPOINT = "/api/create-project";
1import { useState, useEffect } from "react";
2
3const ENDPOINT = "/api/create-branch";
1import { useChat } from "@ai-sdk/react";
2import React, { useCallback, useMemo, useRef, useState } from "react";
3import { playBellSound } from "../utils/soundEffects.ts";
4
105 }, [stop, pendingMessageId, soundEnabled]);
106
107 React.useEffect(() => {
108 customStopRef.current = handleStop;
109 }, [handleStop]);
110
111 React.useEffect(() => {
112 (window as any).customStopRef = customStopRef;
113 }, []);
114
115 React.useEffect(() => {
116 if (error && LIMIT_RE.test(error)) {
117 setOverLimit(true);