mirror of
https://git.joinsharkey.org/Sharkey/Sharkey.git
synced 2024-11-09 00:23:08 +02:00
WIP #332
This commit is contained in:
parent
c63ce03431
commit
b736e78af2
17 changed files with 180 additions and 40 deletions
|
@ -199,3 +199,73 @@ mobile:
|
|||
loading: "Loading"
|
||||
nothing-in-drive: "Nothing"
|
||||
folder-is-empty: "This folder is empty"
|
||||
|
||||
mk-follow-button:
|
||||
follow: "フォロー"
|
||||
unfollow: "フォロー解除"
|
||||
|
||||
mk-home-timeline:
|
||||
empty-timeline: "表示する投稿がありません。誰かしらをフォローするなどしましょう。"
|
||||
|
||||
mk-notifications:
|
||||
empty: "ありません!"
|
||||
loading: "読み込み中"
|
||||
|
||||
mk-post-detail:
|
||||
reply: "返信"
|
||||
reaction: "リアクション"
|
||||
|
||||
mk-post-form:
|
||||
submit: "投稿"
|
||||
reply-placeholder: "この投稿への返信..."
|
||||
post-placeholder: "いまどうしてる?"
|
||||
attach-media-from-local: "モバイルからメディアを添付"
|
||||
|
||||
mk-search-posts:
|
||||
empty: "「{}」に関する投稿は見つかりませんでした。"
|
||||
|
||||
mk-sub-post-content:
|
||||
media-count: "{}個のメディア"
|
||||
poll: "投票"
|
||||
|
||||
mk-timeline-post:
|
||||
reposted-by: "{}がRepost"
|
||||
|
||||
mk-timeline:
|
||||
loading: "読み込み中"
|
||||
empty: "表示するものがありません"
|
||||
load-more: "もっとみる"
|
||||
|
||||
mk-ui-nav:
|
||||
home: "ホーム"
|
||||
notifications: "通知"
|
||||
messaging: "メッセージ"
|
||||
live: "ライブ"
|
||||
search: "検索"
|
||||
drive: "ドライブ"
|
||||
settings: "設定"
|
||||
about: "Misskeyについて"
|
||||
search: "検索"
|
||||
|
||||
mk-user-followers:
|
||||
no-users: "フォロワーはいないようです。"
|
||||
|
||||
mk-user-following:
|
||||
no-users: "フォロー中のユーザーはいないようです。"
|
||||
|
||||
mk-user-timeline:
|
||||
no-posts: "このユーザーはまだ投稿していないようです。"
|
||||
no-posts-with-media: "メディア付き投稿はありません。"
|
||||
|
||||
mk-user:
|
||||
is-followed: "フォローされています"
|
||||
following: "フォロー"
|
||||
followers: "フォロワー"
|
||||
posts: "タイムライン"
|
||||
media: "メディア"
|
||||
|
||||
mk-users-list:
|
||||
all: "すべて"
|
||||
known: "知り合い"
|
||||
load-more: "もっと"
|
||||
loading: "読み込み中"
|
||||
|
|
|
@ -199,3 +199,73 @@ mobile:
|
|||
loading: "読み込み中"
|
||||
nothing-in-drive: "ドライブには何もありません"
|
||||
folder-is-empty: "このフォルダは空です"
|
||||
|
||||
mk-follow-button:
|
||||
follow: "フォロー"
|
||||
unfollow: "フォロー解除"
|
||||
|
||||
mk-home-timeline:
|
||||
empty-timeline: "表示する投稿がありません。誰かしらをフォローするなどしましょう。"
|
||||
|
||||
mk-notifications:
|
||||
empty: "ありません!"
|
||||
loading: "読み込み中"
|
||||
|
||||
mk-post-detail:
|
||||
reply: "返信"
|
||||
reaction: "リアクション"
|
||||
|
||||
mk-post-form:
|
||||
submit: "投稿"
|
||||
reply-placeholder: "この投稿への返信..."
|
||||
post-placeholder: "いまどうしてる?"
|
||||
attach-media-from-local: "モバイルからメディアを添付"
|
||||
|
||||
mk-search-posts:
|
||||
empty: "「{}」に関する投稿は見つかりませんでした。"
|
||||
|
||||
mk-sub-post-content:
|
||||
media-count: "{}個のメディア"
|
||||
poll: "投票"
|
||||
|
||||
mk-timeline-post:
|
||||
reposted-by: "{}がRepost"
|
||||
|
||||
mk-timeline:
|
||||
loading: "読み込み中"
|
||||
empty: "表示するものがありません"
|
||||
load-more: "もっとみる"
|
||||
|
||||
mk-ui-nav:
|
||||
home: "ホーム"
|
||||
notifications: "通知"
|
||||
messaging: "メッセージ"
|
||||
live: "ライブ"
|
||||
search: "検索"
|
||||
drive: "ドライブ"
|
||||
settings: "設定"
|
||||
about: "Misskeyについて"
|
||||
search: "検索"
|
||||
|
||||
mk-user-followers:
|
||||
no-users: "フォロワーはいないようです。"
|
||||
|
||||
mk-user-following:
|
||||
no-users: "フォロー中のユーザーはいないようです。"
|
||||
|
||||
mk-user-timeline:
|
||||
no-posts: "このユーザーはまだ投稿していないようです。"
|
||||
no-posts-with-media: "メディア付き投稿はありません。"
|
||||
|
||||
mk-user:
|
||||
is-followed: "フォローされています"
|
||||
following: "フォロー"
|
||||
followers: "フォロワー"
|
||||
posts: "タイムライン"
|
||||
media: "メディア"
|
||||
|
||||
mk-users-list:
|
||||
all: "すべて"
|
||||
known: "知り合い"
|
||||
load-more: "もっと"
|
||||
loading: "読み込み中"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<mk-follow-button>
|
||||
<button class={ wait: wait, follow: !user.is_following, unfollow: user.is_following } if={ !init } onclick={ onclick } disabled={ wait }><i class="fa fa-minus" if={ !wait && user.is_following }></i><i class="fa fa-plus" if={ !wait && !user.is_following }></i><i class="fa fa-spinner fa-pulse fa-fw" if={ wait }></i>{ user.is_following ? 'フォロー解除' : 'フォロー' }</button>
|
||||
<button class={ wait: wait, follow: !user.is_following, unfollow: user.is_following } if={ !init } onclick={ onclick } disabled={ wait }><i class="fa fa-minus" if={ !wait && user.is_following }></i><i class="fa fa-plus" if={ !wait && !user.is_following }></i><i class="fa fa-spinner fa-pulse fa-fw" if={ wait }></i>{ user.is_following ? '%i18n:mobile.tags.mk-follow-button.unfollow%' : '%i18n:mobile.tags.mk-follow-button.follow%' }</button>
|
||||
<div class="init" if={ init }><i class="fa fa-spinner fa-pulse fa-fw"></i></div>
|
||||
<style>
|
||||
:scope
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<mk-home-timeline>
|
||||
<mk-timeline ref="timeline" init={ init } more={ more } empty={ '表示する投稿がありません。誰かしらをフォローするなどしましょう。' }></mk-timeline>
|
||||
<mk-timeline ref="timeline" init={ init } more={ more } empty={ '%i18n:mobile.tags.mk-home-timeline.empty-timeline%' }></mk-timeline>
|
||||
<style>
|
||||
:scope
|
||||
display block
|
||||
|
|
|
@ -5,8 +5,8 @@
|
|||
<p class="date" if={ i != notifications.length - 1 && notification._date != notifications[i + 1]._date }><span><i class="fa fa-angle-up"></i>{ notification._datetext }</span><span><i class="fa fa-angle-down"></i>{ notifications[i + 1]._datetext }</span></p>
|
||||
</virtual>
|
||||
</div>
|
||||
<p class="empty" if={ notifications.length == 0 && !loading }>ありません!</p>
|
||||
<p class="loading" if={ loading }><i class="fa fa-spinner fa-pulse fa-fw"></i>読み込んでいます
|
||||
<p class="empty" if={ notifications.length == 0 && !loading }>%i18n:mobile.tags.mk-notifications.empty%</p>
|
||||
<p class="loading" if={ loading }><i class="fa fa-spinner fa-pulse fa-fw"></i>%i18n:mobile.tags.mk-notifications.loading%
|
||||
<mk-ellipsis></mk-ellipsis>
|
||||
</p>
|
||||
<style>
|
||||
|
|
|
@ -47,13 +47,13 @@
|
|||
</a>
|
||||
<footer>
|
||||
<mk-reactions-viewer post={ p }></mk-reactions-viewer>
|
||||
<button onclick={ reply } title="返信"><i class="fa fa-reply"></i>
|
||||
<button onclick={ reply } title="%i18n:mobile.tags.mk-post-detail.reply%"><i class="fa fa-reply"></i>
|
||||
<p class="count" if={ p.replies_count > 0 }>{ p.replies_count }</p>
|
||||
</button>
|
||||
<button onclick={ repost } title="Repost"><i class="fa fa-retweet"></i>
|
||||
<p class="count" if={ p.repost_count > 0 }>{ p.repost_count }</p>
|
||||
</button>
|
||||
<button class={ reacted: p.my_reaction != null } onclick={ react } ref="reactButton" title="リアクション"><i class="fa fa-plus"></i>
|
||||
<button class={ reacted: p.my_reaction != null } onclick={ react } ref="reactButton" title="%i18n:mobile.tags.mk-post-detail.reaction%"><i class="fa fa-plus"></i>
|
||||
<p class="count" if={ p.reactions_count > 0 }>{ p.reactions_count }</p>
|
||||
</button>
|
||||
<button><i class="fa fa-ellipsis-h"></i></button>
|
||||
|
|
|
@ -4,19 +4,19 @@
|
|||
<button class="cancel" onclick={ cancel }><i class="fa fa-times"></i></button>
|
||||
<div>
|
||||
<span if={ refs.text } class="text-count { over: refs.text.value.length > 1000 }">{ 1000 - refs.text.value.length }</span>
|
||||
<button class="submit" onclick={ post }>投稿</button>
|
||||
<button class="submit" onclick={ post }>%i18n:mobile.tags.mk-post-form.submit%</button>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
<div class="form">
|
||||
<mk-post-preview if={ opts.reply } post={ opts.reply }></mk-post-preview>
|
||||
<textarea ref="text" disabled={ wait } oninput={ update } onkeydown={ onkeydown } onpaste={ onpaste } placeholder={ opts.reply ? 'この投稿への返信...' : 'いまどうしてる?' }></textarea>
|
||||
<textarea ref="text" disabled={ wait } oninput={ update } onkeydown={ onkeydown } onpaste={ onpaste } placeholder={ opts.reply ? '%i18n:mobile.tags.mk-post-form.reply-placeholder%' : '%i18n:mobile.tags.mk-post-form.post-placeholder%' }></textarea>
|
||||
<div class="attaches" if={ files.length != 0 }>
|
||||
<ul class="files" ref="attaches">
|
||||
<li class="file" each={ files }>
|
||||
<div class="img" style="background-image: url({ url + '?thumbnail&size=64' })" title={ name }></div>
|
||||
</li>
|
||||
<li class="add" if={ files.length < 4 } title="PCからファイルを添付" onclick={ selectFile }><i class="fa fa-plus"></i></li>
|
||||
<li class="add" if={ files.length < 4 } title="%i18n:mobile.tags.mk-post-form.attach-media-from-local%" onclick={ selectFile }><i class="fa fa-plus"></i></li>
|
||||
</ul>
|
||||
</div>
|
||||
<mk-poll-editor if={ poll } ref="poll" ondestroy={ onPollDestroyed }></mk-poll-editor>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<mk-search-posts>
|
||||
<mk-timeline init={ init } more={ more } empty={ '「' + query + '」に関する投稿は見つかりませんでした。' }></mk-timeline>
|
||||
<mk-timeline init={ init } more={ more } empty={ '%i18n:mobile.tags.mk-search-posts.empty%'.replace('{}', query) }></mk-timeline>
|
||||
<style>
|
||||
:scope
|
||||
display block
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
<mk-sub-post-content>
|
||||
<div class="body"><a class="reply" if={ post.reply_to_id }><i class="fa fa-reply"></i></a><span ref="text"></span><a class="quote" if={ post.repost_id } href={ '/post:' + post.repost_id }>RP: ...</a></div>
|
||||
<details if={ post.media }>
|
||||
<summary>({ post.media.length }つのメディア)</summary>
|
||||
<summary>({ post.media.length }個のメディア)</summary>
|
||||
<mk-images-viewer images={ post.media }></mk-images-viewer>
|
||||
</details>
|
||||
<details if={ post.poll }>
|
||||
<summary>投票</summary>
|
||||
<summary>%i18n:mobile.tags.mk-sub-post-content.poll%</summary>
|
||||
<mk-poll post={ post }></mk-poll>
|
||||
</details>
|
||||
<style>
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<img class="avatar" src={ post.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/>
|
||||
</a>
|
||||
<i class="fa fa-retweet"></i>
|
||||
<a class="name" href={ CONFIG.url + '/' + post.user.username }>{ post.user.name }</a>がRepost
|
||||
<a class="name" href={ CONFIG.url + '/' + post.user.username }>{ '%i18n:mobile.tags.mk-timeline-post.reposted-by%'.replace('{}', post.user.name) }</a>
|
||||
</p>
|
||||
<mk-time time={ post.created_at }></mk-time>
|
||||
</div>
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
<mk-timeline>
|
||||
<div class="init" if={ init }>
|
||||
<i class="fa fa-spinner fa-pulse"></i>読み込んでいます
|
||||
<i class="fa fa-spinner fa-pulse"></i>%i18n:mobile.tags.mk-timeline.loading%
|
||||
</div>
|
||||
<div class="empty" if={ !init && posts.length == 0 }>
|
||||
<i class="fa fa-comments-o"></i>{ opts.empty || '表示するものがありません' }
|
||||
<i class="fa fa-comments-o"></i>{ opts.empty || '%i18n:mobile.tags.mk-timeline.empty%' }
|
||||
</div>
|
||||
<virtual each={ post, i in posts }>
|
||||
<mk-timeline-post post={ post }></mk-timeline-post>
|
||||
|
@ -14,8 +14,8 @@
|
|||
</virtual>
|
||||
<footer if={ !init }>
|
||||
<button if={ canFetchMore } onclick={ more } disabled={ fetching }>
|
||||
<span if={ !fetching }>もっとみる</span>
|
||||
<span if={ fetching }>読み込み中<mk-ellipsis></mk-ellipsis></span>
|
||||
<span if={ !fetching }>%i18n:mobile.tags.mk-timeline.load-more%</span>
|
||||
<span if={ fetching }>%i18n:mobile.tags.mk-timeline.loading%<mk-ellipsis></mk-ellipsis></span>
|
||||
</button>
|
||||
</footer>
|
||||
<style>
|
||||
|
|
|
@ -7,22 +7,22 @@
|
|||
</a>
|
||||
<div class="links">
|
||||
<ul>
|
||||
<li class="home"><a href="/"><i class="icon fa fa-home"></i>ホーム<i class="angle fa fa-angle-right"></i></a></li>
|
||||
<li class="notifications"><a href="/i/notifications"><i class="icon fa fa-bell-o"></i>通知<i class="angle fa fa-angle-right"></i></a></li>
|
||||
<li class="messaging"><a href="/i/messaging"><i class="icon fa fa-comments-o"></i>メッセージ<i class="angle fa fa-angle-right"></i></a></li>
|
||||
<li class="live"><a href="//misskey.tk" target="_blank"><i class="icon fa fa-television"></i>ライブ<i class="angle fa fa-angle-right"></i></a></li>
|
||||
<li class="home"><a href="/"><i class="icon fa fa-home"></i>%i18n:mobile.tags.mk-ui-nav.home%<i class="angle fa fa-angle-right"></i></a></li>
|
||||
<li class="notifications"><a href="/i/notifications"><i class="icon fa fa-bell-o"></i>%i18n:mobile.tags.mk-ui-nav.notifications%<i class="angle fa fa-angle-right"></i></a></li>
|
||||
<li class="messaging"><a href="/i/messaging"><i class="icon fa fa-comments-o"></i>%i18n:mobile.tags.mk-ui-nav.messaging%<i class="angle fa fa-angle-right"></i></a></li>
|
||||
<li class="live"><a href="//misskey.tk" target="_blank"><i class="icon fa fa-television"></i>%i18n:mobile.tags.mk-ui-nav.live%<i class="angle fa fa-angle-right"></i></a></li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li class="settings"><a onclick={ search }><i class="icon fa fa-search"></i>検索<i class="angle fa fa-angle-right"></i></a></li>
|
||||
<li class="settings"><a onclick={ search }><i class="icon fa fa-search"></i>%i18n:mobile.tags.mk-ui-nav.search%<i class="angle fa fa-angle-right"></i></a></li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li class="settings"><a href="/i/drive"><i class="icon fa fa-cloud"></i>ドライブ<i class="angle fa fa-angle-right"></i></a></li>
|
||||
<li class="settings"><a href="/i/drive"><i class="icon fa fa-cloud"></i>%i18n:mobile.tags.mk-ui-nav.drive%<i class="angle fa fa-angle-right"></i></a></li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li class="settings"><a href="/i/settings"><i class="icon fa fa-cog"></i>設定<i class="angle fa fa-angle-right"></i></a></li>
|
||||
<li class="settings"><a href="/i/settings"><i class="icon fa fa-cog"></i>%i18n:mobile.tags.mk-ui-nav.settings%<i class="angle fa fa-angle-right"></i></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<p class="about" href={ CONFIG.aboutUrl }><a>Misskeyについて</a></p>
|
||||
<p class="about" href={ CONFIG.aboutUrl }><a>%i18n:mobile.tags.mk-ui-nav.about%</a></p>
|
||||
</div>
|
||||
<style>
|
||||
:scope
|
||||
|
@ -122,7 +122,7 @@
|
|||
this.mixin('page');
|
||||
|
||||
this.search = () => {
|
||||
const query = window.prompt('検索');
|
||||
const query = window.prompt('%i18n:mobile.tags.mk-ui-nav.search%');
|
||||
if (query == null || query == '') return;
|
||||
this.page('/search:' + query);
|
||||
};
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<mk-user-followers>
|
||||
<mk-users-list ref="list" fetch={ fetch } count={ user.followers_count } you-know-count={ user.followers_you_know_count } no-users={ 'フォロワーはいないようです。' }></mk-users-list>
|
||||
<mk-users-list ref="list" fetch={ fetch } count={ user.followers_count } you-know-count={ user.followers_you_know_count } no-users={ '%i18n:mobile.tags.mk-user-followers.no-users%' }></mk-users-list>
|
||||
<style>
|
||||
:scope
|
||||
display block
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<mk-user-following>
|
||||
<mk-users-list ref="list" fetch={ fetch } count={ user.following_count } you-know-count={ user.following_you_know_count } no-users={ 'フォロー中のユーザーはいないようです。' }></mk-users-list>
|
||||
<mk-users-list ref="list" fetch={ fetch } count={ user.following_count } you-know-count={ user.following_you_know_count } no-users={ '%i18n:mobile.tags.mk-user-following.no-users%' }></mk-users-list>
|
||||
<style>
|
||||
:scope
|
||||
display block
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<mk-user-timeline>
|
||||
<mk-timeline ref="timeline" init={ init } more={ more } empty={ withMedia ? 'メディア付き投稿はありません。' : 'このユーザーはまだ投稿していないようです。' }></mk-timeline>
|
||||
<mk-timeline ref="timeline" init={ init } more={ more } empty={ withMedia ? '%i18n:mobile.tags.mk-user-timeline.no-posts-with-media%' : '%i18n:mobile.tags.mk-user-timeline.no-posts%' }></mk-timeline>
|
||||
<style>
|
||||
:scope
|
||||
display block
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
<div class="title">
|
||||
<h1>{ user.name }</h1>
|
||||
<span class="username">@{ user.username }</span>
|
||||
<span class="followed" if={ user.is_followed }>フォローされています</span>
|
||||
<span class="followed" if={ user.is_followed }>%i18n:mobile.tags.mk-user.is-followed%</span>
|
||||
</div>
|
||||
<div class="description">{ user.description }</div>
|
||||
<div class="info">
|
||||
|
@ -26,18 +26,18 @@
|
|||
<div class="friends">
|
||||
<a href="{ user.username }/following">
|
||||
<b>{ user.following_count }</b>
|
||||
<i>フォロー</i>
|
||||
<i>%i18n:mobile.tags.mk-user.following%</i>
|
||||
</a>
|
||||
<a href="{ user.username }/followers">
|
||||
<b>{ user.followers_count }</b>
|
||||
<i>フォロワー</i>
|
||||
<i>%i18n:mobile.tags.mk-user.followers%</i>
|
||||
</a>
|
||||
</div>
|
||||
<mk-activity-table user={ user }></mk-activity-table>
|
||||
</div>
|
||||
<nav>
|
||||
<a data-is-active={ page == 'posts' } onclick={ go.bind(null, 'posts') }>タイムライン</a>
|
||||
<a data-is-active={ page == 'media' } onclick={ go.bind(null, 'media') }>メディア</a>
|
||||
<a data-is-active={ page == 'posts' } onclick={ go.bind(null, 'posts') }>%i18n:mobile.tags.mk-user.posts%</a>
|
||||
<a data-is-active={ page == 'media' } onclick={ go.bind(null, 'media') }>%i18n:mobile.tags.mk-user.media%</a>
|
||||
</nav>
|
||||
</header>
|
||||
<div class="body">
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
<mk-users-list>
|
||||
<nav>
|
||||
<span data-is-active={ mode == 'all' } onclick={ setMode.bind(this, 'all') }>すべて<span>{ opts.count }</span></span>
|
||||
<span data-is-active={ mode == 'all' } onclick={ setMode.bind(this, 'all') }>%i18n:mobile.tags.mk-users-list.all%<span>{ opts.count }</span></span>
|
||||
<!-- ↓ https://github.com/riot/riot/issues/2080-->
|
||||
<span if={ SIGNIN && opts.youKnowCount != '' } data-is-active={ mode == 'iknow' } onclick={ setMode.bind(this, 'iknow') }>知り合い<span>{ opts.youKnowCount }</span></span>
|
||||
<span if={ SIGNIN && opts.youKnowCount != '' } data-is-active={ mode == 'iknow' } onclick={ setMode.bind(this, 'iknow') }>%i18n:mobile.tags.mk-users-list.known%<span>{ opts.youKnowCount }</span></span>
|
||||
</nav>
|
||||
<div class="users" if={ !fetching && users.length != 0 }>
|
||||
<mk-user-preview each={ users } user={ this }></mk-user-preview>
|
||||
</div>
|
||||
<button class="more" if={ !fetching && next != null } onclick={ more } disabled={ moreFetching }>
|
||||
<span if={ !moreFetching }>もっと</span>
|
||||
<span if={ moreFetching }>読み込み中<mk-ellipsis></mk-ellipsis></span></button>
|
||||
<span if={ !moreFetching }>%i18n:mobile.tags.mk-users-list.load-more%</span>
|
||||
<span if={ moreFetching }>%i18n:mobile.tags.mk-users-list.loading%<mk-ellipsis></mk-ellipsis></span></button>
|
||||
<p class="no" if={ !fetching && users.length == 0 }>{ opts.noUsers }</p>
|
||||
<p class="fetching" if={ fetching }>
|
||||
<i class="fa fa-spinner fa-pulse fa-fw"></i>読み込んでいます<mk-ellipsis></mk-ellipsis>
|
||||
<i class="fa fa-spinner fa-pulse fa-fw"></i>%i18n:mobile.tags.mk-users-list.loading%<mk-ellipsis></mk-ellipsis>
|
||||
</p>
|
||||
<style>
|
||||
:scope
|
||||
|
|
Loading…
Reference in a new issue