MCPcopy Create free account
hub / github.com/vercel/examples / App

Function App

python/vibe-coding-ide/frontend/src/app/App.tsx:36–700  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

34const USER_ID = ensureGlobalUserId()
35
36function App() {
37 const {
38 projects,
39 activeProjectId,
40 setActiveProjectId,
41 project,
42 proposals,
43 activeFile,
44 folders,
45 expandedFolders,
46 setExpandedFolders,
47 isPathIgnored,
48 projectForTree,
49 proposalsForTree,
50 projectForSend,
51 proposalsForSend,
52 setActiveFile,
53 setCode,
54 clearProposal,
55 createFile,
56 createFolder,
57 renameFile,
58 deleteFile,
59 moveFile,
60 moveFolder,
61 renameFolder,
62 deleteFolder,
63 input,
64 setInput,
65 loading,
66 setLoading,
67 cancelling,
68 setCancelling,
69 model,
70 setModel,
71 activeThreadId,
72 setActiveThreadId,
73 templateId,
74 renameProject,
75 cloneProject,
76 deleteProject,
77 upsertFileIfMissing,
78 createProject,
79 } = useProjects()
80 const [showNewProject, setShowNewProject] = useState<boolean>(false)
81
82 // Empty projects state flag (used for conditional rendering)
83 const isNoProjects = projects.length === 0
84 const [codeFix, setCodeFix] = useState<{
85 fileName: string
86 startLine: number
87 endLine: number
88 selectedCode: string
89 } | null>(null)
90 const nextProjectName = React.useMemo(
91 () => `Project ${projects.length + 1}`,
92 [projects.length]
93 )

Callers

nothing calls this directly

Calls 14

useProjectsFunction · 0.90
useRunsFunction · 0.90
getProjectChatThreadsFunction · 0.90
mergeThreadIntoRunsFunction · 0.90
upsertCurrentChatThreadFunction · 0.90
upsertThreadByIdFunction · 0.90
useAgentEventsFunction · 0.90
useAgentStreamFunction · 0.90
useChatFunction · 0.90
startNewChatThreadFunction · 0.90
setCurrentChatThreadFunction · 0.90
deleteChatThreadFunction · 0.90

Tested by

no test coverage detected