mirror of
https://activitypub.software/TransFem-org/Sharkey
synced 2024-11-25 23:45:13 +00:00
wip
This commit is contained in:
parent
1a13c7e0b1
commit
1ba5dfd79c
4 changed files with 50 additions and 0 deletions
37
src/client/app/desktop/views/components/lists-window.vue
Normal file
37
src/client/app/desktop/views/components/lists-window.vue
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
<template>
|
||||||
|
<mk-window ref="window" is-modal width="500px" height="550px" @closed="$destroy">
|
||||||
|
<span slot="header" :class="$style.header">%fa:list% リスト</span>
|
||||||
|
|
||||||
|
<button class="ui">リストを作成</button>
|
||||||
|
<a v-for="list in lists" :key="list.id">
|
||||||
|
|
||||||
|
</a>
|
||||||
|
</mk-window>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts">
|
||||||
|
import Vue from 'vue';
|
||||||
|
export default Vue.extend({
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
fetching: true,
|
||||||
|
lists: []
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
(this as any).api('users/lists/list').then(lists => {
|
||||||
|
this.fetching = false;
|
||||||
|
this.lists = lists;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
close() {
|
||||||
|
(this as any).$refs.window.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="stylus" scoped>
|
||||||
|
|
||||||
|
</style>
|
13
src/server/api/endpoints/users/lists/list.ts
Normal file
13
src/server/api/endpoints/users/lists/list.ts
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
import UserList, { pack } from '../../../../../models/user-list';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add a user to a user list
|
||||||
|
*/
|
||||||
|
module.exports = async (params, me) => new Promise(async (res, rej) => {
|
||||||
|
// Fetch lists
|
||||||
|
const userLists = await UserList.find({
|
||||||
|
userId: me._id,
|
||||||
|
});
|
||||||
|
|
||||||
|
res(await Promise.all(userLists.map(x => pack(x))));
|
||||||
|
});
|
Loading…
Reference in a new issue