Compare commits

..

No commits in common. "ca6478ca882e28508082971caf6d69436f127db7" and "ab83a42dfbb2ec7c903f6e843e4383c67db3ba2b" have entirely different histories.

10 changed files with 54 additions and 155 deletions

View File

@ -384,6 +384,10 @@ function sfw() {
return this.$store.state.ui.sfw;
}
async function route() {
await this.fetchActor();
}
async function mounted() {
await this.fetchActor();
@ -418,8 +422,7 @@ export default {
sfw,
},
watch: {
$route: fetchActor,
'$store.state.ui.tagFilter': fetchActor,
$route: route,
},
mounted,
methods: {

View File

@ -3,7 +3,7 @@
<Warning
v-if="showWarning"
class="warning-container"
@enter="(includeQueer) => setConsent(true, includeQueer)"
@enter="setConsent(true)"
@leave="setConsent(false)"
/>
@ -46,18 +46,11 @@ function toggleFilters(state) {
this.showSidebar = false;
}
async function setConsent(consent, includeQueer) {
async function setConsent(consent) {
if (consent) {
this.showWarning = false;
localStorage.setItem('consent', window.env.sessionId);
}
if (includeQueer) {
this.$store.dispatch('setTagFilter', this.$store.state.ui.tagFilter.filter(tag => !['gay', 'bisexual', 'transsexual'].includes(tag)));
return;
}
this.$store.dispatch('setTagFilter', this.$store.state.ui.tagFilter.concat(['gay', 'bisexual', 'transsexual']));
}
function blur(event) {

View File

@ -3,26 +3,22 @@
title="filters"
@close="$emit('close')"
>
<div class="filters">
<h3 class="form-heading">Show me</h3>
<h3 class="form-heading">Show me</h3>
<ul class="tags nolist">
<li
v-for="tag in tags"
:key="tag"
class="tags-item"
>
<Checkbox
:checked="!tagFilter.includes(tag)"
:label="tag"
class="tag"
@change="(state) => filterTag(tag, state)"
/>
</li>
</ul>
<p class="disclaimer">You may incidentally see filtered content</p>
</div>
<ul class="tags nolist">
<li
v-for="tag in tags"
:key="tag"
class="tags-item"
>
<Checkbox
:checked="!tagFilter.includes(tag)"
:label="tag"
class="tag"
@change="(state) => filterTag(tag, state)"
/>
</li>
</ul>
</Dialog>
</template>
@ -61,24 +57,13 @@ export default {
</script>
<style lang="scss" scoped>
.filters {
.tags-item {
width: 20rem;
max-width: 100%;
}
.tags-item {
display: block;
}
.tag {
padding: .5rem 0;
}
.disclaimer {
margin: 1rem 0 0 0;
line-height: 1.5;
text-align: center;
font-size: .9rem;
color: var(--shadow);
}
</style>

View File

@ -8,7 +8,7 @@
<strong class="title">This website contains sexually explicit content</strong>
<span class="copy agree">By entering, you agree to the following</span>
<span class="copy">By entering, you agree to the following</span>
<ul class="rules">
<li class="rule">You are at least 18 years old, and legally permitted to view adult material in your jurisdiction.</li>
@ -22,26 +22,13 @@
href="https://www.google.com"
class="button leave"
@click="$emit('leave')"
><Icon icon="arrow-left16" />Leave</a>
>Leave</a>
<button
class="button enter queer"
@click="$emit('enter', true)"
>
<span class="button-title">Enter</span>
<span class="button-sub">I like gay, bi and trans content</span>
</button>
<button
class="button enter straight"
@click="$emit('enter', false)"
>
<span class="button-title">Enter</span>
<span class="button-sub">I prefer straight content</span>
</button>
class="button enter"
@click="$emit('enter')"
>Enter</button>
</div>
<span class="preferences">You can adjust your content preferences after entering</span>
</div>
</div>
</template>
@ -55,7 +42,6 @@ export default {
logo,
};
},
emits: ['enter'],
};
</script>
@ -82,13 +68,6 @@ export default {
margin: 1rem;
}
.logo {
width: 8rem;
display: flex;
fill: var(--primary);
margin: 1rem auto 0 auto;
}
.title,
.copy,
.rules {
@ -119,106 +98,52 @@ export default {
line-height: 1.5;
}
.preferences {
color: var(--lighten);
display: block;
padding: .5rem 0 1rem 0;
text-align: center;
font-size: .9rem;
}
.actions {
display: flex;
text-align: center;
padding: 1rem 0;
padding: 1rem 1rem 2rem 1rem;
}
.button {
display: inline-block;
padding: 1rem;
border: none;
font-size: 1.5rem;
padding: 0;
background: none;
border: solid 2px transparent;
cursor: pointer;
text-decoration: none;
flex-basis: 0;
color: var(--lighten-strong);
&.leave {
display: inline-flex;
align-items: center;
justify-content: center;
color: var(--lighten-strong);
padding: 1rem;
.icon {
width: 1.5rem;
height: 1.5rem;
margin: 0 1rem 0 0;
fill: var(--lighten);
}
background: var(--darken-strong);
padding: 1rem 3rem;
}
&.enter {
background: var(--primary);
font-weight: bold;
flex-grow: 1;
&:hover {
.button-title,
.button-sub {
color: var(--text-light);
}
color: var(--text-light);
}
}
&.straight {
border-color: var(--primary);
}
&.queer {
border-image: linear-gradient(90deg, #f00, #f80, #ff0, #0f0, #00f, #a0f, #fff, #f8f, #0ff) 1;
}
&:not(:last-child) {
margin: 0 2rem 0 0;
}
&:hover {
color: var(--text-light);
.icon {
fill: var(--text-light);
}
}
}
.button-title,
.button-sub {
width: 100%;
display: block;
box-sizing: border-box;
}
.button-title {
font-size: 1.5rem;
padding: .5rem .5rem .15rem .5rem;
color: var(--lighten-strong);
font-weight: bold;
}
.button-sub {
font-size: .75rem;
padding: .15rem .5rem .75rem .5rem;
color: var(--lighten);
.logo {
width: 8rem;
display: flex;
fill: var(--primary);
margin: 1rem auto 0 auto;
}
@media(max-width: $breakpoint) {
.title {
font-size: 1.5rem;
}
.button:not(:last-child) {
margin: 0 1rem 0 0;
}
}
@media(max-width: $breakpoint-micro) {

View File

@ -170,7 +170,6 @@ export default {
},
watch: {
$route: route,
'$store.state.ui.tagFilter': fetchEntity,
},
mounted,
methods: {

View File

@ -44,6 +44,10 @@ async function fetchReleases() {
this.$refs.content.scrollTop = 0;
}
async function route() {
await this.fetchReleases();
}
async function mounted() {
this.pageTitle = '';
@ -67,8 +71,7 @@ export default {
};
},
watch: {
$route: fetchReleases,
'$store.state.ui.tagFilter': fetchReleases,
$route: route,
},
mounted,
methods: {

View File

@ -75,6 +75,10 @@ async function fetchReleases() {
this.description = this.tag.description && converter.makeHtml(escapeHtml(this.tag.description));
}
async function route() {
await this.fetchReleases();
}
async function mounted() {
await this.fetchReleases();
this.pageTitle = this.tag.name;
@ -101,8 +105,7 @@ export default {
};
},
watch: {
$route: fetchReleases,
'$store.state.ui.tagFilter': fetchReleases,
$route: route,
},
mounted,
methods: {

View File

@ -27,7 +27,6 @@ function initActorActions(store, router) {
$orderBy:[ReleasesOrderBy!]
$selectableTags: [String],
$includedTags: [String!],
$exclude: [String!],
$mode: String!,
$includedEntities: [ReleaseFilter!],
$includedActors: [ReleaseFilter!]
@ -204,17 +203,6 @@ function initActorActions(store, router) {
{
or: $includedActors
}
{
releasesTagsConnection: {
none: {
tag: {
slug: {
in: $exclude
}
}
}
}
}
]
}
selectedTags: $includedTags
@ -240,7 +228,7 @@ function initActorActions(store, router) {
beforeTime: store.getters.before,
selectableTags: config.selectableTags,
orderBy,
exclude: store.state.ui.tagFilter,
excludeTags: store.state.ui.filter,
includedTags,
includedEntities: getIncludedEntities(router),
includedActors: getIncludedActors(router),

2
package-lock.json generated
View File

@ -1,6 +1,6 @@
{
"name": "traxxx",
"version": "1.152.1",
"version": "1.152.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View File

@ -1,6 +1,6 @@
{
"name": "traxxx",
"version": "1.152.1",
"version": "1.152.0",
"description": "All the latest porn releases in one place",
"main": "src/app.js",
"scripts": {