implementing favorite apps feature (#1410)
This PR implements favorite apps feature and addresses issue #827 <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Adds a favorite apps feature with a star toggle in the sidebar. Favorites are grouped separately and persisted, with optimistic UI updates and e2e tests. - **New Features** - Added isFavorite to the apps schema and an IPC handler (add-to-favorite) to toggle and persist the state. - Updated AppList to show “Favorite apps” and “Other apps” sections. - Introduced AppItem component with a star button; uses useAddAppToFavorite for optimistic updates and toasts. - Added Playwright tests to verify favoriting and unfavoriting. - **Migration** - Run DB migrations to add the apps.is_favorite column (defaults to 0). <!-- End of auto-generated description by cubic. -->
This commit is contained in:
committed by
GitHub
parent
e8b93e3298
commit
423a95ed81
@@ -274,6 +274,20 @@ export class IpcClient {
|
||||
return this.ipcRenderer.invoke("get-app", appId);
|
||||
}
|
||||
|
||||
public async addAppToFavorite(
|
||||
appId: number,
|
||||
): Promise<{ isFavorite: boolean }> {
|
||||
try {
|
||||
const result = await this.ipcRenderer.invoke("add-to-favorite", {
|
||||
appId,
|
||||
});
|
||||
return result;
|
||||
} catch (error) {
|
||||
showError(error);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
public async getAppEnvVars(
|
||||
params: GetAppEnvVarsParams,
|
||||
): Promise<{ key: string; value: string }[]> {
|
||||
|
||||
Reference in New Issue
Block a user