mirror of
https://iceshrimp.dev/limepotato/jormungandr-bite.git
synced 2024-11-14 05:57:32 -07:00
wip
This commit is contained in:
parent
30898fa8a3
commit
3b1340041e
5 changed files with 81 additions and 3 deletions
|
@ -598,6 +598,7 @@ desktop/views/components/ui.header.account.vue:
|
||||||
drive: "ドライブ"
|
drive: "ドライブ"
|
||||||
favorites: "お気に入り"
|
favorites: "お気に入り"
|
||||||
lists: "リスト"
|
lists: "リスト"
|
||||||
|
follow-requests: "フォロー申請"
|
||||||
customize: "カスタマイズ"
|
customize: "カスタマイズ"
|
||||||
settings: "設定"
|
settings: "設定"
|
||||||
signout: "サインアウト"
|
signout: "サインアウト"
|
||||||
|
@ -617,7 +618,13 @@ desktop/views/components/ui.header.post.vue:
|
||||||
desktop/views/components/ui.header.search.vue:
|
desktop/views/components/ui.header.search.vue:
|
||||||
placeholder: "検索"
|
placeholder: "検索"
|
||||||
|
|
||||||
|
desktop/views/components/follow-requests-window.vue:
|
||||||
|
title: "フォロー申請"
|
||||||
|
accept: "許可"
|
||||||
|
reject: "拒否"
|
||||||
|
|
||||||
desktop/views/components/user-lists-window.vue:
|
desktop/views/components/user-lists-window.vue:
|
||||||
|
title: "リスト"
|
||||||
create-list: "リストを作成"
|
create-list: "リストを作成"
|
||||||
|
|
||||||
desktop/views/components/user-preview.vue:
|
desktop/views/components/user-preview.vue:
|
||||||
|
|
|
@ -0,0 +1,54 @@
|
||||||
|
<template>
|
||||||
|
<mk-window ref="window" is-modal width="450px" height="500px" @closed="$destroy">
|
||||||
|
<span slot="header">%fa:envelope R% %i18n:@title%</span>
|
||||||
|
|
||||||
|
<div data-id="c1136cec-1278-49b1-9ea7-412c1ef794f4" :data-darkmode="$store.state.device.darkmode">
|
||||||
|
<router-link v-for="req in requests" :key="req.id" :to="req.followee | userPage">{{ req.followee | userName }}</router-link>
|
||||||
|
</div>
|
||||||
|
</mk-window>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts">
|
||||||
|
import Vue from 'vue';
|
||||||
|
export default Vue.extend({
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
fetching: true,
|
||||||
|
requests: []
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
(this as any).api('following/requests/list').then(requests => {
|
||||||
|
this.fetching = false;
|
||||||
|
this.requests = requests;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
close() {
|
||||||
|
(this as any).$refs.window.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="stylus" scoped>
|
||||||
|
|
||||||
|
root(isDark)
|
||||||
|
padding 16px
|
||||||
|
|
||||||
|
> button
|
||||||
|
margin-bottom 16px
|
||||||
|
|
||||||
|
> a
|
||||||
|
display block
|
||||||
|
padding 16px
|
||||||
|
border solid 1px isDark ? #1c2023 : #eee
|
||||||
|
border-radius 4px
|
||||||
|
|
||||||
|
[data-id="c1136cec-1278-49b1-9ea7-412c1ef794f4"][data-darkmode]
|
||||||
|
root(true)
|
||||||
|
|
||||||
|
[data-id="c1136cec-1278-49b1-9ea7-412c1ef794f4"]:not([data-darkmode])
|
||||||
|
root(false)
|
||||||
|
|
||||||
|
</style>
|
|
@ -19,6 +19,9 @@
|
||||||
<li @click="list">
|
<li @click="list">
|
||||||
<p>%fa:list%<span>%i18n:@lists%</span>%fa:angle-right%</p>
|
<p>%fa:list%<span>%i18n:@lists%</span>%fa:angle-right%</p>
|
||||||
</li>
|
</li>
|
||||||
|
<li @click="followRequests" v-if="$store.state.i.isLocked">
|
||||||
|
<p>%fa:envelope R%<span>%i18n:@follow-requests%<i v-if="$store.state.i.pendingReceivedFollowRequestsCount">{{ $store.state.i.pendingReceivedFollowRequestsCount }}</i></span>%fa:angle-right%</p>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
|
@ -46,6 +49,7 @@
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import Vue from 'vue';
|
import Vue from 'vue';
|
||||||
import MkUserListsWindow from './user-lists-window.vue';
|
import MkUserListsWindow from './user-lists-window.vue';
|
||||||
|
import MkFollowRequestsWindow from './follow-requests-window.vue';
|
||||||
import MkSettingsWindow from './settings-window.vue';
|
import MkSettingsWindow from './settings-window.vue';
|
||||||
import MkDriveWindow from './drive-window.vue';
|
import MkDriveWindow from './drive-window.vue';
|
||||||
import contains from '../../../common/scripts/contains';
|
import contains from '../../../common/scripts/contains';
|
||||||
|
@ -91,6 +95,10 @@ export default Vue.extend({
|
||||||
this.$router.push(`i/lists/${ list.id }`);
|
this.$router.push(`i/lists/${ list.id }`);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
followRequests() {
|
||||||
|
this.close();
|
||||||
|
(this as any).os.new(MkFollowRequestsWindow);
|
||||||
|
},
|
||||||
settings() {
|
settings() {
|
||||||
this.close();
|
this.close();
|
||||||
(this as any).os.new(MkSettingsWindow);
|
(this as any).os.new(MkSettingsWindow);
|
||||||
|
@ -225,6 +233,15 @@ root(isDark)
|
||||||
> span:first-child
|
> span:first-child
|
||||||
padding-left 22px
|
padding-left 22px
|
||||||
|
|
||||||
|
> span:nth-child(2)
|
||||||
|
> i
|
||||||
|
margin-left 4px
|
||||||
|
padding 2px 8px
|
||||||
|
font-size 90%
|
||||||
|
background $theme-color
|
||||||
|
color $theme-color-foreground
|
||||||
|
border-radius 8px
|
||||||
|
|
||||||
> [data-fa]:first-child
|
> [data-fa]:first-child
|
||||||
margin-right 6px
|
margin-right 6px
|
||||||
width 16px
|
width 16px
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<template>
|
<template>
|
||||||
<mk-window ref="window" is-modal width="450px" height="500px" @closed="$destroy">
|
<mk-window ref="window" is-modal width="450px" height="500px" @closed="$destroy">
|
||||||
<span slot="header">%fa:list% リスト</span>
|
<span slot="header">%fa:list% %i18n:@title%</span>
|
||||||
|
|
||||||
<div data-id="6e4caea3-d8f9-4ab7-96de-ab67fe8d5c82" :data-darkmode="$store.state.device.darkmode">
|
<div data-id="6e4caea3-d8f9-4ab7-96de-ab67fe8d5c82" :data-darkmode="$store.state.device.darkmode">
|
||||||
<button class="ui" @click="add">%i18n:@create-list%</button>
|
<button class="ui" @click="add">%i18n:@create-list%</button>
|
||||||
|
|
|
@ -78,10 +78,10 @@ export const pack = (
|
||||||
delete _request._id;
|
delete _request._id;
|
||||||
|
|
||||||
// Populate follower
|
// Populate follower
|
||||||
_request.followerId = await packUser(_request.followerId, me);
|
_request.follower = await packUser(_request.followerId, me);
|
||||||
|
|
||||||
// Populate followee
|
// Populate followee
|
||||||
_request.followeeId = await packUser(_request.followeeId, me);
|
_request.followee = await packUser(_request.followeeId, me);
|
||||||
|
|
||||||
resolve(_request);
|
resolve(_request);
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in a new issue