Skip to content

Commit 7501405

Browse files
committed
Notify when resource load completes
1 parent b5896bd commit 7501405

File tree

5 files changed

+26
-7
lines changed

5 files changed

+26
-7
lines changed

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
# Changelog
22

3+
## v2.1.3
4+
5+
- Notify when resource load completes
6+
7+
## v2.1.2
8+
9+
- Fix wrong DEFAULT value string
10+
311
## v2.1.1
412

513
- Fix RAN3 tabular not being expanded

package-lock.json

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "tool3rd",
3-
"version": "2.1.2",
3+
"version": "2.1.3",
44
"description": "Telecommunication development assistant",
55
"main": "./out/main/index.js",
66
"author": "Project 3rd",

src/renderer/src/App.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ function App(): JSX.Element {
7575
open={openLoadResourceDialog}
7676
onOpenChange={setOpenLoadResourceDialog}
7777
workerState={workerState}
78+
setWorkerState={setWorkerState}
7879
/>
7980
<AboutDialog open={openAboutDialog} onOpenChange={setOpenAboutDialog} />
8081
<Toaster />

src/renderer/src/components/LoadResourceDialog.tsx

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,13 @@ import { WorkerState } from '@/lib/workerState'
2020
import { Loader2 } from 'lucide-react'
2121
import { useEffect, useState } from 'react'
2222
import { z } from 'zod'
23+
import { useToast } from './ui/use-toast'
2324

2425
type Props = {
2526
open: boolean
2627
onOpenChange: (open: boolean) => void
2728
workerState: z.infer<typeof WorkerState>
29+
setWorkerState: (workerState: z.infer<typeof WorkerState>) => void
2830
}
2931

3032
type SpecDir = {
@@ -37,11 +39,12 @@ type SeriesDir = {
3739
children: SpecDir[]
3840
}
3941

40-
export function LoadResourceDialog({ open, onOpenChange, workerState }: Props) {
42+
export function LoadResourceDialog({ open, onOpenChange, workerState, setWorkerState }: Props) {
4143
const [dirStruct, setDirStruct] = useState<SeriesDir[]>([])
4244
const [selectedSeries, selectSeries] = useState<string | undefined>()
4345
const [selectedSpec, selectSpec] = useState<string | undefined>()
4446
const [selectedVersion, selectVersion] = useState<string | undefined>()
47+
const { toast } = useToast()
4548

4649
useEffect(() => {
4750
fetch('https://cdn.jsdelivr.net/gh/proj3rd/3gpp-specs-in-json/.dir-list.json')
@@ -54,6 +57,12 @@ export function LoadResourceDialog({ open, onOpenChange, workerState }: Props) {
5457
})
5558
}, [])
5659

60+
useEffect(() => {
61+
if (open === true && workerState === 'idle') {
62+
toast({ title: 'Done' })
63+
}
64+
}, [workerState])
65+
5766
function handleOpenChange(open: boolean) {
5867
if (workerState === 'busy') {
5968
return
@@ -65,6 +74,7 @@ export function LoadResourceDialog({ open, onOpenChange, workerState }: Props) {
6574
if (!selectedSeries || !selectedSpec || !selectedVersion) {
6675
return
6776
}
77+
setWorkerState('busy')
6878
fetch(
6979
`https://cdn.jsdelivr.net/gh/proj3rd/3gpp-specs-in-json/${selectedSeries}/${selectedSpec}/${selectedVersion}`
7080
)

0 commit comments

Comments
 (0)