Butt
:
{{ actor.buttVolume }}cc
@@ -258,21 +263,38 @@
Yes
-
Updated {{ formatDate(actor.updatedAt, 'yyyy-MM-dd hh:mm') }}, ID: {{ actor.id }}
+
+ Agency
-
- Edit bio
+ {{ actor.agency }}
+
-
Revisions
+
+ #{{ actor.id }} Updated {{ formatDate(actor.updatedAt, 'yyyy-MM-dd') }}
+
+
@@ -413,17 +435,32 @@ const descriptions = Object.values(Object.fromEntries(props.actor.profiles
}
.avatar-container {
- padding: 0 0 1rem 1rem;
+ position: relative;
+ margin: 0 .5rem 1rem 1rem;
flex-shrink: 0;
+ font-size: 0;
}
.avatar {
height: 100%;
flex-shrink: 0;
- border: solid 3px var(--highlight-hint);
- margin: 0 .5rem 0 0;
+ border: solid 3px var(--highlight-weak-30);
+ border-radius: .5rem;
}
+ .avatar-credit {
+ width: 100%;
+ position: absolute;
+ left: 0;
+ bottom: 0;
+ z-index: 1;
+ box-sizing: border-box;
+ padding: 0 .5rem;
+ color: var(--text-light);
+ font-size: .75rem;
+ text-shadow: 1px 1px 0 var(--shadow-strong-20);
+ }
+
&.expanded {
padding-bottom: 1.5rem;
margin-bottom: .75rem;
@@ -573,10 +610,22 @@ const descriptions = Object.values(Object.fromEntries(props.actor.profiles
}
.updated {
- color: var(--highlight-weak-20);
+ color: var(--highlight-weak-10);
font-size: .8rem;
}
+.actor-actions {
+ display: flex;
+ justify-content: flex-start;
+ gap: 1rem;
+ margin-right: .5rem;
+
+ .link {
+ color: inherit;
+ flex-shrink: 0;
+ }
+}
+
.descriptions-container {
max-width: 30rem;
max-height: 100%;
@@ -691,16 +740,6 @@ const descriptions = Object.values(Object.fromEntries(props.actor.profiles
}
}
-.actor-actions {
- justify-content: flex-start;
- gap: 1rem;
- font-weight: normal;
-
- .link {
- color: var(--highlight-strong-20);
- }
-}
-
@media(--big) {
.descriptions-container {
display: none;
diff --git a/components/admin/admin.vue b/components/admin/admin.vue
index eb0183f..447523c 100644
--- a/components/admin/admin.vue
+++ b/components/admin/admin.vue
@@ -45,6 +45,7 @@ const pageContext = inject('pageContext');
padding: 1rem 1rem .75rem 1rem;
border-bottom: solid 1px var(--shadow-weak-30);
margin-bottom: .25rem;
+ overflow-x: auto;
}
.nav-items {
@@ -54,6 +55,7 @@ const pageContext = inject('pageContext');
.nav-item {
display: block;
+ flex-shrink: 0;
background: var(--background-dark-20);
border-radius: 1rem;
color: var(--glass-strong-20);
diff --git a/components/edit/avatar.vue b/components/edit/avatar.vue
new file mode 100644
index 0000000..f012015
--- /dev/null
+++ b/components/edit/avatar.vue
@@ -0,0 +1,110 @@
+
+
+
+
+
{{ avatar.credit }}
+
+
+ {{ avatar.width }}x{{ avatar.height }}
+ {{ avatar.sharpness.toFixed(2) }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/edit/revisions.vue b/components/edit/revisions.vue
index f44db35..58eb113 100644
--- a/components/edit/revisions.vue
+++ b/components/edit/revisions.vue
@@ -116,6 +116,12 @@
>{{ item.name || item.id || item }} ]
+
+
{{ format(rev.base[delta.key], 'yyyy-MM-dd hh:mm') }}
{{ rev.base[delta.key] }}
@@ -135,6 +141,12 @@
>{{ item.name || item.id || item }} ]
+
+
{{ format(delta.value, 'yyyy-MM-dd hh:mm') }}
{{ delta.value }}
@@ -156,7 +168,7 @@
@click="expanded.add(rev.id)"
>
-
{{ rev.sceneId }}@{{ rev.hash.slice(0, 6) }}
+
{{ rev.sceneId || rev.actorId }}@{{ rev.hash.slice(0, 6) }}
Object.fromEntries(actors.value.map((actor) => [actor.id, actor])));
const tagsById = computed(() => Object.fromEntries(tags.value.map((tag) => [tag.id, tag])));
const moviesById = computed(() => Object.fromEntries(movies.value.map((movie) => [movie.id, movie])));
+const avatarsById = computed(() => Object.fromEntries(avatars.value.map((avatar) => [avatar.id, avatar])));
const feedbacks = ref({});
const showReviewed = ref(false);
@@ -318,6 +333,7 @@ async function reloadRevisions() {
actors.value = updatedRevisions.actors;
tags.value = updatedRevisions.tags;
movies.value = updatedRevisions.movies;
+ avatars.value = updatedRevisions.avatars;
revisions.value = updatedRevisions.revisions;
}
diff --git a/pages/actors/@actorId/+Page.vue b/pages/actors/@actorId/+Page.vue
index a75ddb2..939ceb3 100644
--- a/pages/actors/@actorId/+Page.vue
+++ b/pages/actors/@actorId/+Page.vue
@@ -39,18 +39,27 @@
class="photos nobar"
:class="{ 'has-avatar': actor.avatar, 'has-photos': actor.avatar ? photos.length > 1 : photos.length > 0 }"
>
-
+
+
+ {{ photo.credit }}
+