Merge pull request #1313 from akihikodaki/key
Replace /:user endpoints with /@:user
This commit is contained in:
		
						commit
						d0c875c1e0
					
				
					 45 changed files with 127 additions and 127 deletions
				
			
		|  | @ -121,7 +121,7 @@ class LineBot extends BotCore { | |||
| 		actions.push({ | ||||
| 			type: 'uri', | ||||
| 			label: 'Webで見る', | ||||
| 			uri: `${config.url}/${user.username}` | ||||
| 			uri: `${config.url}/@${user.username}` | ||||
| 		}); | ||||
| 
 | ||||
| 		this.reply([{ | ||||
|  |  | |||
|  | @ -296,7 +296,7 @@ export const packForAp = ( | |||
| 
 | ||||
| 	if (!_user) return reject('invalid user arg.'); | ||||
| 
 | ||||
| 	const userUrl = `${config.url}/${_user.username}`; | ||||
| 	const userUrl = `${config.url}/@${_user.username}`; | ||||
| 
 | ||||
| 	resolve({ | ||||
| 		"@context": ["https://www.w3.org/ns/activitystreams", { | ||||
|  |  | |||
|  | @ -47,8 +47,8 @@ process.on('message', async msg => { | |||
| 		const user = game.user1_id == id ? game.user2 : game.user1; | ||||
| 		const isSettai = form[0].value === 0; | ||||
| 		const text = isSettai | ||||
| 			? `?[${user.name}](${conf.url}/${user.username})さんの接待を始めました!` | ||||
| 			: `対局を?[${user.name}](${conf.url}/${user.username})さんと始めました! (強さ${form[0].value})`; | ||||
| 			? `?[${user.name}](${conf.url}/@${user.username})さんの接待を始めました!` | ||||
| 			: `対局を?[${user.name}](${conf.url}/@${user.username})さんと始めました! (強さ${form[0].value})`; | ||||
| 
 | ||||
| 		const res = await request.post(`${conf.api_url}/posts/create`, { | ||||
| 			json: { i, | ||||
|  | @ -72,15 +72,15 @@ process.on('message', async msg => { | |||
| 		const isSettai = form[0].value === 0; | ||||
| 		const text = isSettai | ||||
| 			? msg.body.winner_id === null | ||||
| 				? `?[${user.name}](${conf.url}/${user.username})さんに接待で引き分けました...` | ||||
| 				? `?[${user.name}](${conf.url}/@${user.username})さんに接待で引き分けました...` | ||||
| 				: msg.body.winner_id == id | ||||
| 					? `?[${user.name}](${conf.url}/${user.username})さんに接待で勝ってしまいました...` | ||||
| 					: `?[${user.name}](${conf.url}/${user.username})さんに接待で負けてあげました♪` | ||||
| 					? `?[${user.name}](${conf.url}/@${user.username})さんに接待で勝ってしまいました...` | ||||
| 					: `?[${user.name}](${conf.url}/@${user.username})さんに接待で負けてあげました♪` | ||||
| 			: msg.body.winner_id === null | ||||
| 				? `?[${user.name}](${conf.url}/${user.username})さんと引き分けました~` | ||||
| 				? `?[${user.name}](${conf.url}/@${user.username})さんと引き分けました~` | ||||
| 				: msg.body.winner_id == id | ||||
| 					? `?[${user.name}](${conf.url}/${user.username})さんに勝ちました♪` | ||||
| 					: `?[${user.name}](${conf.url}/${user.username})さんに負けました...`; | ||||
| 					? `?[${user.name}](${conf.url}/@${user.username})さんに勝ちました♪` | ||||
| 					: `?[${user.name}](${conf.url}/@${user.username})さんに負けました...`; | ||||
| 
 | ||||
| 		await request.post(`${conf.api_url}/posts/create`, { | ||||
| 			json: { i, | ||||
|  |  | |||
|  | @ -165,7 +165,7 @@ | |||
| <mk-channel-post> | ||||
| 	<header> | ||||
| 		<a class="index" @click="reply">{ post.index }:</a> | ||||
| 		<a class="name" href={ _URL_ + '/' + post.user.username }><b>{ post.user.name }</b></a> | ||||
| 		<a class="name" href={ _URL_ + '/@' + post.user.username }><b>{ post.user.name }</b></a> | ||||
| 		<mk-time time={ post.created_at }/> | ||||
| 		<mk-time time={ post.created_at } mode="detail"/> | ||||
| 		<span>ID:<i>{ post.user.username }</i></span> | ||||
|  |  | |||
|  | @ -4,7 +4,7 @@ | |||
| 	</div> | ||||
| 	<div> | ||||
| 		<a v-if="!$root.$data.os.isSignedIn" href={ _URL_ }>ログイン(新規登録)</a> | ||||
| 		<a v-if="$root.$data.os.isSignedIn" href={ _URL_ + '/' + I.username }>{ I.username }</a> | ||||
| 		<a v-if="$root.$data.os.isSignedIn" href={ _URL_ + '/@' + I.username }>{ I.username }</a> | ||||
| 	</div> | ||||
| 	<style lang="stylus" scoped> | ||||
| 		:scope | ||||
|  |  | |||
|  | @ -1,6 +1,6 @@ | |||
| <template> | ||||
| <div class="message" :data-is-me="isMe"> | ||||
| 	<router-link class="avatar-anchor" :to="`/${message.user.username}`" :title="message.user.username" target="_blank"> | ||||
| 	<router-link class="avatar-anchor" :to="`/@${message.user.username}`" :title="message.user.username" target="_blank"> | ||||
| 		<img class="avatar" :src="`${message.user.avatar_url}?thumbnail&size=80`" alt=""/> | ||||
| 	</router-link> | ||||
| 	<div class="content"> | ||||
|  |  | |||
|  | @ -61,7 +61,7 @@ export default Vue.component('mk-post-html', { | |||
| 				case 'mention': | ||||
| 					return (createElement as any)('a', { | ||||
| 						attrs: { | ||||
| 							href: `${url}/${token.username}`, | ||||
| 							href: `${url}/@${token.username}`, | ||||
| 							target: '_blank', | ||||
| 							dataIsMe: (this as any).i && (this as any).i.username == token.username | ||||
| 						}, | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
| 	<label class="username"> | ||||
| 		<p class="caption">%fa:at%%i18n:common.tags.mk-signup.username%</p> | ||||
| 		<input v-model="username" type="text" pattern="^[a-zA-Z0-9-]{3,20}$" placeholder="a~z、A~Z、0~9、-" autocomplete="off" required @input="onChangeUsername"/> | ||||
| 		<p class="profile-page-url-preview" v-if="shouldShowProfileUrl">{{ `${url}/${username}` }}</p> | ||||
| 		<p class="profile-page-url-preview" v-if="shouldShowProfileUrl">{{ `${url}/@${username}` }}</p> | ||||
| 		<p class="info" v-if="usernameState == 'wait'" style="color:#999">%fa:spinner .pulse .fw%%i18n:common.tags.mk-signup.checking%</p> | ||||
| 		<p class="info" v-if="usernameState == 'ok'" style="color:#3CB7B5">%fa:check .fw%%i18n:common.tags.mk-signup.available%</p> | ||||
| 		<p class="info" v-if="usernameState == 'unavailable'" style="color:#FF1161">%fa:exclamation-triangle .fw%%i18n:common.tags.mk-signup.unavailable%</p> | ||||
|  |  | |||
|  | @ -1,15 +1,15 @@ | |||
| <template> | ||||
| <div class="mk-welcome-timeline"> | ||||
| 	<div v-for="post in posts"> | ||||
| 		<router-link class="avatar-anchor" :to="`/${post.user.username}`" v-user-preview="post.user.id"> | ||||
| 		<router-link class="avatar-anchor" :to="`/@${post.user.username}`" v-user-preview="post.user.id"> | ||||
| 			<img class="avatar" :src="`${post.user.avatar_url}?thumbnail&size=96`" alt="avatar"/> | ||||
| 		</router-link> | ||||
| 		<div class="body"> | ||||
| 			<header> | ||||
| 				<router-link class="name" :to="`/${post.user.username}`" v-user-preview="post.user.id">{{ post.user.name }}</router-link> | ||||
| 				<router-link class="name" :to="`/@${post.user.username}`" v-user-preview="post.user.id">{{ post.user.name }}</router-link> | ||||
| 				<span class="username">@{{ post.user.username }}</span> | ||||
| 				<div class="info"> | ||||
| 					<router-link class="created-at" :to="`/${post.user.username}/${post.id}`"> | ||||
| 					<router-link class="created-at" :to="`/@${post.user.username}/${post.id}`"> | ||||
| 						<mk-time :time="post.created_at"/> | ||||
| 					</router-link> | ||||
| 				</div> | ||||
|  |  | |||
|  | @ -83,8 +83,8 @@ init(async (launch) => { | |||
| 		{ path: '/search', component: MkSearch }, | ||||
| 		{ path: '/othello', component: MkOthello }, | ||||
| 		{ path: '/othello/:game', component: MkOthello }, | ||||
| 		{ path: '/:user', component: MkUser }, | ||||
| 		{ path: '/:user/:post', component: MkPost } | ||||
| 		{ path: '/@:user', component: MkUser }, | ||||
| 		{ path: '/@:user/:post', component: MkPost } | ||||
| 	]); | ||||
| }, true); | ||||
| 
 | ||||
|  |  | |||
|  | @ -3,11 +3,11 @@ | |||
| 	<p class="title">気になるユーザーをフォロー:</p> | ||||
| 	<div class="users" v-if="!fetching && users.length > 0"> | ||||
| 		<div class="user" v-for="user in users" :key="user.id"> | ||||
| 			<router-link class="avatar-anchor" :to="`/${user.username}`"> | ||||
| 			<router-link class="avatar-anchor" :to="`/@${user.username}`"> | ||||
| 				<img class="avatar" :src="`${user.avatar_url}?thumbnail&size=42`" alt="" v-user-preview="user.id"/> | ||||
| 			</router-link> | ||||
| 			<div class="body"> | ||||
| 				<router-link class="name" :to="`/${user.username}`" v-user-preview="user.id">{{ user.name }}</router-link> | ||||
| 				<router-link class="name" :to="`/@${user.username}`" v-user-preview="user.id">{{ user.name }}</router-link> | ||||
| 				<p class="username">@{{ user.username }}</p> | ||||
| 			</div> | ||||
| 			<mk-follow-button :user="user"/> | ||||
|  |  | |||
|  | @ -5,82 +5,82 @@ | |||
| 			<div class="notification" :class="notification.type" :key="notification.id"> | ||||
| 				<mk-time :time="notification.created_at"/> | ||||
| 				<template v-if="notification.type == 'reaction'"> | ||||
| 					<router-link class="avatar-anchor" :to="`/${notification.user.username}`" v-user-preview="notification.user.id"> | ||||
| 					<router-link class="avatar-anchor" :to="`/@${notification.user.username}`" v-user-preview="notification.user.id"> | ||||
| 						<img class="avatar" :src="`${notification.user.avatar_url}?thumbnail&size=48`" alt="avatar"/> | ||||
| 					</router-link> | ||||
| 					<div class="text"> | ||||
| 						<p> | ||||
| 							<mk-reaction-icon :reaction="notification.reaction"/> | ||||
| 							<router-link :to="`/${notification.user.username}`" v-user-preview="notification.user.id">{{ notification.user.name }}</router-link> | ||||
| 							<router-link :to="`/@${notification.user.username}`" v-user-preview="notification.user.id">{{ notification.user.name }}</router-link> | ||||
| 						</p> | ||||
| 						<router-link class="post-ref" :to="`/${notification.post.user.username}/${notification.post.id}`"> | ||||
| 						<router-link class="post-ref" :to="`/@${notification.post.user.username}/${notification.post.id}`"> | ||||
| 							%fa:quote-left%{{ getPostSummary(notification.post) }}%fa:quote-right% | ||||
| 						</router-link> | ||||
| 					</div> | ||||
| 				</template> | ||||
| 				<template v-if="notification.type == 'repost'"> | ||||
| 					<router-link class="avatar-anchor" :to="`/${notification.post.user.username}`" v-user-preview="notification.post.user_id"> | ||||
| 					<router-link class="avatar-anchor" :to="`/@${notification.post.user.username}`" v-user-preview="notification.post.user_id"> | ||||
| 						<img class="avatar" :src="`${notification.post.user.avatar_url}?thumbnail&size=48`" alt="avatar"/> | ||||
| 					</router-link> | ||||
| 					<div class="text"> | ||||
| 						<p>%fa:retweet% | ||||
| 							<router-link :to="`/${notification.post.user.username}`" v-user-preview="notification.post.user_id">{{ notification.post.user.name }}</router-link> | ||||
| 							<router-link :to="`/@${notification.post.user.username}`" v-user-preview="notification.post.user_id">{{ notification.post.user.name }}</router-link> | ||||
| 						</p> | ||||
| 						<router-link class="post-ref" :to="`/${notification.post.user.username}/${notification.post.id}`"> | ||||
| 						<router-link class="post-ref" :to="`/@${notification.post.user.username}/${notification.post.id}`"> | ||||
| 							%fa:quote-left%{{ getPostSummary(notification.post.repost) }}%fa:quote-right% | ||||
| 						</router-link> | ||||
| 					</div> | ||||
| 				</template> | ||||
| 				<template v-if="notification.type == 'quote'"> | ||||
| 					<router-link class="avatar-anchor" :to="`/${notification.post.user.username}`" v-user-preview="notification.post.user_id"> | ||||
| 					<router-link class="avatar-anchor" :to="`/@${notification.post.user.username}`" v-user-preview="notification.post.user_id"> | ||||
| 						<img class="avatar" :src="`${notification.post.user.avatar_url}?thumbnail&size=48`" alt="avatar"/> | ||||
| 					</router-link> | ||||
| 					<div class="text"> | ||||
| 						<p>%fa:quote-left% | ||||
| 							<router-link :to="`/${notification.post.user.username}`" v-user-preview="notification.post.user_id">{{ notification.post.user.name }}</router-link> | ||||
| 							<router-link :to="`/@${notification.post.user.username}`" v-user-preview="notification.post.user_id">{{ notification.post.user.name }}</router-link> | ||||
| 						</p> | ||||
| 						<router-link class="post-preview" :to="`/${notification.post.user.username}/${notification.post.id}`">{{ getPostSummary(notification.post) }}</router-link> | ||||
| 						<router-link class="post-preview" :to="`/@${notification.post.user.username}/${notification.post.id}`">{{ getPostSummary(notification.post) }}</router-link> | ||||
| 					</div> | ||||
| 				</template> | ||||
| 				<template v-if="notification.type == 'follow'"> | ||||
| 					<router-link class="avatar-anchor" :to="`/${notification.user.username}`" v-user-preview="notification.user.id"> | ||||
| 					<router-link class="avatar-anchor" :to="`/@${notification.user.username}`" v-user-preview="notification.user.id"> | ||||
| 						<img class="avatar" :src="`${notification.user.avatar_url}?thumbnail&size=48`" alt="avatar"/> | ||||
| 					</router-link> | ||||
| 					<div class="text"> | ||||
| 						<p>%fa:user-plus% | ||||
| 							<router-link :to="`/${notification.user.username}`" v-user-preview="notification.user.id">{{ notification.user.name }}</router-link> | ||||
| 							<router-link :to="`/@${notification.user.username}`" v-user-preview="notification.user.id">{{ notification.user.name }}</router-link> | ||||
| 						</p> | ||||
| 					</div> | ||||
| 				</template> | ||||
| 				<template v-if="notification.type == 'reply'"> | ||||
| 					<router-link class="avatar-anchor" :to="`/${notification.post.user.username}`" v-user-preview="notification.post.user_id"> | ||||
| 					<router-link class="avatar-anchor" :to="`/@${notification.post.user.username}`" v-user-preview="notification.post.user_id"> | ||||
| 						<img class="avatar" :src="`${notification.post.user.avatar_url}?thumbnail&size=48`" alt="avatar"/> | ||||
| 					</router-link> | ||||
| 					<div class="text"> | ||||
| 						<p>%fa:reply% | ||||
| 							<router-link :to="`/${notification.post.user.username}`" v-user-preview="notification.post.user_id">{{ notification.post.user.name }}</router-link> | ||||
| 							<router-link :to="`/@${notification.post.user.username}`" v-user-preview="notification.post.user_id">{{ notification.post.user.name }}</router-link> | ||||
| 						</p> | ||||
| 						<router-link class="post-preview" :to="`/${notification.post.user.username}/${notification.post.id}`">{{ getPostSummary(notification.post) }}</router-link> | ||||
| 						<router-link class="post-preview" :to="`/@${notification.post.user.username}/${notification.post.id}`">{{ getPostSummary(notification.post) }}</router-link> | ||||
| 					</div> | ||||
| 				</template> | ||||
| 				<template v-if="notification.type == 'mention'"> | ||||
| 					<router-link class="avatar-anchor" :to="`/${notification.post.user.username}`" v-user-preview="notification.post.user_id"> | ||||
| 					<router-link class="avatar-anchor" :to="`/@${notification.post.user.username}`" v-user-preview="notification.post.user_id"> | ||||
| 						<img class="avatar" :src="`${notification.post.user.avatar_url}?thumbnail&size=48`" alt="avatar"/> | ||||
| 					</router-link> | ||||
| 					<div class="text"> | ||||
| 						<p>%fa:at% | ||||
| 							<router-link :to="`/${notification.post.user.username}`" v-user-preview="notification.post.user_id">{{ notification.post.user.name }}</router-link> | ||||
| 							<router-link :to="`/@${notification.post.user.username}`" v-user-preview="notification.post.user_id">{{ notification.post.user.name }}</router-link> | ||||
| 						</p> | ||||
| 						<a class="post-preview" :href="`/${notification.post.user.username}/${notification.post.id}`">{{ getPostSummary(notification.post) }}</a> | ||||
| 						<a class="post-preview" :href="`/@${notification.post.user.username}/${notification.post.id}`">{{ getPostSummary(notification.post) }}</a> | ||||
| 					</div> | ||||
| 				</template> | ||||
| 				<template v-if="notification.type == 'poll_vote'"> | ||||
| 					<router-link class="avatar-anchor" :to="`/${notification.user.username}`" v-user-preview="notification.user.id"> | ||||
| 					<router-link class="avatar-anchor" :to="`/@${notification.user.username}`" v-user-preview="notification.user.id"> | ||||
| 						<img class="avatar" :src="`${notification.user.avatar_url}?thumbnail&size=48`" alt="avatar"/> | ||||
| 					</router-link> | ||||
| 					<div class="text"> | ||||
| 						<p>%fa:chart-pie%<a :href="`/${notification.user.username}`" v-user-preview="notification.user.id">{{ notification.user.name }}</a></p> | ||||
| 						<router-link class="post-ref" :to="`/${notification.post.user.username}/${notification.post.id}`"> | ||||
| 						<p>%fa:chart-pie%<a :href="`/@${notification.user.username}`" v-user-preview="notification.user.id">{{ notification.user.name }}</a></p> | ||||
| 						<router-link class="post-ref" :to="`/@${notification.post.user.username}/${notification.post.id}`"> | ||||
| 							%fa:quote-left%{{ getPostSummary(notification.post) }}%fa:quote-right% | ||||
| 						</router-link> | ||||
| 					</div> | ||||
|  |  | |||
|  | @ -1,16 +1,16 @@ | |||
| <template> | ||||
| <div class="sub" :title="title"> | ||||
| 	<router-link class="avatar-anchor" :to="`/${post.user.username}`"> | ||||
| 	<router-link class="avatar-anchor" :to="`/@${post.user.username}`"> | ||||
| 		<img class="avatar" :src="`${post.user.avatar_url}?thumbnail&size=64`" alt="avatar" v-user-preview="post.user_id"/> | ||||
| 	</router-link> | ||||
| 	<div class="main"> | ||||
| 		<header> | ||||
| 			<div class="left"> | ||||
| 				<router-link class="name" :to="`/${post.user.username}`" v-user-preview="post.user_id">{{ post.user.name }}</router-link> | ||||
| 				<router-link class="name" :to="`/@${post.user.username}`" v-user-preview="post.user_id">{{ post.user.name }}</router-link> | ||||
| 				<span class="username">@{{ post.user.username }}</span> | ||||
| 			</div> | ||||
| 			<div class="right"> | ||||
| 				<router-link class="time" :to="`/${post.user.username}/${post.id}`"> | ||||
| 				<router-link class="time" :to="`/@${post.user.username}/${post.id}`"> | ||||
| 					<mk-time :time="post.created_at"/> | ||||
| 				</router-link> | ||||
| 			</div> | ||||
|  |  | |||
|  | @ -18,22 +18,22 @@ | |||
| 	</div> | ||||
| 	<div class="repost" v-if="isRepost"> | ||||
| 		<p> | ||||
| 			<router-link class="avatar-anchor" :to="`/${post.user.username}`" v-user-preview="post.user_id"> | ||||
| 			<router-link class="avatar-anchor" :to="`/@${post.user.username}`" v-user-preview="post.user_id"> | ||||
| 				<img class="avatar" :src="`${post.user.avatar_url}?thumbnail&size=32`" alt="avatar"/> | ||||
| 			</router-link> | ||||
| 			%fa:retweet% | ||||
| 			<router-link class="name" :href="`/${post.user.username}`">{{ post.user.name }}</router-link> | ||||
| 			<router-link class="name" :href="`/@${post.user.username}`">{{ post.user.name }}</router-link> | ||||
| 			がRepost | ||||
| 		</p> | ||||
| 	</div> | ||||
| 	<article> | ||||
| 		<router-link class="avatar-anchor" :to="`/${p.user.username}`"> | ||||
| 		<router-link class="avatar-anchor" :to="`/@${p.user.username}`"> | ||||
| 			<img class="avatar" :src="`${p.user.avatar_url}?thumbnail&size=64`" alt="avatar" v-user-preview="p.user.id"/> | ||||
| 		</router-link> | ||||
| 		<header> | ||||
| 			<router-link class="name" :to="`/${p.user.username}`" v-user-preview="p.user.id">{{ p.user.name }}</router-link> | ||||
| 			<router-link class="name" :to="`/@${p.user.username}`" v-user-preview="p.user.id">{{ p.user.name }}</router-link> | ||||
| 			<span class="username">@{{ p.user.username }}</span> | ||||
| 			<router-link class="time" :to="`/${p.user.username}/${p.id}`"> | ||||
| 			<router-link class="time" :to="`/@${p.user.username}/${p.id}`"> | ||||
| 				<mk-time :time="p.created_at"/> | ||||
| 			</router-link> | ||||
| 		</header> | ||||
|  |  | |||
|  | @ -1,13 +1,13 @@ | |||
| <template> | ||||
| <div class="mk-post-preview" :title="title"> | ||||
| 	<router-link class="avatar-anchor" :to="`/${post.user.username}`"> | ||||
| 	<router-link class="avatar-anchor" :to="`/@${post.user.username}`"> | ||||
| 		<img class="avatar" :src="`${post.user.avatar_url}?thumbnail&size=64`" alt="avatar" v-user-preview="post.user_id"/> | ||||
| 	</router-link> | ||||
| 	<div class="main"> | ||||
| 		<header> | ||||
| 			<router-link class="name" :to="`/${post.user.username}`" v-user-preview="post.user_id">{{ post.user.name }}</router-link> | ||||
| 			<router-link class="name" :to="`/@${post.user.username}`" v-user-preview="post.user_id">{{ post.user.name }}</router-link> | ||||
| 			<span class="username">@{{ post.user.username }}</span> | ||||
| 			<router-link class="time" :to="`/${post.user.username}/${post.id}`"> | ||||
| 			<router-link class="time" :to="`/@${post.user.username}/${post.id}`"> | ||||
| 				<mk-time :time="post.created_at"/> | ||||
| 			</router-link> | ||||
| 		</header> | ||||
|  |  | |||
|  | @ -1,13 +1,13 @@ | |||
| <template> | ||||
| <div class="sub" :title="title"> | ||||
| 	<router-link class="avatar-anchor" :to="`/${post.user.username}`"> | ||||
| 	<router-link class="avatar-anchor" :to="`/@${post.user.username}`"> | ||||
| 		<img class="avatar" :src="`${post.user.avatar_url}?thumbnail&size=64`" alt="avatar" v-user-preview="post.user_id"/> | ||||
| 	</router-link> | ||||
| 	<div class="main"> | ||||
| 		<header> | ||||
| 			<router-link class="name" :to="`/${post.user.username}`" v-user-preview="post.user_id">{{ post.user.name }}</router-link> | ||||
| 			<router-link class="name" :to="`/@${post.user.username}`" v-user-preview="post.user_id">{{ post.user.name }}</router-link> | ||||
| 			<span class="username">@{{ post.user.username }}</span> | ||||
| 			<router-link class="created-at" :to="`/${post.user.username}/${post.id}`"> | ||||
| 			<router-link class="created-at" :to="`/@${post.user.username}/${post.id}`"> | ||||
| 				<mk-time :time="post.created_at"/> | ||||
| 			</router-link> | ||||
| 		</header> | ||||
|  |  | |||
|  | @ -5,23 +5,23 @@ | |||
| 	</div> | ||||
| 	<div class="repost" v-if="isRepost"> | ||||
| 		<p> | ||||
| 			<router-link class="avatar-anchor" :to="`/${post.user.username}`" v-user-preview="post.user_id"> | ||||
| 			<router-link class="avatar-anchor" :to="`/@${post.user.username}`" v-user-preview="post.user_id"> | ||||
| 				<img class="avatar" :src="`${post.user.avatar_url}?thumbnail&size=32`" alt="avatar"/> | ||||
| 			</router-link> | ||||
| 			%fa:retweet% | ||||
| 			<span>{{ '%i18n:desktop.tags.mk-timeline-post.reposted-by%'.substr(0, '%i18n:desktop.tags.mk-timeline-post.reposted-by%'.indexOf('{')) }}</span> | ||||
| 			<a class="name" :href="`/${post.user.username}`" v-user-preview="post.user_id">{{ post.user.name }}</a> | ||||
| 			<a class="name" :href="`/@${post.user.username}`" v-user-preview="post.user_id">{{ post.user.name }}</a> | ||||
| 			<span>{{ '%i18n:desktop.tags.mk-timeline-post.reposted-by%'.substr('%i18n:desktop.tags.mk-timeline-post.reposted-by%'.indexOf('}') + 1) }}</span> | ||||
| 		</p> | ||||
| 		<mk-time :time="post.created_at"/> | ||||
| 	</div> | ||||
| 	<article> | ||||
| 		<router-link class="avatar-anchor" :to="`/${p.user.username}`"> | ||||
| 		<router-link class="avatar-anchor" :to="`/@${p.user.username}`"> | ||||
| 			<img class="avatar" :src="`${p.user.avatar_url}?thumbnail&size=64`" alt="avatar" v-user-preview="p.user.id"/> | ||||
| 		</router-link> | ||||
| 		<div class="main"> | ||||
| 			<header> | ||||
| 				<router-link class="name" :to="`/${p.user.username}`" v-user-preview="p.user.id">{{ p.user.name }}</router-link> | ||||
| 				<router-link class="name" :to="`/@${p.user.username}`" v-user-preview="p.user.id">{{ p.user.name }}</router-link> | ||||
| 				<span class="is-bot" v-if="p.user.account.is_bot">bot</span> | ||||
| 				<span class="username">@{{ p.user.username }}</span> | ||||
| 				<div class="info"> | ||||
|  | @ -135,7 +135,7 @@ export default Vue.extend({ | |||
| 			return dateStringify(this.p.created_at); | ||||
| 		}, | ||||
| 		url(): string { | ||||
| 			return `/${this.p.user.username}/${this.p.id}`; | ||||
| 			return `/@${this.p.user.username}/${this.p.id}`; | ||||
| 		}, | ||||
| 		urls(): string[] { | ||||
| 			if (this.p.ast) { | ||||
|  |  | |||
|  | @ -8,7 +8,7 @@ | |||
| 		<div class="menu" v-if="isOpen"> | ||||
| 			<ul> | ||||
| 				<li> | ||||
| 					<router-link :to="`/${ os.i.username }`">%fa:user%%i18n:desktop.tags.mk-ui-header-account.profile%%fa:angle-right%</router-link> | ||||
| 					<router-link :to="`/@${ os.i.username }`">%fa:user%%i18n:desktop.tags.mk-ui-header-account.profile%%fa:angle-right%</router-link> | ||||
| 				</li> | ||||
| 				<li @click="drive"> | ||||
| 					<p>%fa:cloud%%i18n:desktop.tags.mk-ui-header-account.drive%%fa:angle-right%</p> | ||||
|  |  | |||
|  | @ -2,11 +2,11 @@ | |||
| <div class="mk-user-preview"> | ||||
| 	<template v-if="u != null"> | ||||
| 		<div class="banner" :style="u.banner_url ? `background-image: url(${u.banner_url}?thumbnail&size=512)` : ''"></div> | ||||
| 		<router-link class="avatar" :to="`/${u.username}`"> | ||||
| 		<router-link class="avatar" :to="`/@${u.username}`"> | ||||
| 			<img :src="`${u.avatar_url}?thumbnail&size=64`" alt="avatar"/> | ||||
| 		</router-link> | ||||
| 		<div class="title"> | ||||
| 			<router-link class="name" :to="`/${u.username}`">{{ u.name }}</router-link> | ||||
| 			<router-link class="name" :to="`/@${u.username}`">{{ u.name }}</router-link> | ||||
| 			<p class="username">@{{ u.username }}</p> | ||||
| 		</div> | ||||
| 		<div class="description">{{ u.description }}</div> | ||||
|  |  | |||
|  | @ -1,11 +1,11 @@ | |||
| <template> | ||||
| <div class="root item"> | ||||
| 	<router-link class="avatar-anchor" :to="`/${user.username}`" v-user-preview="user.id"> | ||||
| 	<router-link class="avatar-anchor" :to="`/@${user.username}`" v-user-preview="user.id"> | ||||
| 		<img class="avatar" :src="`${user.avatar_url}?thumbnail&size=64`" alt="avatar"/> | ||||
| 	</router-link> | ||||
| 	<div class="main"> | ||||
| 		<header> | ||||
| 			<router-link class="name" :to="`/${user.username}`" v-user-preview="user.id">{{ user.name }}</router-link> | ||||
| 			<router-link class="name" :to="`/@${user.username}`" v-user-preview="user.id">{{ user.name }}</router-link> | ||||
| 			<span class="username">@{{ user.username }}</span> | ||||
| 		</header> | ||||
| 		<div class="body"> | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
| 	<p class="title">%fa:users%%i18n:desktop.tags.mk-user.followers-you-know.title%</p> | ||||
| 	<p class="initializing" v-if="fetching">%fa:spinner .pulse .fw%%i18n:desktop.tags.mk-user.followers-you-know.loading%<mk-ellipsis/></p> | ||||
| 	<div v-if="!fetching && users.length > 0"> | ||||
| 	<router-link v-for="user in users" :to="`/${user.username}`" :key="user.id"> | ||||
| 	<router-link v-for="user in users" :to="`/@${user.username}`" :key="user.id"> | ||||
| 		<img :src="`${user.avatar_url}?thumbnail&size=64`" :alt="user.name" v-user-preview="user.id"/> | ||||
| 	</router-link> | ||||
| 	</div> | ||||
|  |  | |||
|  | @ -4,11 +4,11 @@ | |||
| 	<p class="initializing" v-if="fetching">%fa:spinner .pulse .fw%%i18n:desktop.tags.mk-user.frequently-replied-users.loading%<mk-ellipsis/></p> | ||||
| 	<template v-if="!fetching && users.length != 0"> | ||||
| 		<div class="user" v-for="friend in users"> | ||||
| 			<router-link class="avatar-anchor" :to="`/${friend.username}`"> | ||||
| 			<router-link class="avatar-anchor" :to="`/@${friend.username}`"> | ||||
| 				<img class="avatar" :src="`${friend.avatar_url}?thumbnail&size=42`" alt="" v-user-preview="friend.id"/> | ||||
| 			</router-link> | ||||
| 			<div class="body"> | ||||
| 				<router-link class="name" :to="`/${friend.username}`" v-user-preview="friend.id">{{ friend.name }}</router-link> | ||||
| 				<router-link class="name" :to="`/@${friend.username}`" v-user-preview="friend.id">{{ friend.name }}</router-link> | ||||
| 				<p class="username">@{{ friend.username }}</p> | ||||
| 			</div> | ||||
| 			<mk-follow-button :user="friend"/> | ||||
|  |  | |||
|  | @ -12,9 +12,9 @@ | |||
| 			<p class="location" v-if="user.account.profile.location">%fa:map-marker%{{ user.account.profile.location }}</p> | ||||
| 		</div> | ||||
| 		<footer> | ||||
| 			<router-link :to="`/${user.username}`" :data-active="$parent.page == 'home'">%fa:home%概要</router-link> | ||||
| 			<router-link :to="`/${user.username}/media`" :data-active="$parent.page == 'media'">%fa:image%メディア</router-link> | ||||
| 			<router-link :to="`/${user.username}/graphs`" :data-active="$parent.page == 'graphs'">%fa:chart-bar%グラフ</router-link> | ||||
| 			<router-link :to="`/@${user.username}`" :data-active="$parent.page == 'home'">%fa:home%概要</router-link> | ||||
| 			<router-link :to="`/@${user.username}/media`" :data-active="$parent.page == 'media'">%fa:image%メディア</router-link> | ||||
| 			<router-link :to="`/@${user.username}/graphs`" :data-active="$parent.page == 'graphs'">%fa:chart-bar%グラフ</router-link> | ||||
| 		</footer> | ||||
| 	</div> | ||||
| </div> | ||||
|  |  | |||
|  | @ -8,7 +8,7 @@ | |||
| 					<p>ようこそ! <b>Misskey</b>はTwitter風ミニブログSNSです。思ったことや皆と共有したいことを投稿しましょう。タイムラインを見れば、皆の関心事をすぐにチェックすることもできます。<a :href="aboutUrl">詳しく...</a></p> | ||||
| 					<p><button class="signup" @click="signup">はじめる</button><button class="signin" @click="signin">ログイン</button></p> | ||||
| 					<div class="users"> | ||||
| 						<router-link v-for="user in users" :key="user.id" class="avatar-anchor" :to="`/${user.username}`" v-user-preview="user.id"> | ||||
| 						<router-link v-for="user in users" :key="user.id" class="avatar-anchor" :to="`/@${user.username}`" v-user-preview="user.id"> | ||||
| 							<img class="avatar" :src="`${user.avatar_url}?thumbnail&size=64`" alt="avatar"/> | ||||
| 						</router-link> | ||||
| 					</div> | ||||
|  |  | |||
|  | @ -2,7 +2,7 @@ | |||
| <div class="post"> | ||||
| 	<header> | ||||
| 		<a class="index" @click="reply">{{ post.index }}:</a> | ||||
| 		<router-link class="name" :to="`/${post.user.username}`" v-user-preview="post.user.id"><b>{{ post.user.name }}</b></router-link> | ||||
| 		<router-link class="name" :to="`/@${post.user.username}`" v-user-preview="post.user.id"><b>{{ post.user.name }}</b></router-link> | ||||
| 		<span>ID:<i>{{ post.user.username }}</i></span> | ||||
| 	</header> | ||||
| 	<div> | ||||
|  |  | |||
|  | @ -5,8 +5,8 @@ | |||
| 		<button @click="fetch" title="%i18n:desktop.tags.mk-recommended-polls-home-widget.refresh%">%fa:sync%</button> | ||||
| 	</template> | ||||
| 	<div class="poll" v-if="!fetching && poll != null"> | ||||
| 		<p v-if="poll.text"><router-link to="`/${ poll.user.username }/${ poll.id }`">{{ poll.text }}</router-link></p> | ||||
| 		<p v-if="!poll.text"><router-link to="`/${ poll.user.username }/${ poll.id }`">%fa:link%</router-link></p> | ||||
| 		<p v-if="poll.text"><router-link to="`/@${ poll.user.username }/${ poll.id }`">{{ poll.text }}</router-link></p> | ||||
| 		<p v-if="!poll.text"><router-link to="`/@${ poll.user.username }/${ poll.id }`">%fa:link%</router-link></p> | ||||
| 		<mk-poll :post="poll"/> | ||||
| 	</div> | ||||
| 	<p class="empty" v-if="!fetching && poll == null">%i18n:desktop.tags.mk-recommended-polls-home-widget.nothing%</p> | ||||
|  |  | |||
|  | @ -15,7 +15,7 @@ | |||
| 		title="クリックでアバター編集" | ||||
| 		v-user-preview="os.i.id" | ||||
| 	/> | ||||
| 	<router-link class="name" :to="`/${os.i.username}`">{{ os.i.name }}</router-link> | ||||
| 	<router-link class="name" :to="`/@${os.i.username}`">{{ os.i.name }}</router-link> | ||||
| 	<p class="username">@{{ os.i.username }}</p> | ||||
| </div> | ||||
| </template> | ||||
|  |  | |||
|  | @ -6,8 +6,8 @@ | |||
| 	</template> | ||||
| 	<p class="fetching" v-if="fetching">%fa:spinner .pulse .fw%%i18n:common.loading%<mk-ellipsis/></p> | ||||
| 	<div class="post" v-else-if="post != null"> | ||||
| 		<p class="text"><router-link :to="`/${ post.user.username }/${ post.id }`">{{ post.text }}</router-link></p> | ||||
| 		<p class="author">―<router-link :to="`/${ post.user.username }`">@{{ post.user.username }}</router-link></p> | ||||
| 		<p class="text"><router-link :to="`/@${ post.user.username }/${ post.id }`">{{ post.text }}</router-link></p> | ||||
| 		<p class="author">―<router-link :to="`/@${ post.user.username }`">@{{ post.user.username }}</router-link></p> | ||||
| 	</div> | ||||
| 	<p class="empty" v-else>%i18n:desktop.tags.mk-trends-home-widget.nothing%</p> | ||||
| </div> | ||||
|  |  | |||
|  | @ -7,11 +7,11 @@ | |||
| 	<p class="fetching" v-if="fetching">%fa:spinner .pulse .fw%%i18n:common.loading%<mk-ellipsis/></p> | ||||
| 	<template v-else-if="users.length != 0"> | ||||
| 		<div class="user" v-for="_user in users"> | ||||
| 			<router-link class="avatar-anchor" :to="`/${_user.username}`"> | ||||
| 			<router-link class="avatar-anchor" :to="`/@${_user.username}`"> | ||||
| 				<img class="avatar" :src="`${_user.avatar_url}?thumbnail&size=42`" alt="" v-user-preview="_user.id"/> | ||||
| 			</router-link> | ||||
| 			<div class="body"> | ||||
| 				<router-link class="name" :to="`/${_user.username}`" v-user-preview="_user.id">{{ _user.name }}</router-link> | ||||
| 				<router-link class="name" :to="`/@${_user.username}`" v-user-preview="_user.id">{{ _user.name }}</router-link> | ||||
| 				<p class="username">@{{ _user.username }}</p> | ||||
| 			</div> | ||||
| 			<mk-follow-button :user="_user"/> | ||||
|  |  | |||
|  | @ -71,9 +71,9 @@ init((launch) => { | |||
| 		{ path: '/search', component: MkSearch }, | ||||
| 		{ path: '/othello', component: MkOthello }, | ||||
| 		{ path: '/othello/:game', component: MkOthello }, | ||||
| 		{ path: '/:user', component: MkUser }, | ||||
| 		{ path: '/:user/followers', component: MkFollowers }, | ||||
| 		{ path: '/:user/following', component: MkFollowing }, | ||||
| 		{ path: '/:user/:post', component: MkPost } | ||||
| 		{ path: '/@:user', component: MkUser }, | ||||
| 		{ path: '/@:user/followers', component: MkFollowers }, | ||||
| 		{ path: '/@:user/following', component: MkFollowing }, | ||||
| 		{ path: '/@:user/:post', component: MkPost } | ||||
| 	]); | ||||
| }, true); | ||||
|  |  | |||
|  | @ -2,15 +2,15 @@ | |||
| <div class="mk-notification"> | ||||
| 	<div class="notification reaction" v-if="notification.type == 'reaction'"> | ||||
| 		<mk-time :time="notification.created_at"/> | ||||
| 		<router-link class="avatar-anchor" :to="`/${notification.user.username}`"> | ||||
| 		<router-link class="avatar-anchor" :to="`/@${notification.user.username}`"> | ||||
| 			<img class="avatar" :src="`${notification.user.avatar_url}?thumbnail&size=64`" alt="avatar"/> | ||||
| 		</router-link> | ||||
| 		<div class="text"> | ||||
| 			<p> | ||||
| 				<mk-reaction-icon :reaction="notification.reaction"/> | ||||
| 				<router-link :to="`/${notification.user.username}`">{{ notification.user.name }}</router-link> | ||||
| 				<router-link :to="`/@${notification.user.username}`">{{ notification.user.name }}</router-link> | ||||
| 			</p> | ||||
| 			<router-link class="post-ref" :to="`/${notification.post.user.username}/${notification.post.id}`"> | ||||
| 			<router-link class="post-ref" :to="`/@${notification.post.user.username}/${notification.post.id}`"> | ||||
| 				%fa:quote-left%{{ getPostSummary(notification.post) }} | ||||
| 				%fa:quote-right% | ||||
| 			</router-link> | ||||
|  | @ -19,15 +19,15 @@ | |||
| 
 | ||||
| 	<div class="notification repost" v-if="notification.type == 'repost'"> | ||||
| 		<mk-time :time="notification.created_at"/> | ||||
| 		<router-link class="avatar-anchor" :to="`/${notification.post.user.username}`"> | ||||
| 		<router-link class="avatar-anchor" :to="`/@${notification.post.user.username}`"> | ||||
| 			<img class="avatar" :src="`${notification.post.user.avatar_url}?thumbnail&size=64`" alt="avatar"/> | ||||
| 		</router-link> | ||||
| 		<div class="text"> | ||||
| 			<p> | ||||
| 				%fa:retweet% | ||||
| 				<router-link :to="`/${notification.post.user.username}`">{{ notification.post.user.name }}</router-link> | ||||
| 				<router-link :to="`/@${notification.post.user.username}`">{{ notification.post.user.name }}</router-link> | ||||
| 			</p> | ||||
| 			<router-link class="post-ref" :to="`/${notification.post.user.username}/${notification.post.id}`"> | ||||
| 			<router-link class="post-ref" :to="`/@${notification.post.user.username}/${notification.post.id}`"> | ||||
| 				%fa:quote-left%{{ getPostSummary(notification.post.repost) }}%fa:quote-right% | ||||
| 			</router-link> | ||||
| 		</div> | ||||
|  | @ -39,13 +39,13 @@ | |||
| 
 | ||||
| 	<div class="notification follow" v-if="notification.type == 'follow'"> | ||||
| 		<mk-time :time="notification.created_at"/> | ||||
| 		<router-link class="avatar-anchor" :to="`/${notification.user.username}`"> | ||||
| 		<router-link class="avatar-anchor" :to="`/@${notification.user.username}`"> | ||||
| 			<img class="avatar" :src="`${notification.user.avatar_url}?thumbnail&size=64`" alt="avatar"/> | ||||
| 		</router-link> | ||||
| 		<div class="text"> | ||||
| 			<p> | ||||
| 				%fa:user-plus% | ||||
| 				<router-link :to="`/${notification.user.username}`">{{ notification.user.name }}</router-link> | ||||
| 				<router-link :to="`/@${notification.user.username}`">{{ notification.user.name }}</router-link> | ||||
| 			</p> | ||||
| 		</div> | ||||
| 	</div> | ||||
|  | @ -60,15 +60,15 @@ | |||
| 
 | ||||
| 	<div class="notification poll_vote" v-if="notification.type == 'poll_vote'"> | ||||
| 		<mk-time :time="notification.created_at"/> | ||||
| 		<router-link class="avatar-anchor" :to="`/${notification.user.username}`"> | ||||
| 		<router-link class="avatar-anchor" :to="`/@${notification.user.username}`"> | ||||
| 			<img class="avatar" :src="`${notification.user.avatar_url}?thumbnail&size=64`" alt="avatar"/> | ||||
| 		</router-link> | ||||
| 		<div class="text"> | ||||
| 			<p> | ||||
| 				%fa:chart-pie% | ||||
| 				<router-link :to="`/${notification.user.username}`">{{ notification.user.name }}</router-link> | ||||
| 				<router-link :to="`/@${notification.user.username}`">{{ notification.user.name }}</router-link> | ||||
| 			</p> | ||||
| 			<router-link class="post-ref" :to="`/${notification.post.user.username}/${notification.post.id}`"> | ||||
| 			<router-link class="post-ref" :to="`/@${notification.post.user.username}/${notification.post.id}`"> | ||||
| 				%fa:quote-left%{{ getPostSummary(notification.post) }}%fa:quote-right% | ||||
| 			</router-link> | ||||
| 		</div> | ||||
|  |  | |||
|  | @ -1,6 +1,6 @@ | |||
| <template> | ||||
| <div class="mk-post-card"> | ||||
| 	<a :href="`/${post.user.username}/${post.id}`"> | ||||
| 	<a :href="`/@${post.user.username}/${post.id}`"> | ||||
| 		<header> | ||||
| 			<img :src="`${post.user.avatar_url}?thumbnail&size=64`" alt="avatar"/><h3>{{ post.user.name }}</h3> | ||||
| 		</header> | ||||
|  |  | |||
|  | @ -1,13 +1,13 @@ | |||
| <template> | ||||
| <div class="root sub"> | ||||
| 	<router-link class="avatar-anchor" :to="`/${post.user.username}`"> | ||||
| 	<router-link class="avatar-anchor" :to="`/@${post.user.username}`"> | ||||
| 		<img class="avatar" :src="`${post.user.avatar_url}?thumbnail&size=64`" alt="avatar"/> | ||||
| 	</router-link> | ||||
| 	<div class="main"> | ||||
| 		<header> | ||||
| 			<router-link class="name" :to="`/${post.user.username}`">{{ post.user.name }}</router-link> | ||||
| 			<router-link class="name" :to="`/@${post.user.username}`">{{ post.user.name }}</router-link> | ||||
| 			<span class="username">@{{ post.user.username }}</span> | ||||
| 			<router-link class="time" :to="`/${post.user.username}/${post.id}`"> | ||||
| 			<router-link class="time" :to="`/@${post.user.username}/${post.id}`"> | ||||
| 				<mk-time :time="post.created_at"/> | ||||
| 			</router-link> | ||||
| 		</header> | ||||
|  |  | |||
|  | @ -17,11 +17,11 @@ | |||
| 	</div> | ||||
| 	<div class="repost" v-if="isRepost"> | ||||
| 		<p> | ||||
| 			<router-link class="avatar-anchor" :to="`/${post.user.username}`"> | ||||
| 			<router-link class="avatar-anchor" :to="`/@${post.user.username}`"> | ||||
| 				<img class="avatar" :src="`${post.user.avatar_url}?thumbnail&size=32`" alt="avatar"/> | ||||
| 			</router-link> | ||||
| 			%fa:retweet% | ||||
| 			<router-link class="name" :to="`/${post.user.username}`"> | ||||
| 			<router-link class="name" :to="`/@${post.user.username}`"> | ||||
| 				{{ post.user.name }} | ||||
| 			</router-link> | ||||
| 			がRepost | ||||
|  | @ -29,11 +29,11 @@ | |||
| 	</div> | ||||
| 	<article> | ||||
| 		<header> | ||||
| 			<router-link class="avatar-anchor" :to="`/${p.user.username}`"> | ||||
| 			<router-link class="avatar-anchor" :to="`/@${p.user.username}`"> | ||||
| 				<img class="avatar" :src="`${p.user.avatar_url}?thumbnail&size=64`" alt="avatar"/> | ||||
| 			</router-link> | ||||
| 			<div> | ||||
| 				<router-link class="name" :to="`/${p.user.username}`">{{ p.user.name }}</router-link> | ||||
| 				<router-link class="name" :to="`/@${p.user.username}`">{{ p.user.name }}</router-link> | ||||
| 				<span class="username">@{{ p.user.username }}</span> | ||||
| 			</div> | ||||
| 		</header> | ||||
|  | @ -53,7 +53,7 @@ | |||
| 				<mk-post-preview :post="p.repost"/> | ||||
| 			</div> | ||||
| 		</div> | ||||
| 		<router-link class="time" :to="`/${p.user.username}/${p.id}`"> | ||||
| 		<router-link class="time" :to="`/@${p.user.username}/${p.id}`"> | ||||
| 			<mk-time :time="p.created_at" mode="detail"/> | ||||
| 		</router-link> | ||||
| 		<footer> | ||||
|  |  | |||
|  | @ -1,13 +1,13 @@ | |||
| <template> | ||||
| <div class="mk-post-preview"> | ||||
| 	<router-link class="avatar-anchor" :to="`/${post.user.username}`"> | ||||
| 	<router-link class="avatar-anchor" :to="`/@${post.user.username}`"> | ||||
| 		<img class="avatar" :src="`${post.user.avatar_url}?thumbnail&size=64`" alt="avatar"/> | ||||
| 	</router-link> | ||||
| 	<div class="main"> | ||||
| 		<header> | ||||
| 			<router-link class="name" :to="`/${post.user.username}`">{{ post.user.name }}</router-link> | ||||
| 			<router-link class="name" :to="`/@${post.user.username}`">{{ post.user.name }}</router-link> | ||||
| 			<span class="username">@{{ post.user.username }}</span> | ||||
| 			<router-link class="time" :to="`/${post.user.username}/${post.id}`"> | ||||
| 			<router-link class="time" :to="`/@${post.user.username}/${post.id}`"> | ||||
| 				<mk-time :time="post.created_at"/> | ||||
| 			</router-link> | ||||
| 		</header> | ||||
|  |  | |||
|  | @ -1,13 +1,13 @@ | |||
| <template> | ||||
| <div class="sub"> | ||||
| 	<router-link class="avatar-anchor" :to="`/${post.user.username}`"> | ||||
| 	<router-link class="avatar-anchor" :to="`/@${post.user.username}`"> | ||||
| 		<img class="avatar" :src="`${post.user.avatar_url}?thumbnail&size=96`" alt="avatar"/> | ||||
| 	</router-link> | ||||
| 	<div class="main"> | ||||
| 		<header> | ||||
| 			<router-link class="name" :to="`/${post.user.username}`">{{ post.user.name }}</router-link> | ||||
| 			<router-link class="name" :to="`/@${post.user.username}`">{{ post.user.name }}</router-link> | ||||
| 			<span class="username">@{{ post.user.username }}</span> | ||||
| 			<router-link class="created-at" :to="`/${post.user.username}/${post.id}`"> | ||||
| 			<router-link class="created-at" :to="`/@${post.user.username}/${post.id}`"> | ||||
| 				<mk-time :time="post.created_at"/> | ||||
| 			</router-link> | ||||
| 		</header> | ||||
|  |  | |||
|  | @ -5,23 +5,23 @@ | |||
| 	</div> | ||||
| 	<div class="repost" v-if="isRepost"> | ||||
| 		<p> | ||||
| 			<router-link class="avatar-anchor" :to="`/${post.user.username}`"> | ||||
| 			<router-link class="avatar-anchor" :to="`/@${post.user.username}`"> | ||||
| 				<img class="avatar" :src="`${post.user.avatar_url}?thumbnail&size=64`" alt="avatar"/> | ||||
| 			</router-link> | ||||
| 			%fa:retweet% | ||||
| 			<span>{{ '%i18n:mobile.tags.mk-timeline-post.reposted-by%'.substr(0, '%i18n:mobile.tags.mk-timeline-post.reposted-by%'.indexOf('{')) }}</span> | ||||
| 			<router-link class="name" :to="`/${post.user.username}`">{{ post.user.name }}</router-link> | ||||
| 			<router-link class="name" :to="`/@${post.user.username}`">{{ post.user.name }}</router-link> | ||||
| 			<span>{{ '%i18n:mobile.tags.mk-timeline-post.reposted-by%'.substr('%i18n:mobile.tags.mk-timeline-post.reposted-by%'.indexOf('}') + 1) }}</span> | ||||
| 		</p> | ||||
| 		<mk-time :time="post.created_at"/> | ||||
| 	</div> | ||||
| 	<article> | ||||
| 		<router-link class="avatar-anchor" :to="`/${p.user.username}`"> | ||||
| 		<router-link class="avatar-anchor" :to="`/@${p.user.username}`"> | ||||
| 			<img class="avatar" :src="`${p.user.avatar_url}?thumbnail&size=96`" alt="avatar"/> | ||||
| 		</router-link> | ||||
| 		<div class="main"> | ||||
| 			<header> | ||||
| 				<router-link class="name" :to="`/${p.user.username}`">{{ p.user.name }}</router-link> | ||||
| 				<router-link class="name" :to="`/@${p.user.username}`">{{ p.user.name }}</router-link> | ||||
| 				<span class="is-bot" v-if="p.user.account.is_bot">bot</span> | ||||
| 				<span class="username">@{{ p.user.username }}</span> | ||||
| 				<div class="info"> | ||||
|  | @ -110,7 +110,7 @@ export default Vue.extend({ | |||
| 				: 0; | ||||
| 		}, | ||||
| 		url(): string { | ||||
| 			return `/${this.p.user.username}/${this.p.id}`; | ||||
| 			return `/@${this.p.user.username}/${this.p.id}`; | ||||
| 		}, | ||||
| 		urls(): string[] { | ||||
| 			if (this.p.ast) { | ||||
|  |  | |||
|  | @ -9,7 +9,7 @@ | |||
| 	</transition> | ||||
| 	<transition name="nav"> | ||||
| 		<div class="body" v-if="isOpen"> | ||||
| 			<router-link class="me" v-if="os.isSignedIn" :to="`/${os.i.username}`"> | ||||
| 			<router-link class="me" v-if="os.isSignedIn" :to="`/@${os.i.username}`"> | ||||
| 				<img class="avatar" :src="`${os.i.avatar_url}?thumbnail&size=128`" alt="avatar"/> | ||||
| 				<p class="name">{{ os.i.name }}</p> | ||||
| 			</router-link> | ||||
|  |  | |||
|  | @ -1,11 +1,11 @@ | |||
| <template> | ||||
| <div class="mk-user-card"> | ||||
| 	<header :style="user.banner_url ? `background-image: url(${user.banner_url}?thumbnail&size=1024)` : ''"> | ||||
| 		<a :href="`/${user.username}`"> | ||||
| 		<a :href="`/@${user.username}`"> | ||||
| 			<img :src="`${user.avatar_url}?thumbnail&size=200`" alt="avatar"/> | ||||
| 		</a> | ||||
| 	</header> | ||||
| 	<a class="name" :href="`/${user.username}`" target="_blank">{{ user.name }}</a> | ||||
| 	<a class="name" :href="`/@${user.username}`" target="_blank">{{ user.name }}</a> | ||||
| 	<p class="username">@{{ user.username }}</p> | ||||
| 	<mk-follow-button :user="user"/> | ||||
| </div> | ||||
|  |  | |||
|  | @ -1,11 +1,11 @@ | |||
| <template> | ||||
| <div class="mk-user-preview"> | ||||
| 	<router-link class="avatar-anchor" :to="`/${user.username}`"> | ||||
| 	<router-link class="avatar-anchor" :to="`/@${user.username}`"> | ||||
| 		<img class="avatar" :src="`${user.avatar_url}?thumbnail&size=64`" alt="avatar"/> | ||||
| 	</router-link> | ||||
| 	<div class="main"> | ||||
| 		<header> | ||||
| 			<router-link class="name" :to="`/${user.username}`">{{ user.name }}</router-link> | ||||
| 			<router-link class="name" :to="`/@${user.username}`">{{ user.name }}</router-link> | ||||
| 			<span class="username">@{{ user.username }}</span> | ||||
| 		</header> | ||||
| 		<div class="body"> | ||||
|  |  | |||
|  | @ -30,11 +30,11 @@ | |||
| 						<b>{{ user.posts_count | number }}</b> | ||||
| 						<i>%i18n:mobile.tags.mk-user.posts%</i> | ||||
| 					</a> | ||||
| 					<a :href="`${user.username}/following`"> | ||||
| 					<a :href="`@${user.username}/following`"> | ||||
| 						<b>{{ user.following_count | number }}</b> | ||||
| 						<i>%i18n:mobile.tags.mk-user.following%</i> | ||||
| 					</a> | ||||
| 					<a :href="`${user.username}/followers`"> | ||||
| 					<a :href="`@${user.username}/followers`"> | ||||
| 						<b>{{ user.followers_count | number }}</b> | ||||
| 						<i>%i18n:mobile.tags.mk-user.followers%</i> | ||||
| 					</a> | ||||
|  |  | |||
|  | @ -2,7 +2,7 @@ | |||
| <div class="root followers-you-know"> | ||||
| 	<p class="initializing" v-if="fetching">%fa:spinner .pulse .fw%%i18n:mobile.tags.mk-user-overview-followers-you-know.loading%<mk-ellipsis/></p> | ||||
| 	<div v-if="!fetching && users.length > 0"> | ||||
| 		<a v-for="user in users" :key="user.id" :href="`/${user.username}`"> | ||||
| 		<a v-for="user in users" :key="user.id" :href="`/@${user.username}`"> | ||||
| 			<img :src="`${user.avatar_url}?thumbnail&size=64`" :alt="user.name"/> | ||||
| 		</a> | ||||
| 	</div> | ||||
|  |  | |||
|  | @ -5,7 +5,7 @@ | |||
| 		<a v-for="image in images" | ||||
| 			class="img" | ||||
| 			:style="`background-image: url(${image.media.url}?thumbnail&size=256)`" | ||||
| 			:href="`/${image.post.user.username}/${image.post.id}`" | ||||
| 			:href="`/@${image.post.user.username}/${image.post.id}`" | ||||
| 		></a> | ||||
| 	</div> | ||||
| 	<p class="empty" v-if="!fetching && images.length == 0">%i18n:mobile.tags.mk-user-overview-photos.no-photos%</p> | ||||
|  |  | |||
|  | @ -21,7 +21,7 @@ | |||
| 		<mk-welcome-timeline/> | ||||
| 	</div> | ||||
| 	<div class="users"> | ||||
| 		<router-link v-for="user in users" :key="user.id" class="avatar-anchor" :to="`/${user.username}`"> | ||||
| 		<router-link v-for="user in users" :key="user.id" class="avatar-anchor" :to="`/@${user.username}`"> | ||||
| 			<img class="avatar" :src="`${user.avatar_url}?thumbnail&size=64`" alt="avatar"/> | ||||
| 		</router-link> | ||||
| 	</div> | ||||
|  |  | |||
|  | @ -8,7 +8,7 @@ | |||
| 			:src="`${os.i.avatar_url}?thumbnail&size=96`" | ||||
| 			alt="avatar" | ||||
| 		/> | ||||
| 		<router-link :class="$style.name" :to="`/${os.i.username}`">{{ os.i.name }}</router-link> | ||||
| 		<router-link :class="$style.name" :to="`/@${os.i.username}`">{{ os.i.name }}</router-link> | ||||
| 	</mk-widget-container> | ||||
| </div> | ||||
| </template> | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue