Further improved actor bio responsiveness. Fixed header search bar spacing. Fixed stash page footer.

This commit is contained in:
DebaucheryLibrarian 2024-06-07 03:43:12 +02:00
parent 170eae1b09
commit 746868fb18
4 changed files with 53 additions and 11 deletions

View File

@ -270,7 +270,10 @@
</div> </div>
</div> </div>
<div class="expand-container"> <div
v-if="showExpand"
class="expand-container"
>
<button <button
type="button" type="button"
class="expand" class="expand"
@ -298,12 +301,30 @@ import { formatDate } from '#/utils/format.js';
const expanded = ref(false); const expanded = ref(false);
defineProps({ const props = defineProps({
actor: { actor: {
type: Object, type: Object,
default: null, default: null,
}, },
}); });
// if the profile is empty, the expand button overlaps the header
const showExpand = [
'age',
'bust',
'cup',
'eyes',
'hairColor',
'hasPiercings',
'hasTattoos',
'height',
'hip',
'naturalBoobs',
'origin',
'residence',
'waist',
'weight',
].some((attribute) => !!props.actor[attribute]);
</script> </script>
<style> <style>
@ -564,6 +585,7 @@ defineProps({
display: none; display: none;
justify-content: center; justify-content: center;
position: absolute; position: absolute;
z-index: 1;
bottom: -.75rem; bottom: -.75rem;
} }
@ -616,8 +638,15 @@ defineProps({
} }
@media(--compact) { @media(--compact) {
.profile .avatar-container { .profile {
display: none; .avatar-container {
display: none;
}
&.with-avatar {
height: auto;
max-height: 18rem;
}
} }
.actor-content { .actor-content {

View File

@ -420,6 +420,7 @@ function blurSearch(event) {
.icon { .icon {
display: none; display: none;
height: 1rem;
padding: 0; padding: 0;
fill: var(--text-light); fill: var(--text-light);
} }
@ -514,9 +515,5 @@ function blurSearch(event) {
.logo { .logo {
margin-right: .75rem; margin-right: .75rem;
} }
.userpanel {
padding-left: 1rem;
}
} }
</style> </style>

View File

@ -70,12 +70,14 @@ function getPath(targetDomain) {
.stash { .stash {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
overflow: hidden;
} }
.header { .header {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
position: sticky;
top: 0;
z-index: 1;
padding: .5rem 1rem; padding: .5rem 1rem;
color: var(--text-light); color: var(--text-light);
background: var(--grey-dark-40); background: var(--grey-dark-40);
@ -118,8 +120,11 @@ function getPath(targetDomain) {
.domains { .domains {
display: flex; display: flex;
justify-content: center;
gap: .5rem; gap: .5rem;
padding: .5rem 1rem; padding: .5rem 1rem;
background: var(--background-base-10);
border-bottom: solid 1px var(--shadow-weak-40);
} }
.domain { .domain {

View File

@ -35,7 +35,10 @@
<div class="content"> <div class="content">
<Bio :actor="actor" /> <Bio :actor="actor" />
<div class="photos nobar"> <div
class="photos nobar"
:class="{ 'has-avatar': actor.avatar, 'has-photos': actor.avatar ? photos.length > 1 : photos.length > 0 }"
>
<img <img
v-for="photo in photos" v-for="photo in photos"
:key="`photo-${photo.id}`" :key="`photo-${photo.id}`"
@ -93,7 +96,7 @@ const photos = [
align-items: center; align-items: center;
position: sticky; position: sticky;
top: 0; top: 0;
z-index: 1; z-index: 2;
color: var(--highlight-strong-30); color: var(--highlight-strong-30);
background: var(--grey-dark-40); background: var(--grey-dark-40);
} }
@ -130,6 +133,10 @@ const photos = [
border-bottom: solid 1px var(--shadow-weak-40); border-bottom: solid 1px var(--shadow-weak-40);
background: var(--background-base-10); background: var(--background-base-10);
overflow-x: auto; overflow-x: auto;
&:not(.has-photos) {
display: none;
}
} }
.photo { .photo {
@ -147,6 +154,10 @@ const photos = [
} }
@media(--compact) { @media(--compact) {
.photos.has-avatar {
display: flex;
}
.photo.avatar { .photo.avatar {
display: inline-block; display: inline-block;
} }