diff --git a/frontend/components.d.ts b/frontend/components.d.ts index 54b6cd63..31da5b1d 100644 --- a/frontend/components.d.ts +++ b/frontend/components.d.ts @@ -16,6 +16,8 @@ declare module '@vue/runtime-core' { ABreadcrumbItem: typeof import('ant-design-vue/es')['BreadcrumbItem'] AButton: typeof import('ant-design-vue/es')['Button'] ACard: typeof import('ant-design-vue/es')['Card'] + ACheckbox: typeof import('ant-design-vue/es')['Checkbox'] + ACheckboxGroup: typeof import('ant-design-vue/es')['CheckboxGroup'] ACol: typeof import('ant-design-vue/es')['Col'] ACollapse: typeof import('ant-design-vue/es')['Collapse'] ACollapsePanel: typeof import('ant-design-vue/es')['CollapsePanel'] @@ -70,6 +72,7 @@ declare module '@vue/runtime-core' { FooterToolbarFooterToolBar: typeof import('./src/components/FooterToolbar/FooterToolBar.vue')['default'] LogoLogo: typeof import('./src/components/Logo/Logo.vue')['default'] NginxControlNginxControl: typeof import('./src/components/NginxControl/NginxControl.vue')['default'] + NodeSelectorNodeSelector: typeof import('./src/components/NodeSelector/NodeSelector.vue')['default'] PageHeaderPageHeader: typeof import('./src/components/PageHeader/PageHeader.vue')['default'] RouterLink: typeof import('vue-router')['RouterLink'] RouterView: typeof import('vue-router')['RouterView'] diff --git a/frontend/src/api/curd.ts b/frontend/src/api/curd.ts index 41b822eb..3ba11b40 100644 --- a/frontend/src/api/curd.ts +++ b/frontend/src/api/curd.ts @@ -22,8 +22,8 @@ class Curd { return http.get(this.baseUrl + (id ? '/' + id : '')) } - _save(id: any = null, data: any) { - return http.post(this.baseUrl + (id ? '/' + id : ''), data) + _save(id: any = null, data: any, config: any = undefined) { + return http.post(this.baseUrl + (id ? '/' + id : ''), data, config) } _destroy(id: any = null) { diff --git a/frontend/src/components/EnvIndicator/EnvIndicator.vue b/frontend/src/components/EnvIndicator/EnvIndicator.vue index 14157ea2..98b6b292 100644 --- a/frontend/src/components/EnvIndicator/EnvIndicator.vue +++ b/frontend/src/components/EnvIndicator/EnvIndicator.vue @@ -75,6 +75,10 @@ watch(node_id, () => { align-items: center; justify-content: space-between; + .env-name { + max-width: 50px; + } + .ant-tag { cursor: pointer; margin-right: 0; diff --git a/frontend/src/components/NodeSelector/NodeSelector.vue b/frontend/src/components/NodeSelector/NodeSelector.vue new file mode 100644 index 00000000..ef075c86 --- /dev/null +++ b/frontend/src/components/NodeSelector/NodeSelector.vue @@ -0,0 +1,51 @@ + + + + + diff --git a/frontend/src/pinia/moudule/settings.ts b/frontend/src/pinia/moudule/settings.ts index 0cd78015..036d0ec7 100644 --- a/frontend/src/pinia/moudule/settings.ts +++ b/frontend/src/pinia/moudule/settings.ts @@ -10,7 +10,11 @@ export const useSettingsStore = defineStore('settings', { name: 'Local' } }), - getters: {}, + getters: { + is_remote(): boolean { + return this.environment.id !== 0 + } + }, actions: { set_language(lang: string) { this.language = lang diff --git a/frontend/src/views/domain/SiteDuplicate.vue b/frontend/src/views/domain/SiteDuplicate.vue index 4e14f0bf..8daa4644 100644 --- a/frontend/src/views/domain/SiteDuplicate.vue +++ b/frontend/src/views/domain/SiteDuplicate.vue @@ -1,15 +1,19 @@