Compare commits
2 Commits
8fd792b85c
...
62dcaba875
| Author | SHA1 | Date | |
|---|---|---|---|
| 62dcaba875 | |||
| f67c05f034 |
4
assets/img/icons/at-sign.svg
Executable file
4
assets/img/icons/at-sign.svg
Executable file
@@ -0,0 +1,4 @@
|
|||||||
|
<!-- Generated by IcoMoon.io -->
|
||||||
|
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||||
|
<path d="M13.657 2.343c-1.511-1.511-3.52-2.343-5.657-2.343s-4.146 0.832-5.657 2.343c-1.511 1.511-2.343 3.52-2.343 5.657s0.832 4.146 2.343 5.657c1.511 1.511 3.52 2.343 5.657 2.343 1.199 0 2.353-0.259 3.429-0.77 0.499-0.237 0.711-0.834 0.474-1.332s-0.834-0.711-1.332-0.474c-0.806 0.383-1.671 0.577-2.571 0.577-3.308 0-6-2.692-6-6s2.692-6 6-6 6 2.692 6 6v1c0 0.551-0.449 1-1 1s-1-0.449-1-1v-4c0-0.552-0.448-1-1-1-0.406 0-0.755 0.242-0.912 0.59-0.608-0.374-1.323-0.59-2.088-0.59-2.206 0-4 1.794-4 4s1.794 4 4 4c1.045 0 1.998-0.403 2.712-1.062 0.551 0.649 1.372 1.062 2.288 1.062 1.654 0 3-1.346 3-3v-1c0-2.137-0.832-4.146-2.343-5.657zM8 10c-1.103 0-2-0.897-2-2s0.897-2 2-2c1.103 0 2 0.897 2 2s-0.897 2-2 2z"></path>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 850 B |
@@ -20,6 +20,15 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<ul class="bio nolist">
|
<ul class="bio nolist">
|
||||||
|
<li
|
||||||
|
v-if="aliases.length > 0"
|
||||||
|
class="bio-item"
|
||||||
|
>
|
||||||
|
<dfn class="bio-label"><Icon icon="at-sign" />Aliases</dfn>
|
||||||
|
|
||||||
|
<span class="orientation">{{ aliases.join(', ') }}</span>
|
||||||
|
</li>
|
||||||
|
|
||||||
<li
|
<li
|
||||||
v-if="actor.dateOfBirth"
|
v-if="actor.dateOfBirth"
|
||||||
class="bio-item"
|
class="bio-item"
|
||||||
@@ -528,6 +537,15 @@ const socials = props.actor.socials.slice(0, 10).map((social) => ({
|
|||||||
: social.handle,
|
: 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);
|
const showMergeDialog = ref(false);
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
4
package-lock.json
generated
4
package-lock.json
generated
@@ -1,11 +1,11 @@
|
|||||||
{
|
{
|
||||||
"name": "traxxx-web",
|
"name": "traxxx-web",
|
||||||
"version": "0.50.12",
|
"version": "0.50.13",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"version": "0.50.12",
|
"version": "0.50.13",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@brillout/json-serializer": "^0.5.8",
|
"@brillout/json-serializer": "^0.5.8",
|
||||||
"@dicebear/collection": "^7.0.5",
|
"@dicebear/collection": "^7.0.5",
|
||||||
|
|||||||
@@ -92,7 +92,7 @@
|
|||||||
"overrides": {
|
"overrides": {
|
||||||
"vite": "$vite"
|
"vite": "$vite"
|
||||||
},
|
},
|
||||||
"version": "0.50.12",
|
"version": "0.50.13",
|
||||||
"imports": {
|
"imports": {
|
||||||
"#/*": "./*.js"
|
"#/*": "./*.js"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,20 +11,6 @@
|
|||||||
/>
|
/>
|
||||||
</h2>
|
</h2>
|
||||||
|
|
||||||
<li
|
|
||||||
v-if="actor.aliases?.length"
|
|
||||||
class="bio-item"
|
|
||||||
>
|
|
||||||
<dfn class="bio-label">Also known as</dfn>
|
|
||||||
<span class="bio-value">
|
|
||||||
<span
|
|
||||||
v-for="alias in actor.aliases"
|
|
||||||
:key="`alias-${alias.id}`"
|
|
||||||
class="alias"
|
|
||||||
>{{ alias.name }}</span>
|
|
||||||
</span>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<Heart
|
<Heart
|
||||||
domain="actors"
|
domain="actors"
|
||||||
:item="actor"
|
:item="actor"
|
||||||
|
|||||||
@@ -66,6 +66,7 @@ export function curateActor(actor, context = {}) {
|
|||||||
id: actor.id,
|
id: actor.id,
|
||||||
slug: actor.slug,
|
slug: actor.slug,
|
||||||
name: actor.name,
|
name: actor.name,
|
||||||
|
aliases: actor.aliases || [],
|
||||||
gender: actor.gender,
|
gender: actor.gender,
|
||||||
age: actor.age,
|
age: actor.age,
|
||||||
ethnicity: actor.ethnicity,
|
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('COALESCE(residence_countries.alias, residence_countries.name) as residence_country_name'),
|
||||||
knex.raw('row_to_json(entities) as entity'),
|
knex.raw('row_to_json(entities) as entity'),
|
||||||
knex.raw('row_to_json(sfw_media) as sfw_avatar'),
|
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_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 birth_countries', 'birth_countries.alpha2', 'actors.birth_country_alpha2')
|
||||||
.leftJoin('countries as residence_countries', 'residence_countries.alpha2', 'actors.residence_country_alpha2')
|
.leftJoin('countries as residence_countries', 'residence_countries.alpha2', 'actors.residence_country_alpha2')
|
||||||
.leftJoin('media as avatars', 'avatars.id', 'actors.avatar_media_id')
|
.leftJoin('media as avatars', 'avatars.id', 'actors.avatar_media_id')
|
||||||
|
|||||||
Reference in New Issue
Block a user