MCPcopy Create free account
hub / github.com/Zoo-Code-Org/Zoo-Code / App

Function App

webview-ui/src/App.tsx:53–316  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

51}
52
53const App = () => {
54 const {
55 didHydrateState,
56 showWelcome,
57 settingsImportedAt,
58 shouldShowAnnouncement,
59 telemetrySetting,
60 telemetryKey,
61 machineId,
62 renderContext,
63 mdmCompliant,
64 } = useExtensionState()
65
66 // Create a persistent state manager
67 const marketplaceStateManager = useMemo(() => new MarketplaceViewStateManager(), [])
68
69 const [showAnnouncement, setShowAnnouncement] = useState(false)
70 const [tab, setTab] = useState<Tab>("chat")
71 const handledImportRef = useRef<number | undefined>(undefined)
72
73 const [deleteMessageDialogState, setDeleteMessageDialogState] = useState<DeleteMessageDialogState>({
74 isOpen: false,
75 messageTs: 0,
76 hasCheckpoint: false,
77 })
78
79 const [editMessageDialogState, setEditMessageDialogState] = useState<EditMessageDialogState>({
80 isOpen: false,
81 messageTs: 0,
82 text: "",
83 hasCheckpoint: false,
84 images: [],
85 })
86
87 const settingsRef = useRef<SettingsViewRef>(null)
88 const chatViewRef = useRef<ChatViewRef>(null)
89
90 const switchTab = useCallback(
91 (newTab: Tab) => {
92 if (mdmCompliant === false) {
93 // Notify the user that authentication is required by their organization
94 vscode.postMessage({ type: "showMdmAuthRequiredNotification" })
95 return
96 }
97
98 setCurrentSection(undefined)
99 setCurrentMarketplaceTab(undefined)
100
101 if (settingsRef.current?.checkUnsaveChanges) {
102 settingsRef.current.checkUnsaveChanges(() => setTab(newTab))
103 } else {
104 setTab(newTab)
105 }
106 },
107 [mdmCompliant],
108 )
109
110 const [currentSection, setCurrentSection] = useState<string | undefined>(undefined)

Callers

nothing calls this directly

Calls 8

useExtensionStateFunction · 0.90
initializeSourceMapsFunction · 0.90
postMessageMethod · 0.65
updateTelemetryStateMethod · 0.65
debugMethod · 0.65
captureMethod · 0.65

Tested by

no test coverage detected