diff --git a/app/src/types/core/api.ts b/app/src/types/core/api.ts index 0ba2c36e..0deea28a 100644 --- a/app/src/types/core/api.ts +++ b/app/src/types/core/api.ts @@ -1,5 +1,6 @@ import type { Obj, Translation } from '@/types/commons' import type { Permission } from '@/types/core/data' +import type { AnyOption } from '@/types/core/options' // APPS @@ -32,6 +33,36 @@ export type AppMinManifest = { } upstream: AppUpstream } + +export type AppManifest = AppMinManifest & { + upstream: AppUpstream + install: AnyOption[] + doc: { + DESCRIPTION?: Translation + ADMIN?: Translation + } & Obj + notifications: { + PRE_INSTALL: Obj | null + POST_INSTALL: Obj | null + PRE_UPGRADE: Obj | null + POST_UPGRADE: Obj | null + } + requirements: Record< + 'required_yunohost_version' | 'arch' | 'install' | 'disk' | 'ram', + { + pass: boolean + values: { current: string; required: string } + } + > + resources: Obj + remote: { type: string; url: string; branch: string; revision: string } + lastUpdate: number + quality: { level: AppLevel; state: AppState } + antifeatures: string[] + potential_alternative_to: string[] + screenshot: string | null +} + type CatalogApp = { added_in_catalog: number antifeatures: string[] diff --git a/app/src/views/app/AppInstall.vue b/app/src/views/app/AppInstall.vue index 0a6974e5..4344f708 100644 --- a/app/src/views/app/AppInstall.vue +++ b/app/src/views/app/AppInstall.vue @@ -1,179 +1,100 @@