diff --git a/dashboard/src/components/SftpInfoDialog.vue b/dashboard/src/components/SftpInfoDialog.vue new file mode 100644 index 000000000..8e7df4b4c --- /dev/null +++ b/dashboard/src/components/SftpInfoDialog.vue @@ -0,0 +1,70 @@ + + + + + {{ $t('appstore.installDialog.cloudflarePortWarning') }} + + + {{ $t('app.accessControl.sftp.server') }} + {{ adminFqdn }} + + + + {{ $t('app.accessControl.sftp.port') }} + 222 + + + + {{ $t('app.accessControl.sftp.username') }} + {{ username }}@{{ fqdn }} + + + diff --git a/dashboard/src/views/AppConfigureView.vue b/dashboard/src/views/AppConfigureView.vue index e83145243..f4ee41401 100644 --- a/dashboard/src/views/AppConfigureView.vue +++ b/dashboard/src/views/AppConfigureView.vue @@ -7,6 +7,7 @@ const t = i18n.t; import { ref, onMounted, onBeforeUnmount, computed, useTemplateRef } from 'vue'; import { Button, ButtonGroup } from 'pankow'; import PostInstallDialog from '../components/PostInstallDialog.vue'; +import SftpInfoDialog from '../components/SftpInfoDialog.vue'; import Access from '../components/app/Access.vue'; import Backups from '../components/app/Backups.vue'; import Cron from '../components/app/Cron.vue'; @@ -43,6 +44,7 @@ const hasOptionalServices = ref(false); const hasEmail = ref(false); const busyStopTask = ref(false); const postInstallDialog = useTemplateRef('postInstallDialog'); +const sftpInfoDialog = useTemplateRef('sftpInfoDialog'); const isAppStopped = computed(() => { return appsModel.isStopped(app.value); @@ -108,7 +110,7 @@ async function refresh() { if (result.manifest?.addons?.localstorage?.ftp) { infoMenu.value.push({ label: t('app.sftpInfoAction'), - // TODO action + action: () => sftpInfoDialog.value.open(app.value), }); } @@ -168,6 +170,7 @@ onBeforeUnmount(() => { +
{{ $t('appstore.installDialog.cloudflarePortWarning') }}