Skip to content

Commit 304591a

Browse files
remove unnecessary dynamic code
1 parent d604c51 commit 304591a

File tree

1 file changed

+4
-153
lines changed

1 file changed

+4
-153
lines changed
Lines changed: 4 additions & 153 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,9 @@
11
import '../App.css'
2-
import {
3-
QueryCache,
4-
QueryClient,
5-
QueryClientProvider,
6-
useQueryClient,
7-
} from '@tanstack/react-query'
8-
import { useApiModels } from '@/api'
9-
import { useEventBus } from '@/hooks/eventBus'
10-
import React, { useState } from 'react'
11-
import type { VSCodeEvent } from '@bus/callbacks'
12-
import { URI } from 'vscode-uri'
13-
import type { Model } from '@/api/client'
14-
import { useRpc } from '@/utils/rpc'
2+
import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
153
import { TableDiff } from '../components/tablediff/TableDiff'
164

175
export function TableDiffPage() {
18-
const { emit } = useEventBus()
19-
20-
// Handle messages from VSCode extension
21-
React.useEffect(() => {
22-
const handleMessage = (event: MessageEvent) => {
23-
// Ensure the message is from VSCode
24-
if (event.data && event.data.key === 'vscode_send') {
25-
const payload: VSCodeEvent = event.data.payload
26-
switch (payload.key) {
27-
case 'changeFocusOnFile':
28-
emit('changeFocusedFile', { fileUri: payload.payload.path })
29-
break
30-
case 'savedFile':
31-
emit('savedFile', { fileUri: payload.payload.fileUri })
32-
break
33-
default:
34-
console.error(
35-
'Unhandled message type in table diff page:',
36-
payload.key,
37-
)
38-
}
39-
}
40-
}
41-
window.addEventListener('message', handleMessage)
42-
return () => {
43-
window.removeEventListener('message', handleMessage)
44-
}
45-
}, [])
46-
476
const client = new QueryClient({
48-
queryCache: new QueryCache({}),
497
defaultOptions: {
508
queries: {
519
networkMode: 'always',
@@ -58,116 +16,9 @@ export function TableDiffPage() {
5816

5917
return (
6018
<QueryClientProvider client={client}>
61-
<TableDiffContent />
19+
<div className="h-[100vh] w-[100vw]">
20+
<TableDiff />
21+
</div>
6222
</QueryClientProvider>
6323
)
6424
}
65-
66-
function TableDiffContent() {
67-
const [selectedModel, setSelectedModel] = useState<string | undefined>(
68-
undefined,
69-
)
70-
const { on } = useEventBus()
71-
const queryClient = useQueryClient()
72-
73-
const {
74-
data: models,
75-
isLoading: isLoadingModels,
76-
error: modelsError,
77-
} = useApiModels()
78-
const rpc = useRpc()
79-
80-
React.useEffect(() => {
81-
const fetchFirstTimeModelIfNotSet = async (
82-
models: Model[],
83-
): Promise<string | undefined> => {
84-
if (!Array.isArray(models)) {
85-
return undefined
86-
}
87-
const activeFile = await rpc('get_active_file', {})
88-
// @ts-ignore
89-
if (!activeFile.fileUri) {
90-
return models[0].name
91-
}
92-
// @ts-ignore
93-
const fileUri: string = activeFile.fileUri
94-
const filePath = URI.file(fileUri).path
95-
const model = models.find(
96-
(m: Model) => URI.file(m.full_path).path === filePath,
97-
)
98-
if (model) {
99-
return model.name
100-
}
101-
return undefined
102-
}
103-
if (selectedModel === undefined && Array.isArray(models)) {
104-
fetchFirstTimeModelIfNotSet(models).then(modelName => {
105-
if (modelName && selectedModel === undefined) {
106-
setSelectedModel(modelName)
107-
} else {
108-
setSelectedModel(models[0].name)
109-
}
110-
})
111-
}
112-
}, [models, selectedModel])
113-
114-
const modelsRecord =
115-
Array.isArray(models) &&
116-
models.reduce(
117-
(acc, model) => {
118-
acc[model.name] = model
119-
return acc
120-
},
121-
{} as Record<string, Model>,
122-
)
123-
124-
React.useEffect(() => {
125-
const handleChangeFocusedFile = (fileUri: { fileUri: string }) => {
126-
const full_path = URI.parse(fileUri.fileUri).path
127-
const model = Object.values(modelsRecord).find(
128-
m => URI.file(m.full_path).path === full_path,
129-
)
130-
if (model) {
131-
setSelectedModel(model.name)
132-
}
133-
}
134-
135-
const handleSavedFile = () => {
136-
queryClient.invalidateQueries()
137-
}
138-
139-
const offChangeFocusedFile = on(
140-
'changeFocusedFile',
141-
handleChangeFocusedFile,
142-
)
143-
const offSavedFile = on('savedFile', handleSavedFile)
144-
145-
// If your event bus returns an "off" function, call it on cleanup
146-
return () => {
147-
if (offChangeFocusedFile) offChangeFocusedFile()
148-
if (offSavedFile) offSavedFile()
149-
}
150-
}, [on, queryClient, modelsRecord])
151-
152-
if (modelsError) {
153-
return <div>Error: {modelsError.message}</div>
154-
}
155-
156-
if (
157-
isLoadingModels ||
158-
models === undefined ||
159-
modelsRecord === false ||
160-
selectedModel === undefined
161-
) {
162-
return <div>Loading models...</div>
163-
}
164-
if (!Array.isArray(models)) {
165-
return <div>Error: Models data is not in the expected format</div>
166-
}
167-
168-
return (
169-
<div className="h-[100vh] w-[100vw]">
170-
<TableDiff />
171-
</div>
172-
)
173-
}

0 commit comments

Comments
 (0)