2019-10-05 21:17:18 +02:00
|
|
|
<docs>
|
|
|
|
A simple link to an actor, local or remote link
|
|
|
|
|
|
|
|
```vue
|
|
|
|
<template>
|
|
|
|
<ActorLink :actor="localActor">
|
|
|
|
<template>
|
|
|
|
<span>{{ localActor.preferredUsername }}</span>
|
|
|
|
</template>
|
|
|
|
</ActorLink>
|
|
|
|
</template>
|
|
|
|
<script>
|
|
|
|
export default {
|
|
|
|
data() {
|
|
|
|
return {
|
|
|
|
localActor: {
|
|
|
|
domain: null,
|
|
|
|
preferredUsername: 'localActor'
|
|
|
|
},
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</script>
|
|
|
|
```
|
|
|
|
|
|
|
|
```vue
|
|
|
|
<template>
|
|
|
|
<ActorLink :actor="remoteActor">
|
|
|
|
<template>
|
|
|
|
<span>{{ remoteActor.preferredUsername }}</span>
|
|
|
|
</template>
|
|
|
|
</ActorLink>
|
|
|
|
</template>
|
|
|
|
<script>
|
|
|
|
export default {
|
|
|
|
data() {
|
|
|
|
return {
|
|
|
|
remoteActor: {
|
|
|
|
domain: 'mobilizon.org',
|
|
|
|
url: 'https://mobilizon.org/@Framasoft',
|
|
|
|
preferredUsername: 'Framasoft'
|
|
|
|
},
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</script>
|
|
|
|
```
|
|
|
|
|
|
|
|
</docs>
|
|
|
|
|
2019-08-09 11:32:14 +02:00
|
|
|
<template>
|
|
|
|
<span>
|
2019-09-20 18:22:03 +02:00
|
|
|
<span v-if="actor.domain === null"
|
2019-08-09 11:32:14 +02:00
|
|
|
:to="{name: 'Profile', params: { name: actor.preferredUsername } }"
|
|
|
|
>
|
2019-10-05 21:17:18 +02:00
|
|
|
<!-- @slot What to put inside the link -->
|
2019-08-09 11:32:14 +02:00
|
|
|
<slot></slot>
|
2019-09-20 18:22:03 +02:00
|
|
|
</span>
|
2019-08-09 11:32:14 +02:00
|
|
|
<a v-else :href="actor.url">
|
2019-10-05 21:17:18 +02:00
|
|
|
<!-- @slot What to put inside the link -->
|
2019-08-09 11:32:14 +02:00
|
|
|
<slot></slot>
|
|
|
|
</a>
|
|
|
|
</span>
|
|
|
|
</template>
|
|
|
|
<script lang="ts">
|
|
|
|
import { Component, Prop, Vue } from 'vue-property-decorator';
|
|
|
|
import { IActor } from '@/types/actor';
|
|
|
|
|
|
|
|
@Component
|
|
|
|
export default class ActorLink extends Vue {
|
2019-10-05 21:17:18 +02:00
|
|
|
/**
|
|
|
|
* The actor you want to make a link to
|
|
|
|
*/
|
|
|
|
@Prop({ required: true }) actor!: IActor;
|
2019-08-09 11:32:14 +02:00
|
|
|
}
|
|
|
|
</script>
|