remove all instances of string coercion (#240)
This commit is contained in:
parent
40a9ff957a
commit
9629a55a9f
|
@ -1,6 +1,6 @@
|
|||
<video
|
||||
class="autoplay-video {{className || ''}}"
|
||||
aria-label="{{ariaLabel || ''}}"
|
||||
aria-label={{ariaLabel || ''}}
|
||||
style="background-image: url({{poster}});"
|
||||
:poster
|
||||
:width
|
||||
|
|
|
@ -1,22 +1,22 @@
|
|||
{{#if error}}
|
||||
<svg class="{{computedClass}}" aria-hidden="true">
|
||||
<svg class={{computedClass}} aria-hidden="true">
|
||||
<use xlink:href="#fa-user" />
|
||||
</svg>
|
||||
{{elseif $autoplayGifs}}
|
||||
<img
|
||||
class="{{computedClass}}"
|
||||
class={{computedClass}}
|
||||
aria-hidden="true"
|
||||
alt=""
|
||||
src="{{account.avatar}}"
|
||||
src={{account.avatar}}
|
||||
on:imgLoad="set({loaded: true})"
|
||||
on:imgLoadError="set({error: true})" />
|
||||
{{else}}
|
||||
<NonAutoplayImg
|
||||
className="{{computedClass}}"
|
||||
className={{computedClass}}
|
||||
ariaHidden="true"
|
||||
alt=""
|
||||
src="{{account.avatar}}"
|
||||
staticSrc="{{account.avatar_static}}"
|
||||
src={{account.avatar}}
|
||||
staticSrc={{account.avatar_static}}
|
||||
:isLink
|
||||
on:imgLoad="set({loaded: true})"
|
||||
on:imgLoadError="set({error: true})"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<div class="dynamic-page-banner {{icon ? 'dynamic-page-with-icon' : ''}}">
|
||||
{{#if icon}}
|
||||
<svg class="dynamic-page-banner-svg">
|
||||
<use xlink:href="{{icon}}" />
|
||||
<use xlink:href={{icon}} />
|
||||
</svg>
|
||||
{{/if}}
|
||||
<h1 class="dynamic-page-title">{{title}}</h1>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<a rel="nofollow noopener"
|
||||
target="_blank"
|
||||
href="{{href}}"
|
||||
aria-label="{{ariaLabel || ''}}"
|
||||
href={{href}}
|
||||
aria-label={{ariaLabel || ''}}
|
||||
class="{{className || ''}} {{showIcon ? 'external-link-with-icon' : ''}} {{normalIconColor ? 'normal-icon-color' : ''}}">
|
||||
<slot></slot>{{#if showIcon}}
|
||||
<svg class="external-link-svg">
|
||||
|
|
|
@ -1,27 +1,27 @@
|
|||
{{#if delegateKey}}
|
||||
<button type="button"
|
||||
title="{{label}}"
|
||||
aria-label="{{label}}"
|
||||
aria-pressed="{{pressable ? !!pressed : ''}}"
|
||||
class="{{computedClass}}"
|
||||
title={{label}}
|
||||
aria-label={{label}}
|
||||
aria-pressed={{pressable ? !!pressed : ''}}
|
||||
class={{computedClass}}
|
||||
:disabled
|
||||
delegate-key="{{delegateKey}}"
|
||||
focus-key="{{focusKey || ''}}" >
|
||||
delegate-key={{delegateKey}}
|
||||
focus-key={{focusKey || ''}} >
|
||||
<svg class="icon-button-svg {{svgClassName || ''}}" ref:svg>
|
||||
<use xlink:href="{{href}}" />
|
||||
<use xlink:href={{href}} />
|
||||
</svg>
|
||||
</button>
|
||||
{{else}}
|
||||
<button type="button"
|
||||
title="{{label}}"
|
||||
aria-label="{{label}}"
|
||||
aria-pressed="{{pressable ? !!pressed : ''}}"
|
||||
class="{{computedClass}}"
|
||||
focus-key="{{focusKey || ''}}"
|
||||
title={{label}}
|
||||
aria-label={{label}}
|
||||
aria-pressed={{pressable ? !!pressed : ''}}
|
||||
class={{computedClass}}
|
||||
focus-key={{focusKey || ''}}
|
||||
:disabled
|
||||
on:click >
|
||||
<svg class="icon-button-svg {{svgClassName || ''}}" ref:svg>
|
||||
<use xlink:href="{{href}}" />
|
||||
<use xlink:href={{href}} />
|
||||
</svg>
|
||||
</button>
|
||||
{{/if}}
|
||||
|
|
|
@ -3,10 +3,10 @@
|
|||
{{#if displaySrc}}
|
||||
<img
|
||||
class="{{hidden ? 'hidden' : ''}} {{className || ''}}"
|
||||
aria-hidden="{{ariaHidden || ''}}"
|
||||
alt="{{alt || ''}}"
|
||||
title="{{alt || ''}}"
|
||||
src="{{displaySrc}}"
|
||||
aria-hidden={{ariaHidden || ''}}
|
||||
alt={{alt || ''}}
|
||||
title={{alt || ''}}
|
||||
src={{displaySrc}}
|
||||
:width
|
||||
:height
|
||||
/>
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
</li>
|
||||
{{elseif $pinnedPage.startsWith('/lists/')}}
|
||||
<li class="main-nav-li">
|
||||
<NavItem :page name="lists" href="{{$pinnedPage}}" svg="#fa-bars" label="{{$pinnedListTitle}}" />
|
||||
<NavItem :page name="lists" href={{$pinnedPage}} svg="#fa-bars" label={{$pinnedListTitle}} />
|
||||
</li>
|
||||
{{/if}}
|
||||
<li class="main-nav-li">
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
<a class='main-nav-link {{selected ? "selected" : ""}}'
|
||||
aria-label='{{ariaLabel}}'
|
||||
aria-current="{{selected}}"
|
||||
aria-label={{ariaLabel}}
|
||||
aria-current={{selected}}
|
||||
on:click="onClick(event)"
|
||||
:href >
|
||||
{{#if name === 'notifications'}}
|
||||
<div class="nav-link-svg-wrapper">
|
||||
<svg class="nav-link-svg">
|
||||
<use xlink:href="{{svg}}" />
|
||||
<use xlink:href={{svg}} />
|
||||
</svg>
|
||||
{{#if $hasNotifications}}
|
||||
<span class="nav-link-notifications" aria-hidden="true">
|
||||
|
@ -16,7 +16,7 @@
|
|||
</div>
|
||||
{{else}}
|
||||
<svg class="nav-link-svg">
|
||||
<use xlink:href="{{svg}}" />
|
||||
<use xlink:href={{svg}} />
|
||||
</svg>
|
||||
{{/if}}
|
||||
<span class="nav-link-label">{{label}}</span>
|
||||
|
|
|
@ -4,8 +4,8 @@
|
|||
>
|
||||
{{#if playing}}
|
||||
<AutoplayVideo
|
||||
className="{{class}}"
|
||||
ariaLabel="{{label}}"
|
||||
className={{class}}
|
||||
ariaLabel={{label}}
|
||||
:poster
|
||||
:src
|
||||
:width
|
||||
|
@ -13,17 +13,17 @@
|
|||
/>
|
||||
{{else}}
|
||||
<LazyImage
|
||||
alt="{{label || ''}}"
|
||||
title="{{label || ''}}"
|
||||
src="{{staticSrc}}"
|
||||
fallback="{{oneTransparentPixel}}"
|
||||
alt={{label || ''}}
|
||||
title={{label || ''}}
|
||||
src={{staticSrc}}
|
||||
fallback={{oneTransparentPixel}}
|
||||
:width
|
||||
:height
|
||||
background="var(--loading-bg)"
|
||||
className="{{class}}"
|
||||
className={{class}}
|
||||
/>
|
||||
{{/if}}
|
||||
<PlayVideoIcon className="{{playing ? 'hidden' : ''}}"/>
|
||||
<PlayVideoIcon className={{playing ? 'hidden' : ''}}/>
|
||||
</div>
|
||||
<style>
|
||||
.non-autoplay-gifv {
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
{{#if staticSrc === src}}
|
||||
<img class="{{className || ''}}"
|
||||
aria-hidden="{{ariaHidden}}"
|
||||
alt="{{alt || ''}}"
|
||||
title="{{alt || ''}}"
|
||||
src="{{src}}"
|
||||
<img class={{className || ''}}
|
||||
aria-hidden={{ariaHidden}}
|
||||
alt={{alt || ''}}
|
||||
title={{alt || ''}}
|
||||
src={{src}}
|
||||
on:imgLoad
|
||||
on:imgLoadError />
|
||||
{{else}}
|
||||
<img class="{{className || ''}} non-autoplay-zoom-in {{isLink ? 'is-link' : ''}}"
|
||||
aria-hidden="{{ariaHidden}}"
|
||||
alt="{{alt || ''}}"
|
||||
title="{{alt || ''}}"
|
||||
src="{{staticSrc}}"
|
||||
aria-hidden={{ariaHidden}}
|
||||
alt={{alt || ''}}
|
||||
title={{alt || ''}}
|
||||
src={{staticSrc}}
|
||||
on:imgLoad
|
||||
on:imgLoadError
|
||||
on:mouseover="onMouseOver(event)"
|
||||
|
|
|
@ -3,12 +3,12 @@
|
|||
without a div wrapper due to sticky-positioned compose button.
|
||||
TODO: this is a bit hacky due to code duplication
|
||||
-->
|
||||
<div class="timeline-home-page" aria-busy="{{hideTimeline}}">
|
||||
<div class="timeline-home-page" aria-busy={{hideTimeline}}>
|
||||
{{#if hidePage}}
|
||||
<LoadingPage />
|
||||
{{/if}}
|
||||
{{#if $currentVerifyCredentials }}
|
||||
<ComposeBox realm="home" hidden="{{hidePage}}"/>
|
||||
<ComposeBox realm="home" hidden={{hidePage}}/>
|
||||
{{/if}}
|
||||
<div class="timeline-home-anchor-container">
|
||||
{{#if !hidePage && hideTimeline}}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<div class="timeline-page" aria-busy="{{hideTimeline}}">
|
||||
<div class="timeline-page" aria-busy={{hideTimeline}}>
|
||||
{{#if hidePage}}
|
||||
<LoadingPage />
|
||||
{{/if}}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<div class="toast-modal {{shown ? 'shown' : ''}}" role="alert" aria-hidden="{{shown}}">
|
||||
<div class="toast-modal {{shown ? 'shown' : ''}}" role="alert" aria-hidden={{shown}}>
|
||||
<div class="toast-container">
|
||||
{{text}}
|
||||
</div>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<div class="page-list-wrapper">
|
||||
{{#if label}}
|
||||
<ul class="page-list" aria-label="{{label}}">
|
||||
<ul class="page-list" aria-label={{label}}>
|
||||
<slot></slot>
|
||||
</ul>
|
||||
{{else}}
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
<li class="page-list-item">
|
||||
<a :href>
|
||||
<svg class="page-list-item-svg">
|
||||
<use xlink:href="{{icon}}" />
|
||||
<use xlink:href={{icon}} />
|
||||
</svg>
|
||||
<span aria-label="{{label}} {{$pinnedPage === href ? 'Pinned page' : 'Unpinned page'}}">
|
||||
{{label}}
|
||||
</span>
|
||||
{{#if pinnable}}
|
||||
<IconButton pressable="true"
|
||||
pressed="{{$pinnedPage === href}}"
|
||||
label="{{$pinnedPage === href ? 'Unpin timeline' : 'Pin timeline'}}"
|
||||
pressed={{$pinnedPage === href}}
|
||||
label={{$pinnedPage === href ? 'Unpin timeline' : 'Pin timeline'}}
|
||||
href="#fa-thumb-tack"
|
||||
on:click="onPinClick(event)" />
|
||||
{{/if}}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<a href="/accounts/{{verifyCredentials.id}}"
|
||||
class="compose-box-avatar"
|
||||
aria-label="Profile for {{verifyCredentials.display_name || verifyCredentials.acct}}">
|
||||
<Avatar account="{{verifyCredentials}}" size="small"/>
|
||||
<Avatar account={{verifyCredentials}} size="small"/>
|
||||
</a>
|
||||
<a class="compose-box-display-name" href="/accounts/{{verifyCredentials.id}}">
|
||||
{{verifyCredentials.display_name || verifyCredentials.acct}}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<div class="compose-autosuggest {{shown ? 'shown' : ''}} {{realm === 'dialog' ? 'is-dialog' : ''}}"
|
||||
aria-hidden="true" >
|
||||
<ComposeAutosuggestionList
|
||||
items="{{searchResults}}"
|
||||
items={{searchResults}}
|
||||
on:click="onClick(event)"
|
||||
:type
|
||||
:selected
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
<Avatar
|
||||
className="compose-autosuggest-list-item-avatar"
|
||||
size="small"
|
||||
account="{{item}}"
|
||||
account={{item}}
|
||||
/>
|
||||
<span class="compose-autosuggest-list-display-name">
|
||||
{{item.display_name || item.acct}}
|
||||
|
@ -18,7 +18,7 @@
|
|||
{{'@' + item.acct}}
|
||||
</span>
|
||||
{{else}}
|
||||
<img src="{{$autoplayGifs ? item.url : item.static_url}}"
|
||||
<img src={{$autoplayGifs ? item.url : item.static_url}}
|
||||
class="compose-autosuggest-list-item-icon"
|
||||
alt="{{':' + item.shortcode + ':'}}"
|
||||
/>
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
<div class="compose-box-button-halo">
|
||||
<button class="primary compose-box-button"
|
||||
:disabled
|
||||
aria-label="{{sticky ? 'Compose' : 'Toot!'}}"
|
||||
aria-label={{sticky ? 'Compose' : 'Toot!'}}
|
||||
on:click>
|
||||
<span class="{{$postingStatus || sticky ? 'hidden' : ''}}">
|
||||
<span class={{$postingStatus || sticky ? 'hidden' : ''}}>
|
||||
Toot!
|
||||
</span>
|
||||
<div class="compose-box-button-spinner"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<span class="compose-box-length {{overLimit ? 'over-char-limit' : ''}}"
|
||||
aria-label="{{lengthLabel}}">
|
||||
aria-label={{lengthLabel}}>
|
||||
{{lengthToDisplayDeferred || '0'}}
|
||||
</span>
|
||||
<style>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<div class="compose-media">
|
||||
<img src="{{mediaItem.data.preview_url}}" alt="{{mediaItem.file.name}}"/>
|
||||
<img src={{mediaItem.data.preview_url}} alt={{mediaItem.file.name}}/>
|
||||
<div class="compose-media-delete">
|
||||
<button class="compose-media-delete-button"
|
||||
aria-label="Delete {{mediaItem.file.name}}"
|
||||
|
|
|
@ -6,23 +6,23 @@
|
|||
on:click="onEmojiClick()"
|
||||
/>
|
||||
<IconButton
|
||||
svgClassName="{{$uploadingMedia ? 'spin' : ''}}"
|
||||
svgClassName={{$uploadingMedia ? 'spin' : ''}}
|
||||
label="Add media"
|
||||
href="{{$uploadingMedia ? '#fa-spinner' : '#fa-camera'}}"
|
||||
href={{$uploadingMedia ? '#fa-spinner' : '#fa-camera'}}
|
||||
on:click="onMediaClick()"
|
||||
disabled="{{$uploadingMedia || (media.length === 4)}}"
|
||||
disabled={{$uploadingMedia || (media.length === 4)}}
|
||||
/>
|
||||
<IconButton
|
||||
label="Adjust privacy (currently {{postPrivacy.label}})"
|
||||
href="{{postPrivacy.icon}}"
|
||||
href={{postPrivacy.icon}}
|
||||
on:click="onPostPrivacyClick()"
|
||||
/>
|
||||
<IconButton
|
||||
label="{{contentWarningShown ? 'Remove content warning' : 'Add content warning'}}"
|
||||
label={{contentWarningShown ? 'Remove content warning' : 'Add content warning'}}
|
||||
href="#fa-exclamation-triangle"
|
||||
on:click="onContentWarningClick()"
|
||||
pressable="true"
|
||||
pressed="{{contentWarningShown}}"
|
||||
pressed={{contentWarningShown}}
|
||||
/>
|
||||
</div>
|
||||
<input ref:input
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
{{#each emojis as emoji}}
|
||||
<li class="custom-emoji">
|
||||
<button type="button" on:click="onClickEmoji(emoji)">
|
||||
<img src="{{$autoplayGifs ? emoji.url : emoji.static_url}}"
|
||||
<img src={{$autoplayGifs ? emoji.url : emoji.static_url}}
|
||||
alt=":{{emoji.shortcode}}:"
|
||||
title=":{{emoji.shortcode}}:"
|
||||
/>
|
||||
|
|
|
@ -3,12 +3,12 @@
|
|||
<li class="generic-dialog-list-item">
|
||||
<button class="generic-dialog-list-button" on:click="fire('click', item)">
|
||||
<svg class="generic-dialog-list-item-svg">
|
||||
<use xlink:href="{{item.icon}}" />
|
||||
<use xlink:href={{item.icon}} />
|
||||
</svg>
|
||||
<span>
|
||||
{{item.label}}
|
||||
</span>
|
||||
<svg class="generic-dialog-list-item-svg {{item.selected ? '' : 'hidden'}}" aria-hidden="{{!item.selected}}">
|
||||
<svg class="generic-dialog-list-item-svg {{item.selected ? '' : 'hidden'}}" aria-hidden={{!item.selected}}>
|
||||
<use xlink:href="#fa-check" />
|
||||
</svg>
|
||||
</button>
|
||||
|
|
|
@ -15,11 +15,11 @@
|
|||
/>
|
||||
{{else}}
|
||||
<img
|
||||
src="{{src}}"
|
||||
width="{{width}}"
|
||||
height="{{height}}"
|
||||
alt="{{description || ''}}"
|
||||
title="{{description || ''}}"
|
||||
src={{src}}
|
||||
width={{width}}
|
||||
height={{height}}
|
||||
alt={{description || ''}}
|
||||
title={{description || ''}}
|
||||
/>
|
||||
{{/if}}
|
||||
</ModalDialog>
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
<div class="{{backdropClass}}"
|
||||
<div class={{backdropClass}}
|
||||
tabindex="-1"
|
||||
data-a11y-dialog-hide
|
||||
></div>
|
||||
<div class="{{contentsClass}}"
|
||||
<div class={{contentsClass}}
|
||||
role="dialog"
|
||||
aria-label="{{label || ''}}"
|
||||
aria-label={{label || ''}}
|
||||
ref:node
|
||||
>
|
||||
<div class="modal-dialog-document" role="document" style="background: {{background || '#000'}};">
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
</div>
|
||||
<a class="account-profile-details-item"
|
||||
href='/accounts/{{account.id}}/follows'
|
||||
aria-label="{{followingLabel}}"
|
||||
aria-label={{followingLabel}}
|
||||
>
|
||||
<span class="account-profile-details-item-title">
|
||||
Follows
|
||||
|
@ -20,7 +20,7 @@
|
|||
</a>
|
||||
<a class="account-profile-details-item"
|
||||
href='/accounts/{{account.id}}/followers'
|
||||
aria-label="{{followersLabel}}"
|
||||
aria-label={{followersLabel}}
|
||||
>
|
||||
<span class="account-profile-details-item-title">
|
||||
Followers
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
<div class="account-profile-follow {{shown ? 'shown' : ''}}">
|
||||
<IconButton
|
||||
label="{{followLabel}}"
|
||||
href="{{followIcon}}"
|
||||
label={{followLabel}}
|
||||
href={{followIcon}}
|
||||
pressable="true"
|
||||
pressed="{{following}}"
|
||||
pressed={{following}}
|
||||
big="true"
|
||||
on:click="onFollowButtonClick(event)"
|
||||
ref:icon
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<Avatar :account size="big" />
|
||||
</div>
|
||||
<div class="account-profile-name">
|
||||
<ExternalLink href="{{account.url}}"
|
||||
<ExternalLink href={{account.url}}
|
||||
showIcon="true"
|
||||
normalIconColor="true"
|
||||
ariaLabel="{{account.display_name || account.acct}} (opens in new window)"
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
<div class="pseudo-virtual-list" on:initialized ref:node>
|
||||
{{#each wrappedItems as wrappedItem, i @item}}
|
||||
<PseudoVirtualListLazyItem
|
||||
component="{{component}}"
|
||||
index="{{i}}"
|
||||
length="{{wrappedItems.length}}"
|
||||
makeProps="{{makeProps}}"
|
||||
key="{{wrappedItem.item}}"
|
||||
intersectionObserver="{{intersectionObserver}}"
|
||||
isIntersecting="{{isIntersecting(wrappedItem.item, $intersectionStates)}}"
|
||||
isCached="{{isCached(wrappedItem.item, $intersectionStates)}}"
|
||||
height="{{getHeight(wrappedItem.item, $intersectionStates)}}"
|
||||
component={{component}}
|
||||
index={{i}}
|
||||
length={{wrappedItems.length}}
|
||||
makeProps={{makeProps}}
|
||||
key={{wrappedItem.item}}
|
||||
intersectionObserver={{intersectionObserver}}
|
||||
isIntersecting={{isIntersecting(wrappedItem.item, $intersectionStates)}}
|
||||
isCached={{isCached(wrappedItem.item, $intersectionStates)}}
|
||||
height={{getHeight(wrappedItem.item, $intersectionStates)}}
|
||||
/>
|
||||
{{/each}}
|
||||
</div>
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
<div class="pseudo-virtual-list-item"
|
||||
aria-hidden="{{hide}}"
|
||||
pseudo-virtual-list-key="{{key}}"
|
||||
aria-hidden={{hide}}
|
||||
pseudo-virtual-list-key={{key}}
|
||||
style="height: {{shouldHide ? `${height}px` : ''}};"
|
||||
ref:node>
|
||||
{{#if !shouldHide}}
|
||||
<:Component {component}
|
||||
virtualProps="{{props}}"
|
||||
virtualIndex="{{index}}"
|
||||
virtualLength="{{length}}"
|
||||
virtualProps={{props}}
|
||||
virtualIndex={{index}}
|
||||
virtualLength={{length}}
|
||||
/>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
|
|
@ -11,9 +11,9 @@
|
|||
<div class="search-result-account-buttons">
|
||||
{{#each actions as action}}
|
||||
<IconButton
|
||||
label="{{action.label}}"
|
||||
label={{action.label}}
|
||||
on:click="onButtonClick(event, action, account.id)"
|
||||
href="{{action.icon}}"
|
||||
href={{action.icon}}
|
||||
big="true"
|
||||
/>
|
||||
{{/each}}
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
required
|
||||
bind:value="$queryInSearch">
|
||||
</div>
|
||||
<button type="submit" class="primary search-button" aria-label="Search" disabled="{{$searchLoading}}">
|
||||
<button type="submit" class="primary search-button" aria-label="Search" disabled={{$searchLoading}}>
|
||||
<svg class="search-button-svg">
|
||||
<use xlink:href="#fa-search" />
|
||||
</svg>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<li class="search-result">
|
||||
<a href="{{href}}" class="search-result-anchor">
|
||||
<a href={{href}} class="search-result-anchor">
|
||||
<slot></slot>
|
||||
</a>
|
||||
</li>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<AccountSearchResult :account />
|
||||
{{/each}}
|
||||
{{#each $searchResults.statuses as status, index}}
|
||||
<StatusSearchResult :status :index length="{{$searchResults.statuses.length}}"/>
|
||||
<StatusSearchResult :status :index length={{$searchResults.statuses.length}}/>
|
||||
{{/each}}
|
||||
</ul>
|
||||
<style>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<SearchResult href="/statuses/{{status.id}}">
|
||||
<Status :index :length
|
||||
timelineType="search" timelineValue="search"
|
||||
status="{{status}}" />
|
||||
status={{status}} />
|
||||
</SearchResult>
|
||||
<style>
|
||||
</style>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<div class="settings-list-wrapper">
|
||||
{{#if label}}
|
||||
<ul class="settings-list" aria-label="{{label}}">
|
||||
<ul class="settings-list" aria-label={{label}}>
|
||||
<slot></slot>
|
||||
</ul>
|
||||
{{else}}
|
||||
|
|
|
@ -2,15 +2,15 @@
|
|||
<a :href>
|
||||
{{#if icon}}
|
||||
<svg class="settings-list-item-svg">
|
||||
<use xlink:href="{{icon}}" />
|
||||
<use xlink:href={{icon}} />
|
||||
</svg>
|
||||
{{/if}}
|
||||
{{#if ariaLabel}}
|
||||
<span aria-label="{{ariaLabel}}" class="{{offsetForIcon ? 'offset-for-icon' : ''}}">
|
||||
<span aria-label={{ariaLabel}} class={{offsetForIcon ? 'offset-for-icon' : ''}}>
|
||||
{{label}}
|
||||
</span>
|
||||
{{else}}
|
||||
<span class="{{offsetForIcon ? 'offset-for-icon' : ''}}">
|
||||
<span class={{offsetForIcon ? 'offset-for-icon' : ''}}>
|
||||
{{label}}
|
||||
</span>
|
||||
{{/if}}
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
<ul>
|
||||
{{#each navItems as navItem}}
|
||||
<li>
|
||||
<SettingsNavItem :page name="{{navItem.name}}" href="{{navItem.href}}" label="{{navItem.label}}" />
|
||||
<SettingsNavItem :page name={{navItem.name}} href={{navItem.href}} label={{navItem.label}} />
|
||||
</li>
|
||||
{{/each}}
|
||||
<li>
|
||||
<SettingsNavItem :page name="{{page}}" href="/{{page}}" :label />
|
||||
<SettingsNavItem :page name={{page}} href="/{{page}}" :label />
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
<a class='settings-nav-item {{getCurrentClass(page, name)}}' aria-label='{{getAriaLabel(page, name, label)}}' href='{{href}}'>
|
||||
<a class="settings-nav-item {{getCurrentClass(page, name)}}"
|
||||
aria-label={{getAriaLabel(page, name, label)}}
|
||||
:href
|
||||
>
|
||||
{{label}}
|
||||
</a>
|
||||
<style>
|
||||
|
|
|
@ -2,59 +2,59 @@
|
|||
<button type="button"
|
||||
class="play-video-button"
|
||||
aria-label="Play video: {{description}}"
|
||||
delegate-key="{{delegateKey}}"
|
||||
delegate-key={{delegateKey}}
|
||||
style="width: {{inlineWidth}}px; height: {{inlineHeight}}px;">
|
||||
<PlayVideoIcon />
|
||||
<LazyImage
|
||||
alt="{{description}}"
|
||||
title="{{description}}"
|
||||
src="{{previewUrl}}"
|
||||
fallback="{{oneTransparentPixel}}"
|
||||
width="{{inlineWidth}}"
|
||||
height="{{inlineHeight}}"
|
||||
alt={{description}}
|
||||
title={{description}}
|
||||
src={{previewUrl}}
|
||||
fallback={{oneTransparentPixel}}
|
||||
width={{inlineWidth}}
|
||||
height={{inlineHeight}}
|
||||
background="var(--loading-bg)"
|
||||
className="{{noNativeWidthHeight ? 'no-native-width-height' : ''}}"
|
||||
className={{noNativeWidthHeight ? 'no-native-width-height' : ''}}
|
||||
/>
|
||||
</button>
|
||||
{{else}}
|
||||
<button type="button"
|
||||
class="show-image-button"
|
||||
aria-label="Show image: {{description}}"
|
||||
title="{{description}}"
|
||||
delegate-key="{{delegateKey}}"
|
||||
title={{description}}
|
||||
delegate-key={{delegateKey}}
|
||||
on:mouseover="set({mouseover: event})"
|
||||
style="width: {{inlineWidth}}px; height: {{inlineHeight}}px;"
|
||||
>
|
||||
{{#if type === 'gifv' && $autoplayGifs}}
|
||||
<AutoplayVideo
|
||||
className="{{noNativeWidthHeight ? 'no-native-width-height' : ''}}"
|
||||
className={{noNativeWidthHeight ? 'no-native-width-height' : ''}}
|
||||
ariaLabel="Animated GIF: {{description}}"
|
||||
poster="{{previewUrl}}"
|
||||
src="{{url}}"
|
||||
width="{{inlineWidth}}"
|
||||
height="{{inlineHeight}}"
|
||||
poster={{previewUrl}}
|
||||
src={{url}}
|
||||
width={{inlineWidth}}
|
||||
height={{inlineHeight}}
|
||||
/>
|
||||
{{elseif type === 'gifv' && !$autoplayGifs}}
|
||||
<NonAutoplayGifv
|
||||
class="{{noNativeWidthHeight ? 'no-native-width-height' : ''}}"
|
||||
class={{noNativeWidthHeight ? 'no-native-width-height' : ''}}
|
||||
label="Animated GIF: {{description}}"
|
||||
poster="{{previewUrl}}"
|
||||
src="{{url}}"
|
||||
staticSrc="{{previewUrl}}"
|
||||
width="{{inlineWidth}}"
|
||||
height="{{inlineHeight}}"
|
||||
playing="{{mouseover}}"
|
||||
poster={{previewUrl}}
|
||||
src={{url}}
|
||||
staticSrc={{previewUrl}}
|
||||
width={{inlineWidth}}
|
||||
height={{inlineHeight}}
|
||||
playing={{mouseover}}
|
||||
/>
|
||||
{{else}}
|
||||
<LazyImage
|
||||
alt="{{description}}"
|
||||
title="{{description}}"
|
||||
src="{{previewUrl}}"
|
||||
fallback="{{oneTransparentPixel}}"
|
||||
width="{{inlineWidth}}"
|
||||
height="{{inlineHeight}}"
|
||||
alt={{description}}
|
||||
title={{description}}
|
||||
src={{previewUrl}}
|
||||
fallback={{oneTransparentPixel}}
|
||||
width={{inlineWidth}}
|
||||
height={{inlineHeight}}
|
||||
background="var(--loading-bg)"
|
||||
className="{{noNativeWidthHeight ? 'no-native-width-height' : ''}}"
|
||||
className={{noNativeWidthHeight ? 'no-native-width-height' : ''}}
|
||||
/>
|
||||
{{/if}}
|
||||
</button>
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
{{#if notification.type === 'mention' || notification.type === 'reblog' || notification.type === 'favourite'}}
|
||||
<Status :index :length :timelineType :timelineValue :focusSelector
|
||||
status="{{notification.status}}"
|
||||
status={{notification.status}}
|
||||
:notification
|
||||
on:recalculateHeight
|
||||
/>
|
||||
{{else}}
|
||||
<article class="notification-article"
|
||||
tabindex="0"
|
||||
aria-posinset="{{index}}" aria-setsize="{{length}}" >
|
||||
aria-posinset={{index}} aria-setsize={{length}} >
|
||||
<StatusHeader :notification :notificationId :status :statusId :timelineType
|
||||
:account :accountId :uuid isStatusInNotification="true" />
|
||||
</article>
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
<article class="{{className}}"
|
||||
<article class={{className}}
|
||||
tabindex="0"
|
||||
delegate-key="{{delegateKey}}"
|
||||
focus-key="{{delegateKey}}"
|
||||
aria-posinset="{{index}}"
|
||||
aria-setsize="{{length}}"
|
||||
aria-label="{{ariaLabel}}"
|
||||
delegate-key={{delegateKey}}
|
||||
focus-key={{delegateKey}}
|
||||
aria-posinset={{index}}
|
||||
aria-setsize={{length}}
|
||||
aria-label={{ariaLabel}}
|
||||
on:recalculateHeight>
|
||||
{{#if showHeader}}
|
||||
<StatusHeader {{...params}} />
|
||||
|
@ -19,7 +19,7 @@
|
|||
<StatusSpoiler {{...params}} on:recalculateHeight />
|
||||
{{/if}}
|
||||
{{#if showContent || contentPreloaded}}
|
||||
<StatusContent {{...params}} shown="{{showContent}}"/>
|
||||
<StatusContent {{...params}} shown={{showContent}}/>
|
||||
{{/if}}
|
||||
{{#if showMedia }}
|
||||
<StatusMediaAttachments {{...params}} on:recalculateHeight />
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<a class="status-author-name {{isStatusInNotification ? 'status-in-notification' : '' }} {{isStatusInOwnThread ? 'status-in-own-thread' : ''}}"
|
||||
href="/accounts/{{originalAccountId}}"
|
||||
title="{{'@' + originalAccount.acct}}"
|
||||
focus-key="{{focusKey}}"
|
||||
focus-key={{focusKey}}
|
||||
>
|
||||
{{originalAccount.display_name || originalAccount.username}}
|
||||
</a>
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
<div class="status-article-compose-box">
|
||||
<ComposeBox realm="{{originalStatusId}}"
|
||||
<ComposeBox realm={{originalStatusId}}
|
||||
size="slim"
|
||||
autoFocus="true"
|
||||
hideBottomBorder="true"
|
||||
isReply="true"
|
||||
replyVisibility="{{visibility}}"
|
||||
replySpoiler="{{spoilerText}}"
|
||||
inReplyToUuid="{{uuid}}"
|
||||
replyVisibility={{visibility}}
|
||||
replySpoiler={{spoilerText}}
|
||||
inReplyToUuid={{uuid}}
|
||||
/>
|
||||
</div>
|
||||
<style>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<div class="{{computedClass}}" ref:node>
|
||||
<div class={{computedClass}} ref:node>
|
||||
{{{massagedContent}}}
|
||||
</div>
|
||||
<style>
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
<div class="status-details">
|
||||
<ExternalLink className="status-absolute-date"
|
||||
href="{{originalStatus.url}}"
|
||||
href={{originalStatus.url}}
|
||||
showIcon="true"
|
||||
ariaLabel="{{formattedDate}} (opens in new window)"
|
||||
>
|
||||
<time datetime={{createdAtDate}} title="{{formattedDate}}">{{formattedDate}}</time>
|
||||
<time datetime={{createdAtDate}} title={{formattedDate}}>{{formattedDate}}</time>
|
||||
</ExternalLink>
|
||||
<a class="status-favs-reblogs"
|
||||
href="/statuses/{{originalStatusId}}/reblogs"
|
||||
aria-label="{{reblogsLabel}}">
|
||||
aria-label={{reblogsLabel}}>
|
||||
<svg class="status-favs-reblogs-svg">
|
||||
<use xlink:href="#fa-retweet"/>
|
||||
</svg>
|
||||
|
@ -16,7 +16,7 @@
|
|||
</a>
|
||||
<a class="status-favs-reblogs"
|
||||
href="/statuses/{{originalStatusId}}/favorites"
|
||||
aria-label="{{favoritesLabel}}">
|
||||
aria-label={{favoritesLabel}}>
|
||||
<svg class="status-favs-reblogs-svg">
|
||||
<use xlink:href="#fa-star" />
|
||||
</svg>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<Avatar :account size="extra-small"/>
|
||||
</div>
|
||||
<svg class="status-header-svg">
|
||||
<use xlink:href="{{icon}}"/>
|
||||
<use xlink:href={{icon}}/>
|
||||
</svg>
|
||||
<span class="status-header-span">
|
||||
{{#if timelineType === 'pinned'}}
|
||||
|
@ -12,7 +12,7 @@
|
|||
<a href="/accounts/{{accountId}}"
|
||||
class="status-header-a"
|
||||
title="{{'@' + account.acct}}"
|
||||
focus-key="{{focusKey}}" >
|
||||
focus-key={{focusKey}} >
|
||||
{{account.display_name || account.username}}
|
||||
</a>
|
||||
{{#if notification && notification.type === 'reblog'}}
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<button type="button"
|
||||
class="status-sensitive-media-button"
|
||||
aria-label="Hide sensitive media"
|
||||
delegate-key="{{delegateKey}}" >
|
||||
delegate-key={{delegateKey}} >
|
||||
<div class="svg-wrapper">
|
||||
<svg class="status-sensitive-media-svg">
|
||||
<use xlink:href="#fa-eye-slash" />
|
||||
|
@ -17,7 +17,7 @@
|
|||
<button type="button"
|
||||
class="status-sensitive-media-button"
|
||||
aria-label="Show sensitive media"
|
||||
delegate-key="{{delegateKey}}" >
|
||||
delegate-key={{delegateKey}} >
|
||||
|
||||
<div class="status-sensitive-media-warning">
|
||||
<span>Sensitive content. Click to show.</span>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<a class="status-relative-date {{isStatusInNotification ? 'status-in-notification' : '' }}"
|
||||
href="/statuses/{{originalStatusId}}"
|
||||
focus-key="{{focusKey}}"
|
||||
focus-key={{focusKey}}
|
||||
>
|
||||
<time datetime={{createdAtDate}} title="{{relativeDate}}"
|
||||
<time datetime={{createdAtDate}} title={{relativeDate}}
|
||||
aria-label="{{relativeDate}} – click to show thread">
|
||||
{{relativeDate}}
|
||||
</time>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<a class="status-sidebar size-{{size}}"
|
||||
href="/accounts/{{originalAccountId}}"
|
||||
focus-key="{{focusKey}}"
|
||||
focus-key={{focusKey}}
|
||||
aria-hidden="true"
|
||||
>
|
||||
<Avatar account={{originalAccount}}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<p>{{{massagedSpoilerText}}}</p>
|
||||
</div>
|
||||
<div class="status-spoiler-button {{isStatusInOwnThread ? 'status-in-own-thread' : ''}}">
|
||||
<button type="button" delegate-key="{{delegateKey}}">
|
||||
<button type="button" delegate-key={{delegateKey}}>
|
||||
{{spoilerShown ? 'Show less' : 'Show more'}}
|
||||
</button>
|
||||
</div>
|
||||
|
|
|
@ -1,34 +1,34 @@
|
|||
<div class="status-toolbar {{isStatusInOwnThread ? 'status-in-own-thread' : ''}}" ref:node>
|
||||
<IconButton
|
||||
className="status-toolbar-reply-button"
|
||||
label="{{replyLabel}}"
|
||||
label={{replyLabel}}
|
||||
pressable="true"
|
||||
pressed="{{replyShown}}"
|
||||
pressed={{replyShown}}
|
||||
href="#fa-reply"
|
||||
delegateKey="{{replyKey}}"
|
||||
focusKey="{{replyKey}}"
|
||||
delegateKey={{replyKey}}
|
||||
focusKey={{replyKey}}
|
||||
/>
|
||||
<IconButton
|
||||
label="{{reblogLabel}}"
|
||||
pressable="{{!reblogDisabled}}"
|
||||
pressed="{{reblogged}}"
|
||||
disabled="{{reblogDisabled}}"
|
||||
href="{{reblogIcon}}"
|
||||
delegateKey="{{reblogKey}}"
|
||||
label={{reblogLabel}}
|
||||
pressable={{!reblogDisabled}}
|
||||
pressed={{reblogged}}
|
||||
disabled={{reblogDisabled}}
|
||||
href={{reblogIcon}}
|
||||
delegateKey={{reblogKey}}
|
||||
ref:reblogIcon
|
||||
/>
|
||||
<IconButton
|
||||
label="Favorite"
|
||||
pressable="true"
|
||||
pressed="{{favorited}}"
|
||||
pressed={{favorited}}
|
||||
href="#fa-star"
|
||||
delegateKey="{{favoriteKey}}"
|
||||
delegateKey={{favoriteKey}}
|
||||
ref:favoriteIcon
|
||||
/>
|
||||
<IconButton
|
||||
label="Show more options"
|
||||
href="#fa-ellipsis-h"
|
||||
delegateKey="{{optionsKey}}"
|
||||
delegateKey={{optionsKey}}
|
||||
/>
|
||||
</div>
|
||||
<style>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<MoreHeader count="{{virtualProps.count}}"
|
||||
onClick="{{virtualProps.onClick}}"
|
||||
<MoreHeader count={{virtualProps.count}}
|
||||
onClick={{virtualProps.onClick}}
|
||||
/>
|
||||
<script>
|
||||
import MoreHeader from './MoreHeader.html'
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
<Notification
|
||||
notification="{{virtualProps.notification}}"
|
||||
timelineType="{{virtualProps.timelineType}}"
|
||||
timelineValue="{{virtualProps.timelineValue}}"
|
||||
focusSelector="{{virtualProps.focusSelector}}"
|
||||
index="{{virtualIndex}}"
|
||||
length="{{virtualLength}}"
|
||||
notification={{virtualProps.notification}}
|
||||
timelineType={{virtualProps.timelineType}}
|
||||
timelineValue={{virtualProps.timelineValue}}
|
||||
focusSelector={{virtualProps.focusSelector}}
|
||||
index={{virtualIndex}}
|
||||
length={{virtualLength}}
|
||||
on:recalculateHeight />
|
||||
<script>
|
||||
import Notification from '../status/Notification.html'
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
{{#each pinnedStatuses as status, index @id}}
|
||||
<Status :status
|
||||
timelineType="pinned"
|
||||
timelineValue="{{accountId}}"
|
||||
timelineValue={{accountId}}
|
||||
:index
|
||||
length="{{pinnedStatuses.length}}"
|
||||
length={{pinnedStatuses.length}}
|
||||
/>
|
||||
{{/each}}
|
||||
</div>
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
<Status status="{{virtualProps.status}}"
|
||||
timelineType="{{virtualProps.timelineType}}"
|
||||
timelineValue="{{virtualProps.timelineValue}}"
|
||||
focusSelector="{{virtualProps.focusSelector}}"
|
||||
index="{{virtualIndex}}"
|
||||
length="{{virtualLength}}"
|
||||
<Status status={{virtualProps.status}}
|
||||
timelineType={{virtualProps.timelineType}}
|
||||
timelineValue={{virtualProps.timelineValue}}
|
||||
focusSelector={{virtualProps.focusSelector}}
|
||||
index={{virtualIndex}}
|
||||
length={{virtualLength}}
|
||||
on:recalculateHeight />
|
||||
<script>
|
||||
import Status from '../status/Status.html'
|
||||
|
|
|
@ -7,15 +7,15 @@
|
|||
{{#await componentsPromise}}
|
||||
{{then result}}
|
||||
<:Component {result.listComponent}
|
||||
component="{{result.listItemComponent}}"
|
||||
component={{result.listItemComponent}}
|
||||
realm="{{$currentInstance + '/' + timeline}}"
|
||||
containerQuery=".container"
|
||||
:makeProps
|
||||
items="{{$timelineItemIds}}"
|
||||
showFooter="{{$timelineInitialized && $runningUpdate}}"
|
||||
footerComponent="{{LoadingFooter}}"
|
||||
showHeader="{{$showHeader}}"
|
||||
headerComponent="{{MoreHeaderVirtualWrapper}}"
|
||||
items={{$timelineItemIds}}
|
||||
showFooter={{$timelineInitialized && $runningUpdate}}
|
||||
footerComponent={{LoadingFooter}}
|
||||
showHeader={{$showHeader}}
|
||||
headerComponent={{MoreHeaderVirtualWrapper}}
|
||||
:headerProps
|
||||
:scrollToItem
|
||||
on:scrollToBottom="onScrollToBottom()"
|
||||
|
|
|
@ -2,19 +2,19 @@
|
|||
<div class="virtual-list"
|
||||
style="height: {{$height}}px;"
|
||||
ref:node >
|
||||
<VirtualListHeader component="{{headerComponent}}" virtualProps="{{headerProps}}" shown="{{$showHeader}}"/>
|
||||
<VirtualListHeader component={{headerComponent}} virtualProps={{headerProps}} shown={{$showHeader}}/>
|
||||
{{#if $visibleItems}}
|
||||
{{#each $visibleItems as visibleItem @key}}
|
||||
<VirtualListLazyItem :component
|
||||
offset="{{visibleItem.offset}}"
|
||||
makeProps="{{makeProps}}"
|
||||
key="{{visibleItem.key}}"
|
||||
index="{{visibleItem.index}}"
|
||||
offset={{visibleItem.offset}}
|
||||
makeProps={{makeProps}}
|
||||
key={{visibleItem.key}}
|
||||
index={{visibleItem.index}}
|
||||
/>
|
||||
{{/each}}
|
||||
{{/if}}
|
||||
{{#if $showFooter}}
|
||||
<VirtualListFooter component="{{footerComponent}}" />
|
||||
<VirtualListFooter component={{footerComponent}} />
|
||||
{{/if}}
|
||||
</div>
|
||||
</VirtualListContainer>
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
<div class="virtual-list-item {{shown ? 'shown' : ''}}"
|
||||
aria-hidden="{{!shown}}"
|
||||
virtual-list-key="{{key}}"
|
||||
aria-hidden={{!shown}}
|
||||
virtual-list-key={{key}}
|
||||
ref:node
|
||||
style="transform: translateY({{offset}}px);" >
|
||||
<:Component {component}
|
||||
virtualProps="{{props}}"
|
||||
virtualIndex="{{index}}"
|
||||
virtualLength="{{$length}}"
|
||||
virtualProps={{props}}
|
||||
virtualIndex={{index}}
|
||||
virtualLength={{$length}}
|
||||
on:recalculateHeight="doRecalculateHeight()"/>
|
||||
</div>
|
||||
<style>
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
<TimelinePage timeline="account/{{params.accountId}}">
|
||||
<DynamicPageBanner title="" />
|
||||
{{#if $currentAccountProfile && $currentVerifyCredentials}}
|
||||
<AccountProfile account="{{$currentAccountProfile}}"
|
||||
relationship="{{$currentAccountRelationship}}"
|
||||
verifyCredentials="{{$currentVerifyCredentials}}"
|
||||
<AccountProfile account={{$currentAccountProfile}}
|
||||
relationship={{$currentAccountRelationship}}
|
||||
verifyCredentials={{$currentVerifyCredentials}}
|
||||
/>
|
||||
{{/if}}
|
||||
<PinnedStatuses accountId="{{params.accountId}}" />
|
||||
<PinnedStatuses accountId={{params.accountId}} />
|
||||
</TimelinePage>
|
||||
{{else}}
|
||||
<HiddenFromSSR>
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
<PageList label="Lists">
|
||||
{{#each $lists as list}}
|
||||
<PageListItem href="/lists/{{list.id}}"
|
||||
label="{{list.title}}"
|
||||
label={{list.title}}
|
||||
icon="#fa-bars"
|
||||
pinnable="true"
|
||||
/>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{{#if $isUserLoggedIn}}
|
||||
<TimelinePage timeline="list/{{params.listId}}">
|
||||
{{#if $pinnedPage !== `/lists/${params.listId}`}}
|
||||
<DynamicPageBanner title="{{listTitle}}" icon="#fa-bars"/>
|
||||
<DynamicPageBanner title={{listTitle}} icon="#fa-bars"/>
|
||||
{{/if}}
|
||||
</TimelinePage>
|
||||
{{else}}
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
{{elseif statuses && statuses.length}}
|
||||
<ul class="pinned-toots-results">
|
||||
{{#each statuses as status, index}}
|
||||
<StatusSearchResult :status :index length="{{statuses.length}}" />
|
||||
<StatusSearchResult :status :index length={{statuses.length}} />
|
||||
{{/each}}
|
||||
</ul>
|
||||
{{/if}}
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
<SettingsLayout page='settings/instances/{{params.instanceName}}' label="{{params.instanceName}}">
|
||||
<SettingsLayout page='settings/instances/{{params.instanceName}}' label={{params.instanceName}}>
|
||||
<h1 class="instance-name-h1">{{params.instanceName}}</h1>
|
||||
|
||||
{{#if verifyCredentials}}
|
||||
<h2>Logged in as:</h2>
|
||||
<div class="acct-current-user">
|
||||
<Avatar account="{{verifyCredentials}}" className="acct-avatar" size="big"/>
|
||||
<Avatar account={{verifyCredentials}} className="acct-avatar" size="big"/>
|
||||
<ExternalLink className="acct-handle"
|
||||
href="{{verifyCredentials.url}}">
|
||||
href={{verifyCredentials.url}}>
|
||||
{{'@' + verifyCredentials.acct}}
|
||||
</ExternalLink>
|
||||
<span class="acct-display-name">{{verifyCredentials.display_name || verifyCredentials.acct}}</span>
|
||||
|
@ -16,7 +16,7 @@
|
|||
{{#each themes as theme}}
|
||||
<div class="theme-group">
|
||||
<input type="radio" id="choice-theme-{{theme.name}}"
|
||||
value="{{theme.name}}" checked="$currentTheme === theme.name"
|
||||
value={{theme.name}} checked="$currentTheme === theme.name"
|
||||
bind:group="selectedTheme" on:change="onThemeChange()">
|
||||
<label for="choice-theme-{{theme.name}}">{{theme.label}}</label>
|
||||
</div>
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
bind:value='$instanceNameInSearch' placeholder='' required
|
||||
>
|
||||
<button class="primary" type="submit" id="submitButton"
|
||||
disabled="{{!$instanceNameInSearch || $logInToInstanceLoading}}">
|
||||
disabled={{!$instanceNameInSearch || $logInToInstanceLoading}}>
|
||||
Add instance
|
||||
</button>
|
||||
</form>
|
||||
|
|
|
@ -5,10 +5,10 @@
|
|||
<p>Instances you've logged in to:</p>
|
||||
<SettingsList label="Instances">
|
||||
{{#each $loggedInInstancesAsList as instance}}
|
||||
<SettingsListItem offsetForIcon="{{instance.name !== $currentInstance}}"
|
||||
icon="{{instance.name === $currentInstance ? '#fa-star' : ''}}"
|
||||
<SettingsListItem offsetForIcon={{instance.name !== $currentInstance}}
|
||||
icon={{instance.name === $currentInstance ? '#fa-star' : ''}}
|
||||
href="/settings/instances/{{instance.name}}"
|
||||
label="{{instance.name}}"
|
||||
label={{instance.name}}
|
||||
ariaLabel="{{instance.name}} {{instance.name === $currentInstance ? '(current instance)' : ''}}" />
|
||||
{{/each}}
|
||||
</SettingsList>
|
||||
|
|
Loading…
Reference in a new issue