diff --git a/app/src/i18n/locales/en.json b/app/src/i18n/locales/en.json
index b917be73..66e0799c 100644
--- a/app/src/i18n/locales/en.json
+++ b/app/src/i18n/locales/en.json
@@ -9,6 +9,7 @@
"api_not_responding": "The YunoHost API is not responding. Maybe 'yunohost-api' is down or got restarted?",
"app_change_label": "Change Label",
"app_change_url": "Change URL",
+ "app_choose_category": "Choose a category",
"app_info_access_desc": "Groups / users currently allowed to access this app:",
"app_info_changelabel_desc": "Change app label in the portal.",
"app_info_default_desc": "Redirect domain root to this application ({domain}).",
@@ -19,14 +20,15 @@
"app_install_custom_no_manifest": "No manifest.json file",
"app_make_default": "Make default",
"app_no_actions": "This application doesn't have any actions",
+ "app_show_categories": "Show categories",
"app_state_inprogress": "not yet working",
"app_state_inprogress_explanation": "This maintainer of this app declared that this application is not ready yet for production use. BE CAREFUL!",
"app_state_notworking": "not working",
"app_state_notworking_explanation": "This maintainer of this app declared it as 'not working'. IT WILL BREAK YOUR SYSTEM!",
- "app_state_low_quality": "low quality",
- "app_state_low_quality_explanation": "This app may be functional, but may still contain issues, or is not fully integrated with YunoHost, or it does not respect the good practices.",
- "app_state_high-quality": "high quality",
- "app_state_high-quality_explanation": "This app is well-integrated with YunoHost. It has been (and is!) peer-reviewed by the YunoHost app team. It can be expected to be safe and maintained on the long-term.",
+ "app_state_lowquality": "low quality",
+ "app_state_lowquality_explanation": "This app may be functional, but may still contain issues, or is not fully integrated with YunoHost, or it does not respect the good practices.",
+ "app_state_highquality": "high quality",
+ "app_state_highquality_explanation": "This app is well-integrated with YunoHost. It has been (and is!) peer-reviewed by the YunoHost app team. It can be expected to be safe and maintained on the long-term.",
"app_state_working": "working",
"app_state_working_explanation": "The maintainer of this app declared it as 'working'. It means that it should be functional (c.f. application level) but is not necessarily peer-reviewed, it may still contain issues or is not fully integrated with YunoHost.",
"applications": "Applications",
@@ -48,6 +50,7 @@
"check": "Check",
"close": "Close",
"closed": "closed",
+ "code": "Code",
"common": {
"firstname": "First name",
"lastname": "Last name"
@@ -273,6 +276,7 @@
"previous": "Previous",
"protocol": "Protocol",
"read_more": "Read more",
+ "readme": "Readme",
"rerun_diagnosis": "Rerun diagnosis",
"request_adoption": "waiting adoption",
"request_adoption_details": "The current maintainer would like to stop maintaining this app. Feel free to propose yourself as the new maintainer!",
diff --git a/app/src/router/routes.js b/app/src/router/routes.js
index edc544b0..47f23ed6 100644
--- a/app/src/router/routes.js
+++ b/app/src/router/routes.js
@@ -167,7 +167,7 @@ const routes = [
},
{
name: 'app-info',
- path: '/apps/:id',
+ path: '/apps/info/:id',
component: () => import(/* webpackChunkName: "views/apps" */ '@/views/app/AppInfo'),
props: true,
meta: {
@@ -177,6 +177,17 @@ const routes = [
]
}
},
+ {
+ name: 'app-catalog-home',
+ path: '/apps/catalog',
+ component: () => import(/* webpackChunkName: "views/apps-catalog" */ '@/views/app/AppCatalog'),
+ meta: {
+ breadcrumb: [
+ { name: 'app-list', trad: 'applications' },
+ { name: 'app-catalog-home', trad: 'catalog' }
+ ]
+ }
+ },
/* ────────────────╮
│ SYSTEM UPDATE │
diff --git a/app/src/views/app/AppCatalog.vue b/app/src/views/app/AppCatalog.vue
new file mode 100644
index 00000000..38006886
--- /dev/null
+++ b/app/src/views/app/AppCatalog.vue
@@ -0,0 +1,264 @@
+
+