mirror of
https://github.com/Ocelot-Social-Community/Ocelot-Social.git
synced 2025-12-13 07:46:06 +00:00
Merge branch 'master' into 6979-make-relative-date-configurable
This commit is contained in:
commit
fb56539dff
@ -39,6 +39,8 @@ module.exports = defineConfig({
|
||||
supportFile: "cypress/support/e2e.js",
|
||||
retries: 0,
|
||||
video: false,
|
||||
viewportHeight: 720,
|
||||
viewportWidth: 1290,
|
||||
setupNodeEvents,
|
||||
},
|
||||
env: parsed
|
||||
|
||||
@ -1,6 +1,8 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import 'cypress-network-idle';
|
||||
|
||||
Then("I click the checkbox show donations progress bar and save", () => {
|
||||
cy.get("#showDonations").click()
|
||||
cy.get(".donations-info-button").click()
|
||||
cy.waitForNetworkIdle(2000)
|
||||
})
|
||||
|
||||
16
package-lock.json
generated
16
package-lock.json
generated
@ -19,7 +19,7 @@
|
||||
"auto-changelog": "^2.3.0",
|
||||
"bcryptjs": "^2.4.3",
|
||||
"cross-env": "^7.0.3",
|
||||
"cypress": "^13.6.3",
|
||||
"cypress": "^13.6.4",
|
||||
"cypress-network-idle": "^1.14.2",
|
||||
"date-fns": "^2.25.0",
|
||||
"dotenv": "^16.3.1",
|
||||
@ -28,7 +28,7 @@
|
||||
"import": "^0.0.6",
|
||||
"jsonwebtoken": "^9.0.2",
|
||||
"mock-socket": "^9.0.3",
|
||||
"multiple-cucumber-html-reporter": "^3.6.0",
|
||||
"multiple-cucumber-html-reporter": "^3.6.1",
|
||||
"neo4j-driver": "^4.3.4",
|
||||
"neode": "^0.4.8",
|
||||
"rosie": "^2.1.0",
|
||||
@ -6261,9 +6261,9 @@
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/cypress": {
|
||||
"version": "13.6.3",
|
||||
"resolved": "https://registry.npmjs.org/cypress/-/cypress-13.6.3.tgz",
|
||||
"integrity": "sha512-d/pZvgwjAyZsoyJ3FOsJT5lDsqnxQ/clMqnNc++rkHjbkkiF2h9s0JsZSyyH4QXhVFW3zPFg82jD25roFLOdZA==",
|
||||
"version": "13.6.4",
|
||||
"resolved": "https://registry.npmjs.org/cypress/-/cypress-13.6.4.tgz",
|
||||
"integrity": "sha512-pYJjCfDYB+hoOoZuhysbbYhEmNW7DEDsqn+ToCLwuVowxUXppIWRr7qk4TVRIU471ksfzyZcH+mkoF0CQUKnpw==",
|
||||
"dev": true,
|
||||
"hasInstallScript": true,
|
||||
"dependencies": {
|
||||
@ -9935,9 +9935,9 @@
|
||||
"devOptional": true
|
||||
},
|
||||
"node_modules/multiple-cucumber-html-reporter": {
|
||||
"version": "3.6.0",
|
||||
"resolved": "https://registry.npmjs.org/multiple-cucumber-html-reporter/-/multiple-cucumber-html-reporter-3.6.0.tgz",
|
||||
"integrity": "sha512-rXi4Cws4h2YylogD5rtbrwco+ytXK+yZuSxNCl6dfHG8m95JsD86Eu+4NEXn6gwoDC0X3OpZ2RTg54CooGqXXA==",
|
||||
"version": "3.6.1",
|
||||
"resolved": "https://registry.npmjs.org/multiple-cucumber-html-reporter/-/multiple-cucumber-html-reporter-3.6.1.tgz",
|
||||
"integrity": "sha512-Y4nu7PSl91yVKTQrCZt2WW98SoHVPldpv+ZOcdG9nMZhWa+IvpclECtmlUY/CatbCRRar/IMEcUYrJfjTgn8yg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"find": "^0.3.0",
|
||||
|
||||
@ -43,7 +43,7 @@
|
||||
"auto-changelog": "^2.3.0",
|
||||
"bcryptjs": "^2.4.3",
|
||||
"cross-env": "^7.0.3",
|
||||
"cypress": "^13.6.3",
|
||||
"cypress": "^13.6.4",
|
||||
"cypress-network-idle": "^1.14.2",
|
||||
"date-fns": "^2.25.0",
|
||||
"dotenv": "^16.3.1",
|
||||
@ -52,7 +52,7 @@
|
||||
"import": "^0.0.6",
|
||||
"jsonwebtoken": "^9.0.2",
|
||||
"mock-socket": "^9.0.3",
|
||||
"multiple-cucumber-html-reporter": "^3.6.0",
|
||||
"multiple-cucumber-html-reporter": "^3.6.1",
|
||||
"neo4j-driver": "^4.3.4",
|
||||
"neode": "^0.4.8",
|
||||
"rosie": "^2.1.0",
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<ds-text class="date-time-range" align="left" color="soft" :size="size">
|
||||
<div>
|
||||
<div class="date-time-row">
|
||||
<div>
|
||||
<base-icon name="calendar" data-test="calendar" />
|
||||
{{ getStartDateString }}
|
||||
@ -14,8 +14,8 @@
|
||||
</div>
|
||||
</div>
|
||||
<template v-if="!isSameDayLocal">
|
||||
—
|
||||
<div>
|
||||
<base-icon name="arrow-down" />
|
||||
<div class="ds-flex date-time-row">
|
||||
<div>
|
||||
<base-icon name="calendar" data-test="calendar" />
|
||||
{{ getEndDateString }}
|
||||
@ -69,11 +69,7 @@ export default {
|
||||
return !this.endDateAsDate || isSameYear(this.endDateAsDate, this.startDateAsDate)
|
||||
},
|
||||
getStartDateString() {
|
||||
let startDateFormat = this.$t('components.dateTimeRange.yearMonthDay')
|
||||
if (!this.isSameDayLocal && this.isSameYearLocal) {
|
||||
startDateFormat = this.$t('components.dateTimeRange.monthDay')
|
||||
}
|
||||
return format(this.startDateAsDate, startDateFormat)
|
||||
return format(this.startDateAsDate, this.$t('components.dateTimeRange.yearMonthDay'))
|
||||
},
|
||||
getStartTimeString() {
|
||||
return format(new Date(this.startDate), this.$t('components.dateTimeRange.hourMinute'))
|
||||
@ -95,7 +91,12 @@ export default {
|
||||
<style lang="scss">
|
||||
.date-time-range {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
gap: 2px;
|
||||
|
||||
.date-time-row {
|
||||
display: flex;
|
||||
gap: 10px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
</template>
|
||||
<client-only>
|
||||
<div class="post-user-row">
|
||||
<user-teaser :user="post.author" :group="post.group" :date-time="post.createdAt" />
|
||||
<user-teaser :user="post.author" :group="post.group" />
|
||||
<hc-ribbon
|
||||
:class="[isPinned ? '--pinned' : '', post.image ? 'post-ribbon-w-img' : 'post-ribbon']"
|
||||
:text="ribbonText"
|
||||
@ -25,25 +25,27 @@
|
||||
</div>
|
||||
</client-only>
|
||||
<h2 class="title hyphenate-text">{{ post.title }}</h2>
|
||||
<ds-space
|
||||
v-if="post && post.postType[0] === 'Event'"
|
||||
margin-bottom="small"
|
||||
style="padding: 5px"
|
||||
>
|
||||
<location-teaser
|
||||
class="event-info"
|
||||
size="small"
|
||||
:venue="post.eventVenue"
|
||||
:locationName="post.eventLocationName"
|
||||
:isOnline="post.eventIsOnline"
|
||||
/>
|
||||
<date-time-range
|
||||
class="event-info"
|
||||
size="small"
|
||||
:startDate="post.eventStart"
|
||||
:endDate="post.eventEnd"
|
||||
/>
|
||||
</ds-space>
|
||||
<client-only>
|
||||
<ds-space
|
||||
v-if="post && post.postType[0] === 'Event'"
|
||||
margin-bottom="small"
|
||||
style="padding: 5px"
|
||||
>
|
||||
<location-teaser
|
||||
class="event-info"
|
||||
size="base"
|
||||
:venue="post.eventVenue"
|
||||
:locationName="post.eventLocationName"
|
||||
:isOnline="post.eventIsOnline"
|
||||
/>
|
||||
<date-time-range
|
||||
class="event-info"
|
||||
size="base"
|
||||
:startDate="post.eventStart"
|
||||
:endDate="post.eventEnd"
|
||||
/>
|
||||
</ds-space>
|
||||
</client-only>
|
||||
<!-- TODO: replace editor content with tiptap render view -->
|
||||
<!-- eslint-disable-next-line vue/no-v-html -->
|
||||
<div class="content hyphenate-text" v-html="excerpt" />
|
||||
@ -98,6 +100,14 @@
|
||||
/>
|
||||
</client-only>
|
||||
</footer>
|
||||
<client-only>
|
||||
<div class="date-row" v-if="post.createdAt">
|
||||
<span class="text">
|
||||
<relative-date-time :date-time="post.createdAt" />
|
||||
<slot name="dateTime"></slot>
|
||||
</span>
|
||||
</div>
|
||||
</client-only>
|
||||
</base-card>
|
||||
</nuxt-link>
|
||||
</template>
|
||||
@ -109,6 +119,7 @@ import CounterIcon from '~/components/_new/generic/CounterIcon/CounterIcon'
|
||||
import DateTimeRange from '~/components/DateTimeRange/DateTimeRange'
|
||||
import HcRibbon from '~/components/Ribbon'
|
||||
import LocationTeaser from '~/components/LocationTeaser/LocationTeaser'
|
||||
import RelativeDateTime from '~/components/RelativeDateTime'
|
||||
import UserTeaser from '~/components/UserTeaser/UserTeaser'
|
||||
import { mapGetters } from 'vuex'
|
||||
import PostMutations from '~/graphql/PostMutations'
|
||||
@ -123,6 +134,7 @@ export default {
|
||||
DateTimeRange,
|
||||
HcRibbon,
|
||||
LocationTeaser,
|
||||
RelativeDateTime,
|
||||
UserTeaser,
|
||||
},
|
||||
props: {
|
||||
@ -251,6 +263,7 @@ export default {
|
||||
flex-direction: column;
|
||||
overflow: visible;
|
||||
height: 100%;
|
||||
padding-bottom: $space-x-small;
|
||||
|
||||
> .hero-image {
|
||||
border-top-left-radius: 5px;
|
||||
@ -266,12 +279,6 @@ export default {
|
||||
margin-bottom: $space-small;
|
||||
}
|
||||
|
||||
& .event-info {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 2px;
|
||||
}
|
||||
|
||||
> .footer {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
@ -301,5 +308,21 @@ export default {
|
||||
.user-teaser {
|
||||
margin-bottom: $space-small;
|
||||
}
|
||||
> .date-row {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
margin-top: $space-small;
|
||||
> .text {
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
color: $text-color-soft;
|
||||
font-size: $font-size-small;
|
||||
|
||||
> .ds-text {
|
||||
display: inline;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@ -14,12 +14,12 @@
|
||||
<nuxt-link v-if="linkToProfile" :to="userLink">
|
||||
<span class="text">
|
||||
<span class="slug">{{ userSlug }}</span>
|
||||
<span v-if="!userOnly" class="name">{{ userName }}</span>
|
||||
<span class="name">{{ userName }}</span>
|
||||
</span>
|
||||
</nuxt-link>
|
||||
<span v-else class="text">
|
||||
<span class="slug">{{ userSlug }}</span>
|
||||
<span v-if="!userOnly" class="name">{{ userName }}</span>
|
||||
<span class="name">{{ userName }}</span>
|
||||
</span>
|
||||
<span v-if="wide"> </span>
|
||||
<span v-if="group">
|
||||
@ -34,12 +34,11 @@
|
||||
</nuxt-link>
|
||||
</span>
|
||||
</div>
|
||||
<span v-if="!userOnly" class="text">
|
||||
<span v-if="!userOnly && dateTime" class="text">
|
||||
<base-icon name="clock" />
|
||||
<date-time :date-time="dateTime" />
|
||||
<slot name="dateTime"></slot>
|
||||
</span>
|
||||
<span v-else class="text">{{ userName }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -405,12 +405,6 @@ export default {
|
||||
filter: blur($blur-radius);
|
||||
}
|
||||
|
||||
& .event-info {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 2px;
|
||||
}
|
||||
|
||||
.blur-toggle {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
|
||||
10
yarn.lock
10
yarn.lock
@ -3665,7 +3665,7 @@ cypress-network-idle@^1.14.2:
|
||||
resolved "https://registry.yarnpkg.com/cypress-network-idle/-/cypress-network-idle-1.14.2.tgz#0837100861feeb5a18f4c2d9815be079f8590f4d"
|
||||
integrity sha512-xAdR8dH58KFPv8eCDWjviScITrJOcUpuMXYfYTc175nk2/NvnJ+I6ylSn1CM7yZmoV/gLbFa36QLiH5NfNEaLQ==
|
||||
|
||||
cypress@^13.6.3:
|
||||
cypress@^13.6.4:
|
||||
version "13.6.4"
|
||||
resolved "https://registry.yarnpkg.com/cypress/-/cypress-13.6.4.tgz#42c88d3ee0342f1681abfacabf9c1f082676bc53"
|
||||
integrity sha512-pYJjCfDYB+hoOoZuhysbbYhEmNW7DEDsqn+ToCLwuVowxUXppIWRr7qk4TVRIU471ksfzyZcH+mkoF0CQUKnpw==
|
||||
@ -5710,10 +5710,10 @@ ms@2.1.3, ms@^2.1.1:
|
||||
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
|
||||
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
|
||||
|
||||
multiple-cucumber-html-reporter@^3.6.0:
|
||||
version "3.6.0"
|
||||
resolved "https://registry.yarnpkg.com/multiple-cucumber-html-reporter/-/multiple-cucumber-html-reporter-3.6.0.tgz#a41d3b69caa1a269b85d5783363a03579591875d"
|
||||
integrity sha512-rXi4Cws4h2YylogD5rtbrwco+ytXK+yZuSxNCl6dfHG8m95JsD86Eu+4NEXn6gwoDC0X3OpZ2RTg54CooGqXXA==
|
||||
multiple-cucumber-html-reporter@^3.6.1:
|
||||
version "3.6.1"
|
||||
resolved "https://registry.yarnpkg.com/multiple-cucumber-html-reporter/-/multiple-cucumber-html-reporter-3.6.1.tgz#400ad89a8a5e873b295dd1fee543cb98274bab4e"
|
||||
integrity sha512-Y4nu7PSl91yVKTQrCZt2WW98SoHVPldpv+ZOcdG9nMZhWa+IvpclECtmlUY/CatbCRRar/IMEcUYrJfjTgn8yg==
|
||||
dependencies:
|
||||
find "^0.3.0"
|
||||
fs-extra "^11.2.0"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user