Added content warning dialog.
This commit is contained in:
parent
5e7741afe8
commit
5b16941ec5
|
@ -3,6 +3,12 @@
|
||||||
class="container"
|
class="container"
|
||||||
:class="theme"
|
:class="theme"
|
||||||
>
|
>
|
||||||
|
<Warning
|
||||||
|
v-if="showWarning"
|
||||||
|
class="warning-container"
|
||||||
|
@enter="closeWarning"
|
||||||
|
/>
|
||||||
|
|
||||||
<transition name="slide">
|
<transition name="slide">
|
||||||
<Sidebar
|
<Sidebar
|
||||||
v-if="showSidebar"
|
v-if="showSidebar"
|
||||||
|
@ -23,6 +29,7 @@ import { mapState } from 'vuex';
|
||||||
|
|
||||||
import EventBus from '../../js/event-bus';
|
import EventBus from '../../js/event-bus';
|
||||||
|
|
||||||
|
import Warning from './warning.vue';
|
||||||
import Header from '../header/header.vue';
|
import Header from '../header/header.vue';
|
||||||
import Sidebar from '../sidebar/sidebar.vue';
|
import Sidebar from '../sidebar/sidebar.vue';
|
||||||
|
|
||||||
|
@ -34,6 +41,11 @@ function toggleSidebar(state) {
|
||||||
this.showSidebar = typeof state === 'boolean' ? state : !this.showSidebar;
|
this.showSidebar = typeof state === 'boolean' ? state : !this.showSidebar;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function closeWarning() {
|
||||||
|
this.showWarning = false;
|
||||||
|
sessionStorage.setItem('warning', 'warned');
|
||||||
|
}
|
||||||
|
|
||||||
function mounted() {
|
function mounted() {
|
||||||
document.addEventListener('click', () => {
|
document.addEventListener('click', () => {
|
||||||
EventBus.$emit('blur');
|
EventBus.$emit('blur');
|
||||||
|
@ -44,10 +56,12 @@ export default {
|
||||||
components: {
|
components: {
|
||||||
Header,
|
Header,
|
||||||
Sidebar,
|
Sidebar,
|
||||||
|
Warning,
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
showSidebar: false,
|
showSidebar: false,
|
||||||
|
showWarning: sessionStorage.getItem('warning') !== 'warned',
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
@ -58,6 +72,7 @@ export default {
|
||||||
mounted,
|
mounted,
|
||||||
methods: {
|
methods: {
|
||||||
toggleSidebar,
|
toggleSidebar,
|
||||||
|
closeWarning,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -0,0 +1,132 @@
|
||||||
|
<template>
|
||||||
|
<div class="warning-container">
|
||||||
|
<div class="warning">
|
||||||
|
<strong class="title">This website contains sexually explicit content</strong>
|
||||||
|
|
||||||
|
<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 a legal adult in your jurisdiction.</li>
|
||||||
|
<li class="rule">You are prepared see, hear and read erotic and sexual material, some of which could be considered obscene or offensive by some.</li>
|
||||||
|
<li class="rule">You understand that the majority of sexual acts on this website are fictional, performed by professional actors for entertainment purposes, and not representative of real-life interactions.</li>
|
||||||
|
<li class="rule">Respect your sexual partners, communicate about each other's fantasies and limits, and take precautions to prevent sexually transmitted infections and unintended pregnancies.</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<div class="actions">
|
||||||
|
<a
|
||||||
|
href="https://www.google.com"
|
||||||
|
class="button leave"
|
||||||
|
>Leave</a>
|
||||||
|
|
||||||
|
<button
|
||||||
|
class="button enter"
|
||||||
|
@click="$emit('enter')"
|
||||||
|
>Enter</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
@import 'breakpoints';
|
||||||
|
|
||||||
|
.warning-container {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
position: absolute;
|
||||||
|
z-index: 10;
|
||||||
|
background: var(--darken-extreme);
|
||||||
|
backdrop-filter: blur(.5rem);
|
||||||
|
overflow-y: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.warning {
|
||||||
|
color: var(--text-light);
|
||||||
|
width: 50rem;
|
||||||
|
max-height: 100%;
|
||||||
|
max-width: 100%;
|
||||||
|
margin: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.title,
|
||||||
|
.copy,
|
||||||
|
.rules {
|
||||||
|
padding: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.title {
|
||||||
|
display: block;
|
||||||
|
font-size: 2rem;
|
||||||
|
margin: 0 0 1rem 0;
|
||||||
|
color: var(--text-light);
|
||||||
|
}
|
||||||
|
|
||||||
|
.copy {
|
||||||
|
display: block;
|
||||||
|
padding: 0 1rem;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rules {
|
||||||
|
margin: 0 0 0 1rem;
|
||||||
|
text-align: left;
|
||||||
|
text-shadow: 0 0 3px var(--darken-extreme);
|
||||||
|
}
|
||||||
|
|
||||||
|
.rule {
|
||||||
|
padding: .5rem 1rem;
|
||||||
|
line-height: 1.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.actions {
|
||||||
|
display: flex;
|
||||||
|
text-align: center;
|
||||||
|
padding: 1rem;
|
||||||
|
margin: 1rem 0 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.button {
|
||||||
|
display: inline-block;
|
||||||
|
padding: 1rem;
|
||||||
|
border: none;
|
||||||
|
font-size: 1.5rem;
|
||||||
|
cursor: pointer;
|
||||||
|
text-decoration: none;
|
||||||
|
color: var(--lighten-strong);
|
||||||
|
|
||||||
|
&.leave {
|
||||||
|
background: var(--darken-strong);
|
||||||
|
padding: 1rem 3rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.enter {
|
||||||
|
background: var(--primary);
|
||||||
|
font-weight: bold;
|
||||||
|
flex-grow: 1;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
color: var(--text-light);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
color: var(--text-light);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media(max-width: $breakpoint) {
|
||||||
|
.title {
|
||||||
|
font-size: 1.5rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media(max-width: $breakpoint-micro) {
|
||||||
|
.button.leave {
|
||||||
|
padding: 1rem;
|
||||||
|
flex-grow: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -7,6 +7,7 @@ $breakpoint4: 1500px;
|
||||||
:root {
|
:root {
|
||||||
/* --primary: #ff886c; */
|
/* --primary: #ff886c; */
|
||||||
--primary: #ff6c88;
|
--primary: #ff6c88;
|
||||||
|
--primary-strong: #ff4166;
|
||||||
|
|
||||||
--text-dark: #222;
|
--text-dark: #222;
|
||||||
--text-light: #fff;
|
--text-light: #fff;
|
||||||
|
|
Loading…
Reference in New Issue