diff --git a/src/components/ui/VnList.vue b/src/components/ui/VnList.vue
new file mode 100644
index 00000000..aeb27922
--- /dev/null
+++ b/src/components/ui/VnList.vue
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+ {{ t(emptyMessage) }}
+
+
+
+
+
diff --git a/src/i18n/ca-ES/index.js b/src/i18n/ca-ES/index.js
index c21533d9..c61d7daf 100644
--- a/src/i18n/ca-ES/index.js
+++ b/src/i18n/ca-ES/index.js
@@ -106,6 +106,8 @@ export default {
shoppingCart: 'Cistella de la compra',
available: 'Disponible',
minQuantity: 'Quantitat mínima',
+ introduceSearchTerm: 'Introdueix un terme de cerca',
+ noOrdersFound: `No s'han trobat comandes`,
// Image related translations
'Cant lock cache': 'No es pot bloquejar la memòria cau',
'Bad file format': 'Format de fitxer no reconegut',
diff --git a/src/i18n/en-US/index.js b/src/i18n/en-US/index.js
index 6938af07..95eafbab 100644
--- a/src/i18n/en-US/index.js
+++ b/src/i18n/en-US/index.js
@@ -139,6 +139,8 @@ export default {
shoppingCart: 'Shopping cart',
available: 'Available',
minQuantity: 'Minimum quantity',
+ introduceSearchTerm: 'Enter a search term',
+ noOrdersFound: 'No orders found',
// Image related translations
'Cant lock cache': 'The cache could not be blocked',
'Bad file format': 'Unrecognized file format',
diff --git a/src/i18n/es-ES/index.js b/src/i18n/es-ES/index.js
index d826b2d8..ffc1ffef 100644
--- a/src/i18n/es-ES/index.js
+++ b/src/i18n/es-ES/index.js
@@ -138,6 +138,8 @@ export default {
shoppingCart: 'Cesta de la compra',
available: 'Disponible',
minQuantity: 'Cantidad mínima',
+ introduceSearchTerm: 'Introduce un término de búsqueda',
+ noOrdersFound: 'No se encontrado pedidos',
// Image related translations
'Cant lock cache': 'La caché no pudo ser bloqueada',
'Bad file format': 'Formato de archivo no reconocido',
diff --git a/src/i18n/fr-FR/index.js b/src/i18n/fr-FR/index.js
index 549eae58..db69c3c0 100644
--- a/src/i18n/fr-FR/index.js
+++ b/src/i18n/fr-FR/index.js
@@ -106,6 +106,8 @@ export default {
shoppingCart: 'Panier',
available: 'Disponible',
minQuantity: 'Quantité minimum',
+ introduceSearchTerm: 'Entrez un terme de recherche',
+ noOrdersFound: 'Aucune commande trouvée',
// Image related translations
'Cant lock cache': "Le cache n'a pas pu être verrouillé",
'Bad file format': 'Format de fichier non reconnu',
diff --git a/src/i18n/pt-PT/index.js b/src/i18n/pt-PT/index.js
index 80b9a222..059ef103 100644
--- a/src/i18n/pt-PT/index.js
+++ b/src/i18n/pt-PT/index.js
@@ -104,6 +104,8 @@ export default {
shoppingCart: 'Cesta da compra',
available: 'Disponível',
minQuantity: 'Quantidade mínima',
+ introduceSearchTerm: 'Digite um termo de pesquisa',
+ noOrdersFound: 'Nenhum pedido encontrado',
// Image related translations
'Cant lock cache': 'O cache não pôde ser bloqueado',
'Bad file format': 'Formato de arquivo inválido',
diff --git a/src/pages/Account/AddressList.vue b/src/pages/Account/AddressList.vue
index 0b91d52c..ebfadb67 100644
--- a/src/pages/Account/AddressList.vue
+++ b/src/pages/Account/AddressList.vue
@@ -4,6 +4,7 @@ import { ref, onMounted, inject } from 'vue';
import { useRouter } from 'vue-router';
import CardList from 'src/components/ui/CardList.vue';
+import VnList from 'src/components/ui/VnList.vue';
import useNotify from 'src/composables/useNotify.js';
import { useVnConfirm } from 'src/composables/useVnConfirm.js';
@@ -104,7 +105,11 @@ onMounted(async () => {
-
+
{
-
+
diff --git a/src/pages/Admin/AccessLogView.vue b/src/pages/Admin/AccessLogView.vue
index b93a64f5..45a71af2 100644
--- a/src/pages/Admin/AccessLogView.vue
+++ b/src/pages/Admin/AccessLogView.vue
@@ -3,6 +3,7 @@ import { onMounted, inject, ref } from 'vue';
import { useRoute } from 'vue-router';
import CardList from 'src/components/ui/CardList.vue';
+import VnList from 'src/components/ui/VnList.vue';
import { formatDateTitle } from 'src/lib/filters.js';
@@ -72,7 +73,7 @@ onMounted(async () => {
{{ user?.phone }}
-
+
{
-
+
diff --git a/src/pages/Admin/ConnectionsView.vue b/src/pages/Admin/ConnectionsView.vue
index eec50614..175f32c7 100644
--- a/src/pages/Admin/ConnectionsView.vue
+++ b/src/pages/Admin/ConnectionsView.vue
@@ -4,6 +4,7 @@ import { useRouter } from 'vue-router';
import { useI18n } from 'vue-i18n';
import CardList from 'src/components/ui/CardList.vue';
+import VnList from 'src/components/ui/VnList.vue';
import { date as qdate } from 'quasar';
import { useUserStore } from 'stores/user';
@@ -80,15 +81,12 @@ onBeforeUnmount(() => clearInterval(intervalId.value));
-
-
+
clearInterval(intervalId.value));
- {{ connections }}
-
+
diff --git a/src/pages/Admin/ItemsView.vue b/src/pages/Admin/ItemsView.vue
index bbcefc60..27d9dce6 100644
--- a/src/pages/Admin/ItemsView.vue
+++ b/src/pages/Admin/ItemsView.vue
@@ -1,15 +1,14 @@