feat: add new RefFigure style
This commit is contained in:
parent
120a1a03e3
commit
c143956e9f
1 changed files with 46 additions and 9 deletions
|
@ -4,6 +4,7 @@ import { nsfwKey, showModalKey } from '@/keys'
|
||||||
import RefToggle from '@/components/RefToggle.vue'
|
import RefToggle from '@/components/RefToggle.vue'
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
|
cornerText?: boolean
|
||||||
polaroidBorder?: boolean
|
polaroidBorder?: boolean
|
||||||
dropshadow?: boolean
|
dropshadow?: boolean
|
||||||
nsfw?: boolean
|
nsfw?: boolean
|
||||||
|
@ -18,7 +19,13 @@ defineProps<Props>()
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<figure class="figure">
|
<figure class="figure">
|
||||||
<div class="figure__border" :class="{ 'figure__border--polaroid': polaroidBorder }">
|
<div
|
||||||
|
class="figure__border"
|
||||||
|
:class="{
|
||||||
|
'figure__border--polaroid': polaroidBorder,
|
||||||
|
'figure__border--cornertext': cornerText
|
||||||
|
}"
|
||||||
|
>
|
||||||
<template v-if="!nsfw || isNsfw">
|
<template v-if="!nsfw || isNsfw">
|
||||||
<div class="figure__image" :class="{ 'figure__image--dropshadow': dropshadow }">
|
<div class="figure__image" :class="{ 'figure__image--dropshadow': dropshadow }">
|
||||||
<slot name="img"></slot>
|
<slot name="img"></slot>
|
||||||
|
@ -48,18 +55,14 @@ defineProps<Props>()
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<figcaption class="figure__meta">
|
<template v-if="!nsfw || isNsfw">
|
||||||
<template v-if="!nsfw || isNsfw">
|
<figcaption class="figure__meta">
|
||||||
<div class="caption">
|
<div class="caption">
|
||||||
<slot name="caption"></slot>
|
<slot name="caption"></slot>
|
||||||
</div>
|
</div>
|
||||||
<div class="copyright">© <slot name="copyright"></slot></div>
|
<div class="copyright">© <slot name="copyright"></slot></div>
|
||||||
</template>
|
</figcaption>
|
||||||
|
</template>
|
||||||
<template v-else>
|
|
||||||
<p>😳 2 hot 4 u 🍆</p>
|
|
||||||
</template>
|
|
||||||
</figcaption>
|
|
||||||
</div>
|
</div>
|
||||||
</figure>
|
</figure>
|
||||||
</template>
|
</template>
|
||||||
|
@ -93,6 +96,40 @@ defineProps<Props>()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&__border--cornertext {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__border--cornertext img,
|
||||||
|
&__border--cornertext &__cencor {
|
||||||
|
margin: 1rem 0;
|
||||||
|
border-radius: 1rem;
|
||||||
|
filter: drop-shadow(0 0 0.625rem black);
|
||||||
|
}
|
||||||
|
|
||||||
|
&__border--cornertext &__meta {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
right: 0;
|
||||||
|
|
||||||
|
background-color: rgba(0, 0, 0, 0.7);
|
||||||
|
|
||||||
|
font-size: 0.75rem;
|
||||||
|
|
||||||
|
margin: 0 0 1.35rem 0;
|
||||||
|
border-radius: 1em 0 1rem 0;
|
||||||
|
padding: 0.25rem 0.75rem;
|
||||||
|
|
||||||
|
.caption,
|
||||||
|
.copyright {
|
||||||
|
display: inline;
|
||||||
|
}
|
||||||
|
|
||||||
|
.caption {
|
||||||
|
margin: 0 0.125rem 0 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
&__border--polaroid &__meta {
|
&__border--polaroid &__meta {
|
||||||
font-family: 'Permanent Marker', fantasy;
|
font-family: 'Permanent Marker', fantasy;
|
||||||
color: var(--color-figure-polaroid-text);
|
color: var(--color-figure-polaroid-text);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue