diff --git a/web-frontend/modules/builder/components/theme/MainThemeConfigBlock.vue b/web-frontend/modules/builder/components/theme/MainThemeConfigBlock.vue index 5d803c28f..3bcc755ea 100644 --- a/web-frontend/modules/builder/components/theme/MainThemeConfigBlock.vue +++ b/web-frontend/modules/builder/components/theme/MainThemeConfigBlock.vue @@ -67,12 +67,12 @@ <div class="control__label"> {{ $t('mainThemeConfigBlock.headingLabel', { i }) }} </div> - <div class="control__elements"> + <div class="control__elements control__elements--flex"> <ColorInput :value="builder.theme[`heading_${i}_color`]" @input="setPropertyInStore(`heading_${i}_color`, $event)" /> - <div class="input__with-icon"> + <div class="input__with-icon margin-left-2"> <input type="number" class="input remove-number-input-controls" diff --git a/web-frontend/modules/core/assets/scss/components/choice_items.scss b/web-frontend/modules/core/assets/scss/components/choice_items.scss index 4e8aa59ea..fb0674117 100644 --- a/web-frontend/modules/core/assets/scss/components/choice_items.scss +++ b/web-frontend/modules/core/assets/scss/components/choice_items.scss @@ -48,11 +48,11 @@ &:hover { text-decoration: none; - } - &:not(.disabled, .active):hover { - background-color: $color-neutral-100; - color: $color-neutral-900; + &:not(.disabled, .active) { + background-color: $color-neutral-100; + color: $color-neutral-900; + } } &.disabled { diff --git a/web-frontend/modules/core/components/workspace/GenerativeAIWorkspaceSettings.vue b/web-frontend/modules/core/components/workspace/GenerativeAIWorkspaceSettings.vue index 87cf182f7..2fcf3c438 100644 --- a/web-frontend/modules/core/components/workspace/GenerativeAIWorkspaceSettings.vue +++ b/web-frontend/modules/core/components/workspace/GenerativeAIWorkspaceSettings.vue @@ -44,14 +44,13 @@ </div> </div> <div class="actions actions--right"> - <button - :class="{ 'button--loading': updateLoading }" - class="button button--large" + <Button :disabled="updateLoading || $v.$invalid || !$v.$anyDirty" + :loading="updateLoading" + icon="iconoir-edit-pencil" > {{ $t('generativeAIWorkspaceSettings.submitButton') }} - <i class="iconoir-edit-pencil"></i> - </button> + </Button> </div> </form> </div> diff --git a/web-frontend/modules/core/pages/admin/settings.vue b/web-frontend/modules/core/pages/admin/settings.vue index eca68d011..f23c9d3f1 100644 --- a/web-frontend/modules/core/pages/admin/settings.vue +++ b/web-frontend/modules/core/pages/admin/settings.vue @@ -142,35 +142,11 @@ </div> </div> <div class="admin-settings__control"> - <Radio - :value="EMAIL_VERIFICATION_OPTIONS.NO_VERIFICATION" + <RadioGroup :model-value="settings.email_verification" + :options="emailVerificationOptions" @input="updateSettings({ email_verification: $event })" - > - {{ $t('settings.emailVerificationNoVerification') }} - </Radio> - <Radio - :value="EMAIL_VERIFICATION_OPTIONS.RECOMMENDED" - :model-value="settings.email_verification" - @input=" - updateSettings({ - email_verification: $event, - }) - " - > - {{ $t('settings.emailVerificationRecommended') }} - </Radio> - <Radio - :value="EMAIL_VERIFICATION_OPTIONS.ENFORCED" - :model-value="settings.email_verification" - @input=" - updateSettings({ - email_verification: $event, - }) - " - > - {{ $t('settings.emailVerificationEnforced') }} - </Radio> + ></RadioGroup> </div> </div> <div class="admin-settings__item"> @@ -252,7 +228,23 @@ export default { return { instanceId: data.instance_id } }, data() { - return { account_deletion_grace_delay: null } + return { + account_deletion_grace_delay: null, + emailVerificationOptions: [ + { + label: this.$t('settings.emailVerificationNoVerification'), + value: EMAIL_VERIFICATION_OPTIONS.NO_VERIFICATION, + }, + { + label: this.$t('settings.emailVerificationRecommended'), + value: EMAIL_VERIFICATION_OPTIONS.RECOMMENDED, + }, + { + label: this.$t('settings.emailVerificationEnforced'), + value: EMAIL_VERIFICATION_OPTIONS.ENFORCED, + }, + ], + } }, computed: { additionalSettingsComponents() { @@ -287,6 +279,7 @@ export default { }, methods: { async updateSettings(values) { + console.log(values) this.$v.$touch() if (this.$v.$invalid) { return diff --git a/web-frontend/modules/database/components/webhook/WebhookForm.vue b/web-frontend/modules/database/components/webhook/WebhookForm.vue index 28faa125b..dc326534c 100644 --- a/web-frontend/modules/database/components/webhook/WebhookForm.vue +++ b/web-frontend/modules/database/components/webhook/WebhookForm.vue @@ -103,12 +103,12 @@ {{ $t('webhookForm.inputLabels.events') }} </label> <div class="control__elements"> - <Radio v-model="values.include_all_events" :value="true">{{ - $t('webhookForm.radio.allEvents') - }}</Radio> - <Radio v-model="values.include_all_events" :value="false"> - {{ $t('webhookForm.radio.customEvents') }} - </Radio> + <RadioGroup + v-model="values.include_all_events" + :options="eventsRadioOptions" + vertical-layout + > + </RadioGroup> <div v-if="!values.include_all_events" class="webhook__types"> <Checkbox v-for="webhookEvent in webhookEventTypes" @@ -246,7 +246,6 @@ import { required, maxLength } from 'vuelidate/lib/validators' import form from '@baserow/modules/core/mixins/form' import error from '@baserow/modules/core/mixins/error' import Checkbox from '@baserow/modules/core/components/Checkbox' -import Radio from '@baserow/modules/core/components/Radio' import TestWebhookModal from '@baserow/modules/database/components/webhook/TestWebhookModal' import { isValidURLWithHttpScheme } from '@baserow/modules/core/utils/string' @@ -254,7 +253,6 @@ export default { name: 'WebhookForm', components: { Checkbox, - Radio, TestWebhookModal, }, mixins: [form, error], @@ -295,6 +293,10 @@ export default { }, headers: [], exampleWebhookEventType: '', + eventsRadioOptions: [ + { value: true, label: this.$t('webhookForm.radio.allEvents') }, + { value: false, label: this.$t('webhookForm.radio.customEvents') }, + ], } }, computed: {