n8n-editor-ui
Version:
Workflow Editor UI for n8n
136 lines (135 loc) • 4.42 kB
JavaScript
import { C as computed, It as ref, P as defineComponent, T as createBlock, Z as onMounted, et as openBlock } from "./vue.runtime.esm-bundler-tP5dCd7J.js";
import { _t as useI18n } from "./_MapCache-ficiegRb.js";
import "./src-DgvumQTi.js";
import "./en-CF30SCh2.js";
import "./preload-helper-CR0ecmWK.js";
import "./_plugin-vue_export-helper-BwBpWJRZ.js";
import { v as useRoute, y as useRouter } from "./truncate-B1HVeveJ.js";
import { Dr as useUsersStore, v as useToast } from "./builder.store-sBTWwxRU.js";
import "./empty-BuGRxzl4.js";
import "./sanitize-html-Cc45ZKm8.js";
import "./CalendarDate-zWqgZMlk.js";
import "./path-browserify-BtCDmZ3_.js";
import { Ro as VIEWS } from "./constants-BbpucWL4.js";
import "./merge-k8vSyyXH.js";
import "./_baseOrderBy-B_6CV8x6.js";
import "./dateformat-CM9k0--B.js";
import "./useDebounce-Bnb8W2LR.js";
import "./sso.store-Ba2eVE3K.js";
import { t as AuthView_default } from "./AuthView-TY21M5Xw.js";
var SignupView_default = /* @__PURE__ */ defineComponent({
__name: "SignupView",
setup(__props) {
const usersStore = useUsersStore();
const toast = useToast();
const i18n = useI18n();
const router = useRouter();
const route = useRoute();
const FORM_CONFIG = {
title: i18n.baseText("auth.signup.setupYourAccount"),
buttonText: i18n.baseText("auth.signup.finishAccountSetup"),
inputs: [
{
name: "firstName",
properties: {
label: i18n.baseText("auth.firstName"),
maxlength: 32,
required: true,
autocomplete: "given-name",
capitalize: true,
focusInitially: true
}
},
{
name: "lastName",
properties: {
label: i18n.baseText("auth.lastName"),
maxlength: 32,
required: true,
autocomplete: "family-name",
capitalize: true
}
},
{
name: "password",
properties: {
label: i18n.baseText("auth.password"),
type: "password",
validationRules: [{ name: "DEFAULT_PASSWORD_RULES" }],
required: true,
infoText: i18n.baseText("auth.defaultPasswordRequirements"),
autocomplete: "new-password",
capitalize: true
}
},
{
name: "agree",
properties: {
label: i18n.baseText("auth.agreement.label"),
type: "checkbox"
}
}
]
};
const loading = ref(false);
const inviter = ref(null);
const inviterId = ref(null);
const inviteeId = ref(null);
const inviteMessage = computed(() => {
if (!inviter.value) return "";
return i18n.baseText("settings.signup.signUpInviterInfo", { interpolate: {
firstName: inviter.value.firstName,
lastName: inviter.value.lastName
} });
});
onMounted(async () => {
const inviterIdParam = getQueryParameter("inviterId");
const inviteeIdParam = getQueryParameter("inviteeId");
try {
if (!inviterIdParam || !inviteeIdParam) throw new Error(i18n.baseText("auth.signup.missingTokenError"));
inviterId.value = inviterIdParam;
inviteeId.value = inviteeIdParam;
inviter.value = (await usersStore.validateSignupToken({
inviteeId: inviteeId.value,
inviterId: inviterId.value
})).inviter;
} catch (e) {
toast.showError(e, i18n.baseText("auth.signup.tokenValidationError"));
router.replace({ name: VIEWS.SIGNIN });
}
});
async function onSubmit(values) {
if (!inviterId.value || !inviteeId.value) {
toast.showError(new Error(i18n.baseText("auth.signup.tokenValidationError")), i18n.baseText("auth.signup.setupYourAccountError"));
return;
}
try {
loading.value = true;
await usersStore.acceptInvitation({
...values,
inviterId: inviterId.value,
inviteeId: inviteeId.value
});
if (values.agree === true) try {
await usersStore.submitContactEmail(values.email.toString(), values.agree);
} catch {}
await router.push({ name: VIEWS.HOMEPAGE });
} catch (error) {
toast.showError(error, i18n.baseText("auth.signup.setupYourAccountError"));
}
loading.value = false;
}
function getQueryParameter(key) {
return !route.query[key] || typeof route.query[key] !== "string" ? null : route.query[key];
}
return (_ctx, _cache) => {
return openBlock(), createBlock(AuthView_default, {
form: FORM_CONFIG,
"form-loading": loading.value,
subtitle: inviteMessage.value,
onSubmit
}, null, 8, ["form-loading", "subtitle"]);
};
}
});
export { SignupView_default as default };