diff --git a/package.json b/package.json index 7e89898fc..feeacc8c9 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "@graphql-codegen/typescript-operations": "^3.0.3", "@hypha-dao/hypha-token-sales-util": "^1.0.1", "@hypha-dao/ppp-client-api": "1.0.3", - "@hypha-dao/ual-hypha": "^1.0.12", + "@hypha-dao/ual-hypha": "^1.0.13", "@quasar/extras": "1.10.4", "@sentry/browser": "6.3.1", "@sentry/integrations": "6.3.1", diff --git a/src/boot/api.js b/src/boot/api.js index fa25580b4..1ec38a8cc 100644 --- a/src/boot/api.js +++ b/src/boot/api.js @@ -1,14 +1,7 @@ import { Api, JsonRpc } from 'eosjs' import axios from 'axios' -import { Screen } from 'quasar' -import I18n from '~/utils/i18n' -const DEFAULT_OPTIONS = { - title: Screen.gt.md ? I18n.t('hypha-wallet-pop-up.signTransaction.desktop.title') : I18n.t('hypha-wallet-pop-up.signTransaction.mobile.title'), - text: Screen.gt.md ? I18n.t('hypha-wallet-pop-up.signTransaction.desktop.text') : I18n.t('hypha-wallet-pop-up.signTransaction.mobile.text'), - actionText: Screen.gt.md ? I18n.t('hypha-wallet-pop-up.signTransaction.desktop.actionText') : I18n.t('hypha-wallet-pop-up.signTransaction.mobile.actionText') -} -const signTransaction = async function (actions, options = DEFAULT_OPTIONS) { +const signTransaction = async function (actions, options = {}) { actions.forEach((action) => { if (!action.authorization || !action.authorization.length) { action.authorization = [ diff --git a/src/boot/ual.js b/src/boot/ual.js index 0a9e0234c..088d074ac 100644 --- a/src/boot/ual.js +++ b/src/boot/ual.js @@ -2,6 +2,24 @@ import { UAL } from 'universal-authenticator-library' import { Anchor } from 'ual-anchor' import { HyphaAuthenticator } from '@hypha-dao/ual-hypha' import { SeedsAuthenticator } from 'ual-seeds' +import { Screen } from 'quasar' +import I18n from '~/utils/i18n' + +const DEFAULT_LOGIN_OPTIONS = { + title: Screen.gt.md ? I18n.t('hypha-wallet-pop-up.signTransaction.desktop.login') : I18n.t('hypha-wallet-pop-up.signTransaction.mobile.login'), + text: Screen.gt.md ? I18n.t('hypha-wallet-pop-up.signTransaction.desktop.text') : I18n.t('hypha-wallet-pop-up.signTransaction.mobile.text'), + actionText: Screen.gt.md ? I18n.t('hypha-wallet-pop-up.signTransaction.desktop.actionText') : I18n.t('hypha-wallet-pop-up.signTransaction.mobile.actionText') +} +const DEFAULT_SIGN_TRANSACTION_OPTIONS = { + title: Screen.gt.md ? I18n.t('hypha-wallet-pop-up.signTransaction.desktop.title') : I18n.t('hypha-wallet-pop-up.signTransaction.mobile.title'), + text: Screen.gt.md ? I18n.t('hypha-wallet-pop-up.signTransaction.desktop.text') : I18n.t('hypha-wallet-pop-up.signTransaction.mobile.text'), + actionText: Screen.gt.md ? I18n.t('hypha-wallet-pop-up.signTransaction.desktop.actionText') : I18n.t('hypha-wallet-pop-up.signTransaction.mobile.actionText') +} + +const UAL_HYPHA_TRANSLATIONS = { + login: DEFAULT_LOGIN_OPTIONS, + signTransaction: DEFAULT_SIGN_TRANSACTION_OPTIONS +} export default async ({ Vue, store }) => { const mainChain = { @@ -16,7 +34,8 @@ export default async ({ Vue, store }) => { } const hyphaWallet = new HyphaAuthenticator([mainChain], { appName: process.env.APP_NAME, - loginContract: process.env.LOGIN_CONTRACT + loginContract: process.env.LOGIN_CONTRACT, + translation: UAL_HYPHA_TRANSLATIONS }) const lw = new SeedsAuthenticator([mainChain], { appName: process.env.APP_NAME }) const anchor = new Anchor([mainChain], { appName: process.env.APP_NAME }) diff --git a/src/components/login/register-user-with-captcha-view.vue b/src/components/login/register-user-with-captcha-view.vue index a86321eec..dd5915a4e 100644 --- a/src/components/login/register-user-with-captcha-view.vue +++ b/src/components/login/register-user-with-captcha-view.vue @@ -45,7 +45,11 @@ export default { }, create: { name: 'create-your-dao', - index: 4 + index: 4, + insideSteps: { + identity: true, + publish: false + } }, loading: { name: 'loading', @@ -105,7 +109,9 @@ export default { logo: '', primaryColor: '#242f5d', secondaryColor: '#3f64ee', - textColor: '#ffffff' + textColor: '#ffffff', + email: '', + affiliate: '' }, showLoadingModal: false, progress: 0, @@ -125,6 +131,12 @@ export default { isImageSelected: { cache: false, get () { return this.$refs.ipfsInput?.imageURI } + }, + canNextStep() { + return this.form.title && this.form.description && this.form.logo + }, + canPublish() { + return this.canNextStep && this.form.email && this.form.affiliate } }, watch: { @@ -274,6 +286,14 @@ export default { }, enterDao() { this.$router.push({ name: 'dashboard' }) + }, + nextCreateStep() { + this.steps.create.insideSteps.identity = false + this.steps.create.insideSteps.publish = true + }, + backCreateStep() { + this.steps.create.insideSteps.identity = true + this.steps.create.insideSteps.publish = false } } } @@ -337,31 +357,55 @@ export default { .row.flex.justify-center.items-center.q-mt-xl .text-primary.text-bold.cursor-pointer.text-underline(@click="goToDocumentation()") {{ $t('login.register-user-with-captcha-view.needHelp') }} #form4.flex.column.justify-between.no-wrap.full-height(v-show="step === this.steps.create.name") - div.full-height.column.justify-end - .font-lato.text-heading.text-bold(:class="{ 'desktop-line-height desktop-font-size': $q.screen.gt.md }" :style="{ 'font-size': '38px' }") {{ $t('login.register-user-with-captcha-view.createYourDao') }} - .q-mt-md {{ $t('login.register-user-with-captcha-view.goAheadAndAddYour') }} - div - div.full-width.justify-between(:class="{ 'col': !$q.screen.gt.md, 'row': $q.screen.gt.md, 'q-mt-xl': $q.screen.gt.md, 'q-mt-xs': !$q.screen.gt.md }") - .col(:class="{ 'full-width q-pt-md': !$q.screen.gt.md }") - .row.justify-center.items-end - .col-auto.q-mb-xxxs - loading-spinner.q-mb-xxs(v-if="$refs.ipfsInput?.isUploading" color="primary" size="2em") - q-avatar.flex.justify-center.items-center(v-else size="40px" color="primary" text-color="white") - q-btn(v-if="!isImageSelected" @click="$refs.ipfsInput.chooseFile()" icon="fa fa-image" color="white" flat round size="12px" unelevated) - img(v-if="isImageSelected" :src="$refs.ipfsInput.imageURI") - .col.q-ml-md - label.h-label {{ $t('pages.onboarding.logoIcon') }} - q-btn.full-width.rounded-border.text-bold.q-mt-xs(:class="{ 'q-px-xl': $q.screen.gt.md }" @click="$refs.ipfsInput.chooseFile()" color="primary" :label="$t('pages.onboarding.uploadAnImage')" no-caps outline rounded unelevated) - input-file-ipfs(@uploadedFile="form.logo = arguments[0] " image="image" ref="ipfsInput" v-show="false") - .col.q-ml-md(:class="{ 'full-width q-mt-md': !$q.screen.gt.md, 'q-pr-md': $q.screen.gt.md }") - label.h-label {{ $t('pages.onboarding.name') }} - q-input.q-mt-xs.rounded-border(:rules="[rules.required, rules.min(3)]" dense lazy-rules="ondemand" maxlength="50" outlined :placeholder="$t('pages.onboarding.theDisplayNameOfYourDao')" ref="title" v-model="form.title") - .row.full-width.justify-between(:class="{ 'bottom-padding': !$q.screen.gt.md }") - .col-12(:class="{ 'full-width': !$q.screen.gt.md, 'q-mt-md': $q.screen.gt.md }") - label.h-label {{ $t('pages.onboarding.purpose') }} - q-input.q-mt-xs.rounded-border(:input-style="{ 'resize': 'none' }" :rules="[rules.required]" dense lazy-rules="ondemand" maxlength="300" outlined :placeholder="$t('pages.onboarding.brieflyExplainWhatYourDao')" ref="description" rows="4" type="textarea" v-model="form.description") - nav.row.justify-end.q-mt-xl.q-gutter-xs - q-btn.q-px-xl(v-if="$q.screen.gt.md" @click="onSubmit" color="primary" :label="$t('login.register-user-with-captcha-view.publishYourDao')" no-caps rounded unelevated) + template(v-if="this.steps.create.insideSteps.identity") + div.full-height.column.justify-end + .font-lato.text-heading.text-bold(:class="{ 'desktop-line-height desktop-font-size': $q.screen.gt.md }" :style="{ 'font-size': '38px' }") {{ $t('login.register-user-with-captcha-view.daoIndentity') }} + .q-mt-md {{ $t('login.register-user-with-captcha-view.goAheadAndAddYour') }} + div + div.full-width.justify-between(:class="{ 'col': !$q.screen.gt.md, 'row': $q.screen.gt.md, 'q-mt-xl': $q.screen.gt.md, 'q-mt-xs': !$q.screen.gt.md }") + .col(:class="{ 'full-width q-pt-md': !$q.screen.gt.md }") + .row.justify-center.items-end + .col-auto.q-mb-xxxs + loading-spinner.q-mb-xxs(v-if="$refs.ipfsInput?.isUploading" color="primary" size="2em") + q-avatar.flex.justify-center.items-center(v-else size="40px" color="primary" text-color="white") + q-btn(v-if="!isImageSelected" @click="$refs.ipfsInput.chooseFile()" icon="fa fa-image" color="white" flat round size="12px" unelevated) + img(v-if="isImageSelected" :src="$refs.ipfsInput.imageURI") + .col.q-ml-md + label.h-label {{ $t('pages.onboarding.logoIcon') }} + q-btn.full-width.rounded-border.text-bold.q-mt-xs(:class="{ 'q-px-xl': $q.screen.gt.md }" @click="$refs.ipfsInput.chooseFile()" color="primary" :label="$t('pages.onboarding.uploadAnImage')" no-caps outline rounded unelevated) + input-file-ipfs(@uploadedFile="form.logo = arguments[0] " image="image" ref="ipfsInput" v-show="false") + .col.q-ml-md(:class="{ 'full-width q-mt-md': !$q.screen.gt.md, 'q-pr-md': $q.screen.gt.md }") + label.h-label {{ $t('pages.onboarding.name') }} + q-input.q-mt-xs.rounded-border(:rules="[rules.required, rules.min(3)]" dense lazy-rules="ondemand" maxlength="50" outlined :placeholder="$t('pages.onboarding.theDisplayNameOfYourDao')" ref="title" v-model="form.title") + .row.full-width.justify-between(:class="{ 'bottom-padding': !$q.screen.gt.md }") + .col-12(:class="{ 'full-width': !$q.screen.gt.md, 'q-mt-md': $q.screen.gt.md }") + label.h-label {{ $t('pages.onboarding.purpose') }} + q-input.q-mt-xs.rounded-border(:input-style="{ 'resize': 'none' }" :rules="[rules.required]" dense lazy-rules="ondemand" maxlength="300" outlined :placeholder="$t('pages.onboarding.brieflyExplainWhatYourDao')" ref="description" rows="4" type="textarea" v-model="form.description") + nav.row.justify-end.q-mt-xl.q-gutter-xs + q-btn.q-px-xl(v-if="$q.screen.gt.md" :disable="!canNextStep" @click="nextCreateStep()" color="primary" :label="$t('login.register-user-with-captcha-view.next')" no-caps rounded unelevated) + template(v-else-if="this.steps.create.insideSteps.publish") + div.full-height.column.justify-end + .row.flex.items-center.cursor-pointer(@click="backCreateStep()") + q-icon.q-mr-xxs(name="fas fa-chevron-left" color="primary" size="14px") + .text-bold.text-primary {{ $t('login.login-view.back') }} + .font-lato.text-heading.text-bold(:class="{ 'desktop-line-height desktop-font-size': $q.screen.gt.md }" :style="{ 'font-size': '38px' }") {{ $t('login.register-user-with-captcha-view.publishYourDao') }} + .h-h5.q-mt-md {{ $t('login.register-user-with-captcha-view.connectWithUs') }} + .q-mt-md {{ $t('login.register-user-with-captcha-view.toBeThere') }} + div + div.full-width.justify-between(:class="{ 'col': !$q.screen.gt.md, 'row': $q.screen.gt.md, 'q-mt-xl': $q.screen.gt.md, 'q-mt-xs': !$q.screen.gt.md }") + .col.q-mr-sm(:class="{ 'full-width q-mt-md': !$q.screen.gt.md }") + label.h-label {{ $t('pages.onboarding.email') }} + q-input.q-mt-xs.rounded-border(:rules="[rules.required, rules.min(3)]" dense lazy-rules="ondemand" outlined :placeholder="$t('pages.onboarding.email')" ref="email" v-model="form.email") + .col(:class="{ 'full-width q-mt-md': !$q.screen.gt.md }") + label.h-label {{ $t('pages.onboarding.affiliate') }} + q-input.q-mt-xs.rounded-border(:rules="[rules.required, rules.min(3)]" dense lazy-rules="ondemand" outlined :placeholder="$t('pages.onboarding.affiliate')" ref="affiliate" v-model="form.affiliate") + .row.full-width.justify-between(:class="{ 'bottom-padding': !$q.screen.gt.md }") + .col.q-mr-sm + q-input.rounded-border.bg-internal-bg(dense disable outlined v-model="account") + .col + q-input.rounded-border.bg-internal-bg(dense disable outlined v-model="form.title") + nav.row.justify-end.q-mt-xl.q-gutter-xs + q-btn.q-px-xl(:disable="canPublish" v-if="$q.screen.gt.md" @click="onSubmit" color="primary" :label="$t('login.register-user-with-captcha-view.publishYourDao')" no-caps rounded unelevated) #form5.flex.items-center.justify-center.no-wrap(v-show="step === this.steps.loading.name") q-dialog(v-if="$q.screen.gt.md" :value="showLoadingModal" persistent) widget.bg-white.q-pa-xxxl.width-auto.col-auto.full-width(:style="'border-radius: 25px; box-shadow: 0px 0px 26px 0px rgba(0, 0, 41, 0.2); max-width: 1180px;'") diff --git a/src/components/proposals/proposal-card-chips.vue b/src/components/proposals/proposal-card-chips.vue index 1b4b38a64..79de6b4ca 100644 --- a/src/components/proposals/proposal-card-chips.vue +++ b/src/components/proposals/proposal-card-chips.vue @@ -111,9 +111,8 @@ export default { break case 'Assignbadge' || 'Assignment Badge': result.push(...[ - { color: 'primary', label: this.$t('proposals.proposal-card-chips.ability') }, - { color: 'primary', outline: true, label: this.$t('proposals.proposal-card-chips.assignment') } - ]) + { color: 'primary', label: this.$t('proposals.proposal-card-chips.badge') }, + { color: 'primary', outline: true, label: this.$t('proposals.proposal-card-chips.application') }]) break case 'Role': result.push(...[ @@ -130,7 +129,8 @@ export default { } if (this.type === PROPOSAL_TYPE.ABILITY || this.type === PROPOSAL_TYPE.ASSIGNBADGE) { result.push(...[ - { color: 'primary', label: this.$t('proposals.proposal-card-chips.ability') } + { color: 'primary', label: this.$t('proposals.proposal-card-chips.badge') }, + { color: 'primary', outline: true, label: this.$t('proposals.proposal-card-chips.application') } ]) } diff --git a/src/components/proposals/proposal-view.vue b/src/components/proposals/proposal-view.vue index ff2932d40..52fb60eca 100644 --- a/src/components/proposals/proposal-view.vue +++ b/src/components/proposals/proposal-view.vue @@ -144,6 +144,12 @@ export default { }, showDefferedValue () { return this.$store.state.dao.settings.pegToken && this.$store.state.dao.settings.rewardToken + }, + isBadgeAssignment () { + return this.type === PROPOSAL_TYPE.ASSIGNBADGE + }, + getBadgeAssignmentIcon () { + return this.proposal?.badge?.[0]?.details_icon_s } }, @@ -185,6 +191,9 @@ export default { if (await this.adjustDeferred({ docId: this.docId, deferred: value })) { this.$emit('change-deferred', value) } + }, + goToBadge () { + this.$router.push({ name: 'organization/assets/badge', params: { docId: this.proposal?.badge?.[0]?.docId } }) } }, apollo: { @@ -212,11 +221,18 @@ widget.proposal-view.q-mb-sm .col.justify-end.flex.items-center(v-if="periodCount") .text-grey.text-italic(:style="{ 'font-size': '12px' }") {{ `Starting ${start} | Duration: ${periodCount} period${periodCount > 1 ? 's' : ''}` }} q-tooltip(anchor="center end") {{ $t('proposals.proposal-view.1MoonPeriod') }} - .text-grey.text-italic.q-mt-sm(:style="{ 'font-size': '12px' }") {{ $t('proposals.proposal-view.title') }} - .row.q-mb-sm - .column - .text-h5.text-bold {{ title }} - .text-italic.text-body {{ subtitle }} + .col.justify-end.flex.items-center(v-if="isBadgeAssignment") + .text-grey.text-italic(:style="{ 'font-size': '12px' }") {{ `Badge validity: ${this.proposal.details_periodCount_i} period${this.proposal.details_periodCount_i > 1 ? 's' : ''}` }} + .row.q-my-sm + .col-1.flex.items-center(v-if="isBadgeAssignment") + img.icon-img(:src="getBadgeAssignmentIcon") + .col + .text-grey.text-italic(v-if="isBadgeAssignment" :style="{ 'font-size': '12px' }") {{ $t('proposals.proposal-view.badgeName') }} + .text-grey.text-italic(v-else :style="{ 'font-size': '12px' }") {{ $t('proposals.proposal-view.title') }} + .row + .column + .text-h5.text-bold {{ title }} + .text-italic.text-body {{ subtitle }} version-history(v-if="type === PROPOSAL_TYPE.POLICY && !hidePolicyHistory" :proposalId="proposal?.docId ? proposal?.docId : docId") quest-progression(v-if="type === PROPOSAL_TYPE.QUEST_START && status === PROPOSAL_STATE.APPROVED" :proposalId="proposal?.docId ? proposal?.docId : docId") .q-my-sm(:class="{ 'row':$q.screen.gt.md }" v-if="type === PROPOSAL_TYPE.ROLE || type === PROPOSAL_TYPE.EDIT || type === PROPOSAL_TYPE.PAYOUT || type === PROPOSAL_TYPE.ABILITY || type === PROPOSAL_TYPE.BADGE") @@ -296,15 +312,23 @@ widget.proposal-view.q-mb-sm template(v-if="masterPolicy") .text-xs.text-grey.text-italic {{ $t('proposals.proposal-view.parentPolicy') }} .row.q-mb-lg {{ masterPolicy.label }} - .text-grey.text-italic(v-if="descriptionWithoutSpecialCharacters" :style="{ 'font-size': '12px' }" :class="{ 'q-mt-lg': !purpose }") {{ $t('proposals.proposal-view.description') }} + .text-grey.text-italic(v-if="isBadgeAssignment" :style="{ 'font-size': '12px' }") {{ $t('proposals.proposal-view.applicantMessage') }} + .text-grey.text-italic(v-else-if="descriptionWithoutSpecialCharacters" :style="{ 'font-size': '12px' }") {{ $t('proposals.proposal-view.description') }} .row q-markdown(:style="'width: -webkit-fill-available;'" :src="descriptionWithoutSpecialCharacters") + template(v-if="isBadgeAssignment") + .text-grey.text-italic(:style="{ 'font-size': '12px' }") {{ $t('proposals.proposal-view.badgeDescription') }} + .row + q-markdown(:style="'width: -webkit-fill-available;'" :src="this.proposal.badge?.[0].details_description_s") .text-grey.text-italic.q-mb-sm(v-if="url" :style="{ 'font-size': '12px' }") {{ $t('proposals.proposal-view.attachedDocuments') }} .row.items-center.q-mb-md.bg-internal-bg.relative(v-if="url" :style="{ 'padding': '7px 10px', 'border-radius': '15px' }") q-icon(name="far fa-file" size="xs" color="primary") ipfs-file-viewer(v-if="isIpfsFile" size="lg" :ipfsCid="url") a.on-right(v-else :href="url") {{ url }} q-icon.absolute(name="fas fa-chevron-right" :style="{ 'right': '10px' }") + .row.flex.items-center.q-mb-md(v-if="isBadgeAssignment") + .text-primary.text-underline.cursor-pointer(@click="goToBadge()" :style="'font-size: 12px; font-weight: 600;'") See Badge Details + q-icon(size="10px" name="fas fa-chevron-right") template(v-if="!preview && !isBadge") .text-grey.text-italic.top-border.q-pt-sm(:style="{ 'font-size': '12px' }") {{ $t('proposals.proposal-view.createdBy') }} .row.q-pt-md.justify-between diff --git a/src/locales/en.json b/src/locales/en.json index e2728a220..0d21ec5e1 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -866,7 +866,11 @@ "goAheadAndAddYour":"Start by uploading your logo and entering your DAO’s name. After that, go ahead and create a short and meaningful purpose statement for your DAO.", "publishYourDao":"Publish your DAO", "needHelp":"Need help?", - "downloadWallet": "Download Hypha Wallet app" + "downloadWallet": "Download Hypha Wallet app", + "next": "Next", + "daoIndentity": "DAO Identity", + "toBeThere": "To be there for you as your DAO grows, we'd love to stay in touch. Rest assured, we'll only use your email for DAO-related communication and won't share it with anyone else. Your privacy to important to us!", + "connectWithUs": "Connect with us, Optional Step:" }, "welcome-view":{ "youNeedAn":"Log in with your Hypha account", @@ -1237,7 +1241,8 @@ "voting":"VOTING", "active":"ACTIVE", "archived":"ARCHIVED", - "suspended":"SUSPENDED" + "suspended":"SUSPENDED", + "application": "Application" }, "proposal-view":{ "s":" 1 ? 's' : ''}` }}", @@ -1270,7 +1275,10 @@ "compensationForOneCycle":"Reward for one cycle", "compensationForOnePeriod":"Reward for one period", "1MoonCycle":"1 moon cycle is around 30 days", - "1MoonPeriod":"1 moon period is around 7 days" + "1MoonPeriod":"1 moon period is around 7 days", + "badgeName": "Badge Name", + "applicantMessage": "Applicant Message", + "badgeDescription": "Badge Description" }, "quest-progression":{ "questProgression":"Quest Progression" @@ -1981,6 +1989,7 @@ "name":"DAO Name", "logoIcon":"DAO Logo", "purpose":"DAO Purpose", + "email": "Email", "theDisplayNameOfYourDao":"The display name of your DAO (max. 50 character)", "uploadAnImage":"Upload logo", "brieflyExplainWhatYourDao":"Briefly explain what your DAO is all about (max. 300 characters)", @@ -2005,7 +2014,8 @@ "publishingTheDao": "Publishing the DAO can take a moment.", "pleaseBearWithUs": "Please bear with us and don’t leave this page in the meantime. We're making sure the DAO is up and running.", "allDone": "All done...", - "creatingSlotsFor": "Creating { title }" + "creatingSlotsFor": "Creating { title }", + "affiliate": "Affiliate" } }, "notifications":{ diff --git a/src/locales/es.json b/src/locales/es.json index 5bf1fbfd2..7b171ea14 100644 --- a/src/locales/es.json +++ b/src/locales/es.json @@ -861,7 +861,11 @@ "goAheadAndAddYour": "Continúe, agregue el nombre de su DAO y cargue un logotipo. ", "publishYourDao": "Publica tu DAO", "needHelp": "¿Necesitas ayuda?", - "downloadWallet": "Descargar billetera" + "downloadWallet": "Descargar billetera", + "next": "Próximo", + "daoIndentity": "Identidad DAO", + "toBeThere": "Para estar ahí para usted a medida que crece su DAO, nos encantaría permanecer en contacto. ", + "connectWithUs": "Conéctate con nosotros, Paso Opcional:" }, "welcome-view": { "youNeedAn": "Necesita una cuenta Hypha para interactuar con Hypha Ecosystem y crear una DAO.", @@ -1232,7 +1236,8 @@ "voting": "VOTACIÓN", "active": "ACTIVO", "archived": "ARCHIVADO", - "suspended": "SUSPENDIDO" + "suspended": "SUSPENDIDO", + "application": "Solicitud" }, "proposal-view": { "s": " 1 ? ", @@ -1265,7 +1270,10 @@ "compensationForOneCycle": "Recompensa por un ciclo", "compensationForOnePeriod": "Recompensa por un período", "1MoonCycle": "1 ciclo lunar dura alrededor de 30 días.", - "1MoonPeriod": "1 período lunar dura alrededor de 7 días." + "1MoonPeriod": "1 período lunar dura alrededor de 7 días.", + "badgeName": "Placa de identificación", + "applicantMessage": "Mensaje del solicitante", + "badgeDescription": "Descripción de la insignia" }, "quest-progression": { "questProgression": "Progresión de misiones" @@ -1976,6 +1984,7 @@ "name": "Nombre de DAO", "logoIcon": "Logotipo de DAO", "purpose": "Propósito de DAO", + "email": "Correo electrónico", "theDisplayNameOfYourDao": "El nombre para mostrar de su DAO (máximo 50 caracteres)", "uploadAnImage": "Subir logotipo", "brieflyExplainWhatYourDao": "Explique brevemente de qué se trata su DAO (máximo 300 caracteres)", diff --git a/src/locales/ko.json b/src/locales/ko.json index 360e1e516..04ee0678e 100644 --- a/src/locales/ko.json +++ b/src/locales/ko.json @@ -861,7 +861,11 @@ "goAheadAndAddYour": "계속해서 DAO의 이름을 추가하고 로고를 업로드하세요. ", "publishYourDao": "DAO 게시", "needHelp": "도움이 필요하다?", - "downloadWallet": "지갑 다운로드" + "downloadWallet": "지갑 다운로드", + "next": "다음", + "daoIndentity": "DAO 아이덴티티", + "toBeThere": "귀하의 DAO가 성장함에 따라 귀하와 함께 할 수 있도록 우리는 계속 연락하고 싶습니다. ", + "connectWithUs": "우리에게 연락하세요. 선택 단계:" }, "welcome-view": { "youNeedAn": "Hypha 생태계와 상호작용하고 DAO를 생성하려면 Hypha 계정이 필요합니다.", @@ -1232,7 +1236,8 @@ "voting": "투표", "active": "활동적인", "archived": "보관됨", - "suspended": "정지된" + "suspended": "정지된", + "application": "애플리케이션" }, "proposal-view": { "s": " 1 ? ", @@ -1265,7 +1270,10 @@ "compensationForOneCycle": "한 사이클에 대한 보상", "compensationForOnePeriod": "한 기간 동안 보상", "1MoonCycle": "달의 1주기는 약 30일이다.", - "1MoonPeriod": "1월의 주기는 약 7일이다." + "1MoonPeriod": "1월의 주기는 약 7일이다.", + "badgeName": "배지 이름", + "applicantMessage": "지원자 메시지", + "badgeDescription": "배지 설명" }, "quest-progression": { "questProgression": "퀘스트 진행" @@ -1976,6 +1984,7 @@ "name": "다오 이름", "logoIcon": "다오 로고", "purpose": "DAO 목적", + "email": "이메일", "theDisplayNameOfYourDao": "DAO의 표시 이름(최대 50자)", "uploadAnImage": "로고 업로드", "brieflyExplainWhatYourDao": "귀하의 DAO가 무엇인지 간략하게 설명하세요(최대 300자).", diff --git a/src/locales/pt.json b/src/locales/pt.json index 0e2d23246..d23c217e2 100644 --- a/src/locales/pt.json +++ b/src/locales/pt.json @@ -861,7 +861,11 @@ "goAheadAndAddYour": "Vá em frente e adicione o nome do seu DAO e carregue um logotipo. ", "publishYourDao": "Publique seu DAO", "needHelp": "Preciso de ajuda?", - "downloadWallet": "Baixar carteira" + "downloadWallet": "Baixar carteira", + "next": "Próximo", + "daoIndentity": "Identidade DAO", + "toBeThere": "Para estar ao seu lado à medida que seu DAO cresce, adoraríamos manter contato. ", + "connectWithUs": "Conecte-se conosco, etapa opcional:" }, "welcome-view": { "youNeedAn": "Você precisa de uma conta Hypha para interagir com o ecossistema Hypha e criar um DAO.", @@ -1232,7 +1236,8 @@ "voting": "VOTAÇÃO", "active": "ATIVO", "archived": "ARQUIVADO", - "suspended": "SUSPENSO" + "suspended": "SUSPENSO", + "application": "Aplicativa" }, "proposal-view": { "s": " 1? ", @@ -1265,7 +1270,10 @@ "compensationForOneCycle": "Recompensa por um ciclo", "compensationForOnePeriod": "Recompensa por um período", "1MoonCycle": "O ciclo de 1 lua dura cerca de 30 dias", - "1MoonPeriod": "O período de 1 lua dura cerca de 7 dias" + "1MoonPeriod": "O período de 1 lua dura cerca de 7 dias", + "badgeName": "Nome no crachá", + "applicantMessage": "Mensagem do Candidato", + "badgeDescription": "Descrição do selo" }, "quest-progression": { "questProgression": "Progressão da missão" @@ -1976,6 +1984,7 @@ "name": "Nome DAO", "logoIcon": "DAO Logo", "purpose": "Objetivo DAO", + "email": "E-mail", "theDisplayNameOfYourDao": "O nome de exibição do seu DAO (máx. 50 caracteres)", "uploadAnImage": "Carregar logotipo", "brieflyExplainWhatYourDao": "Explique resumidamente do que se trata o seu DAO (máx. 300 caracteres)", diff --git a/src/locales/sr.json b/src/locales/sr.json index 8a5afd311..26a61b2c4 100644 --- a/src/locales/sr.json +++ b/src/locales/sr.json @@ -861,7 +861,11 @@ "goAheadAndAddYour": "Само напред додајте име свог ДАО-а и отпремите логотип. ", "publishYourDao": "Објавите свој ДАО", "needHelp": "Потребна помоћ?", - "downloadWallet": "Преузмите Новчаник" + "downloadWallet": "Преузмите Новчаник", + "next": "Следећи", + "daoIndentity": "ДАО Идентити", + "toBeThere": "Да бисмо били уз вас док ваш ДАО расте, волели бисмо да останемо у контакту. ", + "connectWithUs": "Повежите се са нама, опциони корак:" }, "welcome-view": { "youNeedAn": "Потребан вам је Хипха налог да бисте комуницирали са Хипха екосистемом и креирали ДАО.", @@ -1232,7 +1236,8 @@ "voting": "ГЛАСАЊЕ", "active": "АКТИВНО", "archived": "АРХИВИРАНО", - "suspended": "СУСПЕНДЕД" + "suspended": "СУСПЕНДЕД", + "application": "Апликација" }, "proposal-view": { "s": " 1 ? ", @@ -1265,7 +1270,10 @@ "compensationForOneCycle": "Награда за један циклус", "compensationForOnePeriod": "Награда за један период", "1MoonCycle": "1 месечев циклус траје око 30 дана", - "1MoonPeriod": "Период 1 месеца траје око 7 дана" + "1MoonPeriod": "Период 1 месеца траје око 7 дана", + "badgeName": "Назив Значке", + "applicantMessage": "Порука подносиоца захтева", + "badgeDescription": "Опис значке" }, "quest-progression": { "questProgression": "Прогресија задатака" @@ -1976,6 +1984,7 @@ "name": "ДАО Име", "logoIcon": "ДАО Лого", "purpose": "Сврха ДАО", + "email": "Емаил", "theDisplayNameOfYourDao": "Име за приказ вашег ДАО-а (макс. 50 знакова)", "uploadAnImage": "Отпремите лого", "brieflyExplainWhatYourDao": "Укратко објасните шта је ваш ДАО (макс. 300 знакова)", diff --git a/src/locales/zh.json b/src/locales/zh.json index f4bed0663..791a43aa1 100644 --- a/src/locales/zh.json +++ b/src/locales/zh.json @@ -861,7 +861,11 @@ "goAheadAndAddYour": "继续添加您的 DAO 名称并上传徽标。", "publishYourDao": "发布您的 DAO", "needHelp": "需要帮忙?", - "downloadWallet": "下载钱包" + "downloadWallet": "下载钱包", + "next": "下一个", + "daoIndentity": "DAO身份", + "toBeThere": "随着您的 DAO 不断发展,我们很乐意与您保持联系。", + "connectWithUs": "与我们联系,可选步骤:" }, "welcome-view": { "youNeedAn": "您需要一个 Hypha 帐户才能与 Hypha 生态系统交互并创建 DAO。", @@ -1232,7 +1236,8 @@ "voting": "表决", "active": "积极的", "archived": "存档", - "suspended": "暂停" + "suspended": "暂停", + "application": "應用" }, "proposal-view": { "s": " 1 ? ", @@ -1265,7 +1270,10 @@ "compensationForOneCycle": "一周期奖励", "compensationForOnePeriod": "一期奖励", "1MoonCycle": "1个月亮周期约为30天", - "1MoonPeriod": "1个月亮周期大约是7天" + "1MoonPeriod": "1个月亮周期大约是7天", + "badgeName": "徽章名稱", + "applicantMessage": "申请人消息", + "badgeDescription": "徽章说明" }, "quest-progression": { "questProgression": "任务进展" @@ -1976,6 +1984,7 @@ "name": "道名称", "logoIcon": "DAO标志", "purpose": "DAO 目的", + "email": "电子邮件", "theDisplayNameOfYourDao": "您的 DAO 的显示名称(最多 50 个字符)", "uploadAnImage": "上传徽标", "brieflyExplainWhatYourDao": "简要解释您的 DAO 的全部内容(最多 300 个字符)", diff --git a/src/pages/proposals/create/StepDetails.vue b/src/pages/proposals/create/StepDetails.vue index 3cb0b73d9..49a81bf67 100644 --- a/src/pages/proposals/create/StepDetails.vue +++ b/src/pages/proposals/create/StepDetails.vue @@ -98,7 +98,6 @@ export default { this.votingMethod = this.memberType if (this.$store.state.proposals.draft.type === PROPOSAL_TYPE.ABILITY) { this.title = this.$store.state.proposals?.draft?.badge?.details_title_s - this.description = this.$store.state.proposals?.draft?.badge?.details_description_s ? this.$store.state.proposals?.draft?.badge?.details_description_s : this.$store.state.proposals?.draft?.badge?.details_title_s } }, @@ -154,7 +153,6 @@ widget .col.q-mt-sm(v-if="fields.description") label.h-label {{ fields.description.label }} q-field.q-mt-xs.rounded-border( - :disable="isProposalType(PROPOSAL_TYPE.ABILITY) || isProposalType(PROPOSAL_TYPE.ASSIGNBADGE)" :rules="[rules.required, val => this.$sanitize(val, { allowedTags: [] }).length < DESCRIPTION_MAX_LENGTH || $t('pages.proposals.create.stepdetails.theDescriptionMustContainLess', { DESCRIPTION_MAX_LENGTH: DESCRIPTION_MAX_LENGTH, length: this.$sanitize(description, { allowedTags: [] }).length })]" dense maxlength="4000" diff --git a/src/pages/support/Support.vue b/src/pages/support/Support.vue index 2a42bb70a..5d4be1b8d 100644 --- a/src/pages/support/Support.vue +++ b/src/pages/support/Support.vue @@ -72,12 +72,18 @@ q-page.page-support q-btn(dense flat size="8px" color="primary" icon="fas fa-external-link-alt" @click="openUrl(`/transaction/${notification.transactionId}`)" target="_blank") q-tooltip {{ $t('pages.support.support.displayOnBlockExplorer') }} .relative-position.q-my-md(:class="{'col-3': $q.screen.gt.md, 'q-pl-sm': $q.screen.gt.md,'col-12': !$q.screen.gt.md}") + widget(:title="$t('pages.support.support.doYouHaveQuestions')") .text-body2.q-mt-sm.text-weight-thin.text-grey-7.q-my-md {{ $t('pages.support.support.findOurFull') }} q-btn.q-px-xl.q-mt-xl(rounded no-caps color="primary" type="a" :href="daoSettings.documentationURL" target="_blank") {{ $t('pages.support.support.openWiki') }} + widget.q-mt-md(:title="$t('pages.support.support.version')") .text-body2.q-mt-sm.text-weight-thin.text-grey-7.q-my-md {{ appVersion }} + widget.q-mt-md(title="DAO") + .text-body2.q-mt-sm.text-weight-thin.text-grey-7.q-my-md id: {{ daoSettings.id }} + .text-body2.q-mt-sm.text-weight-thin.text-grey-7.q-my-md name: {{ daoSettings.title }} + .text-body2.q-mt-sm.text-weight-thin.text-grey-7.q-my-md uid: {{ daoSettings.name }}