Merge branch 'master' into 6636-search-trigger-after-3-chars

This commit is contained in:
Wolfgang Huß 2023-07-26 13:21:21 +02:00 committed by GitHub
commit 6f02a87355
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 241 additions and 222 deletions

View File

@ -1,4 +1,5 @@
<template>
<div>
<ds-form
class="contribution-form"
ref="contributionForm"
@ -76,7 +77,10 @@
@change="changeEventStart($event)"
></date-picker>
</div>
<div v-if="errors && errors.eventStart" class="chipbox event-grid-item-margin-helper">
<div
v-if="errors && errors.eventStart"
class="chipbox event-grid-item-margin-helper"
>
<ds-chip size="base" :color="errors && errors.eventStart && 'danger'">
<base-icon name="warning" />
</ds-chip>
@ -180,6 +184,7 @@
</base-card>
</template>
</ds-form>
</div>
</template>
<script>
import gql from 'graphql-tag'

View File

@ -749,13 +749,13 @@
"forGroup": {
"title": "Für die Gruppe „{name}“"
},
"title": "Erstelle ein neues Event"
"title": "Erstelle eine Veranstaltung"
},
"createNewPost": {
"forGroup": {
"title": "Für die Gruppe „{name}“"
},
"title": "Erstelle einen neuen Beitrag"
"title": "Erstelle einen Beitrag"
},
"edited": "bearbeitet",
"editPost": {

View File

@ -749,13 +749,13 @@
"forGroup": {
"title": "For The Group “{name}”"
},
"title": "Create A New Event"
"title": "Create an Event"
},
"createNewPost": {
"forGroup": {
"title": "For The Group “{name}”"
},
"title": "Create A New Article"
"title": "Create an Article"
},
"edited": "edited",
"editPost": {

View File

@ -1,55 +1,33 @@
<template>
<div>
<ds-flex :width="{ base: '100%' }">
<ds-flex-item :width="{ base: '100%' }">
<ds-flex gutter="base" :width="{ base: '100%', sm: 1 }">
<ds-flex-item>
<ds-card class="create-form-btn" :primary="!createEvent" centered>
<div>
<ds-button
v-if="!createEvent"
ghost
fullwidth
size="x-large"
class="inactive-tab-button"
<ds-flex gutter="small">
<ds-flex-item :width="{ base: '100%', md: '200px' }">
<ds-menu class="post-type-menu" :routes="routes">
<ds-menu-item
@click.prevent="switchPostType($event, item)"
slot="menuitem"
slot-scope="item"
:route="item.route"
class="post-type-menu-item"
>
{{ $t('post.createNewPost.title') }}
</ds-button>
<ds-button v-else ghost fullwidth size="x-large" @click="switchPostType()">
{{ $t('post.createNewPost.title') }}
</ds-button>
</div>
</ds-card>
{{ item.route.name }}
</ds-menu-item>
</ds-menu>
</ds-flex-item>
<ds-flex-item>
<ds-card class="create-form-btn" :primary="!!createEvent" centered>
<ds-flex-item :width="{ base: '100%', md: 1 }">
<transition name="slide-up" appear>
<div>
<ds-button
ghost
fullwidth
size="x-large"
v-if="createEvent"
hover
class="inactive-tab-button"
>
<div>
<h1 v-if="!createEvent" class="title">
{{ $t('post.createNewPost.title') }}
</h1>
<h1 v-else class="title">
{{ $t('post.createNewEvent.title') }}
</ds-button>
<ds-button ghost fullwidth size="x-large" v-else @click="switchPostType()">
{{ $t('post.createNewEvent.title') }}
</ds-button>
</h1>
</div>
</ds-card>
</ds-flex-item>
</ds-flex>
<div v-if="group" class="group-create-title">
{{ $t('post.createNewPost.forGroup.title', { name: group.name }) }}
</div>
</ds-flex-item>
</ds-flex>
<ds-flex :width="{ base: '100%' }" gutter="base">
<ds-flex-item :width="{ base: '100%' }">
<contribution-form :group="group" :createEvent="createEvent" />
</div>
</transition>
</ds-flex-item>
</ds-flex>
</div>
@ -74,6 +52,20 @@ export default {
group() {
return this.Group && this.Group[0] ? this.Group[0] : null
},
routes() {
return [
{
name: this.$t('post.name'),
path: `/post/create`,
type: 'post',
},
{
name: this.$t('post.event'),
path: `/`,
type: 'event',
},
]
},
},
apollo: {
Group: {
@ -97,8 +89,18 @@ export default {
},
},
methods: {
switchPostType() {
this.createEvent = !this.createEvent
switchPostType(event, route) {
if (route.route.type.toLowerCase() === 'event') {
this.createEvent = true
} else {
this.createEvent = false
}
// hacky way to set active element
const menuItems = document.querySelectorAll('.post-type-menu-item')
menuItems.forEach((menuItem) => {
menuItem.firstChild.classList.remove('router-link-exact-active', 'router-link-active')
})
event.target.classList.add('router-link-exact-active')
},
},
}
@ -120,4 +122,16 @@ export default {
.create-form-btn .ds-button-ghost:hover {
background-color: transparent;
}
.menu-item-active {
color: $color-primary;
border-left: 2px solid $color-primary;
background-color: #faf9fa;
}
@media screen and (min-width: 768px) {
.post-type-menu {
margin-top: 39px;
}
}
</style>