This commit is contained in:
Matthieu Bessat 2020-07-15 22:31:02 +02:00
parent 79a24f6ae7
commit e6bceb9d71
24 changed files with 122 additions and 24 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

BIN
public/img/favicon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 799 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

View file

@ -1,3 +0,0 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M8.00251 14.9297L0 1.07422H6.14651L8.00251 4.27503L9.84583 1.07422H16L8.00251 14.9297Z" fill="black"/>
</svg>

Before

Width:  |  Height:  |  Size: 215 B

View file

@ -4,7 +4,8 @@
<meta charset="utf-8"> <meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0"> <meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>favicon.ico"> <link rel="icon" type="image/png" href="/img/favicon.png" />
<title>Forum virtuel des associations</title> <title>Forum virtuel des associations</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900"> <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Material+Icons"/> <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Material+Icons"/>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

View file

@ -8,12 +8,37 @@
> >
<v-toolbar-title>{{ $store.state.delegateAdminName }}</v-toolbar-title> <v-toolbar-title>{{ $store.state.delegateAdminName }}</v-toolbar-title>
<v-spacer></v-spacer> <v-spacer></v-spacer>
<v-btn outlined class="mr-3"> <v-btn outlined class="mr-3" @click="openPublishModal()">
Publier Publier
</v-btn> </v-btn>
<v-menu bottom close-on-content-click>
<template v-slot:activator="{ on, attrs }">
<v-btn
class="mr-2"
icon
v-bind="attrs"
v-on="on"
>
<v-icon>more_vert</v-icon>
</v-btn>
</template>
<v-list>
<v-list-item @click="goToPage()">
<v-list-item-title>Ouvrir la page publique</v-list-item-title>
</v-list-item>
<v-list-item @click="logout()">
<v-list-item-title>Se déconnecter</v-list-item-title>
</v-list-item>
</v-list>
</v-menu>
<!--
<v-btn icon @click="goToPage()">
<v-icon>open_in_new</v-icon>
</v-btn>
<v-btn icon @click="logout()"> <v-btn icon @click="logout()">
<v-icon>exit_to_app</v-icon> <v-icon>exit_to_app</v-icon>
</v-btn> </v-btn> -->
<template v-slot:extension> <template v-slot:extension>
<v-tabs <v-tabs
v-model="tab" v-model="tab"
@ -83,6 +108,23 @@
</v-card-actions> </v-card-actions>
</v-card> </v-card>
</div> </div>
<v-dialog v-model="publishModal">
<v-card max-width="700px">
<v-card-title>
Publier les modifications apportés à votre association
</v-card-title>
<v-card-text>
<p>
Aliquyam est dolores voluptua consetetur stet erat eos sit. Est eirmod ut et voluptua, et sed eos sanctus sit erat.
</p>
</v-card-text>
<v-card-actions>
<v-btn color="primary" text @click="publishModal = false">Fermer</v-btn>
<v-spacer />
<v-btn :disabled="!canPublish" text @click="askApproval()">Demander une vérification</v-btn>
</v-card-actions>
</v-card>
</v-dialog>
</v-main> </v-main>
</template> </template>
@ -94,13 +136,16 @@ export default {
token: '', token: '',
loadingHandle: null, loadingHandle: null,
isSaving: false, isSaving: false,
tab: 0 tab: 0,
slug: '',
canPublish: false,
publishModal: false
}), }),
created () { created () {
this.init() this.init()
}, },
watch: { watch: {
$route (to, from) { $route (to) {
this.selectRoute(to) this.selectRoute(to)
} }
}, },
@ -163,13 +208,18 @@ export default {
this.loading = false this.loading = false
this.enabled = true this.enabled = true
const organization = res.data.data.organization const organization = res.data.data.organization
const proposedVersion = res.data.data.organization.proposedVersion
const tags = res.data.data.tags const tags = res.data.data.tags
if (organization.proposedVersion.tag !== undefined && organization.proposedVersion.tag !== null) { if (
organization.proposedVersion.tag = organization.proposedVersion.tag._id proposedVersion.tag !== undefined &&
proposedVersion.tag !== null
) {
proposedVersion.tag = proposedVersion.tag._id
} }
this.slug = organization.slug
this.$store.commit('SET_DELEGATE_ADMIN_NAME', organization.adminName) this.$store.commit('SET_DELEGATE_ADMIN_NAME', organization.adminName)
this.$store.commit('SET_DELEGATE_EMAIL', organization.email) this.$store.commit('SET_DELEGATE_EMAIL', organization.email)
this.$store.commit('SET_DATA', organization.proposedVersion) this.$store.commit('SET_DATA', proposedVersion)
this.$store.commit('SET_TAGS', tags) this.$store.commit('SET_TAGS', tags)
this.$nextTick(() => { this.$nextTick(() => {
setTimeout(this.$refs.tabs.callSlider, 200) setTimeout(this.$refs.tabs.callSlider, 200)
@ -178,7 +228,8 @@ export default {
setTimeout(this.$refs.tabs.callSlider, 1000) setTimeout(this.$refs.tabs.callSlider, 1000)
setTimeout(this.$refs.tabs.callSlider, 1500) setTimeout(this.$refs.tabs.callSlider, 1500)
}) })
}).catch(() => { }).catch(err => {
console.log(err)
clearTimeout(this.loadingHandle) clearTimeout(this.loadingHandle)
this.loading = false this.loading = false
if (this.token !== '' || inUrl) { if (this.token !== '' || inUrl) {
@ -216,7 +267,8 @@ export default {
color: 'success', color: 'success',
text: 'Vos changements ont été sauvegardés !' text: 'Vos changements ont été sauvegardés !'
}) })
}).catch(() => { }).catch(err => {
console.log(err.data)
this.isSaving = false this.isSaving = false
this.$store.commit('ADD_ALERT', { this.$store.commit('ADD_ALERT', {
color: 'error', color: 'error',
@ -233,6 +285,16 @@ export default {
if (this.token !== '') { if (this.token !== '') {
this.init() this.init()
} }
},
goToPage () {
window.open(process.env.VUE_APP_BASE_URL + '/association/' + this.slug, '_blank').focus()
},
openPublishModal () {
// compute if the user can ask approval
this.publishModal = true
},
askApproval () {
this.publishModal = false
} }
} }
} }

View file

@ -6,10 +6,20 @@
:style="coverStyle"> :style="coverStyle">
</div> </div>
<div class="cover-common cover-upper"> <div class="cover-common cover-upper">
<div>
<v-btn <v-btn
@click="$refs.avatarEditor.toggle()" @click="$refs.avatarEditor.toggle()"
color="white" color="white"
>Changer la couverture</v-btn> >Changer la couverture</v-btn>
<v-btn
v-if="$store.state.data.cover !== null"
class="ml-3"
@click="clearCover()"
color="white"
icon
outlined
><v-icon>clear</v-icon></v-btn>
</div>
</div> </div>
<AvatarEditor <AvatarEditor
@ -258,6 +268,11 @@ export default {
return m return m
}) })
this.$store.commit('SET_DATA', { gallery }) this.$store.commit('SET_DATA', { gallery })
},
clearCover () {
this.$store.commit('SET_DATA', {
cover: null
})
} }
} }
} }

View file

@ -55,7 +55,7 @@ export default {
data: () => ({ data: () => ({
logoLoading: false, logoLoading: false,
rules: { rules: {
descriptionShort: [v => v.length <= 100 || 'Au maximum 100 caractères'], descriptionShort: [v => v.length <= 200 || 'Au maximum 200 caractères'],
logo: [v => !v || v.size < 2000000 || 'La taille du logo doit être inférieur à 2 Mega Octets!'] logo: [v => !v || v.size < 2000000 || 'La taille du logo doit être inférieur à 2 Mega Octets!']
} }
}), }),

View file

@ -1,5 +1,6 @@
<template> <template>
<div> <div>
<v-btn small @click="fill()" class="mb-2">Préremplir</v-btn>
<tiptap-vuetify <tiptap-vuetify
v-model="$store.state.data.descriptionLong" v-model="$store.state.data.descriptionLong"
:extensions="tiptapExtensions" :extensions="tiptapExtensions"
@ -43,7 +44,7 @@ export default {
OrderedList, OrderedList,
[Heading, { [Heading, {
options: { options: {
levels: [1, 2, 3] levels: [3, 4]
} }
}], }],
Bold, Bold,
@ -51,6 +52,23 @@ export default {
Paragraph, Paragraph,
HardBreak HardBreak
] ]
}),
methods: {
fill () {
this.$store.commit('SET_DATA', {
descriptionLong: `
<h3>Niveau 3</h3>
<p>Diam sit voluptua sadipscing sit et sit diam et labore, invidunt justo eos dolores dolores sit nonumy justo ea et, et eirmod diam kasd eos magna et justo gubergren, lorem at sit vero tempor aliquyam no labore et eos, vero clita no est sadipscing, duo lorem dolor accusam diam dolor diam elitr sit est, voluptua lorem duo elitr sea. Accusam.</p>
<h3>Niveau 2</h3>
<p>Diam sit voluptua sadipscing sit et sit diam et labore, invidunt justo eos dolores dolores sit nonumy justo ea et, et eirmod diam kasd eos magna et justo gubergren, lorem at sit vero tempor aliquyam no labore et eos, vero clita no est sadipscing, duo lorem dolor accusam diam dolor diam elitr sit est, voluptua lorem duo elitr sea. Accusam.</p>
<h4>Niveau 4</h4>
<p>Diam sit voluptua sadipscing sit et sit diam et labore, invidunt justo eos dolores dolores sit nonumy justo ea et, et eirmod diam kasd eos magna et justo gubergren, lorem at sit vero tempor aliquyam no labore et eos, vero clita no est sadipscing, duo lorem dolor accusam diam dolor diam elitr sit est, voluptua lorem duo elitr sea. Accusam.</p>
`
}) })
} }
}
}
</script> </script>

View file

@ -83,6 +83,9 @@
label="Description/Sous Titre du tarif" label="Description/Sous Titre du tarif"
hint="Optionel" hint="Optionel"
/> />
<div class="d-flex justify-center">
<v-btn small @click="loadDummy()">Préremplir</v-btn>
</div>
</v-card-text> </v-card-text>
<v-card-actions> <v-card-actions>
<v-btn @click="itemModal = false" text color="primary"> <v-btn @click="itemModal = false" text color="primary">
@ -121,24 +124,26 @@ export default {
data: () => ({ data: () => ({
itemModal: false, itemModal: false,
mode: '', mode: '',
item: { defaultItem: {
priceLabel: '', priceLabel: '',
name: '', name: '',
description: '' description: ''
}, },
item: {},
toDelete: {}, toDelete: {},
deleteModal: false, deleteModal: false,
oldEdit: {} oldEdit: {}
}), }),
created () {
this.item = JSON.parse('{"priceLabel":"3.14159 €","name":"Hippie","description":"Vomissures que ce juillets haleurs haleurs dont, roulant"}')
},
computed: { computed: {
itemModalTitle () { return this.mode === 'add' ? 'Ajouter' : 'Editer' } itemModalTitle () { return this.mode === 'add' ? 'Ajouter' : 'Editer' }
}, },
methods: { methods: {
loadDummy () {
this.item = JSON.parse('{"priceLabel":"3.14159 €","name":"Hippie","description":"Vomissures que ce juillets haleurs haleurs dont, roulant"}')
},
openAddModal () { openAddModal () {
this.mode = 'add' this.mode = 'add'
this.item = this.defaultItem
this.itemModal = true this.itemModal = true
}, },
save () { save () {