Is hutopy finally trilangual
This commit is contained in:
@@ -1,23 +0,0 @@
|
||||
{
|
||||
"personal": {
|
||||
"informations": "Personal Information",
|
||||
"fullname": "Full Name",
|
||||
"alias": "Alias",
|
||||
"contact": "Contact Details",
|
||||
"email": "Email"
|
||||
},
|
||||
"creator": {
|
||||
"informations": "Creator Information",
|
||||
"name": "Name",
|
||||
"slug": "URL",
|
||||
"title": "Title",
|
||||
"stripeAccountId": "Stripe Account ID",
|
||||
"socialnetwork": "Social Networks"
|
||||
},
|
||||
"danger": {
|
||||
"title": "Danger Zone",
|
||||
"warning": "WARNING: This will delete your creator page and suspend all tips and donations.",
|
||||
"delete": "DELETE PAGE",
|
||||
"restore": "RESTORE PAGE"
|
||||
}
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
{
|
||||
"personal": {
|
||||
"informations": "Información personal",
|
||||
"fullname": "Nombre completo",
|
||||
"alias": "Alias",
|
||||
"contact": "Detalles de contacto",
|
||||
"email": "Correo electrónico"
|
||||
},
|
||||
"creator": {
|
||||
"informations": "Información del creador",
|
||||
"name": "Nombre",
|
||||
"slug": "URL",
|
||||
"title": "Título",
|
||||
"stripeAccountId": "ID de cuenta Stripe",
|
||||
"socialnetwork": "Redes sociales"
|
||||
},
|
||||
"danger": {
|
||||
"title": "Zona de peligro",
|
||||
"warning": "PRECAUCIÓN: Esto eliminará tu página de creador y suspenderá todos los propinas y donaciones.",
|
||||
"delete": "ELIMINAR PÁGINA",
|
||||
"restore": "RESTAURAR PÁGINA"
|
||||
}
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
{
|
||||
"personal": {
|
||||
"informations": "Informations personnelles",
|
||||
"fullname": "Nom complet",
|
||||
"alias": "Pseudonyme",
|
||||
"contact": "Coordonnées",
|
||||
"email": "Email"
|
||||
},
|
||||
"creator": {
|
||||
"informations": "Informations du créateur",
|
||||
"name": "Nom",
|
||||
"slug": "URL",
|
||||
"title": "Titre",
|
||||
"stripeAccountId": "ID du compte Stripe",
|
||||
"socialnetwork": "Réseaux sociaux"
|
||||
},
|
||||
"danger": {
|
||||
"title": "Zone de danger",
|
||||
"warning": "ATTENTION : Cela supprimera votre page de créateur et suspendra tous les pourboires et dons.",
|
||||
"delete": "SUPPRIMER LA PAGE",
|
||||
"restore": "RESTAURER LA PAGE"
|
||||
}
|
||||
}
|
||||
@@ -18,9 +18,9 @@ import Linkedin from "@/views/svg/Linkedin.vue";
|
||||
import Tiktok from "@/views/svg/Tiktok.vue";
|
||||
import Instagram from "@/views/svg/Instagram.vue";
|
||||
import Facebook from "@/views/svg/Facebook.vue";
|
||||
import { useTranslations } from "@/translations/translations";
|
||||
import { useI18n } from 'vue-i18n';
|
||||
|
||||
const t = useTranslations();
|
||||
const { t } = useI18n();
|
||||
const userProfileStore = useUserProfileStore()
|
||||
|
||||
// ### Fullname
|
||||
@@ -134,14 +134,14 @@ const closeDialog = () => {
|
||||
<div class="card">
|
||||
|
||||
<div class="card-title">
|
||||
{{ t('personal.informations') }}
|
||||
{{ t('personalInfo') }}
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<button
|
||||
class="action"
|
||||
@click="openEditFullname">
|
||||
<span class="label">{{ t('personal.fullname') }}</span>
|
||||
<span class="label">{{ t('fullName') }}</span>
|
||||
<span class="value">{{ userProfileStore.fullname }}</span>
|
||||
<span class="chevron"><v-icon>mdi-chevron-right</v-icon></span>
|
||||
</button>
|
||||
@@ -149,7 +149,7 @@ const closeDialog = () => {
|
||||
<button
|
||||
class="action"
|
||||
@click="openEditAlias">
|
||||
<span class="label">{{ t('personal.alias') }}</span>
|
||||
<span class="label">{{ t('alias') }}</span>
|
||||
<span class="value">{{ userProfileStore.user.alias }}</span>
|
||||
<span class="chevron"><v-icon>mdi-chevron-right</v-icon></span>
|
||||
</button>
|
||||
@@ -160,12 +160,12 @@ const closeDialog = () => {
|
||||
<div class="card">
|
||||
|
||||
<div class="card-title">
|
||||
{{ t('personal.contact') }}
|
||||
{{ t('contactInfo') }}
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<button class="action" @click="openDialog('EmailDialog')">
|
||||
<span class="label">{{ t('personal.email') }}</span>
|
||||
<span class="label">{{ t('email') }}</span>
|
||||
<span class="value">{{ userProfileStore.user.email }}</span>
|
||||
<span class="chevron"><v-icon>mdi-chevron-right</v-icon></span>
|
||||
</button>
|
||||
@@ -176,33 +176,33 @@ const closeDialog = () => {
|
||||
<template v-if="creatorProfileStore.creator !== undefined">
|
||||
<div class="card">
|
||||
<div class="card-title">
|
||||
{{ t('creator.informations') }}
|
||||
{{ t('creatorInfo') }}
|
||||
</div>
|
||||
<div class="content">
|
||||
|
||||
<!-- NAME -->
|
||||
<button class="action" @click="openDialog('ChangeNameDialog')">
|
||||
<span class="label">{{ t('creator.name') }}</span>
|
||||
<span class="label">{{ t('name') }}</span>
|
||||
<span class="value">{{ creatorProfileStore.creator.name }}</span>
|
||||
<span class="chevron"><v-icon>mdi-chevron-right</v-icon></span>
|
||||
</button>
|
||||
|
||||
<button class="action" @click="openDialog('ChangeSlugDialog')">
|
||||
<span class="label">{{ t('creator.slug') }}</span>
|
||||
<span class="label">{{ t('username') }}</span>
|
||||
<span class="value">@{{ creatorProfileStore.creator.slug }}</span>
|
||||
<span class="chevron"><v-icon>mdi-chevron-right</v-icon></span>
|
||||
</button>
|
||||
|
||||
<!-- TITLE -->
|
||||
<button class="action" @click="openDialog('ChangeTitleDialog')">
|
||||
<span class="label">{{ t('creator.title') }}</span>
|
||||
<span class="label">{{ t('title') }}</span>
|
||||
<span class="value">{{ creatorProfileStore.creator.title }}</span>
|
||||
<span class="chevron"><v-icon>mdi-chevron-right</v-icon></span>
|
||||
</button>
|
||||
|
||||
<!-- STRIPE -->
|
||||
<button class="action" @click="openDialog('ChangeStripeIdDialog')">
|
||||
<span class="label">{{ t('creator.stripeAccountId') }}</span>
|
||||
<span class="label">{{ t('stripeAccountId') }}</span>
|
||||
<span class="value">{{ creatorProfileStore.creator.stripeId }}</span>
|
||||
<span class="chevron"><v-icon>mdi-chevron-right</v-icon></span>
|
||||
</button>
|
||||
@@ -212,7 +212,7 @@ const closeDialog = () => {
|
||||
|
||||
<div class="card">
|
||||
<div class="card-title">
|
||||
{{ t('creator.socialnetwork') }}
|
||||
{{ t('socialNetworks') }}
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -248,7 +248,7 @@ const closeDialog = () => {
|
||||
<span class="value">{{ creatorProfileStore.creator.socials?.linkedInUrl }}</span>
|
||||
<span class="chevron"><v-icon>mdi-chevron-right</v-icon></span>
|
||||
</button>
|
||||
|
||||
|
||||
<button class="action" @click="openDialog('SocialsDialog')">
|
||||
<span class="label">
|
||||
<tiktok class="social-icon"></tiktok>
|
||||
@@ -285,20 +285,20 @@ const closeDialog = () => {
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<div class="card-title">{{ t('danger.title') }}</div>
|
||||
<div class="card-title">{{ t('dangerZone') }}</div>
|
||||
<div class="content">
|
||||
<p>
|
||||
{{ t('danger.warning') }}
|
||||
{{ t('deleteWarning') }}
|
||||
</p>
|
||||
<button v-if="!creatorProfileStore.creator.isDeleted"
|
||||
class="danger-action"
|
||||
@click="creatorProfileStore.removeCreatorPage()">
|
||||
{{ t('danger.delete') }}
|
||||
{{ t('deleteCreatorPage') }}
|
||||
</button>
|
||||
<button v-else
|
||||
class="safe-action"
|
||||
@click="creatorProfileStore.restoreCreatorPage()">
|
||||
{{ t('danger.restore') }}
|
||||
{{ t('restoreCreatorPage') }}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -309,7 +309,6 @@ const closeDialog = () => {
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
|
||||
.card {
|
||||
@apply bg-hBackground rounded-lg p-4 w-full max-w-2xl;
|
||||
}
|
||||
@@ -355,4 +354,42 @@ const closeDialog = () => {
|
||||
@apply mt-4;
|
||||
@apply bg-green-800 hover:bg-green-700 active:bg-green-600;
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
||||
<i18n>
|
||||
{
|
||||
"en": {
|
||||
"personalInfo": "Personal Information",
|
||||
"fullName": "Full Name",
|
||||
"alias": "Alias",
|
||||
"contactInfo": "Contact Information",
|
||||
"email": "Email",
|
||||
"creatorInfo": "Creator Information",
|
||||
"dangerZone": "Danger Zone",
|
||||
"deleteWarning": "Are you sure you want to delete your creator page? This action cannot be undone.",
|
||||
"restoreWarning": "Are you sure you want to restore your creator page? This will make your page visible again."
|
||||
},
|
||||
"fr": {
|
||||
"personalInfo": "Informations Personnelles",
|
||||
"fullName": "Nom Complet",
|
||||
"alias": "Alias",
|
||||
"contactInfo": "Informations de Contact",
|
||||
"email": "Email",
|
||||
"creatorInfo": "Informations du Créateur",
|
||||
"dangerZone": "Zone de Danger",
|
||||
"deleteWarning": "Êtes-vous sûr de vouloir supprimer votre page de créateur ? Cette action est irréversible.",
|
||||
"restoreWarning": "Êtes-vous sûr de vouloir restaurer votre page de créateur ? Cela rendra votre page à nouveau visible."
|
||||
},
|
||||
"es": {
|
||||
"personalInfo": "Información Personal",
|
||||
"fullName": "Nombre Completo",
|
||||
"alias": "Alias",
|
||||
"contactInfo": "Información de Contacto",
|
||||
"email": "Correo Electrónico",
|
||||
"creatorInfo": "Información del Creador",
|
||||
"dangerZone": "Zona de Peligro",
|
||||
"deleteWarning": "¿Estás seguro de que quieres eliminar tu página de creador? Esta acción no se puede deshacer.",
|
||||
"restoreWarning": "¿Estás seguro de que quieres restaurar tu página de creador? Esto hará que tu página sea visible nuevamente."
|
||||
}
|
||||
}
|
||||
</i18n>
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"title": "Address",
|
||||
"label": "Your address"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"title": "Dirección",
|
||||
"label": "Tu dirección"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"title": "Adresse",
|
||||
"label": "Votre adresse"
|
||||
}
|
||||
@@ -25,9 +25,9 @@
|
||||
|
||||
<script setup>
|
||||
import {ref} from 'vue';
|
||||
import { useTranslations } from "@/translations/translations";
|
||||
import { useI18n } from 'vue-i18n';
|
||||
|
||||
const t = useTranslations();
|
||||
const { t } = useI18n();
|
||||
const props = defineProps(['address'])
|
||||
const emit = defineEmits(['close', 'save'])
|
||||
|
||||
@@ -36,3 +36,20 @@ const address = ref(props.address);
|
||||
const requestClose = () => emit('close')
|
||||
const requestSave = () => emit('save', address.value)
|
||||
</script>
|
||||
|
||||
<i18n>
|
||||
{
|
||||
"en": {
|
||||
"title": "Address",
|
||||
"label": "Your address"
|
||||
},
|
||||
"fr": {
|
||||
"title": "Adresse",
|
||||
"label": "Votre adresse"
|
||||
},
|
||||
"es": {
|
||||
"title": "Dirección",
|
||||
"label": "Tu dirección"
|
||||
}
|
||||
}
|
||||
</i18n>
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"title": "Alias",
|
||||
"label": "Your alias"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"title": "Alias",
|
||||
"label": "Tu alias"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"title": "Pseudonyme",
|
||||
"label": "Votre pseudonyme"
|
||||
}
|
||||
@@ -34,9 +34,9 @@
|
||||
|
||||
<script setup>
|
||||
import {ref} from 'vue';
|
||||
import { useTranslations } from "@/translations/translations";
|
||||
import { useI18n } from 'vue-i18n';
|
||||
|
||||
const t = useTranslations();
|
||||
const { t } = useI18n();
|
||||
const props = defineProps(['alias'])
|
||||
const emit = defineEmits(['close', 'save'])
|
||||
|
||||
@@ -46,4 +46,21 @@ const requestClose = () => emit('close')
|
||||
const requestSave = () => emit('save', alias.value)
|
||||
</script>
|
||||
|
||||
<i18n>
|
||||
{
|
||||
"en": {
|
||||
"title": "Alias",
|
||||
"label": "Your alias"
|
||||
},
|
||||
"fr": {
|
||||
"title": "Alias",
|
||||
"label": "Votre alias"
|
||||
},
|
||||
"es": {
|
||||
"title": "Alias",
|
||||
"label": "Tu alias"
|
||||
}
|
||||
}
|
||||
</i18n>
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"title": "Birthday",
|
||||
"label": "Your birthday"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"title": "Fecha de nacimiento",
|
||||
"label": "Tu fecha de nacimiento"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"title": "Date de naissance",
|
||||
"label": "Votre date de naissance"
|
||||
}
|
||||
@@ -25,9 +25,9 @@
|
||||
|
||||
<script setup>
|
||||
import {ref} from 'vue';
|
||||
import { useTranslations } from "@/translations/translations";
|
||||
import {useI18n} from 'vue-i18n';
|
||||
|
||||
const t = useTranslations();
|
||||
const {t} = useI18n();
|
||||
const props = defineProps(['birthDate'])
|
||||
const emit = defineEmits(['close', 'save'])
|
||||
|
||||
@@ -36,3 +36,20 @@ const birthDate = ref(props.birthDate)
|
||||
const requestClose = () => emit('close')
|
||||
const requestSave = () => emit('save', birthDate.value)
|
||||
</script>
|
||||
|
||||
<i18n>
|
||||
{
|
||||
"en": {
|
||||
"title": "Birthday",
|
||||
"label": "Your birthday"
|
||||
},
|
||||
"fr": {
|
||||
"title": "Date de naissance",
|
||||
"label": "Votre date de naissance"
|
||||
},
|
||||
"es": {
|
||||
"title": "Fecha de nacimiento",
|
||||
"label": "Tu fecha de nacimiento"
|
||||
}
|
||||
}
|
||||
</i18n>
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"title": "Email",
|
||||
"label": "Your email"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"title": "Correo electrónico",
|
||||
"label": "Tu correo electrónico"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"title": "Email",
|
||||
"label": "Votre email"
|
||||
}
|
||||
@@ -28,9 +28,9 @@
|
||||
<script setup>
|
||||
import {ref} from 'vue';
|
||||
import {useClient} from "@/plugins/api.js";
|
||||
import { useTranslations } from "@/translations/translations";
|
||||
import { useI18n } from 'vue-i18n';
|
||||
|
||||
const t = useTranslations();
|
||||
const { t } = useI18n();
|
||||
const props = defineProps({
|
||||
email: {
|
||||
required: true,
|
||||
@@ -66,4 +66,21 @@ const cancel = () => {
|
||||
};
|
||||
</script>
|
||||
|
||||
<i18n>
|
||||
{
|
||||
"en": {
|
||||
"title": "Change your Email",
|
||||
"label": "Your email"
|
||||
},
|
||||
"fr": {
|
||||
"title": "Changez votre Courriel",
|
||||
"label": "Votre email"
|
||||
},
|
||||
"es": {
|
||||
"title": "Cambia tu correo electrónico",
|
||||
"label": "Tu correo electrónico"
|
||||
}
|
||||
}
|
||||
</i18n>
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"title": "Full Name",
|
||||
"firstname": "First Name",
|
||||
"lastname": "Last Name"
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"title": "Nombre completo",
|
||||
"firstname": "Nombre",
|
||||
"lastname": "Apellido"
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"title": "Nom complet",
|
||||
"firstname": "Prénom",
|
||||
"lastname": "Nom"
|
||||
}
|
||||
@@ -1,8 +1,8 @@
|
||||
<script setup>
|
||||
import {ref} from 'vue';
|
||||
import { useTranslations } from "@/translations/translations";
|
||||
import { useI18n } from 'vue-i18n';
|
||||
|
||||
const t = useTranslations();
|
||||
const { t } = useI18n();
|
||||
const props = defineProps(['firstname', 'lastname'])
|
||||
const emit = defineEmits(['close', 'save'])
|
||||
|
||||
@@ -47,4 +47,24 @@ const requestSave = () => emit('save', firstname.value, lastname.value)
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</template>
|
||||
|
||||
<i18n>
|
||||
{
|
||||
"en": {
|
||||
"title": "Full Name",
|
||||
"firstname": "First Name",
|
||||
"lastname": "Last Name"
|
||||
},
|
||||
"fr": {
|
||||
"title": "Nom complet",
|
||||
"firstname": "Prénom",
|
||||
"lastname": "Nom"
|
||||
},
|
||||
"es": {
|
||||
"title": "Nombre completo",
|
||||
"firstname": "Nombre",
|
||||
"lastname": "Apellido"
|
||||
}
|
||||
}
|
||||
</i18n>
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"title": "Phone Number",
|
||||
"label": "Your phone number"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"title": "Número de teléfono",
|
||||
"label": "Tu número de teléfono"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"title": "Numéro de téléphone",
|
||||
"label": "Votre numéro de téléphone"
|
||||
}
|
||||
@@ -25,9 +25,9 @@
|
||||
|
||||
<script setup>
|
||||
import {ref} from 'vue';
|
||||
import { useTranslations } from "@/translations/translations";
|
||||
import { useI18n } from 'vue-i18n';
|
||||
|
||||
const t = useTranslations();
|
||||
const { t } = useI18n();
|
||||
const props = defineProps(['phone'])
|
||||
const emit = defineEmits(['close', 'save'])
|
||||
|
||||
@@ -35,4 +35,21 @@ const phone = ref(props.phone)
|
||||
|
||||
const requestClose = () => emit('close')
|
||||
const requestSave = () => emit('save', phone.value)
|
||||
</script>
|
||||
</script>
|
||||
|
||||
<i18n>
|
||||
{
|
||||
"en": {
|
||||
"title": "Phone Number",
|
||||
"label": "Your phone number"
|
||||
},
|
||||
"fr": {
|
||||
"title": "Numéro de téléphone",
|
||||
"label": "Votre numéro de téléphone"
|
||||
},
|
||||
"es": {
|
||||
"title": "Número de teléfono",
|
||||
"label": "Tu número de teléfono"
|
||||
}
|
||||
}
|
||||
</i18n>
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"title": "Portrait",
|
||||
"label": "Select an image",
|
||||
"preview": "Portrait preview"
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"title": "Retrato",
|
||||
"label": "Selecciona una imagen",
|
||||
"preview": "Vista previa del retrato"
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"title": "Portrait",
|
||||
"label": "Sélectionnez une image",
|
||||
"preview": "Aperçu du portrait"
|
||||
}
|
||||
@@ -34,9 +34,9 @@
|
||||
|
||||
<script setup>
|
||||
import {ref} from 'vue';
|
||||
import { useTranslations } from "@/translations/translations";
|
||||
import { useI18n } from 'vue-i18n';
|
||||
|
||||
const t = useTranslations();
|
||||
const { t } = useI18n();
|
||||
const props = defineProps(['portraitUrl'])
|
||||
const emit = defineEmits(['close', 'save'])
|
||||
|
||||
@@ -58,3 +58,23 @@ const onSelectedFileChanged = () => {
|
||||
const requestClose = () => emit('close')
|
||||
const requestSave = () => emit('save', selectedFile.value)
|
||||
</script>
|
||||
|
||||
<i18n>
|
||||
{
|
||||
"en": {
|
||||
"title": "Profile Picture",
|
||||
"preview": "Profile picture preview",
|
||||
"label": "Choose a profile picture"
|
||||
},
|
||||
"fr": {
|
||||
"title": "Photo de profil",
|
||||
"preview": "Aperçu de la photo de profil",
|
||||
"label": "Choisir une photo de profil"
|
||||
},
|
||||
"es": {
|
||||
"title": "Foto de perfil",
|
||||
"preview": "Vista previa de la foto de perfil",
|
||||
"label": "Elegir una foto de perfil"
|
||||
}
|
||||
}
|
||||
</i18n>
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
{
|
||||
"title": "Social Networks",
|
||||
"facebook": "Facebook URL",
|
||||
"instagram": "Instagram URL",
|
||||
"twitter": "Twitter URL",
|
||||
"youtube": "YouTube URL",
|
||||
"tiktok": "TikTok URL"
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
{
|
||||
"title": "Redes sociales",
|
||||
"facebook": "URL de Facebook",
|
||||
"instagram": "URL de Instagram",
|
||||
"twitter": "URL de Twitter",
|
||||
"youtube": "URL de YouTube",
|
||||
"tiktok": "URL de TikTok"
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
{
|
||||
"title": "Réseaux sociaux",
|
||||
"facebook": "URL Facebook",
|
||||
"instagram": "URL Instagram",
|
||||
"twitter": "URL Twitter",
|
||||
"youtube": "URL YouTube",
|
||||
"tiktok": "URL TikTok"
|
||||
}
|
||||
@@ -49,9 +49,9 @@
|
||||
|
||||
<script setup>
|
||||
import {ref} from 'vue';
|
||||
import { useTranslations } from "@/translations/translations";
|
||||
import {useI18n} from 'vue-i18n';
|
||||
|
||||
const t = useTranslations();
|
||||
const {t} = useI18n();
|
||||
const props = defineProps(['socials'])
|
||||
const emit = defineEmits(['close', 'save'])
|
||||
|
||||
@@ -69,4 +69,33 @@ const requestSave = () => emit('save', {
|
||||
youtubeUrl: youtubeUrl.value,
|
||||
tiktokUrl: tiktokUrl.value
|
||||
})
|
||||
</script>
|
||||
</script>
|
||||
|
||||
<i18n>
|
||||
{
|
||||
"en": {
|
||||
"title": "Social Media Links",
|
||||
"facebook": "Facebook URL",
|
||||
"instagram": "Instagram URL",
|
||||
"twitter": "Twitter URL",
|
||||
"youtube": "YouTube URL",
|
||||
"tiktok": "TikTok URL"
|
||||
},
|
||||
"fr": {
|
||||
"title": "Liens des réseaux sociaux",
|
||||
"facebook": "URL Facebook",
|
||||
"instagram": "URL Instagram",
|
||||
"twitter": "URL Twitter",
|
||||
"youtube": "URL YouTube",
|
||||
"tiktok": "URL TikTok"
|
||||
},
|
||||
"es": {
|
||||
"title": "Enlaces de redes sociales",
|
||||
"facebook": "URL de Facebook",
|
||||
"instagram": "URL de Instagram",
|
||||
"twitter": "URL de Twitter",
|
||||
"youtube": "URL de YouTube",
|
||||
"tiktok": "URL de TikTok"
|
||||
}
|
||||
}
|
||||
</i18n>
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"title": "Change Name",
|
||||
"label": "Your name"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"title": "Cambiar Nombre",
|
||||
"label": "Tu nombre"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"title": "Modifier le Nom",
|
||||
"label": "Votre nom"
|
||||
}
|
||||
@@ -1,9 +1,9 @@
|
||||
<script setup>
|
||||
import {ref} from 'vue';
|
||||
import {useClient} from '@/plugins/api.js';
|
||||
import { useTranslations } from "@/translations/translations";
|
||||
import { useI18n } from 'vue-i18n';
|
||||
|
||||
const t = useTranslations();
|
||||
const { t } = useI18n();
|
||||
const props = defineProps({
|
||||
creator: {
|
||||
required: true
|
||||
@@ -68,3 +68,20 @@ const cancel = () => {
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
|
||||
<i18n>
|
||||
{
|
||||
"en": {
|
||||
"title": "Change Name",
|
||||
"label": "Your name"
|
||||
},
|
||||
"fr": {
|
||||
"title": "Modifier le nom",
|
||||
"label": "Votre nom"
|
||||
},
|
||||
"es": {
|
||||
"title": "Cambiar nombre",
|
||||
"label": "Tu nombre"
|
||||
}
|
||||
}
|
||||
</i18n>
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"title": "Change URL",
|
||||
"label": "Your URL"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"title": "Cambiar URL",
|
||||
"label": "Tu URL"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"title": "Modifier l'URL",
|
||||
"label": "Votre URL"
|
||||
}
|
||||
@@ -1,9 +1,9 @@
|
||||
<script setup>
|
||||
import {computed, ref} from 'vue';
|
||||
import { useCreatorProfileStore } from '@/stores/creatorProfileStore.js';
|
||||
import { useClient } from "@/plugins/api.js";
|
||||
import {useCreatorProfileStore} from '@/stores/creatorProfileStore.js';
|
||||
import {useClient} from "@/plugins/api.js";
|
||||
import NameEditor from "@/views/creators/NameEditor.vue";
|
||||
import { useTranslations } from '@/translations/translations';
|
||||
import {useI18n} from 'vue-i18n';
|
||||
|
||||
const props = defineProps({
|
||||
creator: {
|
||||
@@ -15,7 +15,7 @@ const emit = defineEmits(['closeRequested']);
|
||||
|
||||
const creatorProfileStore = useCreatorProfileStore();
|
||||
const client = useClient();
|
||||
const t = useTranslations();
|
||||
const {t} = useI18n();
|
||||
|
||||
const newSlug = ref(props.creator.slug);
|
||||
const slugReservationId = ref(undefined);
|
||||
@@ -32,11 +32,11 @@ async function save() {
|
||||
try {
|
||||
isOperationPending.value = true;
|
||||
errorMessage.value = '';
|
||||
|
||||
|
||||
await client.put(`/api/creators/${props.creator.id}/slug`, {
|
||||
slugReservationId: slugReservationId.value
|
||||
});
|
||||
|
||||
|
||||
await creatorProfileStore.fetchCreatorProfile();
|
||||
emit('closeRequested');
|
||||
} catch (error) {
|
||||
@@ -65,7 +65,7 @@ const cancel = () => {
|
||||
<p class="mb-4">
|
||||
{{ t('label') }} <strong>@{{ creator.slug }}</strong>
|
||||
</p>
|
||||
|
||||
|
||||
<name-editor
|
||||
v-model:name="newSlug"
|
||||
:creator-name-reservation-id="slugReservationId"
|
||||
@@ -96,4 +96,21 @@ const cancel = () => {
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
</style>
|
||||
</style>
|
||||
|
||||
<i18n>
|
||||
{
|
||||
"en": {
|
||||
"title": "Change URL",
|
||||
"label": "Your current URL is"
|
||||
},
|
||||
"fr": {
|
||||
"title": "Modifier l'URL",
|
||||
"label": "Votre URL actuelle est"
|
||||
},
|
||||
"es": {
|
||||
"title": "Cambiar URL",
|
||||
"label": "Tu URL actual es"
|
||||
}
|
||||
}
|
||||
</i18n>
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"title": "Change Stripe ID",
|
||||
"label": "Your Stripe ID"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"title": "Cambiar ID de Stripe",
|
||||
"label": "Tu ID de Stripe"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"title": "Modifier l'ID Stripe",
|
||||
"label": "Votre ID Stripe"
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
<script setup>
|
||||
import {useClient} from '@/plugins/api.js';
|
||||
import {ref} from 'vue';
|
||||
import { useTranslations } from '@/translations/translations';
|
||||
import { useI18n } from 'vue-i18n';
|
||||
|
||||
const props = defineProps({
|
||||
creator: {
|
||||
@@ -12,7 +12,7 @@ const props = defineProps({
|
||||
const emits = defineEmits(['closeRequested']);
|
||||
|
||||
const stripeId = ref(props.creator.stripeId);
|
||||
const t = useTranslations();
|
||||
const { t } = useI18n();
|
||||
|
||||
const client = useClient();
|
||||
|
||||
@@ -65,3 +65,20 @@ const cancel = () => {
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
|
||||
<i18n>
|
||||
{
|
||||
"en": {
|
||||
"title": "Change Stripe ID",
|
||||
"label": "Your Stripe ID"
|
||||
},
|
||||
"fr": {
|
||||
"title": "Modifier l'ID Stripe",
|
||||
"label": "Votre ID Stripe"
|
||||
},
|
||||
"es": {
|
||||
"title": "Cambiar ID de Stripe",
|
||||
"label": "Tu ID de Stripe"
|
||||
}
|
||||
}
|
||||
</i18n>
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"title": "Change Title",
|
||||
"label": "Your title"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"title": "Cambiar Título",
|
||||
"label": "Tu título"
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"title": "Modifier le Titre",
|
||||
"label": "Votre titre"
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
<script setup>
|
||||
import {ref} from 'vue';
|
||||
import {useClient} from '@/plugins/api.js';
|
||||
import { useTranslations } from '@/translations/translations';
|
||||
import { useI18n } from 'vue-i18n';
|
||||
|
||||
const props = defineProps({
|
||||
creator: {
|
||||
@@ -12,7 +12,7 @@ const props = defineProps({
|
||||
const emits = defineEmits(['closeRequested']);
|
||||
|
||||
const title = ref(props.creator.title);
|
||||
const t = useTranslations();
|
||||
const { t } = useI18n();
|
||||
|
||||
const client = useClient();
|
||||
|
||||
@@ -69,3 +69,20 @@ const cancel = () => {
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
|
||||
<i18n>
|
||||
{
|
||||
"en": {
|
||||
"title": "Change Title",
|
||||
"label": "Your title"
|
||||
},
|
||||
"fr": {
|
||||
"title": "Modifier le titre",
|
||||
"label": "Votre titre"
|
||||
},
|
||||
"es": {
|
||||
"title": "Cambiar título",
|
||||
"label": "Tu título"
|
||||
}
|
||||
}
|
||||
</i18n>
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
"title": "Social Networks",
|
||||
"facebook": "Facebook Link",
|
||||
"instagram": "Instagram Link",
|
||||
"linkedin": "LinkedIn Link",
|
||||
"reddit": "Reddit Link",
|
||||
"tiktok": "TikTok Link",
|
||||
"website": "Website Link",
|
||||
"x": "X Link",
|
||||
"youtube": "YouTube Link"
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
"title": "Redes Sociales",
|
||||
"facebook": "Enlace de Facebook",
|
||||
"instagram": "Enlace de Instagram",
|
||||
"linkedin": "Enlace de LinkedIn",
|
||||
"reddit": "Enlace de Reddit",
|
||||
"tiktok": "Enlace de TikTok",
|
||||
"website": "Enlace del sitio web",
|
||||
"x": "Enlace de X",
|
||||
"youtube": "Enlace de Youtube"
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
"title": "Réseaux Sociaux",
|
||||
"facebook": "Lien Facebook",
|
||||
"instagram": "Lien Instagram",
|
||||
"linkedin": "Lien LinkedIn",
|
||||
"reddit": "Lien Reddit",
|
||||
"tiktok": "Lien TikTok",
|
||||
"website": "Lien site web",
|
||||
"x": "Lien X",
|
||||
"youtube": "Lien Youtube"
|
||||
}
|
||||
@@ -9,9 +9,9 @@ import Youtube from "@/views/svg/Youtube.vue";
|
||||
import Linkedin from "@/views/svg/Linkedin.vue";
|
||||
import Instagram from "@/views/svg/Instagram.vue";
|
||||
import Facebook from "@/views/svg/Facebook.vue";
|
||||
import { useTranslations } from "@/translations/translations";
|
||||
import { useI18n } from 'vue-i18n';
|
||||
|
||||
const t = useTranslations();
|
||||
const { t } = useI18n();
|
||||
const props = defineProps({
|
||||
creator: {
|
||||
required: true
|
||||
@@ -194,3 +194,17 @@ const cancel = () => {
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<i18n>
|
||||
{
|
||||
"en": {
|
||||
"title": "Social Media Links"
|
||||
},
|
||||
"fr": {
|
||||
"title": "Liens des réseaux sociaux"
|
||||
},
|
||||
"es": {
|
||||
"title": "Enlaces de redes sociales"
|
||||
}
|
||||
}
|
||||
</i18n>
|
||||
|
||||
Reference in New Issue
Block a user