mirror of
https://github.com/kestra-io/kestra.git
synced 2025-12-19 18:05:41 -05:00
refactor(core): remove the configurattion details step (#13606)
This commit is contained in:
committed by
Piyush Bhaskar
parent
b7180e99b9
commit
2264bbdf3c
@@ -7,14 +7,9 @@
|
|||||||
<el-steps :space="60" direction="vertical" :active="activeStep" finish-status="success">
|
<el-steps :space="60" direction="vertical" :active="activeStep" finish-status="success">
|
||||||
<el-step :icon="activeStep > 0 ? CheckBold : AccountPlus" :title="t('setup.steps.user')" :class="{'primary-icon': activeStep <= 0}" />
|
<el-step :icon="activeStep > 0 ? CheckBold : AccountPlus" :title="t('setup.steps.user')" :class="{'primary-icon': activeStep <= 0}" />
|
||||||
<el-step
|
<el-step
|
||||||
:icon="activeStep > 1 ? CheckBold : Cogs"
|
:icon="activeStep > 1 ? CheckBold : MessageOutline"
|
||||||
:title="t('setup.steps.config')"
|
|
||||||
:class="{'primary-icon': activeStep <= 1}"
|
|
||||||
/>
|
|
||||||
<el-step
|
|
||||||
:icon="activeStep > 2 ? CheckBold : MessageOutline"
|
|
||||||
:title="t('setup.steps.survey')"
|
:title="t('setup.steps.survey')"
|
||||||
:class="{'primary-icon': activeStep <= 2}"
|
:class="{'primary-icon': activeStep <= 1}"
|
||||||
/>
|
/>
|
||||||
<el-step :icon="LightningBolt" :title="t('setup.steps.complete')" class="primary-icon" />
|
<el-step :icon="LightningBolt" :title="t('setup.steps.complete')" class="primary-icon" />
|
||||||
</el-steps>
|
</el-steps>
|
||||||
@@ -26,15 +21,12 @@
|
|||||||
{{ t('setup.titles.user') }}
|
{{ t('setup.titles.user') }}
|
||||||
</el-text>
|
</el-text>
|
||||||
<el-text size="large" class="header-title" v-else-if="activeStep === 1">
|
<el-text size="large" class="header-title" v-else-if="activeStep === 1">
|
||||||
Welcome {{ userFormData.firstName }}
|
|
||||||
</el-text>
|
|
||||||
<el-text size="large" class="header-title" v-else-if="activeStep === 2">
|
|
||||||
{{ t('setup.titles.survey') }}
|
{{ t('setup.titles.survey') }}
|
||||||
</el-text>
|
</el-text>
|
||||||
<el-text class="d-block mt-4">
|
<el-text class="d-block mt-4">
|
||||||
{{ subtitles[activeStep] }}
|
{{ subtitles[activeStep] }}
|
||||||
</el-text>
|
</el-text>
|
||||||
<el-button v-if="activeStep === 2" class="skip-button" @click="handleSurveySkip()">
|
<el-button v-if="activeStep === 1" class="skip-button" @click="handleSurveySkip()">
|
||||||
{{ t('setup.survey.skip') }}
|
{{ t('setup.survey.skip') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
@@ -97,46 +89,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="d-flex flex-column gap-4" v-else-if="activeStep === 1">
|
<div v-else-if="activeStep === 1">
|
||||||
<el-card v-if="isLoading">
|
<el-form label-position="top" :model="surveyData" :show-message="false">
|
||||||
<el-text>Loading configuration...</el-text>
|
|
||||||
</el-card>
|
|
||||||
<el-card v-else-if="setupConfigurationLines.length > 0">
|
|
||||||
<el-row
|
|
||||||
v-for="config in setupConfigurationLines"
|
|
||||||
:key="config.name"
|
|
||||||
class="lh-lg mt-1 mb-1 align-items-center gap-2"
|
|
||||||
>
|
|
||||||
<component :is="config.icon" />
|
|
||||||
<el-text size="small">
|
|
||||||
{{ t("setup.config." + config.name) }}
|
|
||||||
</el-text>
|
|
||||||
<el-divider class="m-auto" />
|
|
||||||
<Check class="text-success" v-if="config.value === true" />
|
|
||||||
<Close class="text-danger" v-else-if="config.value === false" />
|
|
||||||
<el-text v-else size="small">
|
|
||||||
{{ config.value === "NOT SETUP" ? config.value : config.value.toString().capitalize() }}
|
|
||||||
</el-text>
|
|
||||||
</el-row>
|
|
||||||
</el-card>
|
|
||||||
<el-card v-else>
|
|
||||||
<el-text>No configuration data available</el-text>
|
|
||||||
</el-card>
|
|
||||||
<el-text class="align-self-start">
|
|
||||||
{{ t("setup.confirm.config_title") }}
|
|
||||||
</el-text>
|
|
||||||
<div class="d-flex align-self-start">
|
|
||||||
<el-button @click="previousStep()">
|
|
||||||
{{ t("setup.confirm.not_valid") }}
|
|
||||||
</el-button>
|
|
||||||
<el-button type="primary" @click="initBasicAuth()">
|
|
||||||
{{ t("setup.confirm.valid") }}
|
|
||||||
</el-button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div v-else-if="activeStep === 2">
|
|
||||||
<el-form ref="surveyForm" label-position="top" :model="surveyData" :show-message="false">
|
|
||||||
<el-form-item :label="t('setup.survey.company_size')">
|
<el-form-item :label="t('setup.survey.company_size')">
|
||||||
<el-radio-group v-model="surveyData.companySize" class="survey-radio-group">
|
<el-radio-group v-model="surveyData.companySize" class="survey-radio-group">
|
||||||
<el-radio
|
<el-radio
|
||||||
@@ -182,7 +136,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div v-else-if="activeStep === 3" class="success-step">
|
<div v-else-if="activeStep === 2" class="success-step">
|
||||||
<img :src="success" alt="success" class="success-img">
|
<img :src="success" alt="success" class="success-img">
|
||||||
<div class="success-content">
|
<div class="success-content">
|
||||||
<h1 class="success-title">
|
<h1 class="success-title">
|
||||||
@@ -210,19 +164,12 @@
|
|||||||
import {useSurveySkip} from "../../composables/useSurveyData"
|
import {useSurveySkip} from "../../composables/useSurveyData"
|
||||||
import {initPostHogForSetup, trackSetupEvent} from "../../composables/usePosthog"
|
import {initPostHogForSetup, trackSetupEvent} from "../../composables/usePosthog"
|
||||||
|
|
||||||
import Cogs from "vue-material-design-icons/Cogs.vue"
|
|
||||||
import AccountPlus from "vue-material-design-icons/AccountPlus.vue"
|
import AccountPlus from "vue-material-design-icons/AccountPlus.vue"
|
||||||
import LightningBolt from "vue-material-design-icons/LightningBolt.vue"
|
import LightningBolt from "vue-material-design-icons/LightningBolt.vue"
|
||||||
import MessageOutline from "vue-material-design-icons/MessageOutline.vue"
|
import MessageOutline from "vue-material-design-icons/MessageOutline.vue"
|
||||||
import Logo from "../home/Logo.vue"
|
import Logo from "../home/Logo.vue"
|
||||||
import Check from "vue-material-design-icons/Check.vue"
|
|
||||||
import Close from "vue-material-design-icons/Close.vue"
|
|
||||||
import CheckBold from "vue-material-design-icons/CheckBold.vue"
|
import CheckBold from "vue-material-design-icons/CheckBold.vue"
|
||||||
import InformationOutline from "vue-material-design-icons/InformationOutline.vue"
|
import InformationOutline from "vue-material-design-icons/InformationOutline.vue"
|
||||||
import Database from "vue-material-design-icons/Database.vue"
|
|
||||||
import CurrentDc from "vue-material-design-icons/CurrentDc.vue"
|
|
||||||
import CloudOutline from "vue-material-design-icons/CloudOutline.vue"
|
|
||||||
import Lock from "vue-material-design-icons/Lock.vue"
|
|
||||||
import success from "../../assets/success.svg"
|
import success from "../../assets/success.svg"
|
||||||
import * as BasicAuth from "../../utils/basicAuth";
|
import * as BasicAuth from "../../utils/basicAuth";
|
||||||
|
|
||||||
@@ -239,12 +186,6 @@
|
|||||||
newsletter: boolean
|
newsletter: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
interface ConfigLine {
|
|
||||||
name: string
|
|
||||||
icon: any
|
|
||||||
value: any
|
|
||||||
}
|
|
||||||
|
|
||||||
interface CompanySizeOption {
|
interface CompanySizeOption {
|
||||||
value: string
|
value: string
|
||||||
label: string
|
label: string
|
||||||
@@ -256,10 +197,7 @@
|
|||||||
const {storeSurveySkipData} = useSurveySkip()
|
const {storeSurveySkipData} = useSurveySkip()
|
||||||
|
|
||||||
const activeStep = ref(0)
|
const activeStep = ref(0)
|
||||||
const usageData = ref<any>(null)
|
|
||||||
const isLoading = ref(true)
|
|
||||||
const userForm: Ref<any> = ref(null)
|
const userForm: Ref<any> = ref(null)
|
||||||
const surveyForm: Ref<any> = ref(null)
|
|
||||||
|
|
||||||
const userFormData = ref<UserFormData>({
|
const userFormData = ref<UserFormData>({
|
||||||
firstName: "",
|
firstName: "",
|
||||||
@@ -275,7 +213,6 @@
|
|||||||
})
|
})
|
||||||
|
|
||||||
const formData = computed(() => userFormData.value)
|
const formData = computed(() => userFormData.value)
|
||||||
const setupConfiguration = computed(() => usageData.value?.configurations ?? {})
|
|
||||||
|
|
||||||
const initializeSetup = async () => {
|
const initializeSetup = async () => {
|
||||||
try {
|
try {
|
||||||
@@ -292,12 +229,8 @@
|
|||||||
|
|
||||||
localStorage.setItem("basicAuthSetupInProgress", "true")
|
localStorage.setItem("basicAuthSetupInProgress", "true")
|
||||||
localStorage.setItem("setupStartTime", Date.now().toString())
|
localStorage.setItem("setupStartTime", Date.now().toString())
|
||||||
|
|
||||||
usageData.value = await miscStore.loadAllUsages()
|
|
||||||
} catch {
|
} catch {
|
||||||
/* Silently handle usage data loading errors */
|
/* Silently handle config loading errors */
|
||||||
} finally {
|
|
||||||
isLoading.value = false
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -309,23 +242,8 @@
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
const setupConfigurationLines = computed<ConfigLine[]>(() => {
|
|
||||||
if (!setupConfiguration.value) return []
|
|
||||||
const configs = miscStore.configs
|
|
||||||
|
|
||||||
const basicAuthValue = activeStep.value >= 1 || configs?.isBasicAuthInitialized
|
|
||||||
|
|
||||||
return [
|
|
||||||
{name: "repository", icon: Database, value: setupConfiguration.value.repositoryType || "NOT SETUP"},
|
|
||||||
{name: "queue", icon: CurrentDc, value: setupConfiguration.value.queueType || "NOT SETUP"},
|
|
||||||
{name: "storage", icon: CloudOutline, value: setupConfiguration.value.storageType || "NOT SETUP"},
|
|
||||||
{name: "basicauth", icon: Lock, value: basicAuthValue}
|
|
||||||
]
|
|
||||||
})
|
|
||||||
|
|
||||||
const subtitles = computed(() => [
|
const subtitles = computed(() => [
|
||||||
t("setup.subtitles.user"),
|
t("setup.subtitles.user"),
|
||||||
t("setup.subtitles.config"),
|
|
||||||
t("setup.subtitles.survey"),
|
t("setup.subtitles.survey"),
|
||||||
])
|
])
|
||||||
|
|
||||||
@@ -391,10 +309,6 @@
|
|||||||
activeStep.value++
|
activeStep.value++
|
||||||
}
|
}
|
||||||
|
|
||||||
const previousStep = () => {
|
|
||||||
activeStep.value--
|
|
||||||
}
|
|
||||||
|
|
||||||
const handleUserFormSubmit = async () => {
|
const handleUserFormSubmit = async () => {
|
||||||
try {
|
try {
|
||||||
await miscStore.addBasicAuth({
|
await miscStore.addBasicAuth({
|
||||||
@@ -408,12 +322,6 @@
|
|||||||
|
|
||||||
await miscStore.loadConfigs()
|
await miscStore.loadConfigs()
|
||||||
|
|
||||||
try {
|
|
||||||
usageData.value = await miscStore.loadAllUsages()
|
|
||||||
} catch {
|
|
||||||
/* Silently handle usage data loading */
|
|
||||||
}
|
|
||||||
|
|
||||||
trackSetupEvent("setup_flow:account_created", {
|
trackSetupEvent("setup_flow:account_created", {
|
||||||
user_firstname: userFormData.value.firstName,
|
user_firstname: userFormData.value.firstName,
|
||||||
user_lastname: userFormData.value.lastName,
|
user_lastname: userFormData.value.lastName,
|
||||||
@@ -432,10 +340,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const initBasicAuth = () => {
|
|
||||||
nextStep()
|
|
||||||
}
|
|
||||||
|
|
||||||
const handleSurveyContinue = () => {
|
const handleSurveyContinue = () => {
|
||||||
localStorage.setItem("basicAuthSurveyData", JSON.stringify(surveyData.value))
|
localStorage.setItem("basicAuthSurveyData", JSON.stringify(surveyData.value))
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user