63 lines
2.2 KiB
HTML
63 lines
2.2 KiB
HTML
<:Head>
|
||
<title>{{'Pinafore – ' + (cachedProfileName || profileName || '')}}</title>
|
||
</:Head>
|
||
|
||
<Layout page='tags'
|
||
dynamicPage="{{cachedProfileName || profileName || ''}}"
|
||
dynamicHref="/accounts/{{params.accountId}}"
|
||
dynamicLabel="{{cachedShortProfileName || shortProfileName || ''}}"
|
||
dynamicIcon="#fa-user" >
|
||
{{#if $isUserLoggedIn}}
|
||
<DynamicPageBanner title="{{cachedProfileName || profileName || ''}}" />
|
||
<LazyTimeline timeline='account/{{params.accountId}}' />
|
||
{{else}}
|
||
<HiddenFromSSR>
|
||
<FreeTextLayout>
|
||
<h1>Profile</h1>
|
||
|
||
<p>A user timeline will appear here when logged in.</p>
|
||
</FreeTextLayout>
|
||
</HiddenFromSSR>
|
||
{{/if}}
|
||
</Layout>
|
||
<script>
|
||
import Layout from '../_components/Layout.html'
|
||
import LazyTimeline from '../_components/LazyTimeline.html'
|
||
import FreeTextLayout from '../_components/FreeTextLayout.html'
|
||
import { store } from '../_utils/store.js'
|
||
import HiddenFromSSR from '../_components/HiddenFromSSR'
|
||
import DynamicPageBanner from '../_components/DynamicPageBanner.html'
|
||
import { getAccount } from '../_utils/mastodon/user'
|
||
|
||
export default {
|
||
async oncreate() {
|
||
let currentInstance = this.store.get('currentInstance')
|
||
let accessToken = this.store.get('accessToken')
|
||
let accountId = this.get('params').accountId
|
||
let account = await getAccount(currentInstance, accessToken, accountId)
|
||
this.set({account: account})
|
||
},
|
||
store: () => store,
|
||
computed: {
|
||
profileName: (account) => {
|
||
return account && ('@' + account.acct)
|
||
},
|
||
shortProfileName: (account) => {
|
||
return account && ('@' + account.username)
|
||
},
|
||
cachedProfileName: ($cachedAccountNames, params) => {
|
||
return $cachedAccountNames && $cachedAccountNames[params.accountId] && ('@' + $cachedAccountNames[params.accountId].acct)
|
||
},
|
||
cachedShortProfileName: ($cachedAccountNames, params) => {
|
||
return $cachedAccountNames && $cachedAccountNames[params.accountId] && ('@' + $cachedAccountNames[params.accountId].username)
|
||
}
|
||
},
|
||
components: {
|
||
Layout,
|
||
LazyTimeline,
|
||
FreeTextLayout,
|
||
HiddenFromSSR,
|
||
DynamicPageBanner
|
||
}
|
||
}
|
||
</script> |