😖
This commit is contained in:
parent
f95ca12cff
commit
c772bf2307
2 changed files with 38 additions and 39 deletions
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "calckey",
|
"name": "calckey",
|
||||||
"version": "12.119.0-calc.8-rc.9",
|
"version": "12.119.0-calc.8-rc.10",
|
||||||
"codename": "aqua",
|
"codename": "aqua",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
|
|
|
@ -41,7 +41,7 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { defineAsyncComponent, defineComponent, inject, markRaw, onMounted, onUnmounted, watch } from 'vue';
|
import { markRaw, onMounted, onUnmounted, watch } from 'vue';
|
||||||
import * as Acct from 'misskey-js/built/acct';
|
import * as Acct from 'misskey-js/built/acct';
|
||||||
import { Virtual } from 'swiper';
|
import { Virtual } from 'swiper';
|
||||||
import { Swiper, SwiperSlide } from 'swiper/vue';
|
import { Swiper, SwiperSlide } from 'swiper/vue';
|
||||||
|
@ -68,6 +68,23 @@ const tabs = ['dms', 'groups'];
|
||||||
let tab = $ref(tabs[0]);
|
let tab = $ref(tabs[0]);
|
||||||
watch($$(tab), () => (syncSlide(tabs.indexOf(tab))));
|
watch($$(tab), () => (syncSlide(tabs.indexOf(tab))));
|
||||||
|
|
||||||
|
const headerActions = $computed(() => []);
|
||||||
|
|
||||||
|
const headerTabs = $computed(() => [{
|
||||||
|
key: 'dms',
|
||||||
|
title: i18n.ts._messaging.dms,
|
||||||
|
icon: 'fas fa-user',
|
||||||
|
}, {
|
||||||
|
key: 'groups',
|
||||||
|
title: i18n.ts._messaging.groups,
|
||||||
|
icon: 'fas fa-users',
|
||||||
|
}]);
|
||||||
|
|
||||||
|
definePageMetadata({
|
||||||
|
title: i18n.ts.messaging,
|
||||||
|
icon: 'fas fa-comments',
|
||||||
|
});
|
||||||
|
|
||||||
const dmsPagination = {
|
const dmsPagination = {
|
||||||
endpoint: 'messaging/history' as const,
|
endpoint: 'messaging/history' as const,
|
||||||
limit: 15,
|
limit: 15,
|
||||||
|
@ -83,7 +100,7 @@ const groupsPagination = {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
function onMessage(message) {
|
function onMessage(message): void {
|
||||||
if (message.recipientId) {
|
if (message.recipientId) {
|
||||||
messages = messages.filter(m => !(
|
messages = messages.filter(m => !(
|
||||||
(m.recipientId === message.recipientId && m.userId === message.userId) ||
|
(m.recipientId === message.recipientId && m.userId === message.userId) ||
|
||||||
|
@ -96,7 +113,7 @@ function onMessage(message) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function onRead(ids) {
|
function onRead(ids): void {
|
||||||
for (const id of ids) {
|
for (const id of ids) {
|
||||||
const found = messages.find(m => m.id === id);
|
const found = messages.find(m => m.id === id);
|
||||||
if (found) {
|
if (found) {
|
||||||
|
@ -109,13 +126,13 @@ function onRead(ids) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async function startUser() {
|
async function startUser(): void {
|
||||||
os.selectUser().then(user => {
|
os.selectUser().then(user => {
|
||||||
router.push(`/my/messaging/${Acct.toString(user)}`);
|
router.push(`/my/messaging/${Acct.toString(user)}`);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
async function startGroup() {
|
async function startGroup(): void {
|
||||||
const groups1 = await os.api('users/groups/owned');
|
const groups1 = await os.api('users/groups/owned');
|
||||||
const groups2 = await os.api('users/groups/joined');
|
const groups2 = await os.api('users/groups/joined');
|
||||||
if (groups1.length === 0 && groups2.length === 0) {
|
if (groups1.length === 0 && groups2.length === 0) {
|
||||||
|
@ -136,6 +153,21 @@ async function startGroup() {
|
||||||
router.push(`/my/messaging/group/${group.id}`);
|
router.push(`/my/messaging/group/${group.id}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let swiperRef = null;
|
||||||
|
|
||||||
|
function setSwiperRef(swiper) {
|
||||||
|
swiperRef = swiper;
|
||||||
|
syncSlide(tabs.indexOf(tab));
|
||||||
|
}
|
||||||
|
|
||||||
|
function onSlideChange() {
|
||||||
|
tab = tabs[swiperRef.activeIndex];
|
||||||
|
}
|
||||||
|
|
||||||
|
function syncSlide(index) {
|
||||||
|
swiperRef.slideTo(index);
|
||||||
|
}
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
connection = markRaw(stream.useChannel('messagingIndex'));
|
connection = markRaw(stream.useChannel('messagingIndex'));
|
||||||
|
|
||||||
|
@ -155,39 +187,6 @@ onMounted(() => {
|
||||||
onUnmounted(() => {
|
onUnmounted(() => {
|
||||||
if (connection) connection.dispose();
|
if (connection) connection.dispose();
|
||||||
});
|
});
|
||||||
|
|
||||||
const headerActions = $computed(() => []);
|
|
||||||
|
|
||||||
const headerTabs = $computed(() => [{
|
|
||||||
key: 'dms',
|
|
||||||
title: i18n.ts._messaging.dms,
|
|
||||||
icon: 'fas fa-user',
|
|
||||||
}, {
|
|
||||||
key: 'groups',
|
|
||||||
title: i18n.ts._messaging.groups,
|
|
||||||
icon: 'fas fa-users',
|
|
||||||
}]);
|
|
||||||
|
|
||||||
definePageMetadata({
|
|
||||||
title: i18n.ts.messaging,
|
|
||||||
icon: 'fas fa-comments',
|
|
||||||
});
|
|
||||||
|
|
||||||
let swiperRef = null;
|
|
||||||
|
|
||||||
function setSwiperRef(swiper) {
|
|
||||||
swiperRef = swiper;
|
|
||||||
syncSlide(tabs.indexOf(tab));
|
|
||||||
}
|
|
||||||
|
|
||||||
function onSlideChange() {
|
|
||||||
tab = tabs[swiperRef.activeIndex];
|
|
||||||
}
|
|
||||||
|
|
||||||
function syncSlide(index) {
|
|
||||||
swiperRef.slideTo(index);
|
|
||||||
}
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
|
Loading…
Reference in a new issue