diff --git a/assets/img/icons/at-sign.svg b/assets/img/icons/at-sign.svg
new file mode 100755
index 0000000..487b8a6
--- /dev/null
+++ b/assets/img/icons/at-sign.svg
@@ -0,0 +1,4 @@
+
+
diff --git a/components/actors/bio.vue b/components/actors/bio.vue
index 5752447..15ed361 100644
--- a/components/actors/bio.vue
+++ b/components/actors/bio.vue
@@ -20,6 +20,15 @@
+ -
+ Aliases
+
+ {{ aliases.join(', ') }}
+
+
- ({
: social.handle,
}));
+const aliases = Object
+ .entries(props.actor.aliases.reduce((acc, alias) => {
+ acc[alias.name] = (props.actor[alias.name] || 0) + 1;
+ return acc;
+ }, {}))
+ .toSorted(([, countA], [, countB]) => countB - countA)
+ .map(([alias]) => alias)
+ .filter((alias) => alias !== props.actor.name);
+
const showMergeDialog = ref(false);
diff --git a/pages/actors/@actorId/+Page.vue b/pages/actors/@actorId/+Page.vue
index 4cf0d85..f8bf873 100644
--- a/pages/actors/@actorId/+Page.vue
+++ b/pages/actors/@actorId/+Page.vue
@@ -11,20 +11,6 @@
/>
-
-
- Also known as
-
- {{ alias.name }}
-
-
-
photo.entropy > 5.5 && !badCredits
.actor-header {
width: 100%;
display: flex;
- justify-content: space-between;
+ justify-content: space-between;
align-items: center;
position: sticky;
top: 0;
diff --git a/src/actors.js b/src/actors.js
index d77fe40..63c054b 100644
--- a/src/actors.js
+++ b/src/actors.js
@@ -66,6 +66,7 @@ export function curateActor(actor, context = {}) {
id: actor.id,
slug: actor.slug,
name: actor.name,
+ aliases: actor.aliases || [],
gender: actor.gender,
age: actor.age,
ethnicity: actor.ethnicity,
@@ -233,8 +234,10 @@ export async function fetchActorsById(actorIds, options = {}, reqUser) {
knex.raw('COALESCE(residence_countries.alias, residence_countries.name) as residence_country_name'),
knex.raw('row_to_json(entities) as entity'),
knex.raw('row_to_json(sfw_media) as sfw_avatar'),
+ knex.raw('json_agg(aliases) as aliases'),
)
.leftJoin('actors_meta', 'actors_meta.actor_id', 'actors.id')
+ .leftJoin('actors as aliases', 'aliases.alias_for', 'actors.id')
.leftJoin('countries as birth_countries', 'birth_countries.alpha2', 'actors.birth_country_alpha2')
.leftJoin('countries as residence_countries', 'residence_countries.alpha2', 'actors.residence_country_alpha2')
.leftJoin('media as avatars', 'avatars.id', 'actors.avatar_media_id')