Add some more components to room page
This commit is contained in:
parent
c712ee34f5
commit
db70aaf271
|
|
@ -0,0 +1,35 @@
|
||||||
|
<template>
|
||||||
|
<div class="add-room-entry">
|
||||||
|
<add class="add-room-entry__icon"></add>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import Add from '@/components/images/Add';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
Add
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
@import "@/styles/_variables.scss";
|
||||||
|
|
||||||
|
.add-room-entry {
|
||||||
|
border: 2px solid $color-white;
|
||||||
|
border-radius: 12px;
|
||||||
|
height: 150px;
|
||||||
|
display: flex;
|
||||||
|
box-sizing: border-box;
|
||||||
|
margin-bottom: 25px;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
&__icon {
|
||||||
|
width: 80px;
|
||||||
|
fill: $color-white;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
@ -0,0 +1,39 @@
|
||||||
|
<template>
|
||||||
|
<div class="room-entry-count-widget">
|
||||||
|
<cards></cards>
|
||||||
|
<span>{{entryCount}} {{entryCount === 1 ? 'Beitrag' : 'Beiträge'}}</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import Cards from '@/components/images/Cards.vue';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
props: ['entryCount'],
|
||||||
|
|
||||||
|
components: {
|
||||||
|
Cards
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
@import "@/styles/_mixins.scss";
|
||||||
|
|
||||||
|
.room-entry-count-widget {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
opacity: 0.6;
|
||||||
|
|
||||||
|
svg {
|
||||||
|
width: 30px;
|
||||||
|
fill: $color-darkgrey-1;
|
||||||
|
margin-right: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
& > span {
|
||||||
|
@include room-widget-text-style;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
|
@ -0,0 +1,40 @@
|
||||||
|
<template>
|
||||||
|
<div class="room-group-widget">
|
||||||
|
<group></group>
|
||||||
|
<span>
|
||||||
|
{{group}}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import Group from '@/components/images/Group.vue';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
props: ['group'],
|
||||||
|
|
||||||
|
components: {
|
||||||
|
Group
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
@import "@/styles/_mixins.scss";
|
||||||
|
|
||||||
|
.room-group-widget {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
opacity: 0.6;
|
||||||
|
|
||||||
|
svg {
|
||||||
|
width: 30px;
|
||||||
|
fill: $color-darkgrey-1;
|
||||||
|
margin-right: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
& > span {
|
||||||
|
@include room-widget-text-style;;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
@ -2,16 +2,8 @@
|
||||||
<div class="room-widget" :class="roomClass">
|
<div class="room-widget" :class="roomClass">
|
||||||
<div class="room-widget__content">
|
<div class="room-widget__content">
|
||||||
<h2 class="room-widget__title">{{title}}</h2>
|
<h2 class="room-widget__title">{{title}}</h2>
|
||||||
<div class="room-widget__group">
|
<room-group-widget :group="group"></room-group-widget>
|
||||||
<group></group>
|
<room-entry-count-widget :entryCount="entryCount"></room-entry-count-widget>
|
||||||
<span>
|
|
||||||
{{group}}
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
<div class="room-widget__entries">
|
|
||||||
<cards></cards>
|
|
||||||
<span>{{entryCount}} {{entryCount === 1 ? 'Beitrag' : 'Beiträge'}}</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="room-widget__footer">
|
<div class="room-widget__footer">
|
||||||
<router-link to="/room" class="room-widget__more-link">
|
<router-link to="/room" class="room-widget__more-link">
|
||||||
|
|
@ -23,17 +15,17 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import Group from '@/components/images/Group.vue';
|
|
||||||
import Cards from '@/components/images/Cards.vue';
|
|
||||||
import Ellipses from '@/components/images/Ellipses.vue';
|
import Ellipses from '@/components/images/Ellipses.vue';
|
||||||
|
import RoomGroupWidget from '@/components/rooms/RoomGroupWidget';
|
||||||
|
import RoomEntryCountWidget from '@/components/rooms/RoomEntryCountWidget';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
props: ['title', 'type', 'entries', 'group'],
|
props: ['title', 'type', 'entries', 'group'],
|
||||||
|
|
||||||
components: {
|
components: {
|
||||||
Group,
|
RoomEntryCountWidget,
|
||||||
Cards,
|
Ellipses,
|
||||||
Ellipses
|
RoomGroupWidget
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
entryCount() {
|
entryCount() {
|
||||||
|
|
@ -50,12 +42,6 @@
|
||||||
@import "@/styles/_variables.scss";
|
@import "@/styles/_variables.scss";
|
||||||
@import "@/styles/_mixins.scss";
|
@import "@/styles/_mixins.scss";
|
||||||
|
|
||||||
@mixin text-style {
|
|
||||||
font-family: $sans-serif-font-family;
|
|
||||||
font-size: 1rem;
|
|
||||||
fill: $color-darkgrey-1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.room-widget {
|
.room-widget {
|
||||||
display: -ms-grid;
|
display: -ms-grid;
|
||||||
@supports (display: grid) {
|
@supports (display: grid) {
|
||||||
|
|
@ -92,26 +78,6 @@
|
||||||
color: $color-darkgrey-1;
|
color: $color-darkgrey-1;
|
||||||
}
|
}
|
||||||
|
|
||||||
&__group {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
opacity: 0.6;
|
|
||||||
|
|
||||||
& > span {
|
|
||||||
@include text-style;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&__entries {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
opacity: 0.6;
|
|
||||||
|
|
||||||
& > span {
|
|
||||||
@include text-style;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&__title {
|
&__title {
|
||||||
font-size: 1.375rem;
|
font-size: 1.375rem;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,13 @@
|
||||||
|
@import 'variables';
|
||||||
|
|
||||||
@mixin widget-shadow {
|
@mixin widget-shadow {
|
||||||
border-radius: 12px;
|
border-radius: 12px;
|
||||||
box-shadow: 0 3px 9px 0 rgba(0, 0, 0, 0.12);
|
box-shadow: 0 3px 9px 0 rgba(0, 0, 0, 0.12);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@mixin room-widget-text-style {
|
||||||
|
font-family: $sans-serif-font-family;
|
||||||
|
font-size: 1rem;
|
||||||
|
fill: $color-darkgrey-1;
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue