()
| 108 | }, []); |
| 109 | |
| 110 | const loadApps = async () => { |
| 111 | try { |
| 112 | const appList = await RpcApi.ListAllEditableAppsCommand(TabRpcClient); |
| 113 | const sortedApps = (appList || []).sort((a, b) => b.modtime - a.modtime); |
| 114 | setApps(sortedApps); |
| 115 | } catch (err) { |
| 116 | console.error("Failed to load apps:", err); |
| 117 | setError("Failed to load apps"); |
| 118 | } finally { |
| 119 | setLoading(false); |
| 120 | } |
| 121 | }; |
| 122 | |
| 123 | const handleSelectApp = async (appId: string) => { |
| 124 | let appIdToUse = appId; |
no test coverage detected