-
-
-
Apps
-
+
+
-
-
-
-
-
+
- {{ updatableAppsAmount }}
-
-
-
-
+
+
+ {{ category.name }}
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
{{ app.currentVersion.name }}
+
+
+
+ {{ categories.find(e => e.id === app.categoryId).name }}
+
+
+
+
+
+
+ {{ app.currentVersion.shortDescription }}
+
+
+
+
+
+
{{ `${action.progress * 100}%` }}
+
+
+
+
+
+
+
+
+
- flags[$event] = true"
- />
+
-
-
-
-
-
-
-
- Outdated Firmware Version
- Firmware version on your Flipper is not supported.
Click the button below to update your device.
-
-
-
-
-
-
-
-
-
-
-
-
-
- Outdated Firmware Version
- Firmware version on your Flipper does not support this app.
Click the button below to update your device.
-
-
-
-
-
-
-
-
-
-
-
-
-
- Outdated app
- Contact the developer to request further app support.
-
-
-
-
-
-
-
-
-
-
-
-
-
- Flipper disconnected
- Plug in your Flipper and click the button below.
-
-
-
-
-
-
-
-
-
-
-
-
-
- Apps don't work in mobile browsers
- Mobile browsers can't connect to Flipper, meaning you won't be able to install apps.
- Get the official mobile app – it has the same features!
-
-
-
-
-
-
-
-
-
diff --git a/frontend/src/pages/InstalledApps.vue b/frontend/src/pages/InstalledApps.vue
new file mode 100644
index 0000000..d5c2450
--- /dev/null
+++ b/frontend/src/pages/InstalledApps.vue
@@ -0,0 +1,369 @@
+
+
+
+
+
+
Loading installed app...
+
+
+
+
+
+
+
+
{{ `${props.batch.doneCount} / ${props.batch.totalCount}` }}
+
+
+
+
+ {{ updatableApps.length }}
+
+
+
+
+ Update failed for
+ "{{ app.currentVersion.name }}",
+
+
+
+
+
+
+
+
+
+
{{ app.currentVersion.name }}
+
{{ app.currentVersion.shortDescription }}
+
+
+
+
+
+
+ Version:
+ {{ app.installedVersion.version }}
+
+
+
+
+
+
{{ `${props.action.progress * 100}%` }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{{ app.currentVersion.name }}
+
{{ app.currentVersion.shortDescription }}
+
+
+
+
+
+
+ Version:
+ {{ app.currentVersion.version }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{{ app.installedVersion.shortDescription }}
+
+
+
+
+
+
+ Version:
+ {{ app.installedVersion.version }}
+
+
+
+
+
+
+
+
+
+
+
+ Delete this app?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ appToDelete.currentVersion.name }}
+ v{{ appToDelete.currentVersion.version }}
+
+
+ {{ appToDelete.name }}
+ v{{ appToDelete.installedVersion.version }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/frontend/src/router/routes.js b/frontend/src/router/routes.js
index 5196683..96649f1 100644
--- a/frontend/src/router/routes.js
+++ b/frontend/src/router/routes.js
@@ -11,8 +11,16 @@ const routes = [
path: '/apps',
component: () => import('layouts/MainLayout.vue'),
children: [
- { name: 'Apps', path: '', component: () => import('pages/Apps.vue') },
- { name: 'AppsPath', path: ':path', component: () => import('pages/Apps.vue') }
+ {
+ name: 'AppsLayout',
+ path: '',
+ component: () => import('layouts/AppsLayout.vue'),
+ children: [
+ { name: 'Apps', path: '', component: () => import('pages/Apps.vue') },
+ { name: 'InstalledApps', path: 'installed', component: () => import('pages/InstalledApps.vue') },
+ { name: 'AppsPath', path: ':path', component: () => import('pages/App.vue') }
+ ]
+ }
]
},
{