s/element/vuetify :D
This commit is contained in:
@@ -1,56 +1,56 @@
|
||||
.event {
|
||||
width: 320px;
|
||||
max-width: 450px;
|
||||
flex-grow: 1;
|
||||
margin: .2em;
|
||||
background-color: #202020;
|
||||
overflow: hidden;
|
||||
// .event {
|
||||
// width: 320px;
|
||||
// max-width: 450px;
|
||||
// flex-grow: 1;
|
||||
// margin: .2em;
|
||||
// background-color: #202020;
|
||||
// overflow: hidden;
|
||||
|
||||
a:hover {
|
||||
text-decoration: none;
|
||||
.title {
|
||||
border-bottom: 1px solid #888;
|
||||
color: white;
|
||||
}
|
||||
}
|
||||
// a:hover {
|
||||
// text-decoration: none;
|
||||
// .title {
|
||||
// border-bottom: 1px solid #888;
|
||||
// color: white;
|
||||
// }
|
||||
// }
|
||||
|
||||
.title {
|
||||
margin-left: 1rem;
|
||||
margin-top: 1rem;
|
||||
margin-right: 1rem;
|
||||
border-bottom: 1px solid #333;
|
||||
transition: border-color .5s;
|
||||
font-size: 1.2em;
|
||||
max-height: 3em;
|
||||
overflow: hidden;
|
||||
color: white;
|
||||
font-weight: bold;
|
||||
}
|
||||
// .title {
|
||||
// margin-left: 1rem;
|
||||
// margin-top: 1rem;
|
||||
// margin-right: 1rem;
|
||||
// border-bottom: 1px solid #333;
|
||||
// transition: border-color .5s;
|
||||
// font-size: 1.2em;
|
||||
// max-height: 3em;
|
||||
// overflow: hidden;
|
||||
// color: white;
|
||||
// font-weight: bold;
|
||||
// }
|
||||
|
||||
.card-footer {
|
||||
max-height: 4.5em;
|
||||
overflow: hidden;
|
||||
padding: .25rem 0.5rem;
|
||||
line-height: 1.8rem;
|
||||
min-height: 2.2rem;
|
||||
}
|
||||
// .card-footer {
|
||||
// max-height: 4.5em;
|
||||
// overflow: hidden;
|
||||
// padding: .25rem 0.5rem;
|
||||
// line-height: 1.8rem;
|
||||
// min-height: 2.2rem;
|
||||
// }
|
||||
|
||||
.card-body {
|
||||
overflow: hidden;
|
||||
}
|
||||
// .card-body {
|
||||
// overflow: hidden;
|
||||
// }
|
||||
|
||||
.description {
|
||||
color: #999;
|
||||
font-size: 0.8em;
|
||||
overflow: hidden;
|
||||
max-height: 100%;
|
||||
}
|
||||
// .description {
|
||||
// color: #999;
|
||||
// font-size: 0.8em;
|
||||
// overflow: hidden;
|
||||
// max-height: 100%;
|
||||
// }
|
||||
|
||||
.el-image { width: 100% }
|
||||
img {
|
||||
width: 100%;
|
||||
max-height: 250px;
|
||||
object-fit: cover;
|
||||
object-position: top;
|
||||
}
|
||||
}
|
||||
// .el-image { width: 100% }
|
||||
// img {
|
||||
// width: 100%;
|
||||
// max-height: 250px;
|
||||
// object-fit: cover;
|
||||
// object-position: top;
|
||||
// }
|
||||
// }
|
||||
|
||||
@@ -1,215 +1,215 @@
|
||||
:focus {outline:none;}
|
||||
::-moz-focus-inner {border:0;}
|
||||
// :focus {outline:none;}
|
||||
// ::-moz-focus-inner {border:0;}
|
||||
|
||||
blockquote {
|
||||
border-left: 3px solid grey;
|
||||
font-style: italic;
|
||||
color: #666;
|
||||
padding-left: 1em;
|
||||
}
|
||||
|
||||
code {
|
||||
font-family: sans-serif;
|
||||
display: inline-block;
|
||||
padding: 0 .4rem;
|
||||
border-radius: 5px;
|
||||
font-size: .8rem;
|
||||
font-weight: 700;
|
||||
background: rgba(0,0,0,.1);
|
||||
color: #888;
|
||||
}
|
||||
|
||||
html, body {
|
||||
font-family: sans-serif;
|
||||
scroll-behavior: smooth;
|
||||
text-rendering: optimizeSpeed;
|
||||
background-color: #111;
|
||||
overflow-y: auto;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: #555 #111;
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
#__nuxt, #__layout {
|
||||
min-height: 100vh;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
#main {
|
||||
min-height: 200px;
|
||||
overflow: hidden;
|
||||
scrollbar-width: thin;
|
||||
transition: background-color .5s, opacity .5s; //, color 1s;
|
||||
background-color: white;
|
||||
&.dark {
|
||||
background-color: #111;
|
||||
}
|
||||
}
|
||||
|
||||
#content {
|
||||
max-width: 1400px;
|
||||
flex-grow: 1;
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
#header, #footer {
|
||||
color: white;
|
||||
background-color: #222;
|
||||
font-size: 18px;
|
||||
padding: 0 15px;
|
||||
}
|
||||
|
||||
|
||||
#footer {
|
||||
a {
|
||||
color: orangered;
|
||||
transition: color .4s;
|
||||
&:hover {
|
||||
text-decoration: none;
|
||||
color: orange;
|
||||
}
|
||||
}
|
||||
|
||||
#links a {
|
||||
margin-left: 15px;
|
||||
}
|
||||
min-height: 6em;
|
||||
padding-top: 2em;
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
#header .el-menu--horizontal {
|
||||
background-color: #222;
|
||||
color: white;
|
||||
.el-menu-item, .el-submenu__title {
|
||||
color: white;
|
||||
}
|
||||
|
||||
.el-submenu .el-submenu__icon-arrow {
|
||||
margin-left: 0px;
|
||||
}
|
||||
|
||||
.el-submenu .el-submenu__title {
|
||||
padding: 0 15px;
|
||||
}
|
||||
|
||||
.el-menu-item:not(.is-disabled):focus,
|
||||
.el-menu-item.is-active,
|
||||
.el-menu-item:not(.is-disabled):hover,
|
||||
.el-submenu:focus > .el-submenu__title,
|
||||
.el-submenu:hover > .el-submenu__title,
|
||||
.el-submenu.is-active > .el-submenu__title,
|
||||
.el-submenu.is-opened {
|
||||
color: white;
|
||||
background-color: #111;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.page-enter-active {
|
||||
transition: opacity .05s;
|
||||
}
|
||||
|
||||
.page-enter, .page-leave-active {
|
||||
transition: opacity .3s; //, transform .3s;
|
||||
opacity: 0;
|
||||
// transform: translateX(30px);
|
||||
}
|
||||
|
||||
.el-card {
|
||||
max-width: 700px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.el-menu-item {
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
a {
|
||||
color: #303133;
|
||||
display: block;
|
||||
text-decoration: none;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
}
|
||||
}
|
||||
|
||||
.el-message-box {
|
||||
max-width: 90%;
|
||||
}
|
||||
|
||||
//TODO: refactoring
|
||||
.el-button.is-plain,
|
||||
.el-button.is-plain:focus,
|
||||
.el-button.is-plain {
|
||||
border-color: #ff450075;
|
||||
background-color: transparent;
|
||||
color: orangered;
|
||||
|
||||
&:hover {
|
||||
border-color: #ff450075;
|
||||
background-color: transparent;
|
||||
color: orange;
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: this should be a link
|
||||
|
||||
.event .p-location {
|
||||
transition: color .2s;
|
||||
&:hover {
|
||||
cursor: pointer;
|
||||
color: orangered !important;
|
||||
}
|
||||
}
|
||||
|
||||
.el-button--text {
|
||||
color: orangered !important;
|
||||
&:hover {
|
||||
color: orange !important;
|
||||
}
|
||||
}
|
||||
|
||||
.el-button--success.is-plain {
|
||||
color: #2c8600;
|
||||
border-color: #9de27b;
|
||||
background-color: #f9fff6;
|
||||
}
|
||||
|
||||
.el-button--mini, .el-button--mini.is-round {
|
||||
padding: 6px 12px;
|
||||
font-size: 0.8rem;
|
||||
}
|
||||
|
||||
.bg-dark {
|
||||
background-color: #292929 !important;
|
||||
}
|
||||
|
||||
.el-dialog {
|
||||
min-height: 300px;
|
||||
max-width: 600px;
|
||||
width: 100%;
|
||||
.el-dialog__body {
|
||||
word-break: normal !important;
|
||||
}
|
||||
}
|
||||
|
||||
.el-switch__label span {
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
// .el-input {
|
||||
// max-width: 350px;
|
||||
// blockquote {
|
||||
// border-left: 3px solid grey;
|
||||
// font-style: italic;
|
||||
// color: #666;
|
||||
// padding-left: 1em;
|
||||
// }
|
||||
|
||||
// @media only screen and (max-width: 768px) {
|
||||
// .el-card {
|
||||
// padding: 0px !important;
|
||||
// border-radius: 0px;
|
||||
// }
|
||||
// code {
|
||||
// font-family: sans-serif;
|
||||
// display: inline-block;
|
||||
// padding: 0 .4rem;
|
||||
// border-radius: 5px;
|
||||
// font-size: .8rem;
|
||||
// font-weight: 700;
|
||||
// background: rgba(0,0,0,.1);
|
||||
// color: #888;
|
||||
// }
|
||||
|
||||
// html, body {
|
||||
// font-family: sans-serif;
|
||||
// scroll-behavior: smooth;
|
||||
// text-rendering: optimizeSpeed;
|
||||
// background-color: #111;
|
||||
// overflow-y: auto;
|
||||
// scrollbar-width: thin;
|
||||
// scrollbar-color: #555 #111;
|
||||
// padding: 0 !important;
|
||||
// }
|
||||
|
||||
// #__nuxt, #__layout {
|
||||
// min-height: 100vh;
|
||||
// display: flex;
|
||||
// flex-direction: column;
|
||||
// }
|
||||
|
||||
// #main {
|
||||
// min-height: 200px;
|
||||
// overflow: hidden;
|
||||
// scrollbar-width: thin;
|
||||
// transition: background-color .5s, opacity .5s; //, color 1s;
|
||||
// background-color: white;
|
||||
// &.dark {
|
||||
// background-color: #111;
|
||||
// }
|
||||
// }
|
||||
|
||||
// #content {
|
||||
// max-width: 1400px;
|
||||
// flex-grow: 1;
|
||||
// width: 100%;
|
||||
// margin: 0 auto;
|
||||
// }
|
||||
|
||||
// #header, #footer {
|
||||
// color: white;
|
||||
// background-color: #222;
|
||||
// font-size: 18px;
|
||||
// padding: 0 15px;
|
||||
// }
|
||||
|
||||
|
||||
@import './event.less';
|
||||
@import './editor.less';
|
||||
// #footer {
|
||||
// a {
|
||||
// color: orangered;
|
||||
// transition: color .4s;
|
||||
// &:hover {
|
||||
// text-decoration: none;
|
||||
// color: orange;
|
||||
// }
|
||||
// }
|
||||
|
||||
// #links a {
|
||||
// margin-left: 15px;
|
||||
// }
|
||||
// min-height: 6em;
|
||||
// padding-top: 2em;
|
||||
// font-size: 1em;
|
||||
// }
|
||||
|
||||
// #header .el-menu--horizontal {
|
||||
// background-color: #222;
|
||||
// color: white;
|
||||
// .el-menu-item, .el-submenu__title {
|
||||
// color: white;
|
||||
// }
|
||||
|
||||
// .el-submenu .el-submenu__icon-arrow {
|
||||
// margin-left: 0px;
|
||||
// }
|
||||
|
||||
// .el-submenu .el-submenu__title {
|
||||
// padding: 0 15px;
|
||||
// }
|
||||
|
||||
// .el-menu-item:not(.is-disabled):focus,
|
||||
// .el-menu-item.is-active,
|
||||
// .el-menu-item:not(.is-disabled):hover,
|
||||
// .el-submenu:focus > .el-submenu__title,
|
||||
// .el-submenu:hover > .el-submenu__title,
|
||||
// .el-submenu.is-active > .el-submenu__title,
|
||||
// .el-submenu.is-opened {
|
||||
// color: white;
|
||||
// background-color: #111;
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
// .page-enter-active {
|
||||
// transition: opacity .05s;
|
||||
// }
|
||||
|
||||
// .page-enter, .page-leave-active {
|
||||
// transition: opacity .3s; //, transform .3s;
|
||||
// opacity: 0;
|
||||
// // transform: translateX(30px);
|
||||
// }
|
||||
|
||||
// .el-card {
|
||||
// max-width: 700px;
|
||||
// margin: 0 auto;
|
||||
// }
|
||||
|
||||
// .el-menu-item {
|
||||
// height: 40px;
|
||||
// line-height: 40px;
|
||||
// a {
|
||||
// color: #303133;
|
||||
// display: block;
|
||||
// text-decoration: none;
|
||||
// text-overflow: ellipsis;
|
||||
// overflow: hidden;
|
||||
// }
|
||||
// }
|
||||
|
||||
// .el-message-box {
|
||||
// max-width: 90%;
|
||||
// }
|
||||
|
||||
// //TODO: refactoring
|
||||
// .el-button.is-plain,
|
||||
// .el-button.is-plain:focus,
|
||||
// .el-button.is-plain {
|
||||
// border-color: #ff450075;
|
||||
// background-color: transparent;
|
||||
// color: orangered;
|
||||
|
||||
// &:hover {
|
||||
// border-color: #ff450075;
|
||||
// background-color: transparent;
|
||||
// color: orange;
|
||||
// }
|
||||
// }
|
||||
|
||||
// // TODO: this should be a link
|
||||
|
||||
// .event .p-location {
|
||||
// transition: color .2s;
|
||||
// &:hover {
|
||||
// cursor: pointer;
|
||||
// color: orangered !important;
|
||||
// }
|
||||
// }
|
||||
|
||||
// .el-button--text {
|
||||
// color: orangered !important;
|
||||
// &:hover {
|
||||
// color: orange !important;
|
||||
// }
|
||||
// }
|
||||
|
||||
// .el-button--success.is-plain {
|
||||
// color: #2c8600;
|
||||
// border-color: #9de27b;
|
||||
// background-color: #f9fff6;
|
||||
// }
|
||||
|
||||
// .el-button--mini, .el-button--mini.is-round {
|
||||
// padding: 6px 12px;
|
||||
// font-size: 0.8rem;
|
||||
// }
|
||||
|
||||
// .bg-dark {
|
||||
// background-color: #292929 !important;
|
||||
// }
|
||||
|
||||
// .el-dialog {
|
||||
// min-height: 300px;
|
||||
// max-width: 600px;
|
||||
// width: 100%;
|
||||
// .el-dialog__body {
|
||||
// word-break: normal !important;
|
||||
// }
|
||||
// }
|
||||
|
||||
// .el-switch__label span {
|
||||
// position: absolute;
|
||||
// }
|
||||
|
||||
// // .el-input {
|
||||
// // max-width: 350px;
|
||||
// // }
|
||||
|
||||
// // @media only screen and (max-width: 768px) {
|
||||
// // .el-card {
|
||||
// // padding: 0px !important;
|
||||
// // border-radius: 0px;
|
||||
// // }
|
||||
// // }
|
||||
|
||||
|
||||
// @import './event.less';
|
||||
// @import './editor.less';
|
||||
@@ -1,5 +1,16 @@
|
||||
<template lang="pug">
|
||||
.announcement.announcement.text-white(body-style='padding: 0px;')
|
||||
v-alert(border='left' dismissible color="deep-orange accent-2" dark close-text='antani') {{announcement.title}}
|
||||
//- v-list-item(link nuxt :to='`/announcement/${announcement.id}`')
|
||||
//- v-list-item-icon
|
||||
//- v-icon mdi-alert
|
||||
//- v-list-item-content
|
||||
//- v-list-item-title
|
||||
//- h2 {{announcement.title}}
|
||||
//- v-list-item-subtitle(v-html='announcement.announcement')
|
||||
|
||||
//- v-list-item
|
||||
//- v-btn(nuxt :to='`/announcement/${announcement.id}`') {{announcement.title}}
|
||||
//- .announcement.announcement.text-white(body-style='padding: 0px;')
|
||||
nuxt-link(:to='`/announcement/${announcement.id}`')
|
||||
.title <i class='el-icon-info'/> {{announcement.title}}
|
||||
|
||||
@@ -23,23 +34,23 @@ export default {
|
||||
}
|
||||
</script>
|
||||
<style lang='less'>
|
||||
.announcement {
|
||||
padding: 2%;
|
||||
background-color: #511;
|
||||
margin: 1rem 0;
|
||||
border-radius: 5px;
|
||||
a:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
.title {
|
||||
font-size: 1.2em;
|
||||
color: white;
|
||||
transition: color .2s;
|
||||
&:hover {
|
||||
color: #fbd6b5;
|
||||
}
|
||||
}
|
||||
border: 2px solid #ff4500ba;
|
||||
// box-shadow: inset 0px 0px 10px 0px orangered;
|
||||
}
|
||||
// .announcement {
|
||||
// padding: 2%;
|
||||
// background-color: #511;
|
||||
// margin: 1rem 0;
|
||||
// border-radius: 5px;
|
||||
// a:hover {
|
||||
// text-decoration: none;
|
||||
// }
|
||||
// .title {
|
||||
// font-size: 1.2em;
|
||||
// color: white;
|
||||
// transition: color .2s;
|
||||
// &:hover {
|
||||
// color: #fbd6b5;
|
||||
// }
|
||||
// }
|
||||
// border: 2px solid #ff4500ba;
|
||||
// // box-shadow: inset 0px 0px 10px 0px orangered;
|
||||
// }
|
||||
</style>
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<template lang='pug'>
|
||||
.editor(:class='{ "with-border": border }')
|
||||
editor-menu-bubble(:editor='editor' :keep-in-bounds='true' v-slot='{ commands, isActive, getMarkAttrs, menu }')
|
||||
el-button-group.menububble(:class="{ 'is-active': menu.isActive }" :style="`left: ${menu.left}px; bottom: ${menu.bottom}px;`")
|
||||
el-popover(trigger='hover' placement='bottom-start')
|
||||
el-button.float-left(slot='reference' size='mini') <v-icon name='question'/>
|
||||
v-button-group.menububble(:class="{ 'is-active': menu.isActive }" :style="`left: ${menu.left}px; bottom: ${menu.bottom}px;`")
|
||||
v-popover(trigger='hover' placement='bottom-start')
|
||||
v-btn.float-left(slot='reference' size='mini') <v-icon name='question'/>
|
||||
template
|
||||
span This editor supports inline <code>markdown</code>
|
||||
div <v-icon name='heading'/> → Title ⇒ Start a line with <code>#</code>
|
||||
@@ -20,7 +20,7 @@
|
||||
<v-icon name='bold' />
|
||||
//- el-button(size='mini' :class='{ "is-active": isActive.italic() }' @click='commands.italic') <v-icon name='italic'/>
|
||||
//- el-button(size='mini' :class='{ "is-active": isActive.underline() }' @click='commands.underline') <v-icon name='underline'/>
|
||||
el-button(size='mini' :class='{ "is-active": isActive.link() }' @click='commands.link({href: ""}); $refs.link.focus(); linkActive=true') <v-icon name='link'/>
|
||||
v-btn(size='mini' :class='{ "is-active": isActive.link() }' @click='commands.link({href: ""}); $refs.link.focus(); linkActive=true') <v-icon name='link'/>
|
||||
input(:value='isActive.link() && getMarkAttrs("link") && getMarkAttrs("link").href || ""' ref='link' :class='{ "is-active": isActive.link() || linkActive }'
|
||||
placeholder='https://' @keypress.enter='commands.link({ href: $event.target.value})')
|
||||
//- el-button(size='mini' :class='{ "is-active": isActive.strike() }' @click='commands.strike') <v-icon name='strikethrough'/>
|
||||
@@ -112,65 +112,65 @@ export default {
|
||||
</script>
|
||||
<style lang='less'>
|
||||
|
||||
.editor {
|
||||
position: relative;
|
||||
overflow-y: auto;
|
||||
padding-top: 1.7em;
|
||||
scrollbar-width: thin;
|
||||
// .editor {
|
||||
// position: relative;
|
||||
// overflow-y: auto;
|
||||
// padding-top: 1.7em;
|
||||
// scrollbar-width: thin;
|
||||
|
||||
&.with-border {
|
||||
border: 1px solid #ddd;
|
||||
border-radius: 5px;
|
||||
}
|
||||
// &.with-border {
|
||||
// border: 1px solid #ddd;
|
||||
// border-radius: 5px;
|
||||
// }
|
||||
|
||||
.content {
|
||||
padding: 0px 5px 0px 5px;
|
||||
flex: 1;
|
||||
scrollbar-width: thin;
|
||||
overflow-y: auto;
|
||||
}
|
||||
// .content {
|
||||
// padding: 0px 5px 0px 5px;
|
||||
// flex: 1;
|
||||
// scrollbar-width: thin;
|
||||
// overflow-y: auto;
|
||||
// }
|
||||
|
||||
.menububble {
|
||||
position: absolute;
|
||||
display: flex;
|
||||
overflow: hidden;
|
||||
opacity: 0;
|
||||
z-index: 1;
|
||||
background: #dddddd;
|
||||
transform: translateX(-50%);
|
||||
border-radius: 3px;
|
||||
padding: 0.07rem;
|
||||
transition: opacity 0.2s, visibility 0.2s, left .2s, bottom .2s;
|
||||
visibility: hidden;
|
||||
// .menububble {
|
||||
// position: absolute;
|
||||
// display: flex;
|
||||
// overflow: hidden;
|
||||
// opacity: 0;
|
||||
// z-index: 1;
|
||||
// background: #dddddd;
|
||||
// transform: translateX(-50%);
|
||||
// border-radius: 3px;
|
||||
// padding: 0.07rem;
|
||||
// transition: opacity 0.2s, visibility 0.2s, left .2s, bottom .2s;
|
||||
// visibility: hidden;
|
||||
|
||||
&.is-active {
|
||||
opacity: 1;
|
||||
visibility: visible;
|
||||
}
|
||||
input {
|
||||
padding: 0;
|
||||
margin: 1px;
|
||||
display: block;
|
||||
border: 0;
|
||||
color: #444;
|
||||
font-size: .8em;
|
||||
border-radius: 3px;
|
||||
line-height: 100%;
|
||||
transition: width .2s;
|
||||
padding-left: 5px;
|
||||
flex-grow: 1;
|
||||
}
|
||||
// &.is-active {
|
||||
// opacity: 1;
|
||||
// visibility: visible;
|
||||
// }
|
||||
// input {
|
||||
// padding: 0;
|
||||
// margin: 1px;
|
||||
// display: block;
|
||||
// border: 0;
|
||||
// color: #444;
|
||||
// font-size: .8em;
|
||||
// border-radius: 3px;
|
||||
// line-height: 100%;
|
||||
// transition: width .2s;
|
||||
// padding-left: 5px;
|
||||
// flex-grow: 1;
|
||||
// }
|
||||
|
||||
.fa-icon {
|
||||
width: auto;
|
||||
font-size: 10px;
|
||||
height: 1.4em; /* or any other relative font sizes */
|
||||
/* You would have to include the following two lines to make this work in Safari */
|
||||
// max-width: 100%;
|
||||
max-height: 100%;
|
||||
}
|
||||
// .fa-icon {
|
||||
// width: auto;
|
||||
// font-size: 10px;
|
||||
// height: 1.4em; /* or any other relative font sizes */
|
||||
// /* You would have to include the following two lines to make this work in Safari */
|
||||
// // max-width: 100%;
|
||||
// max-height: 100%;
|
||||
// }
|
||||
|
||||
}
|
||||
}
|
||||
// }
|
||||
// }
|
||||
|
||||
</style>
|
||||
|
||||
@@ -1,26 +1,57 @@
|
||||
<template lang="pug">
|
||||
.card.event.h-event.mt-1.text-white
|
||||
v-card.h-event.mt-1
|
||||
nuxt-link(:to='`/event/${event.id}`')
|
||||
el-image(v-if='showImage && event.image_path'
|
||||
lazy :src='`/media/thumb/${event.image_path}`')
|
||||
.float-right
|
||||
i.text-danger.el-icon-refresh(v-if='event.parentId')
|
||||
.badge.text-info(v-if='settings.enable_resources && event.resources && event.resources.length') {{event.resources.length}}
|
||||
//- title
|
||||
.p-name.p-summary.title {{event.title}}
|
||||
v-img(:src="`/media/thumb/${event.image_path}`" height="250" position="top top" class="white--text align-end")
|
||||
v-list-item
|
||||
v-list-item-content
|
||||
v-list-item-title.headline {{ event.title }}
|
||||
v-list-item-subtitle
|
||||
time(:datetime='event.start_datetime|unixFormat("YYYY-MM-DD HH:mm")') <v-icon>mdi-date</v-icon> {{ event|when }}
|
||||
v-list-item-subtitle
|
||||
span <v-icon>md-location-outline</v-icon> {{event.place.name}}
|
||||
|
||||
.card-body
|
||||
//- div.d-flex.justify-content-between
|
||||
//- when
|
||||
time.d-block.dt-start.mt-0(:datetime='event.start_datetime|unixFormat("YYYY-MM-DD HH:mm")') <i class='el-icon-date'/> {{event|when}}
|
||||
//- place
|
||||
.p-location.mt-1.text-warning(plain size='mini' round type='text' @click='addPlace') <i class='el-icon-location-outline'/> {{event.place.name}}
|
||||
//- v-card-text
|
||||
|
||||
//- description
|
||||
//- .p-description.description.mt-3(v-html='description')
|
||||
v-card-actions
|
||||
v-btn(text color='primary' nuxt :to='`/event/${event.id}`') {{$t('common.read')}}
|
||||
v-spacer
|
||||
v-btn(icon)
|
||||
v-icon mdi-bookmark
|
||||
v-btn(icon color='yellow')
|
||||
v-icon mdi-share-variant
|
||||
|
||||
.card-footer(v-if='event.tags.length')
|
||||
el-button.ml-1(type='text' plain round size='mini' v-for='tag in event.tags' :key='tag' @click='addTag(tag)') {{tag}}
|
||||
//- <!-- //- v-card.event.h-event.mt-1(max-width="400")
|
||||
//- p ciao
|
||||
//- nuxt-link(:to='`/event/${event.id}`')
|
||||
//- v-list-item
|
||||
//- v-list-item-content
|
||||
//- v-list-item-title(v-text='event.title')
|
||||
//- v-list-item-subtitle
|
||||
//- //- when
|
||||
//- time.d-block.dt-start.mt-0(:datetime='event.start_datetime|unixFormat("YYYY-MM-DD HH:mm")') <i class='el-icon-date'/> {{event|when}}
|
||||
//- //- place
|
||||
//- .p-location.mt-1.text-warning(plain size='mini' round type='text' @click='addPlace') <i class='el-icon-location-outline'/> {{event.place.name}}
|
||||
|
||||
//- v-img(v-if='showImage && event.image_path' height="194"
|
||||
//- lazy :src='`/media/thumb/${event.image_path}`')
|
||||
//- .float-right
|
||||
//- i.text-danger.el-icon-refresh(v-if='event.parentId')
|
||||
//- .badge.text-info(v-if='settings.enable_resources && event.resources && event.resources.length') {{event.resources.length}}
|
||||
//- //- title
|
||||
//- .p-name.p-summary.title {{event.title}}
|
||||
|
||||
//- .card-body
|
||||
//- //- div.d-flex.justify-content-between
|
||||
//- //- when
|
||||
//- time.d-block.dt-start.mt-0(:datetime='event.start_datetime|unixFormat("YYYY-MM-DD HH:mm")') <i class='el-icon-date'/> {{event|when}}
|
||||
//- //- place
|
||||
//- .p-location.mt-1.text-warning(plain size='mini' round type='text' @click='addPlace') <i class='el-icon-location-outline'/> {{event.place.name}}
|
||||
|
||||
//- //- description
|
||||
//- //- .p-description.description.mt-3(v-html='description')
|
||||
|
||||
//- .card-footer(v-if='event.tags.length')
|
||||
//- v-btn.ml-1(type='text' plain rounded size='mini' v-for='tag in event.tags' :key='tag' @click='addTag(tag)') {{tag}} -->
|
||||
</template>
|
||||
<script>
|
||||
import { mapState, mapActions } from 'vuex'
|
||||
@@ -66,3 +97,65 @@ export default {
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
.h-event {
|
||||
width: 300px;
|
||||
max-width: 450px;
|
||||
flex-grow: 1;
|
||||
margin: .2em;
|
||||
background-color: #202020;
|
||||
overflow: hidden;
|
||||
}
|
||||
// a:hover {
|
||||
// text-decoration: none;
|
||||
// .title {
|
||||
// border-bottom: 1px solid #888;
|
||||
// color: white;
|
||||
// }
|
||||
// }
|
||||
// .title {
|
||||
// margin-left: 1rem;
|
||||
// margin-top: 1rem;
|
||||
// margin-right: 1rem;
|
||||
// border-bottom: 1px solid #333;
|
||||
// transition: border-color .5s;
|
||||
// font-size: 1.2em;
|
||||
// max-height: 3em;
|
||||
// overflow: hidden;
|
||||
// color: white;
|
||||
// font-weight: bold;
|
||||
// }
|
||||
|
||||
// .card-footer {
|
||||
// max-height: 4.5em;
|
||||
// overflow: hidden;
|
||||
// padding: .25rem 0.5rem;
|
||||
// line-height: 1.8rem;
|
||||
// min-height: 2.2rem;
|
||||
// }
|
||||
|
||||
// .card-body {
|
||||
// overflow: hidden;
|
||||
// }
|
||||
|
||||
// .description {
|
||||
// color: #999;
|
||||
// font-size: 0.8em;
|
||||
// overflow: hidden;
|
||||
// max-height: 100%;
|
||||
// }
|
||||
|
||||
// .el-image { width: 100% }
|
||||
// .v-image {
|
||||
// .v-image__image {
|
||||
// height: 250px;
|
||||
// }
|
||||
// height: 250px;
|
||||
// background-position: top;
|
||||
// // width: 100%;
|
||||
// // object-fit: cover;
|
||||
// // object-position: top;
|
||||
// }
|
||||
// }
|
||||
|
||||
</style>
|
||||
|
||||
15
components/Footer.vue
Normal file
15
components/Footer.vue
Normal file
@@ -0,0 +1,15 @@
|
||||
<template lang="pug">
|
||||
v-footer(app absolute)
|
||||
v-btn(text href='https://gancio.org') Gancio {{settings.version}}
|
||||
v-btn(v-if='settings.enable_federation' text rel='me' @click.prevent='showFollowMe=true') follow me
|
||||
v-btn(nuxt to='/about' text) about
|
||||
v-btn(href='https://blog.gancio.org' text) blog
|
||||
v-btn(href='https://framagit.org/les/gancio' text) source
|
||||
</template>
|
||||
<script>
|
||||
import { mapState } from 'vuex'
|
||||
|
||||
export default {
|
||||
computed: mapState(['settings'])
|
||||
}
|
||||
</script>
|
||||
@@ -1,5 +1,5 @@
|
||||
<template lang="pug">
|
||||
section#home
|
||||
v-container#home(fluid)
|
||||
Announcement(v-for='announcement in announcements' :key='`a_${announcement.id}`' :announcement='announcement')
|
||||
#calbar.row.mt-2.mb-2
|
||||
.col-xl-7.col-lg-7.col-sm-6.col-xs-12
|
||||
@@ -10,7 +10,6 @@
|
||||
Search(past-filter recurrent-filter)
|
||||
|
||||
#events
|
||||
//- Announcement(v-for='announcement in announcements' :key='`a_${announcement.id}`' :announcement='announcement')
|
||||
Event(v-for='event in events' :key='event.id' :event='event')
|
||||
|
||||
</template>
|
||||
@@ -27,6 +26,7 @@ export default {
|
||||
components: { Calendar, Event, Search, Announcement },
|
||||
computed: {
|
||||
events () {
|
||||
console.error('dentro computed di events in HOME!')
|
||||
return this.in_past ? this.filteredEventsWithPast : this.filteredEvents
|
||||
},
|
||||
...mapGetters(['filteredEvents', 'filteredEventsWithPast']),
|
||||
@@ -51,10 +51,14 @@ export default {
|
||||
}
|
||||
</script>
|
||||
<style lang='less'>
|
||||
#calbar {
|
||||
max-width: 1000px;
|
||||
// margin: 0 auto;
|
||||
}
|
||||
// #calbar {
|
||||
// max-width: 1000px;
|
||||
// // margin: 0 auto;
|
||||
// }
|
||||
// #home {
|
||||
// max-width: 1600px;
|
||||
// }
|
||||
|
||||
#events {
|
||||
max-width: 1600px;
|
||||
margin: 0 auto;
|
||||
|
||||
@@ -1,53 +1,123 @@
|
||||
<template lang="pug">
|
||||
el-header#header
|
||||
nuxt-link#logo(:to='$route.name==="index"?"/about":"/"')
|
||||
img(src='/favicon.ico')
|
||||
span.ml-1.hidden-xs-only {{settings.title}}
|
||||
small.hidden-sm-only {{settings.description}}
|
||||
v-app-bar(app)
|
||||
|
||||
el-menu#menu(mode='horizontal' router )
|
||||
el-menu-item(v-if='could_add' index='/add')
|
||||
i.el-icon-plus
|
||||
span.hidden-xs-only {{$t('common.add_event')}}
|
||||
//- logo, title and description
|
||||
v-list-item(:to='$route.name==="index"?"/about":"/"')
|
||||
v-list-item-avatar(tile)
|
||||
v-img(src='/logo.png')
|
||||
v-list-item-content.d-none.d-sm-flex
|
||||
v-list-item-title
|
||||
h2 {{settings.title}}
|
||||
v-list-item-subtitle {{settings.description}}
|
||||
|
||||
//- nuxt-link(to='/export')
|
||||
el-menu-item(index='/export')
|
||||
i.el-icon-share
|
||||
span.hidden-xs-only {{$t('common.share')}}
|
||||
v-spacer
|
||||
|
||||
el-submenu(v-if='settings.enable_trusted_instances && settings.trusted_instances && settings.trusted_instances.length' index=4)
|
||||
template(slot='title')
|
||||
i.el-icon-guide
|
||||
span.hidden-xs-only {{$t('common.places')}}
|
||||
el-menu-item(v-for='instance in settings.trusted_instances' :key='instance.name')
|
||||
a(:href='instance.url' target='_link')
|
||||
img.mr-1(:src='`${instance.url}/favicon.ico`' style='height: 25px;')
|
||||
span.ml-1 {{instance.label || instance.name}}
|
||||
v-tooltip(bottom) {{$t('common.add')}}
|
||||
template(v-slot:activator='{ on }')
|
||||
v-btn(v-if='could_add' icon nuxt to='/add' v-on='on')
|
||||
v-icon mdi-calendar-plus
|
||||
|
||||
el-menu-item(v-if='!$auth.loggedIn' index='/login')
|
||||
i.el-icon-user
|
||||
span.hidden-xs-only {{$t('common.login')}}
|
||||
v-tooltip(bottom) {{$t('common.share')}}
|
||||
template(v-slot:activator='{ on }')
|
||||
v-btn(icon nuxt to='/export' v-on='on')
|
||||
v-icon mdi-share-variant
|
||||
|
||||
el-submenu(v-if='$auth.loggedIn' index=3)
|
||||
template(slot='title')
|
||||
i.el-icon-user
|
||||
span.hidden-xs-only {{$t('common.user')}}
|
||||
el-menu-item(divided index='/settings')
|
||||
i.el-icon-s-tools
|
||||
span {{$t('common.settings')}}
|
||||
el-menu-item(v-if='$auth.user.is_admin' index='/admin')
|
||||
i.el-icon-s-operation
|
||||
span {{$t('common.admin')}}
|
||||
el-menu-item(@click='logout')
|
||||
i.el-icon-switch-button
|
||||
span {{$t('common.logout')}}
|
||||
v-menu(v-if='settings.enable_trusted_instances && settings.trusted_instances && settings.trusted_instances.length'
|
||||
offset-y bottom open-on-hover transition="slide-y-transition")
|
||||
template(v-slot:activator="{ on, attrs }")
|
||||
v-btn(icon v-bind='attrs' v-on='on')
|
||||
v-icon mdi-map-marker-path
|
||||
v-list
|
||||
v-list-item(v-for='instance in settings.trusted_instances'
|
||||
:key='instance.name'
|
||||
:href='instance.url'
|
||||
two-line)
|
||||
v-list-item-avatar
|
||||
v-img(:src='`${instance.url}/favicon.ico`')
|
||||
v-list-item-content
|
||||
v-list-item-title {{instance.name}}
|
||||
v-list-item-subtitle {{instance.label}}
|
||||
|
||||
el-menu-item(type='text' v-clipboard:copy='feedLink' v-clipboard:success='copyLink')
|
||||
v-icon(color='orange' name='rss')
|
||||
v-btn(v-if='!$auth.loggedIn' icon nuxt to='/login')
|
||||
v-icon mdi-login
|
||||
|
||||
v-menu(v-else
|
||||
offset-y bottom open-on-hover transition="slide-y-transition")
|
||||
template(v-slot:activator="{ on, attrs }")
|
||||
v-btn(icon v-bind='attrs' v-on='on')
|
||||
v-icon mdi-dots-vertical
|
||||
v-list
|
||||
v-list-item(nuxt to='/settings')
|
||||
v-list-item-icon
|
||||
v-icon mdi-cog
|
||||
v-list-item-content
|
||||
v-list-item-title {{$t('common.settings')}}
|
||||
|
||||
v-list-item(v-if='$auth.user.is_admin' nuxt to='/admin')
|
||||
v-list-item-icon
|
||||
v-icon mdi-account
|
||||
v-list-item-content
|
||||
v-list-item-title {{$t('common.admin')}}
|
||||
|
||||
v-list-item(@click='logout')
|
||||
v-list-item-icon
|
||||
v-icon mdi-logout
|
||||
v-list-item-content
|
||||
v-list-item-title {{$t('common.logout')}}
|
||||
|
||||
v-btn(icon v-clipboard:copy='feedLink' v-clipboard:success='copyLink')
|
||||
v-icon(color='orange') mdi-rss
|
||||
|
||||
//- el-menu-item(type='text' v-clipboard:copy='feedLink' v-clipboard:success='copyLink')
|
||||
//- v-icon(color='orange' name='rss')
|
||||
|
||||
//- el-header#header
|
||||
//- img(src='/favicon.ico')
|
||||
//- span.ml-1.hidden-xs-only {{settings.title}}
|
||||
//- small.hidden-sm-only {{settings.description}}
|
||||
|
||||
//- el-menu#menu(mode='horizontal' router )
|
||||
//- el-menu-item(v-if='could_add' index='/add')
|
||||
//- i.el-icon-plus
|
||||
//- span.hidden-xs-only {{$t('common.add_event')}}
|
||||
|
||||
//- //- nuxt-link(to='/export')
|
||||
//- el-menu-item(index='/export')
|
||||
//- i.el-icon-share
|
||||
//- span.hidden-xs-only {{$t('common.share')}}
|
||||
|
||||
//- el-submenu(v-if='settings.enable_trusted_instances && settings.trusted_instances && settings.trusted_instances.length' index=4)
|
||||
//- template(slot='title')
|
||||
//- i.el-icon-guide
|
||||
//- span.hidden-xs-only {{$t('common.places')}}
|
||||
//- el-menu-item(v-for='instance in settings.trusted_instances' :key='instance.name')
|
||||
//- a(:href='instance.url' target='_link')
|
||||
//- img.mr-1(:src='`${instance.url}/favicon.ico`' style='height: 25px;')
|
||||
//- span.ml-1 {{instance.label || instance.name}}
|
||||
|
||||
//- el-menu-item(v-if='!$auth.loggedIn' index='/login')
|
||||
//- i.el-icon-user
|
||||
//- span.hidden-xs-only {{$t('common.login')}}
|
||||
|
||||
//- el-submenu(v-if='$auth.loggedIn' index=3)
|
||||
//- template(slot='title')
|
||||
//- i.el-icon-user
|
||||
//- span.hidden-xs-only {{$t('common.user')}}
|
||||
//- el-menu-item(divided index='/settings')
|
||||
//- i.el-icon-s-tools
|
||||
//- span {{$t('common.settings')}}
|
||||
//- el-menu-item(v-if='$auth.user.is_admin' index='/admin')
|
||||
//- i.el-icon-s-operation
|
||||
//- span {{$t('common.admin')}}
|
||||
//- el-menu-item(@click='logout')
|
||||
//- i.el-icon-switch-button
|
||||
//- span {{$t('common.logout')}}
|
||||
|
||||
//- el-menu-item(type='text' v-clipboard:copy='feedLink' v-clipboard:success='copyLink')
|
||||
//- v-icon(color='orange' name='rss')
|
||||
|
||||
</template>
|
||||
<script>
|
||||
import { Message } from 'element-ui'
|
||||
import { mapState } from 'vuex'
|
||||
|
||||
export default {
|
||||
@@ -72,14 +142,18 @@ export default {
|
||||
},
|
||||
could_add () {
|
||||
return (this.$auth.loggedIn || this.settings.allow_anon_event)
|
||||
},
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
copyLink () {
|
||||
Message({ message: this.$t('common.feed_url_copied'), type: 'success', showClose: true })
|
||||
this.$root.$emit('message', {
|
||||
message: this.$t('common.feed_url_copied')
|
||||
})
|
||||
},
|
||||
logout () {
|
||||
Message({ showClose: true, message: this.$t('common.logout_ok'), type: 'success' })
|
||||
this.$root.$emit('message', {
|
||||
message: this.$t('common.logout_ok')
|
||||
})
|
||||
this.$auth.logout()
|
||||
},
|
||||
async createTrustedInstance () {
|
||||
@@ -110,32 +184,32 @@ export default {
|
||||
</script>
|
||||
|
||||
<style lang='less'>
|
||||
#header {
|
||||
display: inline;
|
||||
#logo {
|
||||
img {
|
||||
max-height: 60px;
|
||||
}
|
||||
float: left;
|
||||
line-height: 60px;
|
||||
color: white;
|
||||
font-size: 1.5em;
|
||||
font-weight: 600;
|
||||
text-decoration: none;
|
||||
small {
|
||||
font-size: 0.5em;
|
||||
}
|
||||
}
|
||||
// #header {
|
||||
// display: inline;
|
||||
// #logo {
|
||||
// img {
|
||||
// max-height: 60px;
|
||||
// }
|
||||
// float: left;
|
||||
// line-height: 60px;
|
||||
// color: white;
|
||||
// font-size: 1.5em;
|
||||
// font-weight: 600;
|
||||
// text-decoration: none;
|
||||
// small {
|
||||
// font-size: 0.5em;
|
||||
// }
|
||||
// }
|
||||
|
||||
#menu {
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
top: 0px;
|
||||
border-bottom: none;
|
||||
.el-menu-item {
|
||||
padding: 0px 15px;
|
||||
}
|
||||
}
|
||||
}
|
||||
// #menu {
|
||||
// position: absolute;
|
||||
// right: 10px;
|
||||
// top: 0px;
|
||||
// border-bottom: none;
|
||||
// .el-menu-item {
|
||||
// padding: 0px 15px;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
</style>
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
<template lang="pug">
|
||||
el-main#search
|
||||
el-switch.mt-1.mb-2.ml-2.d-block(
|
||||
v-container
|
||||
v-switch.mt-0(
|
||||
v-if='recurrentFilter && settings.allow_recurrent_event'
|
||||
:active-text="$t('event.show_recurrent')"
|
||||
inset color='primary'
|
||||
:label="$t('event.show_recurrent')"
|
||||
v-model='showRecurrent')
|
||||
|
||||
el-switch.mt-1.mb-2.ml-2.d-block(
|
||||
v-if='pastFilter'
|
||||
:active-text="$t('event.show_past')"
|
||||
v-switch.mt-0(
|
||||
v-if='pastFilter' inset color='primary'
|
||||
:label="$t('event.show_past')"
|
||||
v-model='showPast')
|
||||
|
||||
el-autocomplete.mb-1#searchInput.inline-input(:placeholder='$t("common.filter")' prefix-icon='el-icon-search'
|
||||
highlight-first-item
|
||||
v-autocomplete#searchInput.mt-0(:placeholder='$t("common.filter")'
|
||||
v-model='search' :debounce='200'
|
||||
:fetch-suggestions='querySearch' clearable
|
||||
@select='addFilter')
|
||||
@@ -20,9 +20,9 @@
|
||||
i.float-right.el-icon-place(v-if='item.type==="place"')
|
||||
i.float-right.el-icon-collection-tag(v-if='item.type==="tag"')
|
||||
#filters
|
||||
el-button.mr-1.bg-dark(type='text' round plain v-for='t in filters.tags' size='mini'
|
||||
v-vtn.mr-1.bg-dark(type='text' round plain v-for='t in filters.tags' size='mini'
|
||||
:key='t' @click='removeTag(t)') {{t}}
|
||||
el-button.mr-1.bg-dark.text-warning(type='text' round plain v-for='p in selectedPlaces' size='mini'
|
||||
v-btn.mr-1.bg-dark.text-warning(type='text' round plain v-for='p in selectedPlaces' size='mini'
|
||||
:key='p.id' @click='removePlace(p.id)') {{p.name}}
|
||||
</template>
|
||||
|
||||
@@ -91,36 +91,36 @@ export default {
|
||||
}
|
||||
</script>
|
||||
<style lang='less'>
|
||||
#search {
|
||||
#searchInput {
|
||||
border: none;
|
||||
border-radius: 0px;
|
||||
border-bottom: 2px solid lightgray;
|
||||
color: white;
|
||||
background-color: #111;
|
||||
}
|
||||
// #search {
|
||||
// #searchInput {
|
||||
// border: none;
|
||||
// border-radius: 0px;
|
||||
// border-bottom: 2px solid lightgray;
|
||||
// color: white;
|
||||
// background-color: #111;
|
||||
// }
|
||||
|
||||
.el-switch__label {
|
||||
color: #aaa;
|
||||
}
|
||||
// .el-switch__label {
|
||||
// color: #aaa;
|
||||
// }
|
||||
|
||||
.el-switch__label.is-active {
|
||||
color: lightgreen;
|
||||
}
|
||||
// .el-switch__label.is-active {
|
||||
// color: lightgreen;
|
||||
// }
|
||||
|
||||
.el-switch__core {
|
||||
background-color: #555;
|
||||
border-color: #777;
|
||||
}
|
||||
// .el-switch__core {
|
||||
// background-color: #555;
|
||||
// border-color: #777;
|
||||
// }
|
||||
|
||||
.is-checked .el-switch__core {
|
||||
background-color: lightgreen;
|
||||
}
|
||||
// .is-checked .el-switch__core {
|
||||
// background-color: lightgreen;
|
||||
// }
|
||||
|
||||
#filters {
|
||||
line-height: 2rem;
|
||||
}
|
||||
}
|
||||
// #filters {
|
||||
// line-height: 2rem;
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
</style>
|
||||
|
||||
39
components/Snackbar.vue
Normal file
39
components/Snackbar.vue
Normal file
@@ -0,0 +1,39 @@
|
||||
<template lang='pug'>
|
||||
v-snackbar(
|
||||
v-model="active"
|
||||
:color="color"
|
||||
:bottom="bottom"
|
||||
:top="top"
|
||||
:left="left"
|
||||
:right="right"
|
||||
:timeout="timeout")
|
||||
v-icon.mr-3(color="white") {{icon}}
|
||||
span {{ message }}
|
||||
template(v-slot:action="{ }")
|
||||
v-icon(size="16" @click="active = false") mdi-close-circle
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data () {
|
||||
return {
|
||||
icon: 'md-alert',
|
||||
color: 'primary',
|
||||
bottom: true,
|
||||
top: false,
|
||||
left: false,
|
||||
right: true,
|
||||
active: false,
|
||||
timeout: 5000,
|
||||
message: ''
|
||||
}
|
||||
},
|
||||
created () {
|
||||
this.$root.$on('message', snackbar => {
|
||||
this.active = true
|
||||
this.message = snackbar.message
|
||||
this.color = snackbar.color || 'primary'
|
||||
})
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -1,26 +1,22 @@
|
||||
<template lang='pug'>
|
||||
div
|
||||
p(v-html="$t('admin.announcement_description')")
|
||||
br
|
||||
el-input(v-model='announcement.title' :placeholder='$t("common.title")')
|
||||
v-container
|
||||
v-subheader(v-html="$t('admin.announcement_description')")
|
||||
v-text-field(v-model='announcement.title' :placeholder='$t("common.title")')
|
||||
Editor.mt-2(v-model='announcement.announcement' border no-save style='max-height: 400px;')
|
||||
el-button.mt-2.float-right(@click='save' type='success' plain) {{$t(`common.${editing?'save':'send'}`)}}
|
||||
v-btn.mt-2(@click='save' type='success' plain) {{$t(`common.${editing?'save':'send'}`)}}
|
||||
|
||||
el-table(:data='announcements' small)
|
||||
el-table-column(:label="$t('common.title')" width='250')
|
||||
template(slot-scope='data')
|
||||
span(slot='reference') {{data.row.title}}
|
||||
v-data-table(:items='announcements')
|
||||
|
||||
el-table-column(:label="$t('common.actions')")
|
||||
template(slot-scope='data')
|
||||
el-button-group
|
||||
el-button(size='mini' type='primary'
|
||||
@click='edit(data.row)') {{$t('common.edit')}}
|
||||
el-button(size='mini'
|
||||
:type='data.row.visible?"warning":"success"'
|
||||
@click='toggle(data.row)') {{data.row.visible?$t('common.deactivate'):$t('common.activate')}}
|
||||
el-button(size='mini' type='danger'
|
||||
@click='remove(data.row)') {{$t('common.delete')}}
|
||||
//- el-table-column(:label="$t('common.actions')")
|
||||
//- template(slot-scope='data')
|
||||
//- el-button-group
|
||||
//- el-button(size='mini' type='primary'
|
||||
//- @click='edit(data.row)') {{$t('common.edit')}}
|
||||
//- el-button(size='mini'
|
||||
//- :type='data.row.visible?"warning":"success"'
|
||||
//- @click='toggle(data.row)') {{data.row.visible?$t('common.deactivate'):$t('common.activate')}}
|
||||
//- el-button(size='mini' type='danger'
|
||||
//- @click='remove(data.row)') {{$t('common.delete')}}
|
||||
|
||||
</template>
|
||||
<script>
|
||||
|
||||
@@ -1,47 +1,72 @@
|
||||
<template lang="pug">
|
||||
el-main
|
||||
el-switch.d-block(v-model='enable_federation' :active-text="$t('admin.enable_federation')")
|
||||
small.text-secondary {{$t('admin.enable_federation_help')}}
|
||||
v-container
|
||||
v-switch(v-model='enable_federation'
|
||||
:label="$t('admin.enable_federation')"
|
||||
persistent-hint
|
||||
inset
|
||||
:hint="$t('admin.enable_federation_help')"
|
||||
)
|
||||
|
||||
template(v-if='enable_federation')
|
||||
|
||||
el-switch.d-block.mt-4(v-model='enable_resources' :active-text="$t('admin.enable_resources')")
|
||||
small.text-secondary {{$t('admin.enable_resources_help')}}
|
||||
v-switch.mt-4(v-model='enable_resources'
|
||||
:label="$t('admin.enable_resources')"
|
||||
:hint="$t('admin.enable_resources_help')"
|
||||
persistent-hint inset)
|
||||
|
||||
el-switch.d-block.mt-4(v-model='hide_boosts' :active-text="$t('admin.hide_boost_bookmark')")
|
||||
small.text-secondary {{$t('admin.hide_boost_bookmark_help')}}
|
||||
v-switch.mt-4(v-model='hide_boosts'
|
||||
:label="$t('admin.hide_boost_bookmark')"
|
||||
:hint="$t('admin.hide_boost_bookmark_help')"
|
||||
persistent-hint inset)
|
||||
|
||||
div.mt-4 {{$t('admin.instance_name')}}
|
||||
el-input(v-model='instance_name' placeholder='Instance name' @blur='save("instance_name", instance_name)')
|
||||
small.d-block.text-secondary {{$t('admin.instance_name_help')}} (<u>@{{instance_name}}@{{settings.baseurl|url2host}}</u>)
|
||||
//- div.mt-4 {{$t('admin.instance_name')}}
|
||||
v-text-field.mt-5(v-model='instance_name'
|
||||
:label="$t('admin.instance_name')"
|
||||
:hint="`${$t('admin.instance_name_help')} (@${instance_name}@${settings.baseurl|url2host})`"
|
||||
placeholder='Instance name' persistent-hint
|
||||
@blur='save("instance_name", instance_name)')
|
||||
|
||||
el-switch.d-block.mt-4(v-model='enable_trusted_instances' :active-text="$t('admin.enable_trusted_instances')")
|
||||
small.text-secondary {{$t('admin.trusted_instances_help')}}
|
||||
v-switch.mt-4(v-model='enable_trusted_instances'
|
||||
:label="$t('admin.enable_trusted_instances')"
|
||||
persistent-hint inset
|
||||
:hint="$t('admin.trusted_instances_help')")
|
||||
|
||||
template(v-if='enable_trusted_instances')
|
||||
div.mt-4 {{$t('admin.instance_place')}}
|
||||
el-input(v-model='instance_place' @blur='save("instance_place", instance_place)')
|
||||
small.d-block.text-secondary {{$t('admin.instance_place_help')}}
|
||||
v-text-field.mt-4(v-model='instance_place'
|
||||
:label="$t('admin.instance_place')"
|
||||
persistent-hint
|
||||
:hint="$t('admin.instance_place_help')"
|
||||
@blur='save("instance_place", instance_place)'
|
||||
)
|
||||
|
||||
div.mt-4 {{$t('admin.add_trusted_instance')}}
|
||||
el-input(v-model='instance_url' :placeholder="$t('common.url')")
|
||||
el-button(slot='append' @click='createTrustedInstance') {{$t('common.send')}}
|
||||
//- div.mt-4 {{$t('admin.add_trusted_instance')}}
|
||||
v-text-field.mt-4(v-model='instance_url'
|
||||
:full-width='false'
|
||||
persistent-hint
|
||||
:hint="$t('admin.add_trusted_instance')"
|
||||
:label="$t('common.url')"
|
||||
append-outer-icon="mdi-send"
|
||||
@click:append-outer='createTrustedInstance'
|
||||
)
|
||||
|
||||
el-table(:data='settings.trusted_instances')
|
||||
el-table-column(:label="$t('common.name')")
|
||||
template(slot-scope='data')
|
||||
span {{data.row.name}}
|
||||
el-table-column(:label="$t('common.url')")
|
||||
template(slot-scope='data')
|
||||
span {{data.row.url}}
|
||||
el-table-column(:label="$t('common.place')")
|
||||
template(slot-scope='data')
|
||||
span {{data.row.label}}
|
||||
el-table-column(:label="$t('common.actions')")
|
||||
template(slot-scope='data')
|
||||
el-button(size='mini'
|
||||
type='danger'
|
||||
@click='deleteInstance(data.row)') {{$t('admin.delete_user')}}
|
||||
v-data-table.mt-4(
|
||||
:headers='headers'
|
||||
:items='settings.trusted_instances'
|
||||
)
|
||||
//- el-table-column(:label="$t('common.name')")
|
||||
//- template(slot-scope='data')
|
||||
//- span {{data.row.name}}
|
||||
//- el-table-column(:label="$t('common.url')")
|
||||
//- template(slot-scope='data')
|
||||
//- span {{data.row.url}}
|
||||
//- el-table-column(:label="$t('common.place')")
|
||||
//- template(slot-scope='data')
|
||||
//- span {{data.row.label}}
|
||||
//- el-table-column(:label="$t('common.actions')")
|
||||
//- template(slot-scope='data')
|
||||
//- el-button(size='mini'
|
||||
//- type='danger'
|
||||
//- @click='deleteInstance(data.row)') {{$t('admin.delete_user')}}
|
||||
|
||||
</template>
|
||||
<script>
|
||||
@@ -51,11 +76,12 @@ import axios from 'axios'
|
||||
|
||||
export default {
|
||||
name: 'Federation',
|
||||
data ({ $store }) {
|
||||
data ({ $store, $options }) {
|
||||
return {
|
||||
instance_url: '',
|
||||
instance_name: $store.state.settings.instance_name,
|
||||
instance_place: $store.state.settings.instance_place
|
||||
instance_place: $store.state.settings.instance_place,
|
||||
url2host: $options.filters.url2host
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
@@ -77,6 +103,9 @@ export default {
|
||||
set (value) { this.setSetting({ key: 'enable_trusted_instances', value }) }
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
console.error(this.$options.filters)
|
||||
},
|
||||
methods: {
|
||||
...mapActions(['setSetting']),
|
||||
async createTrustedInstance () {
|
||||
|
||||
@@ -1,44 +1,33 @@
|
||||
<template lang='pug'>
|
||||
div
|
||||
p(v-html="$t('admin.place_description')")
|
||||
el-form.mb-2(inline label-width='120px')
|
||||
el-form-item(:label="$t('common.name')")
|
||||
el-input.mr-1(:placeholder='$t("common.name")' v-model='place.name')
|
||||
el-form-item(:label="$t('common.address')")
|
||||
el-input.mr-1(:placeholder='$t("common.address")' v-model='place.address')
|
||||
el-button(variant='primary' @click='savePlace') {{$t('common.save')}}
|
||||
v-container
|
||||
v-subheader(v-html="$t('admin.place_description')")
|
||||
v-form.mb-2
|
||||
//- el-form-item(:label="$t('common.name')")
|
||||
//- el-input.mr-1(:placeholder='$t("common.name")' v-model='place.name')
|
||||
v-text-field(
|
||||
:label="$t('common.name')"
|
||||
v-model='place.name'
|
||||
:placeholder='$t("common.name")')
|
||||
|
||||
el-table(:data='paginatedPlaces' small)
|
||||
el-table-column(:label="$t('common.name')" width='200')
|
||||
template(slot-scope='data') {{data.row.name}}
|
||||
el-table-column(:label="$t('common.address')" width='400')
|
||||
template(slot-scope='data') {{data.row.address}}
|
||||
el-table-column(:label="$t('common.actions')" width='200')
|
||||
template(slot-scope='data')
|
||||
el-button(size='mini'
|
||||
type='success'
|
||||
@click='place = data.row') {{$t('common.edit')}}
|
||||
v-text-field(
|
||||
:label="$t('common.address')"
|
||||
v-model='place.address'
|
||||
:placeholder='$t("common.address")')
|
||||
|
||||
client-only
|
||||
el-pagination(v-if='places.length>perPage' :page-size='perPage' :currentPage.sync='placePage' :total='places.length')
|
||||
v-btn(@click='savePlace') {{$t('common.save')}}
|
||||
|
||||
v-data-table(
|
||||
:items='places')
|
||||
</template>
|
||||
<script>
|
||||
import { mapState } from 'vuex'
|
||||
export default {
|
||||
data () {
|
||||
return {
|
||||
perPage: 10,
|
||||
placePage: 1,
|
||||
place: { name: '', address: '', id: null }
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapState(['places']),
|
||||
paginatedPlaces () {
|
||||
return this.places.slice((this.placePage - 1) * this.perPage,
|
||||
this.placePage * this.perPage)
|
||||
}
|
||||
},
|
||||
computed: mapState(['places']),
|
||||
methods: {
|
||||
placeSelected (items) {
|
||||
if (items.length === 0) {
|
||||
@@ -51,7 +40,7 @@ export default {
|
||||
this.place.id = item.id
|
||||
},
|
||||
async savePlace () {
|
||||
const place = await this.$axios.$put('/place', this.place)
|
||||
await this.$axios.$put('/place', this.place)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,50 +1,73 @@
|
||||
<template lang="pug">
|
||||
el-main
|
||||
v-container
|
||||
|
||||
//- select timezone
|
||||
div {{$t('admin.select_instance_timezone')}}
|
||||
el-select(v-model='instance_timezone' filterable
|
||||
@input.native='queryTz=$event.target.value' @change='queryTz=""'
|
||||
default-first-option placeholder='Timezone, type to search')
|
||||
el-option(v-for='timezone in filteredTimezones' :key='timezone.value' :value='timezone.value')
|
||||
span.float-left {{timezone.value}}
|
||||
small.float-right.text-danger {{timezone.offset}}
|
||||
small.d-block.text-secondary {{$t('admin.instance_timezone_description')}}
|
||||
v-autocomplete(v-model='instance_timezone'
|
||||
:label="$t('admin.select_instance_timezone')"
|
||||
:hint="$t('admin.instance_timezone_description')"
|
||||
:items="filteredTimezones"
|
||||
persistent-hint
|
||||
item-text='value'
|
||||
item-value='value'
|
||||
placeholder='Timezone, type to search')
|
||||
template(v-slot:item='{ item }')
|
||||
v-list-item-content
|
||||
v-list-item-title {{item.value}}
|
||||
v-list-item-subtitle {{item.offset}}
|
||||
|
||||
div.mt-4 {{$t('admin.instance_locale')}}
|
||||
el-select(v-model='instance_locale')
|
||||
el-option(v-for='locale in Object.keys(locales)' :key='locale' :label='locales[locale]' :value='locale')
|
||||
small.d-block.text-secondary {{$t('admin.instance_locale_description')}}
|
||||
v-select.mt-5(
|
||||
v-model='instance_locale'
|
||||
:label="$t('admin.instance_locale')"
|
||||
:hint="$t('admin.instance_locale_description')"
|
||||
persistent-hint
|
||||
item-text='locale'
|
||||
item-value='locale'
|
||||
:items='locales'
|
||||
)
|
||||
|
||||
div.mt-4 {{$t('common.title')}}
|
||||
el-input(v-model='title' @blur='save("title", title)')
|
||||
small.d-block.text-secondary {{$t('admin.title_description')}}
|
||||
v-text-field.mt-5(v-model='title'
|
||||
:label="$t('common.title')"
|
||||
:hint="$t('admin.title_description')"
|
||||
@blur='save("title", title)'
|
||||
persistent-hint
|
||||
)
|
||||
|
||||
div.mt-4 {{$t('common.description')}}
|
||||
el-input(v-model='description' @blur='save("description", description)')
|
||||
small.d-block.text-secondary {{$t('admin.description_description')}}
|
||||
v-text-field.mt-5(v-model='description'
|
||||
:label="$t('common.description')"
|
||||
:hint="$t('admin.description_description')"
|
||||
persistent-hint
|
||||
@blur='save("description", description)')
|
||||
|
||||
div.mt-4 {{$t('admin.favicon')}}
|
||||
el-upload(ref='upload'
|
||||
:action='`${settings.baseurl}/api/settings/logo`'
|
||||
:on-success="forceLogoReload"
|
||||
name='logo'
|
||||
:show-file-list="true"
|
||||
accept='image/png'
|
||||
:limit='1'
|
||||
:multiple='false')
|
||||
el-button-group
|
||||
el-button(size='small' type='primary' plain) Select file
|
||||
el-button(size='small' type='success' plain @click='resetLogo') Reset
|
||||
.el-upload__tip(slot='tip') png files with a size less than 500kb
|
||||
el-image(:src='`${settings.baseurl}/favicon.ico?${logoKey}`')
|
||||
el-switch.d-block.mt-4(v-model='allow_registration'
|
||||
:active-text="$t('admin.allow_registration_description')")
|
||||
el-switch.d-block.mt-4(v-model='allow_anon_event' :active-text="$t('admin.allow_anon_event')")
|
||||
v-file-input.mt-5(ref='upload'
|
||||
:label="$t('admin.favicon')"
|
||||
:action='`${settings.baseurl}/api/settings/logo`'
|
||||
:on-success="forceLogoReload"
|
||||
name='logo'
|
||||
:show-file-list="true"
|
||||
accept='image/png'
|
||||
:limit='1'
|
||||
:multiple='false')
|
||||
//- el-button-group
|
||||
el-button(size='small' type='primary' plain) Select file
|
||||
el-button(size='small' type='success' plain @click='resetLogo') Reset
|
||||
v-img(:src='`${settings.baseurl}/favicon.ico?${logoKey}`')
|
||||
|
||||
el-switch.d-block.mt-4(v-model='allow_recurrent_event' :active-text="$t('admin.allow_recurrent_event')")
|
||||
v-switch.mt-5(v-model='allow_registration'
|
||||
inset
|
||||
:label="$t('admin.allow_registration_description')")
|
||||
|
||||
el-switch.d-block.mt-4(v-if='allow_recurrent_event'
|
||||
v-model='recurrent_event_visible' :active-text="$t('admin.recurrent_event_visible')")
|
||||
v-switch.mt-4(v-model='allow_anon_event'
|
||||
inset
|
||||
:label="$t('admin.allow_anon_event')")
|
||||
|
||||
v-switch.mt-4(v-model='allow_recurrent_event'
|
||||
inset
|
||||
:label="$t('admin.allow_recurrent_event')")
|
||||
|
||||
v-switch.mt-4(v-if='allow_recurrent_event'
|
||||
v-model='recurrent_event_visible'
|
||||
inset
|
||||
:label="$t('admin.recurrent_event_visible')")
|
||||
|
||||
</template>
|
||||
<script>
|
||||
@@ -57,7 +80,6 @@ export default {
|
||||
name: 'Settings',
|
||||
data ({ $store }) {
|
||||
return {
|
||||
queryTz: '',
|
||||
title: $store.state.settings.title,
|
||||
description: $store.state.settings.description,
|
||||
locales,
|
||||
@@ -92,10 +114,7 @@ export default {
|
||||
},
|
||||
filteredTimezones () {
|
||||
const current_timezone = moment.tz.guess()
|
||||
const query = this.queryTz.toLowerCase()
|
||||
const ret = _(moment.tz.names())
|
||||
.filter(tz => tz !== current_timezone && (!query || tz.toLowerCase().includes(query)))
|
||||
.take(10)
|
||||
.unshift(current_timezone)
|
||||
.map(tz => ({ value: tz, offset: moment().tz(tz).format('z Z') }))
|
||||
.value()
|
||||
|
||||
@@ -1,41 +1,54 @@
|
||||
<template lang="pug">
|
||||
div
|
||||
//- ADD NEW USER
|
||||
el-collapse
|
||||
el-collapse-item
|
||||
template(slot='title')
|
||||
el-button(type='text' mini size='mini') <v-icon name='plus'/> {{$t('common.new_user')}}
|
||||
el-form(inline @submit.native.prevent='create_user')
|
||||
el-form-item(:label="$t('common.email')")
|
||||
el-input(v-model='new_user.email')
|
||||
el-form-item(:label="$t('common.admin')")
|
||||
el-switch(v-model='new_user.is_admin')
|
||||
el-button.float-right(@click='create_user' type='success' plain) {{$t('common.send')}}
|
||||
el-alert.mb-1(type='info' show-icon :closable='false') {{$t('admin.user_add_help')}}
|
||||
v-container
|
||||
|
||||
//- USERS LIST
|
||||
el-table(:data='paginatedUsers' small)
|
||||
el-table-column(label='Email' width='220')
|
||||
template(slot-scope='data')
|
||||
el-popover(trigger='hover' :content='data.row.description' width='400')
|
||||
span(slot='reference') {{data.row.email}}
|
||||
el-table-column(:label="$t('common.actions')")
|
||||
template(slot-scope='data')
|
||||
div(v-if='data.row.id!==$auth.user.id')
|
||||
el-button-group
|
||||
el-button(size='mini'
|
||||
:type='data.row.is_active?"warning":"success"'
|
||||
@click='toggle(data.row)') {{data.row.is_active?$t('common.deactivate'):$t('common.activate')}}
|
||||
el-button(size='mini'
|
||||
:type='data.row.is_admin?"danger":"warning"'
|
||||
@click='toggleAdmin(data.row)') {{data.row.is_admin?$t('admin.remove_admin'):$t('common.admin')}}
|
||||
el-button(size='mini'
|
||||
type='danger'
|
||||
@click='delete_user(data.row)') {{$t('admin.delete_user')}}
|
||||
div(v-else)
|
||||
span {{$t('common.me')}}
|
||||
client-only
|
||||
el-pagination(:page-size='perPage' :currentPage.sync='userPage' v-if='perPage<users_.length' :total='users_.length')
|
||||
//- ADD NEW USER
|
||||
v-dialog(v-model='newUser' width='500')
|
||||
template(v-slot:activator="{ on }")
|
||||
v-btn(text v-on='on') <v-icon>mdi-plus</v-icon> {{$t('common.new_user')}}
|
||||
|
||||
v-card
|
||||
v-card-title <v-icon name='plus'/> {{$t('common.new_user')}}
|
||||
v-card-text
|
||||
v-form(inline @submit.native.prevent='create_user')
|
||||
v-text-field(v-model='new_user.email'
|
||||
:label="$t('common.email')")
|
||||
v-switch(v-model='new_user.is_admin' :label="$t('common.admin')" inset)
|
||||
v-alert(type='info' :closable='false') {{$t('admin.user_add_help')}}
|
||||
v-card-actions
|
||||
v-btn(@click='create_user' color='success' plain) {{$t('common.send')}}
|
||||
|
||||
//- USERS LIST
|
||||
v-data-table(
|
||||
:headers='headers'
|
||||
:items='users')
|
||||
template(v-slot:item.actions='{item}')
|
||||
v-btn(text small @click='toggle(item)'
|
||||
:color='item.is_active?"warning":"success"') {{item.is_active?$t('common.deactivate'):$t('common.activate')}}
|
||||
v-btn(text small @click='toggleAdmin(item)'
|
||||
:color='item.is_admin?"warning":"error"') {{item.is_admin?$t('common.remove_admin'):$t('common.admin')}}
|
||||
v-btn(text small @click='deleteUser(item)'
|
||||
:color='danger') {{$t('admin.delete_user')}}
|
||||
|
||||
//- el-table-column(label='Email' width='220')
|
||||
//- template(slot-scope='data')
|
||||
//- el-popover(trigger='hover' :content='data.row.description' width='400')
|
||||
//- span(slot='reference') {{data.row.email}}
|
||||
//- el-table-column(:label="$t('common.actions')")
|
||||
//- template(slot-scope='data')
|
||||
//- div(v-if='data.row.id!==$auth.user.id')
|
||||
//- el-button-group
|
||||
//- el-button(size='mini'
|
||||
//- :type='data.row.is_active?"warning":"success"'
|
||||
//- @click='toggle(data.row)') {{data.row.is_active?$t('common.deactivate'):$t('common.activate')}}
|
||||
//- el-button(size='mini'
|
||||
//- :type='data.row.is_admin?"danger":"warning"'
|
||||
//- @click='toggleAdmin(data.row)') {{data.row.is_admin?$t('admin.remove_admin'):$t('common.admin')}}
|
||||
//- el-button(size='mini'
|
||||
//- type='danger'
|
||||
//- @click='delete_user(data.row)') {{$t('admin.delete_user')}}
|
||||
//- div(v-else)
|
||||
//- span {{$t('common.me')}}
|
||||
//- v-pagination(:page-size='perPage' :currentPage.sync='userPage' v-if='perPage<users_.length' :total='users_.length')
|
||||
|
||||
</template>
|
||||
<script>
|
||||
@@ -44,27 +57,24 @@ import { mapState } from 'vuex'
|
||||
|
||||
export default {
|
||||
name: 'Users',
|
||||
props: ['users'],
|
||||
props: {
|
||||
users: { type: Array, default: () => [] }
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
perPage: 10,
|
||||
userPage: 1,
|
||||
new_user: {
|
||||
email: '',
|
||||
is_admin: false
|
||||
},
|
||||
users_: this.users
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapState(['settings']),
|
||||
paginatedUsers () {
|
||||
return this.users_.slice((this.userPage - 1) * this.perPage,
|
||||
this.userPage * this.perPage)
|
||||
headers: [
|
||||
{ value: 'email', text: 'Email' },
|
||||
{ value: 'actions', text: 'Actions', align: 'right' }
|
||||
]
|
||||
}
|
||||
},
|
||||
computed: mapState(['settings']),
|
||||
methods: {
|
||||
delete_user (user) {
|
||||
deleteUser (user) {
|
||||
MessageBox.confirm(this.$t('admin.delete_user_confirm'),
|
||||
this.$t('common.confirm'), {
|
||||
confirmButtonText: this.$t('common.ok'),
|
||||
|
||||
@@ -1,5 +1,14 @@
|
||||
<template lang='pug'>
|
||||
el-container#main(:class='{dark: $route.name==="index" || $route.name==="announcement-id"}')
|
||||
v-app(app)
|
||||
Snackbar
|
||||
Nav
|
||||
v-main(app)
|
||||
v-scroll-x-transition(hide-on-leave)
|
||||
nuxt
|
||||
|
||||
Footer
|
||||
|
||||
//- el-container#main(:class='{dark: $route.name==="index" || $route.name==="announcement-id"}')
|
||||
el-dialog(:visible.sync='showFollowMe')
|
||||
h4(slot='title') {{$t('common.follow_me_title')}}
|
||||
FollowMe
|
||||
@@ -10,34 +19,24 @@
|
||||
nuxt
|
||||
el-footer.mt-1#footer
|
||||
#links
|
||||
a(href='https://gancio.org') Gancio {{settings.version}}</a>
|
||||
span ⇒
|
||||
a(v-if='settings.enable_federation' rel='me' :href='settings.baseurl' @click.prevent='showFollowMe=true') follow me
|
||||
nuxt-link(to='/about') about
|
||||
a(href='https://blog.gancio.org') blog
|
||||
a(href='https://framagit.org/les/gancio') source
|
||||
|
||||
</template>
|
||||
<script>
|
||||
import Nav from '~/components/Nav.vue'
|
||||
import { mapState } from 'vuex'
|
||||
import FollowMe from '../components/FollowMe'
|
||||
import Snackbar from '../components/Snackbar'
|
||||
import Footer from '../components/Footer'
|
||||
|
||||
export default {
|
||||
components: { Nav, FollowMe },
|
||||
name: 'Default',
|
||||
components: { Nav, FollowMe, Snackbar, Footer },
|
||||
data () {
|
||||
return { showFollowMe: false }
|
||||
},
|
||||
computed: mapState(['settings'])
|
||||
}
|
||||
</script>
|
||||
<style lang='less'>
|
||||
.el-backtop {
|
||||
color: orangered;
|
||||
}
|
||||
#footer {
|
||||
a {
|
||||
font-size: 1.1em;
|
||||
watch: {
|
||||
'$route.name' (name) {
|
||||
this.$vuetify.theme.dark = name !== 'NewEvent'
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</script>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template lang='pug'>
|
||||
el-main.p-4.text-center#error
|
||||
v-container.p-4.text-center#error
|
||||
h1(v-if="error.statusCode === 404") <i class='el-icon-warning'></i> {{error.message}}
|
||||
h1(v-else) <i name='el-icon-warning'></i> An error occurred: {{error.message}}
|
||||
nuxt-link(to='/') Back to home
|
||||
|
||||
@@ -24,21 +24,21 @@ module.exports = {
|
||||
/*
|
||||
** Global CSS
|
||||
*/
|
||||
css: [
|
||||
'bootstrap/dist/css/bootstrap.min.css',
|
||||
'element-ui/lib/theme-chalk/index.css',
|
||||
'element-ui/lib/theme-chalk/display.css',
|
||||
'@/assets/style.less'
|
||||
],
|
||||
// css: [
|
||||
// 'bootstrap/dist/css/bootstrap.min.css',
|
||||
// 'element-ui/lib/theme-chalk/index.css',
|
||||
// 'element-ui/lib/theme-chalk/display.css',
|
||||
// '@/assets/theme/index.css'
|
||||
// '@/assets/style.less'
|
||||
// ],
|
||||
|
||||
/*
|
||||
** Plugins to load before mounting the App
|
||||
*/
|
||||
plugins: [
|
||||
'@/plugins/i18n.js',
|
||||
'@/plugins/element-ui', // UI library -> https://element.eleme.io/#/en-US/
|
||||
'@/plugins/filters', // text filters, datetime, etc.
|
||||
'@/plugins/vue-awesome', // icon
|
||||
'@/plugins/filters', // text filters, datetime filters, generic transformation helpers etc.
|
||||
'@/plugins/vue-clipboard', // vuetify
|
||||
'@/plugins/axios', // axios baseurl configuration
|
||||
{ src: '@/plugins/v-calendar', ssr: false } // calendar, fix ssr
|
||||
],
|
||||
@@ -94,6 +94,13 @@ module.exports = {
|
||||
}
|
||||
},
|
||||
|
||||
buildModules: [
|
||||
'@nuxtjs/vuetify'
|
||||
],
|
||||
vuetify: {
|
||||
optionsPath: './vuetify.options.js'
|
||||
/* module options */
|
||||
},
|
||||
/*
|
||||
** Build configuration
|
||||
*/
|
||||
|
||||
96
package.json
96
package.json
@@ -4,39 +4,15 @@
|
||||
"description": "A shared agenda for local communities",
|
||||
"author": "lesion",
|
||||
"scripts": {
|
||||
"dev:nuxt": "cross-env NODE_ENV=development nuxt dev",
|
||||
"dev": "cross-env DEBUG=*,-babel*,-preview-email,-i18n:debug,-email-templates,-follow-redirects,-send,-body-parser:*,-express:*,-connect:*,-sequelize:* NODE_ENV=development node server/index.js",
|
||||
"build": "nuxt build",
|
||||
"start": "cross-env DEBUG=*,-babel*,-preview-email,-i18n:debug,-email-templates,-follow-redirects,-send,-body-parser:*,-express:*,-connect:*,-sequelize:* NODE_ENV=production node server/cli.js",
|
||||
"lint": "eslint --ext .js,.vue --ignore-path .gitignore .",
|
||||
"dev": "cross-env DEBUG=*,-babel*,-preview-email,-i18n:debug,-email-templates,-follow-redirects,-send,-body-parser:*,-express:*,-connect:*,-sequelize:* NODE_ENV=development node server/index.js",
|
||||
"dev:nuxt": "cross-env NODE_ENV=development nuxt dev",
|
||||
"doc": "cd docs && bundle exec jekyll b",
|
||||
"doc:dev": "cd docs && bundle exec jekyll s --drafts",
|
||||
"migrate": "NODE_ENV=production sequelize db:migrate",
|
||||
"migrate:dev": "sequelize db:migrate",
|
||||
"migrate": "NODE_ENV=production sequelize db:migrate"
|
||||
},
|
||||
"license": "AGPL-3.0",
|
||||
"bugs": {
|
||||
"email": "lesion@autistici.org",
|
||||
"url": "https://framagit.org/les/gancio/issues"
|
||||
},
|
||||
"keywords": [
|
||||
"AP",
|
||||
"gancio",
|
||||
"events",
|
||||
"federation",
|
||||
"activitypub",
|
||||
"event",
|
||||
"server",
|
||||
"self-host",
|
||||
"app"
|
||||
],
|
||||
"homepage": "https://gancio.org",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://framagit.org/les/gancio"
|
||||
},
|
||||
"bin": {
|
||||
"gancio": "server/cli.js"
|
||||
"start": "cross-env DEBUG=*,-babel*,-preview-email,-i18n:debug,-email-templates,-follow-redirects,-send,-body-parser:*,-express:*,-connect:*,-sequelize:* NODE_ENV=production node server/cli.js"
|
||||
},
|
||||
"files": [
|
||||
"server/",
|
||||
@@ -50,12 +26,9 @@
|
||||
"config/",
|
||||
".nuxt/"
|
||||
],
|
||||
"resolutions": {
|
||||
"prosemirror-model": "1.10.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@nuxtjs/auth": "^4.9.1",
|
||||
"@nuxtjs/axios": "^5.11.0",
|
||||
"@nuxtjs/axios": "^5.12.0",
|
||||
"accept-language": "^3.0.18",
|
||||
"axios": "^0.19.2",
|
||||
"bcryptjs": "^2.4.3",
|
||||
@@ -66,19 +39,19 @@
|
||||
"cookie-parser": "^1.4.5",
|
||||
"cors": "^2.8.5",
|
||||
"cross-env": "^7.0.2",
|
||||
"date-fns": "^2.14.0",
|
||||
"dayjs": "^1.8.29",
|
||||
"date-fns": "^2.15.0",
|
||||
"dayjs": "^1.8.30",
|
||||
"dompurify": "^2.0.11",
|
||||
"element-ui": "^2.13.2",
|
||||
"email-templates": "^7.0.5",
|
||||
"email-templates": "^7.1.0",
|
||||
"express": "^4.17.1",
|
||||
"express-oauth-server": "^2.0.0",
|
||||
"http-signature": "^1.3.4",
|
||||
"ics": "^2.22.1",
|
||||
"inquirer": "^7.3.0",
|
||||
"jsdom": "^16.2.2",
|
||||
"inquirer": "^7.3.3",
|
||||
"jsdom": "^16.3.0",
|
||||
"jsonwebtoken": "^8.5.1",
|
||||
"less": "^3.11.3",
|
||||
"less": "^3.12.2",
|
||||
"linkifyjs": "^2.1.9",
|
||||
"lodash": "^4.17.19",
|
||||
"mkdirp": "^1.0.4",
|
||||
@@ -88,30 +61,30 @@
|
||||
"nominatim-geocoder": "^0.1.4",
|
||||
"nuxt": "^2.13.3",
|
||||
"nuxt-express-module": "^0.0.11",
|
||||
"pg": "^8.2.2",
|
||||
"sequelize": "^6.3.0",
|
||||
"pg": "^8.3.0",
|
||||
"sequelize": "^6.3.3",
|
||||
"sequelize-cli": "^6.2.0",
|
||||
"sharp": "^0.25.4",
|
||||
"sqlite3": "^5.0.0",
|
||||
"tiptap": "^1.27.1",
|
||||
"tiptap-extensions": "^1.29.1",
|
||||
"tiptap": "^1.29.1",
|
||||
"tiptap-extensions": "^1.31.1",
|
||||
"to-ico": "^1.1.5",
|
||||
"url": "^0.11.0",
|
||||
"v-calendar": "^1.0.8",
|
||||
"vue-awesome": "^4.0.0",
|
||||
"vue-awesome": "^4.1.0",
|
||||
"vue-clipboard2": "^0.3.1",
|
||||
"vue-i18n": "^8.18.2",
|
||||
"yargs": "^15.4.0"
|
||||
"yargs": "^15.4.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@nuxtjs/eslint-config": "^3.0.0",
|
||||
"@nuxtjs/vuetify": "^1.11.2",
|
||||
"babel-eslint": "^10.1.0",
|
||||
"eslint": "^7.4.0",
|
||||
"eslint": "^7.5.0",
|
||||
"eslint-config-prettier": "^6.11.0",
|
||||
"eslint-config-standard": ">=14.1.1",
|
||||
"eslint-loader": "^4.0.2",
|
||||
"eslint-plugin-import": "^2.22.0",
|
||||
"eslint-plugin-jest": "^23.17.1",
|
||||
"eslint-plugin-node": ">=11.1.0",
|
||||
"eslint-plugin-nuxt": "^1.0.0",
|
||||
"eslint-plugin-prettier": "^3.1.4",
|
||||
@@ -122,6 +95,37 @@
|
||||
"nodemon": "^2.0.4",
|
||||
"prettier": "^2.0.5",
|
||||
"pug-plain-loader": "^1.0.0",
|
||||
"sass": "^1.19.0",
|
||||
"sass-loader": "^9.0.2",
|
||||
"vue-cli-plugin-vuetify": "~2.0.7",
|
||||
"vuetify-loader": "^1.3.0",
|
||||
"webpack-cli": "^3.3.12"
|
||||
},
|
||||
"bin": {
|
||||
"gancio": "server/cli.js"
|
||||
},
|
||||
"bugs": {
|
||||
"email": "lesion@autistici.org",
|
||||
"url": "https://framagit.org/les/gancio/issues"
|
||||
},
|
||||
"homepage": "https://gancio.org",
|
||||
"keywords": [
|
||||
"AP",
|
||||
"gancio",
|
||||
"events",
|
||||
"federation",
|
||||
"activitypub",
|
||||
"event",
|
||||
"server",
|
||||
"self-host",
|
||||
"app"
|
||||
],
|
||||
"license": "AGPL-3.0",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://framagit.org/les/gancio"
|
||||
},
|
||||
"resolutions": {
|
||||
"prosemirror-model": "1.10.0"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,69 +1,58 @@
|
||||
<template lang="pug">
|
||||
el-main
|
||||
v-container
|
||||
|
||||
el-tabs(v-model='tab')
|
||||
v-tabs
|
||||
|
||||
//- SETTINGS
|
||||
el-tab-pane.pt-1
|
||||
template(slot='label')
|
||||
v-icon(name='cog')
|
||||
span.hidden-xs-only {{$t('common.settings')}}
|
||||
v-tab {{$t('common.settings')}}
|
||||
v-tab-item
|
||||
Settings
|
||||
|
||||
//- USERS
|
||||
el-tab-pane.pt-1
|
||||
template(slot='label')
|
||||
v-icon(name='users')
|
||||
span.hidden-xs-only.ml-1 {{$t('common.users')}}
|
||||
el-badge(v-show='unconfirmedUsers.length>0' :value='unconfirmedUsers.length')
|
||||
v-tab
|
||||
v-badge(:value='unconfirmedUsers.length' :content='unconfirmedUsers.length') {{$t('common.users')}}
|
||||
v-tab-item
|
||||
Users(:users='users')
|
||||
|
||||
//- PLACES
|
||||
el-tab-pane.pt-1
|
||||
template(slot='label')
|
||||
v-icon(name='map-marker-alt')
|
||||
span.hidden-xs-only.ml-1 {{$t('common.places')}}
|
||||
v-tab {{$t('common.places')}}
|
||||
v-tab-item
|
||||
Places
|
||||
|
||||
//- EVENTS
|
||||
el-tab-pane.pt-1
|
||||
template(slot='label')
|
||||
v-icon(name='calendar')
|
||||
span.hidden-xs-only.ml-1 {{$t('common.events')}}
|
||||
el-badge(v-show='events.length>0' :value='events.length')
|
||||
v-tab
|
||||
v-badge(:content='events.length') {{$t('common.events')}}
|
||||
v-tab-item
|
||||
p {{$t('admin.event_confirm_description')}}
|
||||
el-table(:data='paginatedEvents' small primary-key='id' v-loading='loading')
|
||||
el-table-column(:label='$t("common.name")' width='300')
|
||||
template(slot-scope='data') {{data.row.title}}
|
||||
el-table-column(:label='$t("common.where")' width='250')
|
||||
template(slot-scope='data') {{data.row.place.name}}
|
||||
el-table-column(:label='$t("common.confirm")' width='250')
|
||||
template(slot-scope='data')
|
||||
el-button-group
|
||||
el-button(type='primary' @click='confirm(data.row.id)' size='mini') {{$t('common.confirm')}}
|
||||
el-button(type='success' @click='preview(data.row.id)' size='mini') {{$t('common.preview')}}
|
||||
client-only
|
||||
el-pagination(v-if='events.length>perPage' :page-size='perPage' :currentPage.sync='eventPage' :total='events.length')
|
||||
v-data-table(
|
||||
:items='events'
|
||||
:headers='eventHeaders'
|
||||
)
|
||||
//- el-table-column(:label='$t("common.name")' width='300')
|
||||
//- template(slot-scope='data') {{data.row.title}}
|
||||
//- el-table-column(:label='$t("common.where")' width='250')
|
||||
//- template(slot-scope='data') {{data.row.place.name}}
|
||||
//- el-table-column(:label='$t("common.confirm")' width='250')
|
||||
//- template(slot-scope='data')
|
||||
//- el-button-group
|
||||
//- el-button(type='primary' @click='confirm(data.row.id)' size='mini') {{$t('common.confirm')}}
|
||||
//- el-button(type='success' @click='preview(data.row.id)' size='mini') {{$t('common.preview')}}
|
||||
//- client-only
|
||||
//- el-pagination(v-if='events.length>perPage' :page-size='perPage' :currentPage.sync='eventPage' :total='events.length')
|
||||
|
||||
//- ANNOUNCEMENTS
|
||||
el-tab-pane.pt-1
|
||||
template(slot='label')
|
||||
v-icon(name='bullhorn')
|
||||
span.hidden-xs-only.ml-1 {{$t('common.announcements')}}
|
||||
v-tab {{$t('common.announcements')}}
|
||||
v-tab-item
|
||||
Announcement
|
||||
|
||||
//- FEDERATION
|
||||
el-tab-pane.pt-1
|
||||
template(slot='label')
|
||||
v-icon(name='network-wired')
|
||||
span.hidden-xs-only.ml-1 {{$t('common.federation')}}
|
||||
v-tab {{$t('common.federation')}}
|
||||
v-tab-item
|
||||
Federation
|
||||
|
||||
//- MODERATION
|
||||
el-tab-pane.pt-1(v-if='settings.enable_federation')
|
||||
template(slot='label')
|
||||
v-icon(name='vector-square')
|
||||
span.hidden-xs-only.ml-1 {{$t('common.moderation')}}
|
||||
v-tab(v-if='settings.enable_federation') {{$t('common.moderation')}}
|
||||
v-tab-item
|
||||
Moderation
|
||||
|
||||
</template>
|
||||
@@ -93,26 +82,14 @@ export default {
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
perPage: 10,
|
||||
eventPage: 1,
|
||||
description: '',
|
||||
events: [],
|
||||
loading: false,
|
||||
tab: '0',
|
||||
open: true
|
||||
events: []
|
||||
}
|
||||
},
|
||||
head () {
|
||||
return { title: `${this.settings.title} - ${this.$t('common.admin')}` }
|
||||
},
|
||||
computed: {
|
||||
...mapState(['settings']),
|
||||
unconfirmedUsers () {
|
||||
return this.users.filter(u => !u.is_active)
|
||||
},
|
||||
paginatedEvents () {
|
||||
return this.events.slice((this.eventPage - 1) * this.perPage,
|
||||
this.eventPage * this.perPage)
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@@ -133,6 +110,9 @@ export default {
|
||||
} catch (e) {
|
||||
}
|
||||
}
|
||||
},
|
||||
head () {
|
||||
return { title: `${this.settings.title} - ${this.$t('common.admin')}` }
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -1,24 +1,33 @@
|
||||
<template lang='pug'>
|
||||
el-main
|
||||
el-card
|
||||
h4(slot='header').text-center <el-icon name='user'/> {{$t('common.login')}}
|
||||
p(v-html="$t('login.description')")
|
||||
div(v-loading='loading')
|
||||
v-row.mt-5(align='center' justify='center')
|
||||
v-col(cols='12' md="6" lg="5" xl="4")
|
||||
|
||||
el-input.mb-2(v-model='email' type='email' title='email' prefix-icon='el-icon-user'
|
||||
:placeholder='$t("common.email")' autocomplete='email' ref='email')
|
||||
v-card
|
||||
v-card-title {{$t('common.login')}}
|
||||
v-card-subtitle(v-text="$t('login.description')")
|
||||
|
||||
el-input.mb-1(v-model='password' @keyup.enter.native="submit"
|
||||
prefix-icon='el-icon-lock' name='password'
|
||||
type='password' :placeholder='$t("common.password")')
|
||||
v-card-text
|
||||
|
||||
div
|
||||
el-button.text-right(type='text' @click='forgot') {{$t('login.forgot_password')}}
|
||||
v-text-field(v-model='email' type='email'
|
||||
:placeholder='$t("common.email")'
|
||||
ref='email')
|
||||
|
||||
el-button.mt-5.mr-1(plain type="success"
|
||||
:disabled='disabled' @click='submit') {{$t('common.login')}}
|
||||
nuxt-link(to='/register' v-if='settings.allow_registration')
|
||||
el-button(type='primary' plain) {{$t('login.not_registered')}}
|
||||
v-text-field(v-model='password'
|
||||
type='password'
|
||||
:placeholder='$t("common.password")')
|
||||
|
||||
v-card-actions
|
||||
v-btn(color='success'
|
||||
text
|
||||
:disabled='disabled'
|
||||
@click='submit') {{$t('common.login')}}
|
||||
|
||||
v-btn(v-if='settings.allow_registration'
|
||||
to='/register'
|
||||
text
|
||||
color='orange') {{$t('login.not_registered')}}
|
||||
|
||||
v-btn(text @click='forgot') {{$t('login.forgot_password')}}
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
@@ -1,20 +1,24 @@
|
||||
<template lang='pug'>
|
||||
el-main
|
||||
el-card
|
||||
h4(slot='header').text-center <el-icon name='user'/> {{$t('common.register')}}
|
||||
p(v-html="$t('register.description')")
|
||||
div(v-loading='loading')
|
||||
v-row.mt-5(align='center' justify='center')
|
||||
v-col(cols='12' sm='10' md="6")
|
||||
|
||||
el-input.mb-2(ref='email' v-model='user.email' type='email' required
|
||||
:placeholder='$t("common.email")' autocomplete='email'
|
||||
prefix-icon='el-icon-message' name='email')
|
||||
v-card
|
||||
v-card-title {{$t('common.register')}}
|
||||
|
||||
el-input.mb-2(v-model='user.password' type="password"
|
||||
placeholder="Password" name='password' required prefix-icon='el-icon-lock')
|
||||
v-card-text
|
||||
|
||||
el-input.mb-2(v-model='user.description' type="textarea" rows='3' :placeholder="$t('common.description')")
|
||||
p(v-html="$t('register.description')")
|
||||
v-text-field(ref='email' v-model='user.email' type='email' required
|
||||
:placeholder='$t("common.email")' autocomplete='email'
|
||||
prefix-icon='el-icon-message')
|
||||
|
||||
el-button(plain type="success" :disabled='disabled' @click='register') {{$t('common.send')}} <v-icon name='chevron-right'/>
|
||||
v-text-field(v-model='user.password' type="password"
|
||||
placeholder="Password")
|
||||
|
||||
v-text-field(v-model='user.description' textarea rows='3' :placeholder="$t('common.description')")
|
||||
|
||||
v-card-actions
|
||||
v-btn(plain type="success" :disabled='disabled' @click='register') {{$t('common.send')}} <v-icon name='chevron-right'/>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<template lang="pug">
|
||||
el-main
|
||||
v-container
|
||||
.edit(v-if='$auth.user && $auth.user.is_admin')
|
||||
Editor(v-if='$auth.user && $auth.user.is_admin'
|
||||
v-model='about')
|
||||
el-button.float-right(type='success' plain icon='el-icon-check'
|
||||
v-btn.float-right(type='success' plain icon='el-icon-check'
|
||||
@click='save') {{$t('common.save')}}
|
||||
div(v-else v-html='about')
|
||||
</template>
|
||||
|
||||
@@ -1,52 +1,57 @@
|
||||
<template lang="pug">
|
||||
el-main#edit_page
|
||||
h5.text-center {{edit?$t('common.edit_event'):$t('common.add_event')}}
|
||||
el-form(v-loading='loading')
|
||||
v-container
|
||||
h2.text-center {{edit?$t('common.edit_event'):$t('common.add_event')}}
|
||||
v-form
|
||||
|
||||
//- NOT LOGGED EVENT
|
||||
div(v-if='!$auth.loggedIn')
|
||||
el-divider <v-icon name='user-secret'/> {{$t('event.anon')}}
|
||||
v-divider <v-icon name='user-secret'/> {{$t('event.anon')}}
|
||||
p(v-html="$t('event.anon_description')")
|
||||
|
||||
//- title
|
||||
span {{$t('event.what_description')}}
|
||||
el-input.mb-3(v-model='event.title' ref='title' autofocus)
|
||||
v-text-field.mb-3(v-model='event.title'
|
||||
:label="$t('event.what_description')"
|
||||
ref='title')
|
||||
|
||||
//- description
|
||||
span {{$t('event.description_description')}}
|
||||
Editor.mb-3(v-model='event.description' border no-save style='max-height: 400px;')
|
||||
//- span {{$t('event.description_description')}}
|
||||
//- Editor.mb-3(v-model='event.description' border no-save style='max-height: 400px;')
|
||||
|
||||
//- tags
|
||||
div {{$t('event.tag_description')}}
|
||||
client-only
|
||||
el-select.mb-3(v-model='event.tags' multiple filterable
|
||||
@input.native='queryTags=$event.target.value' @change='queryTags=""'
|
||||
allow-create default-first-option placeholder='Tag')
|
||||
el-option(v-for='tag in filteredTags' :key='tag.tag' :label='tag.tag' :value='tag.tag')
|
||||
//- div {{$t('event.tag_description')}}
|
||||
//- client-only
|
||||
//- v-select.m b-3(v-model='event.tags' multiple filterable
|
||||
//- @input.native='queryTags=$event.target.value' @change='queryTags=""'
|
||||
//- allow-create default-first-option placeholder='Tag')
|
||||
//- v-option(v-for='tag in filteredTags' :key='tag.tag' :label='tag.tag' :value='tag.tag')
|
||||
|
||||
//- WHERE
|
||||
el-divider
|
||||
i.el-icon-location-outline
|
||||
span {{$t('common.where')}}
|
||||
p(v-html="$t('event.where_description')")
|
||||
el-autocomplete(v-model='event.place.name' @blur='selectPlace($event.target.value)'
|
||||
highlight-first-item :fetch-suggestions='filterPlaces' @select='selectPlace')
|
||||
//- v-divider
|
||||
//- i.el-icon-location-outline
|
||||
//- span {{$t('common.where')}}
|
||||
//- p(v-html="$t('event.where_description')")
|
||||
v-autocomplete(v-model='event.place.name'
|
||||
:label="$t('common.where')"
|
||||
:items="places"
|
||||
item-text="name"
|
||||
item-value="id"
|
||||
@change='selectPlace')
|
||||
|
||||
div {{$t("common.address")}}
|
||||
el-input.mb-3(ref='address' v-model='event.place.address' :disabled='disableAddress')
|
||||
//- div {{$t("common.address")}}
|
||||
v-text-field(ref='address' :label="$t('common.address')" v-model='event.place.address' :disabled='disableAddress')
|
||||
|
||||
//- WHEN
|
||||
el-divider <v-icon name='clock'/> {{$t('common.when')}}
|
||||
//- v-divider <v-icon name='clock'/> {{$t('common.when')}}
|
||||
.text-center
|
||||
el-radio-group(v-model="event.type")
|
||||
el-radio-button(label="normal") <v-icon name='calendar-day'/> {{$t('event.normal')}}
|
||||
el-radio-button(label="multidate") <v-icon name='calendar-week'/> {{$t('event.multidate')}}
|
||||
el-radio-button(v-if='settings.allow_recurrent_event' label="recurrent") <v-icon name='calendar-alt'/> {{$t('event.recurrent')}}
|
||||
v-btn-toggle(v-model="event.type")
|
||||
v-btn(value='normal' label="normal") <v-icon name='calendar-day'/> {{$t('event.normal')}}
|
||||
v-btn(value='multidate' label="multidate") <v-icon name='calendar-week'/> {{$t('event.multidate')}}
|
||||
v-btn(v-if='settings.allow_recurrent_event' value='recurrent' label="recurrent") <v-icon name='calendar-alt'/> {{$t('event.recurrent')}}
|
||||
br
|
||||
span {{$t(`event.${event.type}_description`)}}
|
||||
el-select.ml-2(v-if='event.type==="recurrent"' v-model='event.recurrent.frequency' placeholder='Frequenza')
|
||||
el-option(:label="$t('event.each_week')" value='1w' key='1w')
|
||||
el-option(:label="$t('event.each_2w')" value='2w' key='2w')
|
||||
v-select.ml-2(v-if='event.type==="recurrent"' v-model='event.recurrent.frequency' placeholder='Frequenza')
|
||||
v-option(:label="$t('event.each_week')" value='1w' key='1w')
|
||||
v-option(:label="$t('event.each_2w')" value='2w' key='2w')
|
||||
//- el-option(:label="$t('event.each_month')" value='1m' key='1m')
|
||||
|
||||
client-only
|
||||
@@ -57,43 +62,40 @@
|
||||
v-model='date'
|
||||
:locale='$i18n.locale'
|
||||
:from-page.sync='page'
|
||||
is-dark
|
||||
is-inline
|
||||
is-expanded
|
||||
:min-date='event.type !== "recurrent" && new Date()')
|
||||
|
||||
div.text-center.mb-2(v-if='event.type === "recurrent"')
|
||||
span(v-if='event.recurrent.frequency !== "1m" && event.recurrent.frequency !== "2m"') {{whenPatterns}}
|
||||
el-radio-group(v-else v-model='event.recurrent.type')
|
||||
el-radio-button(v-for='whenPattern in whenPatterns' :label='whenPattern.key' :key='whenPatterns.key')
|
||||
v-radio-group(v-else v-model='event.recurrent.type')
|
||||
v-radio-button(v-for='whenPattern in whenPatterns' :label='whenPattern.key' :key='whenPatterns.key')
|
||||
span {{whenPattern.label}}
|
||||
|
||||
.text-center
|
||||
el-form-item(:label="$t('event.from')" width='100')
|
||||
el-time-select.mr-2(ref='time_start'
|
||||
v-model="time.start"
|
||||
:picker-options="{ start: '00:00', step: '00:30', end: '24:00'}")
|
||||
el-form-item(:label="$t('event.due')")
|
||||
el-time-select(v-model='time.end'
|
||||
:picker-options="{start: '00:00', step: '00:30', end: '24:00'}")
|
||||
v-time-picker.mr-2(
|
||||
:label="$t('event.from')"
|
||||
ref='time_start'
|
||||
v-model="time.start")
|
||||
|
||||
v-time-picker(v-model='time.end'
|
||||
:label="$t('event.due')")
|
||||
|
||||
List(v-if='event.type==="normal" && todayEvents.length' :events='todayEvents' :title='$t("event.same_day")')
|
||||
|
||||
//- MEDIA / FLYER / POSTER
|
||||
el-divider <v-icon name='image'/> {{$t('common.media')}}
|
||||
|
||||
div.mb-2 {{$t('event.media_description')}}
|
||||
el-upload.text-center(
|
||||
action=''
|
||||
:limit="1"
|
||||
:auto-upload='false'
|
||||
drag
|
||||
accept='image/*'
|
||||
:on-remove='cleanFile'
|
||||
:on-change='uploadedFile'
|
||||
:multiple='false')
|
||||
i.el-icon-upload
|
||||
//- el-input(v-model='mediaUrl')
|
||||
el-button.mt-2.float-right(@click='done' :disabled='!couldProceed') {{edit?$t('common.edit'):$t('common.send')}}
|
||||
p {{JSON.stringify(event.image)}}
|
||||
v-file-input(
|
||||
:label="$t('common.media')"
|
||||
:hint="$t('event.media_description')"
|
||||
filled
|
||||
prepend-icon="mdi-camera"
|
||||
v-model='event.image'
|
||||
persistent-hint
|
||||
accept='image/*')
|
||||
v-btn.mt-2.float-right(@click='done' :disabled='!couldProceed') {{edit?$t('common.edit'):$t('common.send')}}
|
||||
|
||||
</template>
|
||||
<script>
|
||||
@@ -156,7 +158,7 @@ export default {
|
||||
title: '',
|
||||
description: '',
|
||||
tags: [],
|
||||
image: false,
|
||||
image: {},
|
||||
recurrent: { frequency: '1w', days: [], type: 'weekday' }
|
||||
},
|
||||
page: { month, year },
|
||||
@@ -264,10 +266,11 @@ export default {
|
||||
.value()
|
||||
},
|
||||
couldProceed () {
|
||||
return (this.event.place.name.length > 0 &&
|
||||
this.event.place.address.length > 0 &&
|
||||
(this.date && this.time.start) &&
|
||||
this.event.title.length > 0)
|
||||
return true
|
||||
// return (this.event.place.name.length > 0 &&
|
||||
// this.event.place.address.length > 0 &&
|
||||
// (this.date && this.time.start) &&
|
||||
// this.event.title.length > 0)
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
@@ -286,7 +289,8 @@ export default {
|
||||
cb(ret)
|
||||
},
|
||||
selectPlace (p) {
|
||||
const place = this.places.find(p => p.name === this.event.place.name)
|
||||
console.error('sono dentro selectPlace ', p)
|
||||
const place = this.places.find(place => place.id === p)
|
||||
if (place && place.address) {
|
||||
this.event.place.address = place.address
|
||||
this.disableAddress = true
|
||||
@@ -303,16 +307,19 @@ export default {
|
||||
// },
|
||||
// },
|
||||
cleanFile () {
|
||||
this.event.image = null
|
||||
this.event.image = {}
|
||||
},
|
||||
uploadedFile (file, fileList) {
|
||||
if (file.size / 1024 / 1024 > 4) {
|
||||
Message({ type: 'warning', showClose: true, message: this.$tc('event.image_too_big') })
|
||||
this.fileList = []
|
||||
return false
|
||||
}
|
||||
this.fileList = [{ name: file.name, url: file.url }]
|
||||
this.event.image = file
|
||||
uploadedFile (files) {
|
||||
// const file = files[0]
|
||||
|
||||
console.error('dentro uploadedfile', arguments)
|
||||
// if (file.size / 1024 / 1024 > 4) {
|
||||
// Message({ type: 'warning', showClose: true, message: this.$tc('event.image_too_big') })
|
||||
// this.fileList = []
|
||||
// return false
|
||||
// }
|
||||
// this.fileList = [{ name: file.name, url: file.url }]
|
||||
// this.event.image = file
|
||||
},
|
||||
async done () {
|
||||
this.loading = true
|
||||
@@ -351,7 +358,7 @@ export default {
|
||||
}
|
||||
|
||||
if (this.event.image) {
|
||||
formData.append('image', this.event.image.raw, this.event.image.name)
|
||||
formData.append('image', this.event.image[0])
|
||||
}
|
||||
formData.append('title', this.event.title)
|
||||
formData.append('place_name', this.event.place.name)
|
||||
@@ -396,7 +403,7 @@ export default {
|
||||
}
|
||||
</script>
|
||||
<style style='less'>
|
||||
#edit_page
|
||||
/* #edit_page
|
||||
i {
|
||||
font-size: 1.3em;
|
||||
}
|
||||
@@ -416,6 +423,6 @@ export default {
|
||||
margin: 0 auto;
|
||||
max-width: 80%;
|
||||
font-size: 2em;
|
||||
}
|
||||
} */
|
||||
|
||||
</style>
|
||||
|
||||
@@ -1,51 +1,97 @@
|
||||
<template lang="pug">
|
||||
el-container#eventDetail.h-event
|
||||
el-header
|
||||
v-card#eventDetail.h-event.d-inline-block-mx-auto
|
||||
v-toolbar(prominent)
|
||||
v-list-item(two-line)
|
||||
v-list-item-content
|
||||
h2(v-text='event.title')
|
||||
v-list-item-subtitle
|
||||
time.dt-start(:datetime='event.start_datetime|unixFormat("YYYY-MM-DD HH:mm")')
|
||||
v-icon mdi-date
|
||||
b {{event|when}}
|
||||
small ({{event.start_datetime|from}})
|
||||
v-list-item-subtitle
|
||||
i.el-icon-location-outline
|
||||
b.p-location {{event.place.name}}
|
||||
span - {{event.place.address}}
|
||||
|
||||
.title {{event.title}}
|
||||
v-spacer
|
||||
v-btn.mr-1(nuxt :to='`/event/${event.prev}`' color='primary' icon :disabled='!event.prev')
|
||||
v-icon mdi-arrow-left
|
||||
v-btn(nuxt :to='`/event/${event.next}`' color='primary' :disabled='!event.next' icon)
|
||||
v-icon mdi-arrow-right
|
||||
//- h2 {{event.title}}
|
||||
//- v-toolbar-subtitle
|
||||
|
||||
#arrow
|
||||
nuxt-link.mr-1(:to='`/event/${event.prev}`')
|
||||
el-button(circle plain size='small' icon='el-icon-arrow-left' :disabled='!event.prev')
|
||||
nuxt-link(:to='`/event/${event.next}`')
|
||||
el-button(circle plain size='small' :disabled='!event.next' icon='el-icon-arrow-right')
|
||||
//- v-toolbar(prominent)
|
||||
//- v-list-item
|
||||
//- h3 {{event.title}}
|
||||
//- v-row(justify='space-between')
|
||||
v-col(cols='auto')
|
||||
v-list-item(two-line)
|
||||
v-list-item-content
|
||||
v-list-item-title.headline(v-text='event.title')
|
||||
v-list-item-subtitle
|
||||
time.dt-start(:datetime='event.start_datetime|unixFormat("YYYY-MM-DD HH:mm")')
|
||||
v-icon mdi-date
|
||||
b {{event|when}}
|
||||
small ({{event.start_datetime|from}})
|
||||
v-list-item-subtitle
|
||||
i.el-icon-location-outline
|
||||
b.p-location {{event.place.name}}
|
||||
span - {{event.place.address}}
|
||||
v-col
|
||||
v-btn.mr-1(nuxt :to='`/event/${event.prev}`' color='primary' icon :disabled='!event.prev')
|
||||
v-icon mdi-arrow-left
|
||||
v-btn(nuxt :to='`/event/${event.next}`' color='primary' :disabled='!event.next' icon)
|
||||
v-icon mdi-arrow-right
|
||||
|
||||
el-main
|
||||
el-dialog.embedDialog(:visible.sync='showEmbed')
|
||||
template(slot='extension')
|
||||
h2 {{event.title}}
|
||||
//- v-list-item
|
||||
//- i.el-icon-location-outline
|
||||
//- b.p-location {{event.place.name}}
|
||||
//- span - {{event.place.address}}
|
||||
//- v-spacer
|
||||
//- v-chip.p-category.ml-1(v-for='tag in event.tags' :key='tag' small color='secondary') {{tag}}
|
||||
|
||||
v-card-text
|
||||
v-dialog.embedDialog(:visible.sync='showEmbed')
|
||||
h4(slot='title') {{$t('common.embed_title')}}
|
||||
EmbedEvent(:event='event')
|
||||
|
||||
el-row
|
||||
el-col.p-2(:sm='18' :xs="24")
|
||||
//- v-row
|
||||
v-col(sm="10")
|
||||
|
||||
//- event image
|
||||
el-image.main_image.mb-3(:src='imgPath' v-if='event.image_path' fit='contain')
|
||||
div.loading(slot='placeholder')
|
||||
el-icon(name='loading')
|
||||
//- event image
|
||||
v-img.main_image.mb-3(
|
||||
lazy
|
||||
:src='imgPath'
|
||||
:lazy-src='thumbImgPath'
|
||||
v-if='event.image_path')
|
||||
|
||||
pre.p-description(v-html='event.description')
|
||||
el-button.p-category.ml-1(type='text' plain round size='mini' v-for='tag in event.tags' :key='tag') {{tag}}
|
||||
p.p-description(v-html='event.description')
|
||||
v-btn.p-category.ml-1(type='text' plain round size='mini' v-for='tag in event.tags' :key='tag') {{tag}}
|
||||
|
||||
//- info & actions
|
||||
el-col.menu(:sm='6' :xs='24')
|
||||
el-menu.menu(router)
|
||||
//- v-col
|
||||
v-list
|
||||
time.dt-start(:datetime='event.start_datetime|unixFormat("YYYY-MM-DD HH:mm")') <i class='el-icon-date'></i> <b>{{event|when}}</b> <br/><small>{{event.start_datetime|from}}</small>
|
||||
p
|
||||
i.el-icon-location-outline
|
||||
b.p-location {{event.place.name}}
|
||||
span - {{event.place.address}}
|
||||
el-divider {{$t('common.actions')}}
|
||||
el-menu-item(
|
||||
v-divider {{$t('common.actions')}}
|
||||
v-list-item(
|
||||
v-clipboard:success='copyLink'
|
||||
v-clipboard:copy='`${settings.baseurl}/event/${event.id}`') <i class='el-icon-paperclip'></i> {{$t('common.copy_link')}}
|
||||
|
||||
el-menu-item(@click='showEmbed=true') <i class='el-icon-copy-document'></i> {{$t('common.embed')}}
|
||||
v-list-item(@click='showEmbed=true') <i class='el-icon-copy-document'></i> {{$t('common.embed')}}
|
||||
|
||||
el-menu-item
|
||||
v-list-item
|
||||
a(:href='`${settings.baseurl}/api/event/${event.id}.ics`') <i class='el-icon-date'></i> {{$t('common.add_to_calendar')}}
|
||||
EventAdmin(v-if='is_mine' :event='event')
|
||||
|
||||
hr
|
||||
//- hr
|
||||
|
||||
//- resources from fediverse
|
||||
#resources.mt-1(v-if='settings.enable_federation')
|
||||
@@ -54,22 +100,22 @@
|
||||
small ✊ {{event.boost.length}}<br/>
|
||||
|
||||
p.p-2
|
||||
el-button(type='text' @click='showFollowMe=true') {{$t('event.interact_with_me')}}
|
||||
v-btn(type='text' @click='showFollowMe=true') {{$t('event.interact_with_me')}}
|
||||
span(v-if='settings.enable_resources && event.resources.length') - {{$tc('common.n_resources', event.resources.length)}}
|
||||
|
||||
el-dialog(:visible.sync='showFollowMe' destroy-on-close)
|
||||
v-dialog(:visible.sync='showFollowMe' destroy-on-close)
|
||||
h4(slot='title') {{$t('common.follow_me_title')}}
|
||||
FollowMe
|
||||
|
||||
el-dialog.showResource#resourceDialog(:visible.sync='showResources' fullscreen
|
||||
v-dialog.showResource#resourceDialog(:visible.sync='showResources' fullscreen
|
||||
width='95vw'
|
||||
destroy-on-close
|
||||
@keydown.native.right='$refs.carousel.next()'
|
||||
@keydown.native.left='$refs.carousel.prev()')
|
||||
el-carousel(:interval='10000' ref='carousel' arrow='always')
|
||||
el-carousel-item(v-for='attachment in selectedResource.data.attachment' :key='attachment.url')
|
||||
el-image(:src='attachment.url')
|
||||
el-card.mb-1(v-if='settings.enable_resources' v-for='resource in event.resources' :key='resource.id' :class='{disabled: resource.hidden}')
|
||||
v-carousel(:interval='10000' ref='carousel' arrow='always')
|
||||
v-carousel-item(v-for='attachment in selectedResource.data.attachment' :key='attachment.url')
|
||||
v-img(:src='attachment.url')
|
||||
v-card.mb-1(v-if='settings.enable_resources' v-for='resource in event.resources' :key='resource.id' :class='{disabled: resource.hidden}')
|
||||
span
|
||||
el-dropdown.mr-2(v-if='$auth.user && $auth.user.is_admin')
|
||||
el-button(circle icon='el-icon-more' size='mini')
|
||||
@@ -297,163 +343,162 @@ export default {
|
||||
}
|
||||
</script>
|
||||
<style lang='less'>
|
||||
#eventDetail {
|
||||
time {
|
||||
margin: 0rem 0rem 0rem 1rem;
|
||||
display: inline-block;
|
||||
}
|
||||
// #eventDetail {
|
||||
// time {
|
||||
// margin: 0rem 0rem 0rem 1rem;
|
||||
// display: inline-block;
|
||||
// }
|
||||
|
||||
#arrow {
|
||||
position: absolute;
|
||||
top: 1em;
|
||||
right: 1em;
|
||||
}
|
||||
// #arrow {
|
||||
// position: absolute;
|
||||
// top: 1em;
|
||||
// right: 1em;
|
||||
// }
|
||||
|
||||
.el-header {
|
||||
height: auto !important;
|
||||
position: sticky;
|
||||
padding-top: .4em;
|
||||
top: 0px;
|
||||
border-bottom: 1px solid lightgray;
|
||||
z-index: 1;
|
||||
overflow: hidden;
|
||||
}
|
||||
// .el-header {
|
||||
// height: auto !important;
|
||||
// position: sticky;
|
||||
// padding-top: .4em;
|
||||
// top: 0px;
|
||||
// border-bottom: 1px solid lightgray;
|
||||
// z-index: 1;
|
||||
// overflow: hidden;
|
||||
// }
|
||||
|
||||
.embedDialog {
|
||||
.el-dialog {
|
||||
min-height: 500px;
|
||||
max-width: 1000px;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
// .embedDialog {
|
||||
// .el-dialog {
|
||||
// min-height: 500px;
|
||||
// max-width: 1000px;
|
||||
// width: 100%;
|
||||
// }
|
||||
// }
|
||||
|
||||
.followDialog {
|
||||
.el-dialog {
|
||||
min-height: 300px;
|
||||
max-width: 600px;
|
||||
width: 100%;
|
||||
.el-dialog__body {
|
||||
word-break: normal !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
// .followDialog {
|
||||
// .el-dialog {
|
||||
// min-height: 300px;
|
||||
// max-width: 600px;
|
||||
// width: 100%;
|
||||
// .el-dialog__body {
|
||||
// word-break: normal !important;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
.head {
|
||||
z-index: 1;
|
||||
position: sticky;
|
||||
top: 0px;
|
||||
padding-top: 10px;
|
||||
padding-bottom: 10px;
|
||||
background-color: white;
|
||||
border-bottom: 1px solid #e6e6e6;
|
||||
}
|
||||
// .head {
|
||||
// z-index: 1;
|
||||
// position: sticky;
|
||||
// top: 0px;
|
||||
// padding-top: 10px;
|
||||
// padding-bottom: 10px;
|
||||
// background-color: white;
|
||||
// border-bottom: 1px solid #e6e6e6;
|
||||
// }
|
||||
|
||||
.menu {
|
||||
border-right: none;
|
||||
background-color: transparent;
|
||||
}
|
||||
// .menu {
|
||||
// border-right: none;
|
||||
// background-color: transparent;
|
||||
// }
|
||||
|
||||
div.menu {
|
||||
border-left: 1px solid #e6e6e6;
|
||||
p {
|
||||
margin: 1rem 0rem 1rem 1rem;
|
||||
}
|
||||
}
|
||||
// div.menu {
|
||||
// border-left: 1px solid #e6e6e6;
|
||||
// p {
|
||||
// margin: 1rem 0rem 1rem 1rem;
|
||||
// }
|
||||
// }
|
||||
|
||||
.title {
|
||||
display: table-cell;
|
||||
padding-right: 70px;
|
||||
height: 2.1em;
|
||||
font-size: 1.6rem;
|
||||
color: #404246;
|
||||
line-height: 1;
|
||||
vertical-align: middle;
|
||||
}
|
||||
// .title {
|
||||
// display: table-cell;
|
||||
// padding-right: 70px;
|
||||
// height: 2.1em;
|
||||
// font-size: 1.6rem;
|
||||
// color: #404246;
|
||||
// line-height: 1;
|
||||
// vertical-align: middle;
|
||||
// }
|
||||
|
||||
pre {
|
||||
white-space: pre-line;
|
||||
word-break: break-word;
|
||||
color: #404246;
|
||||
font-size: 1em;
|
||||
font-family: inherit;
|
||||
// pre {
|
||||
// white-space: pre-line;
|
||||
// word-break: break-word;
|
||||
// font-size: 1em;
|
||||
// font-family: inherit;
|
||||
|
||||
p:empty {
|
||||
min-height: 1em;
|
||||
}
|
||||
// font-family: BlinkMacSystemFont, -apple-system, Segoe UI, Roboto, Oxygen,
|
||||
// Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, Helvetica, Arial,
|
||||
// sans-serif !important;
|
||||
}
|
||||
// p:empty {
|
||||
// min-height: 1em;
|
||||
// }
|
||||
// // font-family: BlinkMacSystemFont, -apple-system, Segoe UI, Roboto, Oxygen,
|
||||
// // Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, Helvetica, Arial,
|
||||
// // sans-serif !important;
|
||||
// }
|
||||
|
||||
.main_image {
|
||||
width: 100%;
|
||||
transition: height .100s;
|
||||
height: auto;
|
||||
// .main_image {
|
||||
// width: 100%;
|
||||
// transition: height .100s;
|
||||
// height: auto;
|
||||
|
||||
img {
|
||||
// object-fit: contain;
|
||||
margin: 0 auto;
|
||||
max-height: 88vh;
|
||||
}
|
||||
// img {
|
||||
// // object-fit: contain;
|
||||
// margin: 0 auto;
|
||||
// max-height: 88vh;
|
||||
// }
|
||||
|
||||
.loading {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
font-size: 30px;
|
||||
margin: 0 auto;
|
||||
height: 100px;
|
||||
}
|
||||
}
|
||||
// .loading {
|
||||
// display: flex;
|
||||
// justify-content: center;
|
||||
// align-items: center;
|
||||
// font-size: 30px;
|
||||
// margin: 0 auto;
|
||||
// height: 100px;
|
||||
// }
|
||||
// }
|
||||
|
||||
#resources {
|
||||
img {
|
||||
max-width: 100%;
|
||||
}
|
||||
.card-header {
|
||||
border-left: 3px solid transparent;
|
||||
}
|
||||
.card-header:hover {
|
||||
border-left: 3px solid #888;
|
||||
}
|
||||
.invisible {
|
||||
visibility: visible !important;
|
||||
}
|
||||
.disabled {
|
||||
opacity: 0.5;
|
||||
}
|
||||
.previewImage {
|
||||
display: flex;
|
||||
flex-flow: wrap;
|
||||
justify-content: space-evenly;
|
||||
img {
|
||||
margin-left: 5px;
|
||||
margin-top: 5px;
|
||||
object-fit: cover;
|
||||
min-height: 100px;
|
||||
max-width: 45%;
|
||||
border-radius: 5px;
|
||||
border: 1px solid #ccc;
|
||||
}
|
||||
}
|
||||
}
|
||||
.nextprev {
|
||||
font-size: 10px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
}
|
||||
// #resources {
|
||||
// img {
|
||||
// max-width: 100%;
|
||||
// }
|
||||
// .card-header {
|
||||
// border-left: 3px solid transparent;
|
||||
// }
|
||||
// .card-header:hover {
|
||||
// border-left: 3px solid #888;
|
||||
// }
|
||||
// .invisible {
|
||||
// visibility: visible !important;
|
||||
// }
|
||||
// .disabled {
|
||||
// opacity: 0.5;
|
||||
// }
|
||||
// .previewImage {
|
||||
// display: flex;
|
||||
// flex-flow: wrap;
|
||||
// justify-content: space-evenly;
|
||||
// img {
|
||||
// margin-left: 5px;
|
||||
// margin-top: 5px;
|
||||
// object-fit: cover;
|
||||
// min-height: 100px;
|
||||
// max-width: 45%;
|
||||
// border-radius: 5px;
|
||||
// border: 1px solid #ccc;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// .nextprev {
|
||||
// font-size: 10px;
|
||||
// margin-bottom: 5px;
|
||||
// }
|
||||
// }
|
||||
|
||||
@media only screen and (max-width: 768px) {
|
||||
#eventDetail {
|
||||
.menu {
|
||||
border: 0px !important;
|
||||
}
|
||||
// @media only screen and (max-width: 768px) {
|
||||
// #eventDetail {
|
||||
// .menu {
|
||||
// border: 0px !important;
|
||||
// }
|
||||
|
||||
.title {
|
||||
// font-size: 1.1em;
|
||||
line-height: 1.4em;
|
||||
color: black;
|
||||
}
|
||||
}
|
||||
}
|
||||
// .title {
|
||||
// // font-size: 1.1em;
|
||||
// line-height: 1.4em;
|
||||
// color: black;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
</style>
|
||||
|
||||
@@ -1,23 +1,23 @@
|
||||
<template lang='pug'>
|
||||
div
|
||||
el-divider {{$t('common.admin')}}
|
||||
v-divider {{$t('common.admin')}}
|
||||
|
||||
el-menu.menu
|
||||
el-menu-item
|
||||
v-menu.menu
|
||||
v-menu-item
|
||||
div(v-if='event.is_visible' @click='toggle(false)') <i class='el-icon-open'/> {{$t(`common.${event.parentId?'skip':'hide'}`)}}
|
||||
div(v-else @click='toggle(false)') <i class='el-icon-turn-off'/> {{$t('common.confirm')}}
|
||||
el-menu-item(@click='$router.push(`/add/${event.id}`)') <i class='el-icon-edit'/> {{$t('common.edit')}}
|
||||
el-menu-item(v-if='!event.parentId' @click='remove(false)') <i class='el-icon-delete'/> {{$t('common.remove')}}
|
||||
v-menu-item(@click='$router.push(`/add/${event.id}`)') <i class='el-icon-edit'/> {{$t('common.edit')}}
|
||||
v-menu-item(v-if='!event.parentId' @click='remove(false)') <i class='el-icon-delete'/> {{$t('common.remove')}}
|
||||
|
||||
template(v-if='event.parentId')
|
||||
el-divider {{$t('event.recurrent')}}
|
||||
v-divider {{$t('event.recurrent')}}
|
||||
p.text-secondary
|
||||
i.el-icon-refresh
|
||||
small {{event|recurrentDetail}}<br/>
|
||||
el-menu-item(v-if='event.parent.is_visible' @click='toggle(true)') <i class='el-icon-video-pause'/> {{$t('common.pause')}}
|
||||
el-menu-item(v-else @click='toggle(true)') <i class='el-icon-video-play'/> {{$t('common.start')}}
|
||||
el-menu-item(@click='$router.push(`/add/${event.parentId}`)') <i class='el-icon-edit'/> {{$t('common.edit')}}
|
||||
el-menu-item(@click='remove(true)') <i class='el-icon-delete'/> {{$t('common.remove')}}
|
||||
v-menu-item(v-if='event.parent.is_visible' @click='toggle(true)') <i class='el-icon-video-pause'/> {{$t('common.pause')}}
|
||||
v-menu-item(v-else @click='toggle(true)') <i class='el-icon-video-play'/> {{$t('common.start')}}
|
||||
v-menu-item(@click='$router.push(`/add/${event.parentId}`)') <i class='el-icon-edit'/> {{$t('common.edit')}}
|
||||
v-menu-item(@click='remove(true)') <i class='el-icon-delete'/> {{$t('common.remove')}}
|
||||
</template>
|
||||
<script>
|
||||
import { MessageBox } from 'element-ui'
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
<template lang="pug">
|
||||
el-main
|
||||
v-container
|
||||
p {{$t('export.intro')}}
|
||||
//- Search
|
||||
el-tabs.mt-2(v-model='type')
|
||||
v-tabs(v-model='type')
|
||||
|
||||
//- TOFIX
|
||||
//- el-tab-pane.pt-1(label='email' name='email')
|
||||
//- v-tab.pt-1(label='email' name='email')
|
||||
//- v-tab-item
|
||||
//- p(v-html='$t(`export.email_description`)')
|
||||
//- el-form(@submit.native.prevent)
|
||||
//- //- el-switch(v-model='notification.notify_on_add' :active-text="$t('notify_on_insert')")
|
||||
@@ -14,42 +15,45 @@
|
||||
//- el-input.mt-2(v-model='notification.email' :placeholder="$t('export.insert_your_address')" ref='email')
|
||||
//- el-button.mt-2.float-right(native-type= 'submit' type='success' @click='add_notification') {{$t('common.send')}}
|
||||
|
||||
el-tab-pane.pt-1(label='Feed rss' name='rss')
|
||||
v-tab {{$t('common.feed')}}
|
||||
v-tab-item
|
||||
span(v-html='$t(`export.feed_description`)')
|
||||
el-input(v-model='link')
|
||||
el-button(slot='append' plain
|
||||
v-clipboard:copy='link' v-clipboard:success='copyLink'
|
||||
type="primary" icon='el-icon-document' ) {{$t("common.copy")}}
|
||||
v-text-field(v-model='link' readonly)
|
||||
v-btn(slot='append' plain text
|
||||
v-clipboard:copy='link'
|
||||
v-clipboard:success='copyLink') {{$t("common.copy")}}
|
||||
|
||||
el-tab-pane.pt-1(v-if='settings.enable_federation' :label="$t('common.fediverse')" name='fediverse')
|
||||
v-tab(v-if='settings.enable_federation') {{$t('common.fediverse')}}
|
||||
v-tab-item
|
||||
FollowMe
|
||||
|
||||
el-tab-pane.pt-1(label='ics/ical' name='ics')
|
||||
v-tab ics/ical
|
||||
v-tab-item
|
||||
p(v-html='$t(`export.ical_description`)')
|
||||
el-input(v-model='link')
|
||||
el-button(slot='append' v-clipboard:copy='link' v-clipboard:success='copyLink'
|
||||
plain type="primary" icon='el-icon-document') {{$t("common.copy")}}
|
||||
v-text-field(v-model='link')
|
||||
v-btn(slot='append' v-clipboard:copy='link' v-clipboard:success='copyLink') {{$t("common.copy")}}
|
||||
|
||||
el-tab-pane.pt-1(label='list' name='list')
|
||||
v-tab List
|
||||
v-tab-item
|
||||
p(v-html='$t(`export.list_description`)')
|
||||
|
||||
el-row
|
||||
el-col.mr-2(:span='11')
|
||||
el-input(v-model='list.title') Title
|
||||
el-col.float-right(:span='12')
|
||||
v-row
|
||||
v-col.mr-2(:span='11')
|
||||
v-text-field(v-model='list.title') Title
|
||||
v-col.float-right(:span='12')
|
||||
List(
|
||||
:title='list.title'
|
||||
:events='filteredEvents')
|
||||
el-input.mb-1(type='textarea' v-model='listScript' readonly )
|
||||
el-button.float-right(plain v-clipboard:copy='listScript' v-clipboard:success='copyLink'
|
||||
type='primary' icon='el-icon-document') {{$t('common.copy')}}
|
||||
v-text-field.mb-1(type='textarea' v-model='listScript' readonly )
|
||||
v-btn(plain v-clipboard:copy='listScript' v-clipboard:success='copyLink') {{$t('common.copy')}}
|
||||
|
||||
//- TOFIX
|
||||
//- el-tab-pane.pt-1(label='calendar' name='calendar')
|
||||
//- v-tab.pt-1(label='calendar' name='calendar')
|
||||
//- v-tab-item
|
||||
//- p(v-html='$t(`export.calendar_description`)')
|
||||
//- //- no-ssr
|
||||
//- Calendar.mb-1
|
||||
//- el-input.mb-1(type='textarea' v-model='script')
|
||||
//- v-text-field.mb-1(type='textarea' v-model='script')
|
||||
//- el-button.float-right(plain type="primary" icon='el-icon-document') Copy
|
||||
|
||||
</template>
|
||||
@@ -57,7 +61,6 @@
|
||||
import { mapState, mapGetters } from 'vuex'
|
||||
import List from '@/components/List'
|
||||
import FollowMe from '../components/FollowMe'
|
||||
import { Message } from 'element-ui'
|
||||
|
||||
export default {
|
||||
name: 'Exports',
|
||||
@@ -120,16 +123,17 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
copyLink () {
|
||||
Message({ message: this.$t('common.copied'), type: 'success', showClose: true })
|
||||
// Message({ message: this.$t('common.copied'), type: 'success', showClose: true })
|
||||
this.$root.$emit('message', { message: this.$t('common.feed_url_copied') })
|
||||
},
|
||||
add_notification () {
|
||||
if (!this.notification.email) {
|
||||
Message({ message: 'Inserisci una mail', showClose: true, type: 'error' })
|
||||
// Message({ message: 'Inserisci una mail', showClose: true, type: 'error' })
|
||||
// return this.$refs.email.focus()
|
||||
}
|
||||
// await api.addNotification({ ...this.notification, filters: this.filters})
|
||||
// this.$refs.modal.hide()
|
||||
Message({ message: this.$t('email_notification_activated'), showClose: true, type: 'success' })
|
||||
// Message({ message: this.$t('email_notification_activated'), showClose: true, type: 'success' })
|
||||
},
|
||||
imgPath (event) {
|
||||
return event.image_path && event.image_path
|
||||
@@ -142,9 +146,3 @@ export default {
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style>
|
||||
#list {
|
||||
max-height: 400px;
|
||||
overflow-y: auto;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -1,68 +0,0 @@
|
||||
import Vue from 'vue'
|
||||
import {
|
||||
Button, Select, Tag, Option, Table, FormItem, Card, Row, Col, Upload, Checkbox, RadioButton, RadioGroup,
|
||||
Form, Tabs, TabPane, Switch, Input, Loading, TimeSelect, Badge, ButtonGroup, Divider, Step, Steps, Radio, Main,
|
||||
TableColumn, ColorPicker, Pagination, Popover, Tooltip, Dialog, Image, Backtop, Collapse, CollapseItem, Link,
|
||||
Dropdown, DropdownMenu, DropdownItem, Submenu, PageHeader, Header, Icon, Alert, Autocomplete,
|
||||
Container, Footer, Timeline, TimelineItem, Menu, MenuItem, Carousel, CarouselItem
|
||||
} from 'element-ui'
|
||||
import locale from 'element-ui/lib/locale'
|
||||
|
||||
export default ({ app, store }) => {
|
||||
locale.use(require(`element-ui/lib/locale/lang/${store.state.locale}`))
|
||||
Vue.use(Button)
|
||||
Vue.use(Carousel)
|
||||
Vue.use(CarouselItem)
|
||||
Vue.use(Autocomplete)
|
||||
Vue.use(Alert)
|
||||
Vue.use(Icon)
|
||||
Vue.use(Dropdown)
|
||||
Vue.use(Header)
|
||||
Vue.use(PageHeader)
|
||||
Vue.use(Submenu)
|
||||
Vue.use(DropdownItem)
|
||||
Vue.use(DropdownMenu)
|
||||
Vue.use(Main)
|
||||
Vue.use(Link)
|
||||
Vue.use(RadioButton)
|
||||
Vue.use(RadioGroup)
|
||||
Vue.use(Radio)
|
||||
Vue.use(Collapse)
|
||||
Vue.use(CollapseItem)
|
||||
Vue.use(Backtop)
|
||||
Vue.use(Divider)
|
||||
Vue.use(Image)
|
||||
Vue.use(Step)
|
||||
Vue.use(Steps)
|
||||
Vue.use(Checkbox)
|
||||
Vue.use(Upload)
|
||||
Vue.use(ButtonGroup)
|
||||
Vue.use(Row)
|
||||
Vue.use(Col)
|
||||
Vue.use(Badge)
|
||||
Vue.use(Dialog)
|
||||
Vue.use(Menu)
|
||||
Vue.use(MenuItem)
|
||||
Vue.use(Container)
|
||||
Vue.use(Timeline)
|
||||
Vue.use(TimelineItem)
|
||||
Vue.use(Footer)
|
||||
Vue.use(Tooltip)
|
||||
Vue.use(Popover)
|
||||
Vue.use(Card)
|
||||
Vue.use(Select)
|
||||
Vue.use(Tag)
|
||||
Vue.use(Input)
|
||||
Vue.use(Tabs)
|
||||
Vue.use(TabPane)
|
||||
Vue.use(Option)
|
||||
Vue.use(Switch)
|
||||
Vue.use(ColorPicker)
|
||||
Vue.use(Table)
|
||||
Vue.use(TableColumn)
|
||||
Vue.use(Pagination)
|
||||
Vue.use(FormItem)
|
||||
Vue.use(Form)
|
||||
Vue.use(TimeSelect)
|
||||
Vue.use(Loading.directive)
|
||||
}
|
||||
@@ -1,59 +0,0 @@
|
||||
import Vue from 'vue'
|
||||
// https://fontawesome.com/icons?d=gallery
|
||||
//
|
||||
import 'vue-awesome/icons/lock'
|
||||
import 'vue-awesome/icons/user'
|
||||
import 'vue-awesome/icons/plus'
|
||||
import 'vue-awesome/icons/cog'
|
||||
import 'vue-awesome/icons/tools'
|
||||
import 'vue-awesome/icons/file-export'
|
||||
import 'vue-awesome/icons/sign-out-alt'
|
||||
import 'vue-awesome/icons/clock'
|
||||
import 'vue-awesome/icons/map-marker-alt'
|
||||
import 'vue-awesome/icons/file-alt'
|
||||
import 'vue-awesome/icons/image'
|
||||
import 'vue-awesome/icons/tag'
|
||||
import 'vue-awesome/icons/users'
|
||||
import 'vue-awesome/icons/calendar'
|
||||
import 'vue-awesome/icons/edit'
|
||||
import 'vue-awesome/icons/envelope-open-text'
|
||||
import 'vue-awesome/icons/user-secret'
|
||||
import 'vue-awesome/icons/question-circle'
|
||||
import 'vue-awesome/icons/share'
|
||||
import 'vue-awesome/icons/comment'
|
||||
import 'vue-awesome/icons/comments'
|
||||
import 'vue-awesome/icons/tags'
|
||||
import 'vue-awesome/icons/chevron-right'
|
||||
import 'vue-awesome/icons/chevron-left'
|
||||
import 'vue-awesome/icons/search'
|
||||
import 'vue-awesome/icons/times'
|
||||
import 'vue-awesome/icons/envelope'
|
||||
import 'vue-awesome/icons/calendar-day'
|
||||
import 'vue-awesome/icons/calendar-week'
|
||||
import 'vue-awesome/icons/calendar-alt'
|
||||
import 'vue-awesome/icons/network-wired'
|
||||
import 'vue-awesome/icons/rss'
|
||||
import 'vue-awesome/icons/bold'
|
||||
import 'vue-awesome/icons/italic'
|
||||
import 'vue-awesome/icons/strikethrough'
|
||||
import 'vue-awesome/icons/quote-right'
|
||||
import 'vue-awesome/icons/underline'
|
||||
import 'vue-awesome/icons/code'
|
||||
import 'vue-awesome/icons/paragraph'
|
||||
import 'vue-awesome/icons/list-ul'
|
||||
import 'vue-awesome/icons/list-ol'
|
||||
import 'vue-awesome/icons/heading'
|
||||
import 'vue-awesome/icons/link'
|
||||
import 'vue-awesome/icons/hands-helping'
|
||||
import 'vue-awesome/icons/question'
|
||||
import 'vue-awesome/icons/vector-square'
|
||||
import 'vue-awesome/icons/bullhorn'
|
||||
|
||||
import Icon from 'vue-awesome/components/Icon'
|
||||
|
||||
import VueClipboard from 'vue-clipboard2'
|
||||
|
||||
export default () => {
|
||||
Vue.component('v-icon', Icon)
|
||||
Vue.use(VueClipboard)
|
||||
}
|
||||
59
plugins/vue-clipboard.js
Normal file
59
plugins/vue-clipboard.js
Normal file
@@ -0,0 +1,59 @@
|
||||
import Vue from 'vue'
|
||||
// https://fontawesome.com/icons?d=gallery
|
||||
// //
|
||||
// import 'vue-awesome/icons/lock'
|
||||
// import 'vue-awesome/icons/user'
|
||||
// import 'vue-awesome/icons/plus'
|
||||
// import 'vue-awesome/icons/cog'
|
||||
// import 'vue-awesome/icons/tools'
|
||||
// import 'vue-awesome/icons/file-export'
|
||||
// import 'vue-awesome/icons/sign-out-alt'
|
||||
// import 'vue-awesome/icons/clock'
|
||||
// import 'vue-awesome/icons/map-marker-alt'
|
||||
// import 'vue-awesome/icons/file-alt'
|
||||
// import 'vue-awesome/icons/image'
|
||||
// import 'vue-awesome/icons/tag'
|
||||
// import 'vue-awesome/icons/users'
|
||||
// import 'vue-awesome/icons/calendar'
|
||||
// import 'vue-awesome/icons/edit'
|
||||
// import 'vue-awesome/icons/envelope-open-text'
|
||||
// import 'vue-awesome/icons/user-secret'
|
||||
// import 'vue-awesome/icons/question-circle'
|
||||
// import 'vue-awesome/icons/share'
|
||||
// import 'vue-awesome/icons/comment'
|
||||
// import 'vue-awesome/icons/comments'
|
||||
// import 'vue-awesome/icons/tags'
|
||||
// import 'vue-awesome/icons/chevron-right'
|
||||
// import 'vue-awesome/icons/chevron-left'
|
||||
// import 'vue-awesome/icons/search'
|
||||
// import 'vue-awesome/icons/times'
|
||||
// import 'vue-awesome/icons/envelope'
|
||||
// import 'vue-awesome/icons/calendar-day'
|
||||
// import 'vue-awesome/icons/calendar-week'
|
||||
// import 'vue-awesome/icons/calendar-alt'
|
||||
// import 'vue-awesome/icons/network-wired'
|
||||
// import 'vue-awesome/icons/rss'
|
||||
// import 'vue-awesome/icons/bold'
|
||||
// import 'vue-awesome/icons/italic'
|
||||
// import 'vue-awesome/icons/strikethrough'
|
||||
// import 'vue-awesome/icons/quote-right'
|
||||
// import 'vue-awesome/icons/underline'
|
||||
// import 'vue-awesome/icons/code'
|
||||
// import 'vue-awesome/icons/paragraph'
|
||||
// import 'vue-awesome/icons/list-ul'
|
||||
// import 'vue-awesome/icons/list-ol'
|
||||
// import 'vue-awesome/icons/heading'
|
||||
// import 'vue-awesome/icons/link'
|
||||
// import 'vue-awesome/icons/hands-helping'
|
||||
// import 'vue-awesome/icons/question'
|
||||
// import 'vue-awesome/icons/vector-square'
|
||||
// import 'vue-awesome/icons/bullhorn'
|
||||
|
||||
// import Icon from 'vue-awesome/components/Icon'
|
||||
|
||||
import VueClipboard from 'vue-clipboard2'
|
||||
|
||||
export default () => {
|
||||
// Vue.component('v-icon', Icon)
|
||||
Vue.use(VueClipboard)
|
||||
}
|
||||
@@ -92,11 +92,11 @@ const settingsController = {
|
||||
where: { key },
|
||||
defaults: { value, is_secret }
|
||||
})
|
||||
|
||||
if (!created) { setting.update({ value, is_secret }) }
|
||||
settingsController[is_secret ? 'secretSettings' : 'settings'][key] = value
|
||||
return true
|
||||
} catch (e) {
|
||||
debug(e)
|
||||
return false
|
||||
}
|
||||
},
|
||||
|
||||
14
vuetify.options.js
Normal file
14
vuetify.options.js
Normal file
@@ -0,0 +1,14 @@
|
||||
// vuetify.options.js
|
||||
export default {
|
||||
theme: {
|
||||
dark: true,
|
||||
themes: {
|
||||
dark: {
|
||||
primary: '#FF4500'
|
||||
},
|
||||
light: {
|
||||
primary: '#FF4500'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
384
yarn.lock
384
yarn.lock
@@ -892,14 +892,6 @@
|
||||
"@babel/types" "^7.4.4"
|
||||
esutils "^2.0.2"
|
||||
|
||||
"@babel/runtime-corejs3@^7.8.3":
|
||||
version "7.10.4"
|
||||
resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.10.4.tgz#f29fc1990307c4c57b10dbd6ce667b27159d9e0d"
|
||||
integrity sha512-BFlgP2SoLO9HJX9WBwN67gHWMBhDX/eDz64Jajd6mR/UAUzqrNMm99d4qHnVaKscAElZoFiPv+JpR/Siud5lXw==
|
||||
dependencies:
|
||||
core-js-pure "^3.0.0"
|
||||
regenerator-runtime "^0.13.4"
|
||||
|
||||
"@babel/runtime@^7.10.4":
|
||||
version "7.10.4"
|
||||
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.10.4.tgz#a6724f1a6b8d2f6ea5236dbfe58c7d7ea9c5eb99"
|
||||
@@ -1377,7 +1369,18 @@
|
||||
lodash "^4.17.15"
|
||||
nanoid "^2.1.11"
|
||||
|
||||
"@nuxtjs/axios@^5.11.0", "@nuxtjs/axios@^5.9.5":
|
||||
"@nuxtjs/axios@^5.12.0":
|
||||
version "5.12.0"
|
||||
resolved "https://registry.yarnpkg.com/@nuxtjs/axios/-/axios-5.12.0.tgz#50692340e64ec838f167d292d59b1cc2a0e2dbef"
|
||||
integrity sha512-VQI9Nnf12jWknldrgCNGzCQxnWO3/CvMwrkWKNUr3WtGYuOKryUOd1XXxDbaJmopfX4SGjKvDL1G6qTkWLiPew==
|
||||
dependencies:
|
||||
"@nuxtjs/proxy" "^2.0.0"
|
||||
axios "^0.19.2"
|
||||
axios-retry "^3.1.8"
|
||||
consola "^2.14.0"
|
||||
defu "^2.0.4"
|
||||
|
||||
"@nuxtjs/axios@^5.9.5":
|
||||
version "5.11.0"
|
||||
resolved "https://registry.yarnpkg.com/@nuxtjs/axios/-/axios-5.11.0.tgz#27d7297a69e11c39039b9cacac61e2e0d0e00f1f"
|
||||
integrity sha512-6M87KUXWWlAjRIwqBTXoollTwsUDnf8bdOR3qY1cVggvUP4hYgb2Oby7/Jr0u7bWGyb+/GuagwBBtubGTLsoyA==
|
||||
@@ -1410,6 +1413,18 @@
|
||||
consola "^2.11.3"
|
||||
http-proxy-middleware "^1.0.4"
|
||||
|
||||
"@nuxtjs/vuetify@^1.11.2":
|
||||
version "1.11.2"
|
||||
resolved "https://registry.yarnpkg.com/@nuxtjs/vuetify/-/vuetify-1.11.2.tgz#fefa861d98c021e10dd579a5b91b34b3fb49dc99"
|
||||
integrity sha512-8+k/PQG37OAoXvXgKE+BkBQXaoBCz9odK8oPYA4lwmxQ0ekHnh4PFrU/6Fr+OeVHbQbynbuMZnkF9aWxDsTqug==
|
||||
dependencies:
|
||||
deepmerge "^4.2.2"
|
||||
fibers "^4.0.3"
|
||||
sass "^1.26.5"
|
||||
sass-loader "^8.0.2"
|
||||
vuetify "^2"
|
||||
vuetify-loader "^1.4.3"
|
||||
|
||||
"@nuxtjs/youch@^4.2.3":
|
||||
version "4.2.3"
|
||||
resolved "https://registry.yarnpkg.com/@nuxtjs/youch/-/youch-4.2.3.tgz#36f8b22df5a0efaa81373109851e1d857aca6bed"
|
||||
@@ -1862,7 +1877,7 @@ acorn@^6.4.1:
|
||||
resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474"
|
||||
integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==
|
||||
|
||||
acorn@^7.1.1, acorn@^7.2.0:
|
||||
acorn@^7.1.1, acorn@^7.3.1:
|
||||
version "7.3.1"
|
||||
resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.3.1.tgz#85010754db53c3fbaf3b9ea3e083aa5c5d147ffd"
|
||||
integrity sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA==
|
||||
@@ -2925,6 +2940,21 @@ cheerio@^0.22.0:
|
||||
lodash.reject "^4.4.0"
|
||||
lodash.some "^4.4.0"
|
||||
|
||||
"chokidar@>=2.0.0 <4.0.0":
|
||||
version "3.4.1"
|
||||
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.1.tgz#e905bdecf10eaa0a0b1db0c664481cc4cbc22ba1"
|
||||
integrity sha512-TQTJyr2stihpC4Sya9hs2Xh+O2wf+igjL36Y75xx2WdHuiICcn/XJza46Jwt0eT5hVpQOzo3FpY3cj3RVYLX0g==
|
||||
dependencies:
|
||||
anymatch "~3.1.1"
|
||||
braces "~3.0.2"
|
||||
glob-parent "~5.1.0"
|
||||
is-binary-path "~2.1.0"
|
||||
is-glob "~4.0.1"
|
||||
normalize-path "~3.0.0"
|
||||
readdirp "~3.4.0"
|
||||
optionalDependencies:
|
||||
fsevents "~2.1.2"
|
||||
|
||||
chokidar@^2.1.8:
|
||||
version "2.1.8"
|
||||
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917"
|
||||
@@ -3093,6 +3123,15 @@ cliui@^6.0.0:
|
||||
strip-ansi "^6.0.0"
|
||||
wrap-ansi "^6.2.0"
|
||||
|
||||
clone-deep@^4.0.1:
|
||||
version "4.0.1"
|
||||
resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387"
|
||||
integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==
|
||||
dependencies:
|
||||
is-plain-object "^2.0.4"
|
||||
kind-of "^6.0.2"
|
||||
shallow-clone "^3.0.0"
|
||||
|
||||
clone-response@^1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b"
|
||||
@@ -3398,16 +3437,16 @@ core-js-compat@^3.6.2:
|
||||
browserslist "^4.8.5"
|
||||
semver "7.0.0"
|
||||
|
||||
core-js-pure@^3.0.0:
|
||||
version "3.6.5"
|
||||
resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.6.5.tgz#c79e75f5e38dbc85a662d91eea52b8256d53b813"
|
||||
integrity sha512-lacdXOimsiD0QyNf9BC/mxivNJ/ybBGJXQFKzRekp1WTHoVUWsUHEn+2T8GJAzzIhyOuXA+gOxCVN3l+5PLPUA==
|
||||
|
||||
core-js@^2.4.0, core-js@^2.6.5:
|
||||
version "2.6.11"
|
||||
resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c"
|
||||
integrity sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==
|
||||
|
||||
core-js@^3.4.4:
|
||||
version "3.6.5"
|
||||
resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.6.5.tgz#7395dc273af37fb2e50e9bd3d9fe841285231d1a"
|
||||
integrity sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==
|
||||
|
||||
core-util-is@1.0.2, core-util-is@~1.0.0:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
|
||||
@@ -3783,7 +3822,12 @@ datauri@^2.0.0:
|
||||
image-size "^0.7.3"
|
||||
mimer "^1.0.0"
|
||||
|
||||
date-fns@^2.14.0, date-fns@^2.6.0:
|
||||
date-fns@^2.15.0:
|
||||
version "2.15.0"
|
||||
resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.15.0.tgz#424de6b3778e4e69d3ff27046ec136af58ae5d5f"
|
||||
integrity sha512-ZCPzAMJZn3rNUvvQIMlXhDr4A+Ar07eLeGsGREoWU19a3Pqf5oYa+ccd+B3F6XVtQY6HANMFdOQ8A+ipFnvJdQ==
|
||||
|
||||
date-fns@^2.6.0:
|
||||
version "2.14.0"
|
||||
resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.14.0.tgz#359a87a265bb34ef2e38f93ecf63ac453f9bc7ba"
|
||||
integrity sha512-1zD+68jhFgDIM0rF05rcwYO8cExdNqxjq4xP1QKM60Q45mnO6zaMWB4tOzrIr4M4GSLntsKeE4c9Bdl2jhL/yw==
|
||||
@@ -3793,10 +3837,10 @@ dayjs@^1.8.16:
|
||||
resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.8.28.tgz#37aa6201df483d089645cb6c8f6cef6f0c4dbc07"
|
||||
integrity sha512-ccnYgKC0/hPSGXxj7Ju6AV/BP4HUkXC2u15mikXT5mX9YorEaoi1bEKOmAqdkJHN4EEkmAf97SpH66Try5Mbeg==
|
||||
|
||||
dayjs@^1.8.29:
|
||||
version "1.8.29"
|
||||
resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.8.29.tgz#5d23e341de6bfbd206c01136d2fb0f01877820f5"
|
||||
integrity sha512-Vm6teig8ZWK7rH/lxzVGxZJCljPdmUr6q/3f4fr5F0VWNGVkZEjZOQJsAN8hUHUqn+NK4XHNEpJZS1MwLyDcLw==
|
||||
dayjs@^1.8.30:
|
||||
version "1.8.30"
|
||||
resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.8.30.tgz#d3b314d3ccdc179015d915fd3c6e14422c026378"
|
||||
integrity sha512-5s5IGuP5bVvIbOWkEDcfmXsUj24fZW1NMHVVSdSFF/kW8d+alZcI9SpBKC+baEyBe+z3fUp17y75ulstv5swUw==
|
||||
|
||||
de-indent@^1.0.2:
|
||||
version "1.0.2"
|
||||
@@ -3836,13 +3880,6 @@ decamelize@^1.0.0, decamelize@^1.2.0:
|
||||
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
|
||||
integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
|
||||
|
||||
decamelize@^3.2.0:
|
||||
version "3.2.0"
|
||||
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-3.2.0.tgz#84b8e8f4f8c579f938e35e2cc7024907e0090851"
|
||||
integrity sha512-4TgkVUsmmu7oCSyGBm5FvfMoACuoh9EOidm7V5/J2X2djAwwt57qb3F2KMP2ITqODTCSwb+YRV+0Zqrv18k/hw==
|
||||
dependencies:
|
||||
xregexp "^4.2.4"
|
||||
|
||||
decimal.js@^10.2.0:
|
||||
version "10.2.0"
|
||||
resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.0.tgz#39466113a9e036111d02f82489b5fd6b0b5ed231"
|
||||
@@ -4251,10 +4288,10 @@ elliptic@^6.0.0, elliptic@^6.5.2:
|
||||
minimalistic-assert "^1.0.0"
|
||||
minimalistic-crypto-utils "^1.0.0"
|
||||
|
||||
email-templates@^7.0.5:
|
||||
version "7.0.5"
|
||||
resolved "https://registry.yarnpkg.com/email-templates/-/email-templates-7.0.5.tgz#0b31918d97edca2b6ae6526ddf9eedfb7ff000c4"
|
||||
integrity sha512-fkq/J7gW/+IU1PIl2R2udGaLYrTz7LKCpFkfCEYIzYRHP7e8LYfFYY1+kw/7YEPEvkizBEHEDIl+o3QJddBUug==
|
||||
email-templates@^7.1.0:
|
||||
version "7.1.0"
|
||||
resolved "https://registry.yarnpkg.com/email-templates/-/email-templates-7.1.0.tgz#d10dad8ae673e06eaf1bdff2c179ae39dc31ae82"
|
||||
integrity sha512-cO+6RgrFk1CPqm1y8UbSRyjZ4mrtk3FleT7IR7l82EbXfwnP2qSo94KDIeacklR4+oFktep2Z6ulkUp5Cf+UNw==
|
||||
dependencies:
|
||||
"@ladjs/i18n" "^3.0.10"
|
||||
"@sindresorhus/is" "^2.1.1"
|
||||
@@ -4543,7 +4580,7 @@ eslint-plugin-import@^2.22.0:
|
||||
resolve "^1.17.0"
|
||||
tsconfig-paths "^3.9.0"
|
||||
|
||||
eslint-plugin-jest@^23.10.0, eslint-plugin-jest@^23.17.1:
|
||||
eslint-plugin-jest@^23.10.0:
|
||||
version "23.17.1"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-23.17.1.tgz#c0f39ba78e0f33b7ee1ce4ec92b773e39026ea3f"
|
||||
integrity sha512-/o36fw67qNbJGWbSBIBMfseMsNP/d88WUHAGHCi1xFwsNB3XXZGdvxbOw49j3iQz6MCW/yw8OeOsuQhi6mM5ZA==
|
||||
@@ -4640,22 +4677,22 @@ eslint-template-visitor@^1.1.0:
|
||||
espree "^6.1.1"
|
||||
multimap "^1.0.2"
|
||||
|
||||
eslint-utils@^2.0.0:
|
||||
eslint-utils@^2.0.0, eslint-utils@^2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27"
|
||||
integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==
|
||||
dependencies:
|
||||
eslint-visitor-keys "^1.1.0"
|
||||
|
||||
eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.2.0:
|
||||
eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0:
|
||||
version "1.3.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e"
|
||||
integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==
|
||||
|
||||
eslint@^7.4.0:
|
||||
version "7.4.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.4.0.tgz#4e35a2697e6c1972f9d6ef2b690ad319f80f206f"
|
||||
integrity sha512-gU+lxhlPHu45H3JkEGgYhWhkR9wLHHEXC9FbWFnTlEkbKyZKWgWRLgf61E8zWmBuI6g5xKBph9ltg3NtZMVF8g==
|
||||
eslint@^7.5.0:
|
||||
version "7.5.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.5.0.tgz#9ecbfad62216d223b82ac9ffea7ef3444671d135"
|
||||
integrity sha512-vlUP10xse9sWt9SGRtcr1LAC67BENcQMFeV+w5EvLEoFe3xJ8cF1Skd0msziRx/VMC+72B4DxreCE+OR12OA6Q==
|
||||
dependencies:
|
||||
"@babel/code-frame" "^7.0.0"
|
||||
ajv "^6.10.0"
|
||||
@@ -4665,9 +4702,9 @@ eslint@^7.4.0:
|
||||
doctrine "^3.0.0"
|
||||
enquirer "^2.3.5"
|
||||
eslint-scope "^5.1.0"
|
||||
eslint-utils "^2.0.0"
|
||||
eslint-visitor-keys "^1.2.0"
|
||||
espree "^7.1.0"
|
||||
eslint-utils "^2.1.0"
|
||||
eslint-visitor-keys "^1.3.0"
|
||||
espree "^7.2.0"
|
||||
esquery "^1.2.0"
|
||||
esutils "^2.0.2"
|
||||
file-entry-cache "^5.0.1"
|
||||
@@ -4681,7 +4718,7 @@ eslint@^7.4.0:
|
||||
js-yaml "^3.13.1"
|
||||
json-stable-stringify-without-jsonify "^1.0.1"
|
||||
levn "^0.4.1"
|
||||
lodash "^4.17.14"
|
||||
lodash "^4.17.19"
|
||||
minimatch "^3.0.4"
|
||||
natural-compare "^1.4.0"
|
||||
optionator "^0.9.1"
|
||||
@@ -4708,14 +4745,14 @@ espree@^6.1.1, espree@^6.2.1:
|
||||
acorn-jsx "^5.2.0"
|
||||
eslint-visitor-keys "^1.1.0"
|
||||
|
||||
espree@^7.1.0:
|
||||
version "7.1.0"
|
||||
resolved "https://registry.yarnpkg.com/espree/-/espree-7.1.0.tgz#a9c7f18a752056735bf1ba14cb1b70adc3a5ce1c"
|
||||
integrity sha512-dcorZSyfmm4WTuTnE5Y7MEN1DyoPYy1ZR783QW1FJoenn7RailyWFsq/UL6ZAAA7uXurN9FIpYyUs3OfiIW+Qw==
|
||||
espree@^7.2.0:
|
||||
version "7.2.0"
|
||||
resolved "https://registry.yarnpkg.com/espree/-/espree-7.2.0.tgz#1c263d5b513dbad0ac30c4991b93ac354e948d69"
|
||||
integrity sha512-H+cQ3+3JYRMEIOl87e7QdHX70ocly5iW4+dttuR8iYSPr/hXKFb+7dBsZ7+u1adC4VrnPlTkv0+OwuPnDop19g==
|
||||
dependencies:
|
||||
acorn "^7.2.0"
|
||||
acorn "^7.3.1"
|
||||
acorn-jsx "^5.2.0"
|
||||
eslint-visitor-keys "^1.2.0"
|
||||
eslint-visitor-keys "^1.3.0"
|
||||
|
||||
esprima@^4.0.0, esprima@^4.0.1:
|
||||
version "4.0.1"
|
||||
@@ -5000,6 +5037,13 @@ fault@^1.0.0:
|
||||
dependencies:
|
||||
format "^0.2.0"
|
||||
|
||||
fibers@^4.0.3:
|
||||
version "4.0.3"
|
||||
resolved "https://registry.yarnpkg.com/fibers/-/fibers-4.0.3.tgz#dda5918280a48507f5d8a96dd9a525e8f4a532e2"
|
||||
integrity sha512-MW5VrDtTOLpKK7lzw4qD7Z9tXaAhdOmOED5RHzg3+HjUk+ibkjVW0Py2ERtdqgTXaerLkVkBy2AEmJiT6RMyzg==
|
||||
dependencies:
|
||||
detect-libc "^1.0.3"
|
||||
|
||||
figgy-pudding@^3.5.1:
|
||||
version "3.5.2"
|
||||
resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e"
|
||||
@@ -5019,7 +5063,7 @@ file-entry-cache@^5.0.1:
|
||||
dependencies:
|
||||
flat-cache "^2.0.1"
|
||||
|
||||
file-loader@^4.3.0:
|
||||
file-loader@^4.0.0, file-loader@^4.3.0:
|
||||
version "4.3.0"
|
||||
resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-4.3.0.tgz#780f040f729b3d18019f20605f723e844b8a58af"
|
||||
integrity sha512-aKrYPYjF1yG3oX0kWRrqrSMfgftm7oJW5M+m4owoldH5C51C0RkIwB++JbRvEW3IU6/ZG5n8UvEcdgwOt2UOWA==
|
||||
@@ -5439,7 +5483,7 @@ glob-parent@^5.0.0, glob-parent@^5.1.0, glob-parent@~5.1.0:
|
||||
dependencies:
|
||||
is-glob "^4.0.1"
|
||||
|
||||
glob@^7.0.3, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6:
|
||||
glob@^7.0.0, glob@^7.0.3, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6:
|
||||
version "7.1.6"
|
||||
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
|
||||
integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
|
||||
@@ -6135,10 +6179,10 @@ inquirer@^7.2.0:
|
||||
strip-ansi "^6.0.0"
|
||||
through "^2.3.6"
|
||||
|
||||
inquirer@^7.3.0:
|
||||
version "7.3.0"
|
||||
resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.3.0.tgz#aa3e7cb0c18a410c3c16cdd2bc9dcbe83c4d333e"
|
||||
integrity sha512-K+LZp6L/6eE5swqIcVXrxl21aGDU4S50gKH0/d96OMQnSBCyGyZl/oZhbkVmdp5sBoINHd4xZvFSARh2dk6DWA==
|
||||
inquirer@^7.3.3:
|
||||
version "7.3.3"
|
||||
resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003"
|
||||
integrity sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==
|
||||
dependencies:
|
||||
ansi-escapes "^4.2.1"
|
||||
chalk "^4.1.0"
|
||||
@@ -6146,7 +6190,7 @@ inquirer@^7.3.0:
|
||||
cli-width "^3.0.0"
|
||||
external-editor "^3.0.3"
|
||||
figures "^3.0.0"
|
||||
lodash "^4.17.15"
|
||||
lodash "^4.17.19"
|
||||
mute-stream "0.0.8"
|
||||
run-async "^2.4.0"
|
||||
rxjs "^6.6.0"
|
||||
@@ -6154,7 +6198,7 @@ inquirer@^7.3.0:
|
||||
strip-ansi "^6.0.0"
|
||||
through "^2.3.6"
|
||||
|
||||
interpret@^1.4.0:
|
||||
interpret@^1.0.0, interpret@^1.4.0:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e"
|
||||
integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==
|
||||
@@ -6649,10 +6693,10 @@ jsbn@~0.1.0:
|
||||
resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
|
||||
integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM=
|
||||
|
||||
jsdom@^16.2.2:
|
||||
version "16.2.2"
|
||||
resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.2.2.tgz#76f2f7541646beb46a938f5dc476b88705bedf2b"
|
||||
integrity sha512-pDFQbcYtKBHxRaP55zGXCJWgFHkDAYbKcsXEK/3Icu9nKYZkutUXfLBwbD+09XDutkYSHcgfQLZ0qvpAAm9mvg==
|
||||
jsdom@^16.3.0:
|
||||
version "16.3.0"
|
||||
resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.3.0.tgz#75690b7dac36c67be49c336dcd7219bbbed0810c"
|
||||
integrity sha512-zggeX5UuEknpdZzv15+MS1dPYG0J/TftiiNunOeNxSl3qr8Z6cIlQpN0IdJa44z9aFxZRIVqRncvEhQ7X5DtZg==
|
||||
dependencies:
|
||||
abab "^2.0.3"
|
||||
acorn "^7.1.1"
|
||||
@@ -6674,7 +6718,7 @@ jsdom@^16.2.2:
|
||||
tough-cookie "^3.0.1"
|
||||
w3c-hr-time "^1.0.2"
|
||||
w3c-xmlserializer "^2.0.0"
|
||||
webidl-conversions "^6.0.0"
|
||||
webidl-conversions "^6.1.0"
|
||||
whatwg-encoding "^1.0.5"
|
||||
whatwg-mimetype "^2.3.0"
|
||||
whatwg-url "^8.0.0"
|
||||
@@ -6846,6 +6890,11 @@ kind-of@^6.0.0, kind-of@^6.0.2:
|
||||
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
|
||||
integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
|
||||
|
||||
klona@^1.1.1:
|
||||
version "1.1.2"
|
||||
resolved "https://registry.yarnpkg.com/klona/-/klona-1.1.2.tgz#a79e292518a5a5412ec8d097964bff1571a64db0"
|
||||
integrity sha512-xf88rTeHiXk+XE2Vhi6yj8Wm3gMZrygGdKjJqN8HkV+PwF/t50/LdAKHoHpPcxFAlmQszTZ1CugrK25S7qDRLA==
|
||||
|
||||
last-call-webpack-plugin@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz#9742df0e10e3cf46e5c0381c2de90d3a7a2d7555"
|
||||
@@ -6908,6 +6957,21 @@ less@^3.11.3:
|
||||
request "^2.83.0"
|
||||
source-map "~0.6.0"
|
||||
|
||||
less@^3.12.2:
|
||||
version "3.12.2"
|
||||
resolved "https://registry.yarnpkg.com/less/-/less-3.12.2.tgz#157e6dd32a68869df8859314ad38e70211af3ab4"
|
||||
integrity sha512-+1V2PCMFkL+OIj2/HrtrvZw0BC0sYLMICJfbQjuj/K8CEnlrFX6R5cKKgzzttsZDHyxQNL1jqMREjKN3ja/E3Q==
|
||||
dependencies:
|
||||
tslib "^1.10.0"
|
||||
optionalDependencies:
|
||||
errno "^0.1.1"
|
||||
graceful-fs "^4.1.2"
|
||||
image-size "~0.5.0"
|
||||
make-dir "^2.1.0"
|
||||
mime "^1.4.1"
|
||||
native-request "^1.0.5"
|
||||
source-map "~0.6.0"
|
||||
|
||||
leven@^3.1.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2"
|
||||
@@ -7002,7 +7066,7 @@ loader-runner@^2.3.1, loader-runner@^2.4.0:
|
||||
resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357"
|
||||
integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==
|
||||
|
||||
loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0:
|
||||
loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.0, loader-utils@^1.2.3, loader-utils@^1.4.0:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613"
|
||||
integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==
|
||||
@@ -7799,7 +7863,7 @@ nan@^2.12.1:
|
||||
resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01"
|
||||
integrity sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==
|
||||
|
||||
nanoid@^2.1.11, nanoid@^2.1.6:
|
||||
nanoid@^2.1.11:
|
||||
version "2.1.11"
|
||||
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-2.1.11.tgz#ec24b8a758d591561531b4176a01e3ab4f0f0280"
|
||||
integrity sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA==
|
||||
@@ -7831,6 +7895,11 @@ napi-build-utils@^1.0.1:
|
||||
resolved "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-1.0.2.tgz#b1fddc0b2c46e380a0b7a76f984dd47c41a13806"
|
||||
integrity sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==
|
||||
|
||||
native-request@^1.0.5:
|
||||
version "1.0.7"
|
||||
resolved "https://registry.yarnpkg.com/native-request/-/native-request-1.0.7.tgz#ff742dc555b4c8f2f1c14b548639ba174e573856"
|
||||
integrity sha512-9nRjinI9bmz+S7dgNtf4A70+/vPhnd+2krGpy4SUlADuOuSa24IDkNaZ+R/QT1wQ6S8jBdi6wE7fLekFZNfUpQ==
|
||||
|
||||
natural-compare@^1.4.0:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
|
||||
@@ -8158,6 +8227,14 @@ nth-check@^1.0.2, nth-check@~1.0.1:
|
||||
dependencies:
|
||||
boolbase "~1.0.0"
|
||||
|
||||
null-loader@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/null-loader/-/null-loader-3.0.0.tgz#3e2b6c663c5bda8c73a54357d8fa0708dc61b245"
|
||||
integrity sha512-hf5sNLl8xdRho4UPBOOeoIwT3WhjYcMUQm0zj44EhD6UscMAz72o2udpoDFBgykucdEDGIcd6SXbc/G6zssbzw==
|
||||
dependencies:
|
||||
loader-utils "^1.2.3"
|
||||
schema-utils "^1.0.0"
|
||||
|
||||
num2fraction@^1.2.2:
|
||||
version "1.2.2"
|
||||
resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede"
|
||||
@@ -8701,10 +8778,10 @@ performance-now@^2.1.0:
|
||||
resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
|
||||
integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=
|
||||
|
||||
pg-connection-string@^2.2.3:
|
||||
version "2.2.3"
|
||||
resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-2.2.3.tgz#48e1158ec37eaa82e98dbcb7307103ec303fe0e7"
|
||||
integrity sha512-I/KCSQGmOrZx6sMHXkOs2MjddrYcqpza3Dtsy0AjIgBr/bZiPJRK9WhABXN1Uy1UDazRbi9gZEzO2sAhL5EqiQ==
|
||||
pg-connection-string@^2.3.0:
|
||||
version "2.3.0"
|
||||
resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-2.3.0.tgz#c13fcb84c298d0bfa9ba12b40dd6c23d946f55d6"
|
||||
integrity sha512-ukMTJXLI7/hZIwTW7hGMZJ0Lj0S2XQBCJ4Shv4y1zgQ/vqVea+FLhzywvPj0ujSuofu+yA4MYHGZPTsgjBgJ+w==
|
||||
|
||||
pg-int8@1.0.1:
|
||||
version "1.0.1"
|
||||
@@ -8732,14 +8809,14 @@ pg-types@^2.1.0:
|
||||
postgres-date "~1.0.4"
|
||||
postgres-interval "^1.1.0"
|
||||
|
||||
pg@^8.2.2:
|
||||
version "8.2.2"
|
||||
resolved "https://registry.yarnpkg.com/pg/-/pg-8.2.2.tgz#a8c2bbe1f20e67b11333a672b3bc2135338fd7e4"
|
||||
integrity sha512-Uni50U0W2CNPM68+zfC/1WWjSO3q/uBSF/Nl7D+1npZGsPSM4/EZt0xSMW2jox1Bn0EfDlnTWnTsM/TrSOtBEA==
|
||||
pg@^8.3.0:
|
||||
version "8.3.0"
|
||||
resolved "https://registry.yarnpkg.com/pg/-/pg-8.3.0.tgz#941383300d38eef51ecb88a0188cec441ab64d81"
|
||||
integrity sha512-jQPKWHWxbI09s/Z9aUvoTbvGgoj98AU7FDCcQ7kdejupn/TcNpx56v2gaOTzXkzOajmOEJEdi9eTh9cA2RVAjQ==
|
||||
dependencies:
|
||||
buffer-writer "2.0.0"
|
||||
packet-reader "1.0.0"
|
||||
pg-connection-string "^2.2.3"
|
||||
pg-connection-string "^2.3.0"
|
||||
pg-pool "^3.2.1"
|
||||
pg-protocol "^1.2.5"
|
||||
pg-types "^2.1.0"
|
||||
@@ -9726,10 +9803,10 @@ prosemirror-keymap@1.1.4, prosemirror-keymap@^1.0.0, prosemirror-keymap@^1.1.2:
|
||||
prosemirror-state "^1.0.0"
|
||||
w3c-keyname "^2.2.0"
|
||||
|
||||
prosemirror-model@1.10.0, prosemirror-model@1.9.1, prosemirror-model@^1.0.0, prosemirror-model@^1.1.0, prosemirror-model@^1.10.0, prosemirror-model@^1.8.1:
|
||||
version "1.9.1"
|
||||
resolved "https://registry.yarnpkg.com/prosemirror-model/-/prosemirror-model-1.9.1.tgz#8c08cf556f593c5f015548d2c1a6825661df087f"
|
||||
integrity sha512-Qblh8pm1c7Ll64sYLauwwzjimo/tFg1zW3Q3IWhKRhvfOEgRKqa6dC5pRrAa+XHOIjBFEYrqbi52J5bqA2dV8Q==
|
||||
prosemirror-model@1.10.0, prosemirror-model@^1.0.0, prosemirror-model@^1.1.0, prosemirror-model@^1.10.0, prosemirror-model@^1.8.1:
|
||||
version "1.10.0"
|
||||
resolved "https://registry.yarnpkg.com/prosemirror-model/-/prosemirror-model-1.10.0.tgz#bb1101732bccacf336e23a36a8b045b865025fa2"
|
||||
integrity sha512-xTMbbO2q4abs5lJdeRvk/SrftNfZlMdvChKziTiK+OKtP8LkQI8uw39u4S5zqyflrmW3Or6+qnyFPf1p4v2u1g==
|
||||
dependencies:
|
||||
orderedmap "^1.1.0"
|
||||
|
||||
@@ -10173,6 +10250,13 @@ readdirp@~3.4.0:
|
||||
dependencies:
|
||||
picomatch "^2.2.1"
|
||||
|
||||
rechoir@^0.6.2:
|
||||
version "0.6.2"
|
||||
resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384"
|
||||
integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=
|
||||
dependencies:
|
||||
resolve "^1.1.6"
|
||||
|
||||
regenerate-unicode-properties@^8.2.0:
|
||||
version "8.2.0"
|
||||
resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec"
|
||||
@@ -10552,6 +10636,35 @@ safe-regex@^2.1.1:
|
||||
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
|
||||
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
|
||||
|
||||
sass-loader@^8.0.2:
|
||||
version "8.0.2"
|
||||
resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-8.0.2.tgz#debecd8c3ce243c76454f2e8290482150380090d"
|
||||
integrity sha512-7o4dbSK8/Ol2KflEmSco4jTjQoV988bM82P9CZdmo9hR3RLnvNc0ufMNdMrB0caq38JQ/FgF4/7RcbcfKzxoFQ==
|
||||
dependencies:
|
||||
clone-deep "^4.0.1"
|
||||
loader-utils "^1.2.3"
|
||||
neo-async "^2.6.1"
|
||||
schema-utils "^2.6.1"
|
||||
semver "^6.3.0"
|
||||
|
||||
sass-loader@^9.0.2:
|
||||
version "9.0.2"
|
||||
resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-9.0.2.tgz#847c9b4c95328ddc8c7d35cf28c9d6e54e59a90b"
|
||||
integrity sha512-nphcum3jNI442njnrZ5wJgSNX5lfEOHOKHCLf+PrTIaleploKqAMUuT9CVKjf+lyi6c2MCGPHh1vb9nGsjnZJA==
|
||||
dependencies:
|
||||
klona "^1.1.1"
|
||||
loader-utils "^2.0.0"
|
||||
neo-async "^2.6.1"
|
||||
schema-utils "^2.7.0"
|
||||
semver "^7.3.2"
|
||||
|
||||
sass@^1.19.0, sass@^1.26.5:
|
||||
version "1.26.10"
|
||||
resolved "https://registry.yarnpkg.com/sass/-/sass-1.26.10.tgz#851d126021cdc93decbf201d1eca2a20ee434760"
|
||||
integrity sha512-bzN0uvmzfsTvjz0qwccN1sPm2HxxpNI/Xa+7PlUEMS+nQvbyuEK7Y0qFqxlPHhiNHb1Ze8WQJtU31olMObkAMw==
|
||||
dependencies:
|
||||
chokidar ">=2.0.0 <4.0.0"
|
||||
|
||||
sax@>=0.6.0, sax@^1.2.4, sax@~1.2.4:
|
||||
version "1.2.4"
|
||||
resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
|
||||
@@ -10614,7 +10727,7 @@ semver@^6.0.0, semver@^6.1.0, semver@^6.2.0, semver@^6.3.0:
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
|
||||
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
|
||||
|
||||
semver@^7.1.3, semver@^7.2.1, semver@^7.3.2:
|
||||
semver@^7.1.2, semver@^7.1.3, semver@^7.2.1, semver@^7.3.2:
|
||||
version "7.3.2"
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938"
|
||||
integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==
|
||||
@@ -10661,10 +10774,10 @@ sequelize-pool@^6.0.0:
|
||||
resolved "https://registry.yarnpkg.com/sequelize-pool/-/sequelize-pool-6.0.0.tgz#2b2f6570fb633ecb38a338c4fc266c0e42ce2af7"
|
||||
integrity sha512-D/VfOX2Z+6JTWqM73lhcqMXp1X4CeqRNVMlndvbOMtyjFAZ2kYzH7rGFGFrLO1r+RZQdc/h+3zQL4nd3cclNLg==
|
||||
|
||||
sequelize@^6.3.0:
|
||||
version "6.3.0"
|
||||
resolved "https://registry.yarnpkg.com/sequelize/-/sequelize-6.3.0.tgz#4b1353174a4702ab0be1d991f9d872021e1a6bff"
|
||||
integrity sha512-aVZUvT0w1ebewlApFuaUJE/fJ7aTfIpMnwNM/Zgr29QnY0fT1t0EjXxl48Fwmfq3BHJogLMhfMTJRXJQaiaFVQ==
|
||||
sequelize@^6.3.3:
|
||||
version "6.3.3"
|
||||
resolved "https://registry.yarnpkg.com/sequelize/-/sequelize-6.3.3.tgz#930ab26f9e928d9bf2fe1fe477b428a092fef063"
|
||||
integrity sha512-WO/b1ehjSFKlBCHzwZoaPhoW3WyXXy9x74yPrOP8NpE67wzbv0dIucDO4a+THLVyl3lnv3nFMZdJRdkUgb/ZAw==
|
||||
dependencies:
|
||||
debug "^4.1.1"
|
||||
dottie "^2.0.0"
|
||||
@@ -10762,6 +10875,13 @@ sha1@^1.1.1:
|
||||
charenc ">= 0.0.1"
|
||||
crypt ">= 0.0.1"
|
||||
|
||||
shallow-clone@^3.0.0:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3"
|
||||
integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==
|
||||
dependencies:
|
||||
kind-of "^6.0.2"
|
||||
|
||||
sharp@^0.25.4:
|
||||
version "0.25.4"
|
||||
resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.25.4.tgz#1a8e542144a07ab7e9316ab89de80182b827c363"
|
||||
@@ -10806,6 +10926,15 @@ shell-quote@^1.6.1:
|
||||
resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2"
|
||||
integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==
|
||||
|
||||
shelljs@^0.8.3:
|
||||
version "0.8.4"
|
||||
resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.4.tgz#de7684feeb767f8716b326078a8a00875890e3c2"
|
||||
integrity sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==
|
||||
dependencies:
|
||||
glob "^7.0.0"
|
||||
interpret "^1.0.0"
|
||||
rechoir "^0.6.2"
|
||||
|
||||
sigmund@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590"
|
||||
@@ -11520,10 +11649,10 @@ tinycolor2@^1.1.2:
|
||||
resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.4.1.tgz#f4fad333447bc0b07d4dc8e9209d8f39a8ac77e8"
|
||||
integrity sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g=
|
||||
|
||||
tiptap-commands@^1.14.0:
|
||||
version "1.14.0"
|
||||
resolved "https://registry.yarnpkg.com/tiptap-commands/-/tiptap-commands-1.14.0.tgz#1c34709637d9f34a09afaa0eb8f049898ae531c8"
|
||||
integrity sha512-qdNECIQVLItTaw8Rbr21qejAODTxUWdeJlk5Ym1RUcVhD7imZjn4XjHtfj99afibNz/xofsjW4xiwlgnBMTlDg==
|
||||
tiptap-commands@^1.14.1:
|
||||
version "1.14.1"
|
||||
resolved "https://registry.yarnpkg.com/tiptap-commands/-/tiptap-commands-1.14.1.tgz#7c3c4d27e6d66701b2f308f79eee01ccde03e14a"
|
||||
integrity sha512-8yUkcUgTvEZqzhCJdWN7sY4IB/7IAnDtk0gcfXODOXyf+i7fMj4E/k741jlPxYSUFgWWYZWGks29EG6KJ2IQvQ==
|
||||
dependencies:
|
||||
prosemirror-commands "^1.1.4"
|
||||
prosemirror-inputrules "^1.1.2"
|
||||
@@ -11532,12 +11661,12 @@ tiptap-commands@^1.14.0:
|
||||
prosemirror-state "^1.3.3"
|
||||
prosemirror-tables "^1.1.0"
|
||||
prosemirror-utils "^0.9.6"
|
||||
tiptap-utils "^1.10.0"
|
||||
tiptap-utils "^1.10.1"
|
||||
|
||||
tiptap-extensions@^1.29.1:
|
||||
version "1.31.0"
|
||||
resolved "https://registry.yarnpkg.com/tiptap-extensions/-/tiptap-extensions-1.31.0.tgz#d1f42850e92599c3740ad3da822a667527b9e48f"
|
||||
integrity sha512-xE61fHBzBpEZ+JF90Z1bFopDMvw9XAIH4VIg56nXrBxm/bKznOXr7oZKqesRE/o3cmWnSTUnLXIZYEQlk37qjg==
|
||||
tiptap-extensions@^1.31.1:
|
||||
version "1.31.1"
|
||||
resolved "https://registry.yarnpkg.com/tiptap-extensions/-/tiptap-extensions-1.31.1.tgz#7b6cbd334f0484699d035533e11a2d02a26ffd8d"
|
||||
integrity sha512-fDaU+ghnK5/kTkS+HHn1TjljNv66y0ED1ppP1iszk7hmuBc1bo+XfFzhsViqcYi8QB9AeHzBEmvVF1fnKNar4A==
|
||||
dependencies:
|
||||
lowlight "^1.14.0"
|
||||
prosemirror-collab "^1.2.2"
|
||||
@@ -11548,23 +11677,23 @@ tiptap-extensions@^1.29.1:
|
||||
prosemirror-transform "^1.2.6"
|
||||
prosemirror-utils "^0.9.6"
|
||||
prosemirror-view "^1.15.0"
|
||||
tiptap "^1.29.0"
|
||||
tiptap-commands "^1.14.0"
|
||||
tiptap "^1.29.1"
|
||||
tiptap-commands "^1.14.1"
|
||||
|
||||
tiptap-utils@^1.10.0:
|
||||
version "1.10.0"
|
||||
resolved "https://registry.yarnpkg.com/tiptap-utils/-/tiptap-utils-1.10.0.tgz#33858777369cd9e6a90b5468217b1b30cf3e7ac9"
|
||||
integrity sha512-5g3lKow8BP+4QerQu08c5nQcXhROD9gBvL108e76sMswJPNvyrCAiAje/F9C9Y9UWOqgTRcTLuXLOJqK9zZHoQ==
|
||||
tiptap-utils@^1.10.1:
|
||||
version "1.10.1"
|
||||
resolved "https://registry.yarnpkg.com/tiptap-utils/-/tiptap-utils-1.10.1.tgz#bb958fda0a00928e610bee0e004809bdc8827ddd"
|
||||
integrity sha512-ET3khlkapIPDPuuNou5PhXsI9PE1O8khlqltoE1mcD2eMBQ+q/P/knJNasmBywkZYXJEqJlZSeVufRL0oEH2ZQ==
|
||||
dependencies:
|
||||
prosemirror-model "^1.10.0"
|
||||
prosemirror-state "^1.3.3"
|
||||
prosemirror-tables "^1.1.0"
|
||||
prosemirror-utils "^0.9.6"
|
||||
|
||||
tiptap@^1.27.1, tiptap@^1.29.0:
|
||||
version "1.29.0"
|
||||
resolved "https://registry.yarnpkg.com/tiptap/-/tiptap-1.29.0.tgz#646cc013f5be1095e8ae1b63da40e4017e66955e"
|
||||
integrity sha512-W6UwiQbD2ybtU3Ac8XggPspx0wg0KXWrH93+BFuod6eTnVpZmXVeeymqHef16/aXGMmf+/aJiiY7a1Tvi+e6cg==
|
||||
tiptap@^1.29.1:
|
||||
version "1.29.1"
|
||||
resolved "https://registry.yarnpkg.com/tiptap/-/tiptap-1.29.1.tgz#9a8d8b360ce53491556f535b47a9a631e3a1808f"
|
||||
integrity sha512-clb92b4/Ej83/bGLCnV8V3vifFN99B1HOvlP9D0U3Ym0jKwnryvk285oWl7255D9bvjukSVwmx4vWnBIZmpGUA==
|
||||
dependencies:
|
||||
prosemirror-commands "1.1.4"
|
||||
prosemirror-dropcursor "1.3.2"
|
||||
@@ -11574,8 +11703,8 @@ tiptap@^1.27.1, tiptap@^1.29.0:
|
||||
prosemirror-model "1.10.0"
|
||||
prosemirror-state "1.3.3"
|
||||
prosemirror-view "1.15.0"
|
||||
tiptap-commands "^1.14.0"
|
||||
tiptap-utils "^1.10.0"
|
||||
tiptap-commands "^1.14.1"
|
||||
tiptap-utils "^1.10.1"
|
||||
|
||||
titleize@^2.1.0:
|
||||
version "2.1.0"
|
||||
@@ -12172,12 +12301,21 @@ void-elements@^2.0.1:
|
||||
resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec"
|
||||
integrity sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=
|
||||
|
||||
vue-awesome@^4.0.0:
|
||||
version "4.0.2"
|
||||
resolved "https://registry.yarnpkg.com/vue-awesome/-/vue-awesome-4.0.2.tgz#20b65f24486698e82599cf804d12d98300434000"
|
||||
integrity sha512-TE9hVwyVrGnBetO/MJwZ/7qLO6Vgr/WrDtIA7vwNryoLdA2jfRcKRw29KacpU5xj3wzZhHfYJ2xJLxfirhmH5Q==
|
||||
vue-awesome@^4.1.0:
|
||||
version "4.1.0"
|
||||
resolved "https://registry.yarnpkg.com/vue-awesome/-/vue-awesome-4.1.0.tgz#1caf50eb1ed0193f3c5ba19cbde9bea356cbc78c"
|
||||
integrity sha512-4n+hg8KIMrwjXV6sRHcRZd18Somih5j4Yk2ZOv95pnvDpzbBkIYW4ktfivhqgNt50m0zDjmeEWiy1iVLtcccfw==
|
||||
dependencies:
|
||||
nanoid "^2.1.6"
|
||||
core-js "^3.4.4"
|
||||
|
||||
vue-cli-plugin-vuetify@~2.0.7:
|
||||
version "2.0.7"
|
||||
resolved "https://registry.yarnpkg.com/vue-cli-plugin-vuetify/-/vue-cli-plugin-vuetify-2.0.7.tgz#fcb4f1655e7c9199ee40dcbf6465e2355fd074d5"
|
||||
integrity sha512-4riK5bzyvkZ4CxpQk/Vl6z8n8tmJUhuxh+k8xc/MZRdCt9RxAm3G4SxcEweroqKGXg+CRRfhqysaEQVtd4D40Q==
|
||||
dependencies:
|
||||
null-loader "^3.0.0"
|
||||
semver "^7.1.2"
|
||||
shelljs "^0.8.3"
|
||||
|
||||
vue-client-only@^2.0.0:
|
||||
version "2.0.0"
|
||||
@@ -12281,6 +12419,19 @@ vue@^2.6.11:
|
||||
resolved "https://registry.yarnpkg.com/vue/-/vue-2.6.11.tgz#76594d877d4b12234406e84e35275c6d514125c5"
|
||||
integrity sha512-VfPwgcGABbGAue9+sfrD4PuwFar7gPb1yl1UK1MwXoQPAw0BKSqWfoYCT/ThFrdEVWoI51dBuyCoiNU9bZDZxQ==
|
||||
|
||||
vuetify-loader@^1.3.0, vuetify-loader@^1.4.3:
|
||||
version "1.6.0"
|
||||
resolved "https://registry.yarnpkg.com/vuetify-loader/-/vuetify-loader-1.6.0.tgz#05df0805b3ab2ff0de198109d34f9da3f69da667"
|
||||
integrity sha512-1bx3YeZ712dT1+QMX+XSFlP0O5k5O5Ui9ysBBmUZ9bWkAEHWZJQI9soI+qG5qmeFxUC0L9QYMCIKP0hOL/pf3Q==
|
||||
dependencies:
|
||||
file-loader "^4.0.0"
|
||||
loader-utils "^1.2.0"
|
||||
|
||||
vuetify@^2:
|
||||
version "2.3.4"
|
||||
resolved "https://registry.yarnpkg.com/vuetify/-/vuetify-2.3.4.tgz#fdb03b3281d40a8420b0295ea865843abdc69792"
|
||||
integrity sha512-vMtCNqv5BhrjfTfIhH2Lptoxx7z/Nu1NfBiZ2oCvI2QbTagMlhF5GMXgbnnyTGIjooFf/ozKznuMxk6tuI5cxw==
|
||||
|
||||
vuex@^3.5.1:
|
||||
version "3.5.1"
|
||||
resolved "https://registry.yarnpkg.com/vuex/-/vuex-3.5.1.tgz#f1b8dcea649bc25254cf4f4358081dbf5da18b3d"
|
||||
@@ -12343,7 +12494,7 @@ webidl-conversions@^5.0.0:
|
||||
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff"
|
||||
integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==
|
||||
|
||||
webidl-conversions@^6.0.0:
|
||||
webidl-conversions@^6.1.0:
|
||||
version "6.1.0"
|
||||
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514"
|
||||
integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==
|
||||
@@ -12706,13 +12857,6 @@ xmlchars@^2.2.0:
|
||||
resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb"
|
||||
integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==
|
||||
|
||||
xregexp@^4.2.4:
|
||||
version "4.3.0"
|
||||
resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-4.3.0.tgz#7e92e73d9174a99a59743f67a4ce879a04b5ae50"
|
||||
integrity sha512-7jXDIFXh5yJ/orPn4SXjuVrWWoi4Cr8jfV1eHv9CixKSbU+jY4mxfrBwAuDvupPNKpMUY+FeIqsVw/JLT9+B8g==
|
||||
dependencies:
|
||||
"@babel/runtime-corejs3" "^7.8.3"
|
||||
|
||||
xtend@^4.0.0, xtend@^4.0.2, xtend@~4.0.1:
|
||||
version "4.0.2"
|
||||
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
|
||||
@@ -12777,13 +12921,13 @@ yargs@^13.1.0, yargs@^13.3.2:
|
||||
y18n "^4.0.0"
|
||||
yargs-parser "^13.1.2"
|
||||
|
||||
yargs@^15.4.0:
|
||||
version "15.4.0"
|
||||
resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.0.tgz#53949fb768309bac1843de9b17b80051e9805ec2"
|
||||
integrity sha512-D3fRFnZwLWp8jVAAhPZBsmeIHY8tTsb8ItV9KaAaopmC6wde2u6Yw29JBIZHXw14kgkRnYmDgmQU4FVMDlIsWw==
|
||||
yargs@^15.4.1:
|
||||
version "15.4.1"
|
||||
resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8"
|
||||
integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==
|
||||
dependencies:
|
||||
cliui "^6.0.0"
|
||||
decamelize "^3.2.0"
|
||||
decamelize "^1.2.0"
|
||||
find-up "^4.1.0"
|
||||
get-caller-file "^2.0.1"
|
||||
require-directory "^2.1.1"
|
||||
|
||||
Reference in New Issue
Block a user