diff --git a/lang/ar.json b/lang/ar.json
index b0886d6..3215856 100644
--- a/lang/ar.json
+++ b/lang/ar.json
@@ -220,6 +220,17 @@
"Display Name": "الاسم المعروض",
"Document Root": "المجلد الجذر",
"Documentation": "التوثيق",
+ "Find answers in our docs.": "اعثر على إجابات في التوثيق.",
+ "Chat with our AI support bot.": "تحدث مع روبوت الدعم بالذكاء الاصطناعي.",
+ "GitHub Issues": "مشكلات GitHub",
+ "Report bugs or request features.": "أبلغ عن الأخطاء أو اطلب ميزات.",
+ "Open GitHub Issues": "فتح مشكلات GitHub",
+ "Paid Support": "دعم مدفوع",
+ "Get professional assistance.": "احصل على مساعدة احترافية.",
+ "View Support Plans": "عرض خطط الدعم",
+ "Response Time": "وقت الاستجابة",
+ "We typically respond within 24-48 hours. For urgent issues, consider our Emergency Support.": "نستجيب عادة خلال 24-48 ساعة. للحالات العاجلة، فكّر في دعم الطوارئ.",
+ "Emergency Support": "دعم الطوارئ",
"Open Documentation": "فتح التوثيق",
"Support Chat": "دردشة الدعم",
"Domain": "نطاق",
diff --git a/lang/en.json b/lang/en.json
index bdba888..d8eab40 100644
--- a/lang/en.json
+++ b/lang/en.json
@@ -782,6 +782,17 @@
"Display Name": "Display Name",
"Document Root": "Document Root",
"Documentation": "Documentation",
+ "Find answers in our docs.": "Find answers in our docs.",
+ "Chat with our AI support bot.": "Chat with our AI support bot.",
+ "GitHub Issues": "GitHub Issues",
+ "Report bugs or request features.": "Report bugs or request features.",
+ "Open GitHub Issues": "Open GitHub Issues",
+ "Paid Support": "Paid Support",
+ "Get professional assistance.": "Get professional assistance.",
+ "View Support Plans": "View Support Plans",
+ "Response Time": "Response Time",
+ "We typically respond within 24-48 hours. For urgent issues, consider our Emergency Support.": "We typically respond within 24-48 hours. For urgent issues, consider our Emergency Support.",
+ "Emergency Support": "Emergency Support",
"Open Documentation": "Open Documentation",
"Support Chat": "Support Chat",
"Domain": "Domain",
diff --git a/lang/es.json b/lang/es.json
index 979866e..ff67883 100644
--- a/lang/es.json
+++ b/lang/es.json
@@ -309,6 +309,17 @@
"Display Name": "Nombre para mostrar",
"Document Root": "Raíz del documento",
"Documentation": "Documentación",
+ "Find answers in our docs.": "Encuentra respuestas en nuestra documentación.",
+ "Chat with our AI support bot.": "Chatea con nuestro bot de soporte con IA.",
+ "GitHub Issues": "Issues de GitHub",
+ "Report bugs or request features.": "Reporta errores o solicita funciones.",
+ "Open GitHub Issues": "Abrir issues de GitHub",
+ "Paid Support": "Soporte de pago",
+ "Get professional assistance.": "Obtén asistencia profesional.",
+ "View Support Plans": "Ver planes de soporte",
+ "Response Time": "Tiempo de respuesta",
+ "We typically respond within 24-48 hours. For urgent issues, consider our Emergency Support.": "Normalmente respondemos en 24-48 horas. Para casos urgentes, considera nuestro soporte de emergencia.",
+ "Emergency Support": "Soporte de emergencia",
"Open Documentation": "Abrir documentación",
"Support Chat": "Chat de soporte",
"Domain": "Dominio",
diff --git a/lang/fr.json b/lang/fr.json
index f6e902d..04bcee9 100644
--- a/lang/fr.json
+++ b/lang/fr.json
@@ -221,6 +221,17 @@
"Display Name": "Nom d'affichage",
"Document Root": "Racine du document",
"Documentation": "Documentation",
+ "Find answers in our docs.": "Trouvez des réponses dans notre documentation.",
+ "Chat with our AI support bot.": "Discutez avec notre bot de support IA.",
+ "GitHub Issues": "Issues GitHub",
+ "Report bugs or request features.": "Signalez des bugs ou demandez des fonctionnalités.",
+ "Open GitHub Issues": "Ouvrir les issues GitHub",
+ "Paid Support": "Support payant",
+ "Get professional assistance.": "Obtenez une assistance professionnelle.",
+ "View Support Plans": "Voir les plans de support",
+ "Response Time": "Délai de réponse",
+ "We typically respond within 24-48 hours. For urgent issues, consider our Emergency Support.": "Nous répondons généralement sous 24-48 heures. Pour les urgences, consultez notre support d'urgence.",
+ "Emergency Support": "Support d'urgence",
"Open Documentation": "Ouvrir la documentation",
"Support Chat": "Chat de support",
"Domain": "Domaine",
diff --git a/lang/he.json b/lang/he.json
index ddc8804..b3e472b 100644
--- a/lang/he.json
+++ b/lang/he.json
@@ -220,6 +220,17 @@
"Display Name": "שם תצוגה",
"Document Root": "תיקיית שורש",
"Documentation": "תיעוד",
+ "Find answers in our docs.": "מצאו תשובות בתיעוד שלנו.",
+ "Chat with our AI support bot.": "שוחחו עם בוט התמיכה שלנו.",
+ "GitHub Issues": "Issues של GitHub",
+ "Report bugs or request features.": "דווחו על באגים או בקשו פיצ'רים.",
+ "Open GitHub Issues": "פתח Issues ב-GitHub",
+ "Paid Support": "תמיכה בתשלום",
+ "Get professional assistance.": "קבלו סיוע מקצועי.",
+ "View Support Plans": "צפו בתוכניות התמיכה",
+ "Response Time": "זמן תגובה",
+ "We typically respond within 24-48 hours. For urgent issues, consider our Emergency Support.": "אנחנו בדרך כלל מגיבים תוך 24-48 שעות. למקרים דחופים, שקלו תמיכת חירום.",
+ "Emergency Support": "תמיכת חירום",
"Open Documentation": "פתח תיעוד",
"Support Chat": "צ'אט תמיכה",
"Domain": "דומיין",
diff --git a/lang/pt.json b/lang/pt.json
index 0c6591a..73780f5 100644
--- a/lang/pt.json
+++ b/lang/pt.json
@@ -220,6 +220,17 @@
"Display Name": "Nome de Exibição",
"Document Root": "Raiz do Documento",
"Documentation": "Documentação",
+ "Find answers in our docs.": "Encontre respostas na nossa documentação.",
+ "Chat with our AI support bot.": "Converse com nosso bot de suporte com IA.",
+ "GitHub Issues": "Issues do GitHub",
+ "Report bugs or request features.": "Reporte bugs ou solicite recursos.",
+ "Open GitHub Issues": "Abrir issues do GitHub",
+ "Paid Support": "Suporte pago",
+ "Get professional assistance.": "Obtenha assistência profissional.",
+ "View Support Plans": "Ver planos de suporte",
+ "Response Time": "Tempo de resposta",
+ "We typically respond within 24-48 hours. For urgent issues, consider our Emergency Support.": "Normalmente respondemos em 24-48 horas. Para casos urgentes, considere nosso suporte de emergência.",
+ "Emergency Support": "Suporte de emergência",
"Open Documentation": "Abrir documentação",
"Support Chat": "Chat de suporte",
"Domain": "Domínio",
diff --git a/lang/ru.json b/lang/ru.json
index e91a829..45f8673 100644
--- a/lang/ru.json
+++ b/lang/ru.json
@@ -221,6 +221,17 @@
"Display Name": "Отображаемое имя",
"Document Root": "Корневая директория",
"Documentation": "Документация",
+ "Find answers in our docs.": "Найдите ответы в нашей документации.",
+ "Chat with our AI support bot.": "Чат с нашим AI-ботом поддержки.",
+ "GitHub Issues": "GitHub Issues",
+ "Report bugs or request features.": "Сообщайте о багах или запрашивайте функции.",
+ "Open GitHub Issues": "Открыть GitHub Issues",
+ "Paid Support": "Платная поддержка",
+ "Get professional assistance.": "Получите профессиональную помощь.",
+ "View Support Plans": "Посмотреть планы поддержки",
+ "Response Time": "Время ответа",
+ "We typically respond within 24-48 hours. For urgent issues, consider our Emergency Support.": "Обычно отвечаем в течение 24–48 часов. В экстренных случаях воспользуйтесь экстренной поддержкой.",
+ "Emergency Support": "Экстренная поддержка",
"Open Documentation": "Открыть документацию",
"Support Chat": "Чат поддержки",
"Domain": "Домен",
diff --git a/resources/views/filament/admin/pages/support.blade.php b/resources/views/filament/admin/pages/support.blade.php
index de07595..8da5177 100644
--- a/resources/views/filament/admin/pages/support.blade.php
+++ b/resources/views/filament/admin/pages/support.blade.php
@@ -4,6 +4,7 @@
icon-color="primary"
>
{{ __('Documentation') }}
+ {{ __('Find answers in our docs.') }}
{{ __('Support Chat') }}
+ {{ __('Chat with our AI support bot.') }}
+
+ {{ __('GitHub Issues') }}
+ {{ __('Report bugs or request features.') }}
+
+
+ {{ __('Open GitHub Issues') }}
+
+
+
+
+ {{ __('Paid Support') }}
+ {{ __('Get professional assistance.') }}
+
+
+ {{ __('View Support Plans') }}
+
+
+
+
+ {{ __('Response Time') }}
+ {{ __('We typically respond within 24-48 hours. For urgent issues, consider our Emergency Support.') }}
+
+
+ {{ __('Emergency Support') }}
+
+
+
@script
@endscript
diff --git a/resources/views/filament/jabali/pages/support.blade.php b/resources/views/filament/jabali/pages/support.blade.php
index de07595..8da5177 100644
--- a/resources/views/filament/jabali/pages/support.blade.php
+++ b/resources/views/filament/jabali/pages/support.blade.php
@@ -4,6 +4,7 @@
icon-color="primary"
>
{{ __('Documentation') }}
+ {{ __('Find answers in our docs.') }}
{{ __('Support Chat') }}
+ {{ __('Chat with our AI support bot.') }}
+
+ {{ __('GitHub Issues') }}
+ {{ __('Report bugs or request features.') }}
+
+
+ {{ __('Open GitHub Issues') }}
+
+
+
+
+ {{ __('Paid Support') }}
+ {{ __('Get professional assistance.') }}
+
+
+ {{ __('View Support Plans') }}
+
+
+
+
+ {{ __('Response Time') }}
+ {{ __('We typically respond within 24-48 hours. For urgent issues, consider our Emergency Support.') }}
+
+
+ {{ __('Emergency Support') }}
+
+
+
@script
@endscript
diff --git a/scripts/deploy.sh b/scripts/deploy.sh
index 1254b3c..9bd78c2 100755
--- a/scripts/deploy.sh
+++ b/scripts/deploy.sh
@@ -7,6 +7,7 @@ DEPLOY_HOST="${DEPLOY_HOST:-192.168.100.50}"
DEPLOY_USER="${DEPLOY_USER:-root}"
DEPLOY_PATH="${DEPLOY_PATH:-/var/www/jabali}"
WWW_USER="${WWW_USER:-www-data}"
+NPM_CACHE_DIR="${NPM_CACHE_DIR:-}"
GITEA_REMOTE="${GITEA_REMOTE:-gitea}"
GITEA_URL="${GITEA_URL:-}"
GITHUB_REMOTE="${GITHUB_REMOTE:-origin}"
@@ -50,7 +51,7 @@ Options:
-h, --help Show this help
Environment overrides:
- DEPLOY_HOST, DEPLOY_USER, DEPLOY_PATH, WWW_USER, GITEA_REMOTE, GITEA_URL, GITHUB_REMOTE, GITHUB_URL, PUSH_BRANCH
+ DEPLOY_HOST, DEPLOY_USER, DEPLOY_PATH, WWW_USER, NPM_CACHE_DIR, GITEA_REMOTE, GITEA_URL, GITHUB_REMOTE, GITHUB_URL, PUSH_BRANCH
EOF
}
@@ -253,6 +254,19 @@ remote_run_www() {
ssh -o StrictHostKeyChecking=no "$REMOTE" "bash -lc 'cd \"$DEPLOY_PATH\" && sudo -u \"$WWW_USER\" -H bash -lc \"$1\"'"
}
+ensure_remote_permissions() {
+ local parent_dir
+ parent_dir="$(dirname "$DEPLOY_PATH")"
+
+ if [[ -z "$NPM_CACHE_DIR" ]]; then
+ NPM_CACHE_DIR="${parent_dir}/.npm"
+ fi
+
+ remote_run "mkdir -p \"$DEPLOY_PATH/storage\" \"$DEPLOY_PATH/bootstrap/cache\" \"$DEPLOY_PATH/public/build\" \"$DEPLOY_PATH/node_modules\" \"$DEPLOY_PATH/database\" \"$NPM_CACHE_DIR\""
+ remote_run "chown -R \"$WWW_USER\":\"$WWW_USER\" \"$DEPLOY_PATH/storage\" \"$DEPLOY_PATH/bootstrap/cache\" \"$DEPLOY_PATH/public\" \"$DEPLOY_PATH/public/build\" \"$DEPLOY_PATH/node_modules\" \"$DEPLOY_PATH/database\" \"$NPM_CACHE_DIR\""
+ remote_run "if [[ -f \"$DEPLOY_PATH/auth.json\" ]]; then chown \"$WWW_USER\":\"$WWW_USER\" \"$DEPLOY_PATH/auth.json\" && chmod 600 \"$DEPLOY_PATH/auth.json\"; fi"
+}
+
echo "Deploying to ${REMOTE}:${DEPLOY_PATH}"
if [[ "$PUSH_GITEA" -eq 1 ]]; then
@@ -279,6 +293,9 @@ if [[ "$DRY_RUN" -eq 1 ]]; then
exit 0
fi
+echo "Ensuring remote permissions..."
+ensure_remote_permissions
+
if [[ "$SKIP_COMPOSER" -eq 0 ]]; then
echo "Installing composer dependencies..."
remote_run_www "composer install --no-interaction --prefer-dist --optimize-autoloader"
diff --git a/tests/Feature/Filament/SupportPagesTest.php b/tests/Feature/Filament/SupportPagesTest.php
index 86b7383..0b2654c 100644
--- a/tests/Feature/Filament/SupportPagesTest.php
+++ b/tests/Feature/Filament/SupportPagesTest.php
@@ -24,6 +24,8 @@ class SupportPagesTest extends TestCase
Livewire::test(AdminSupport::class)
->assertStatus(200)
->assertSee('Open Documentation')
+ ->assertSee('GitHub Issues')
+ ->assertSee('Paid Support')
->assertSee('jabali-support-chat', false);
}
@@ -36,6 +38,8 @@ class SupportPagesTest extends TestCase
Livewire::test(UserSupport::class)
->assertStatus(200)
->assertSee('Open Documentation')
+ ->assertSee('GitHub Issues')
+ ->assertSee('Paid Support')
->assertSee('jabali-support-chat', false);
}
}