Basic room upgrade prompt
This commit is contained in:
parent
c36deef7e2
commit
07362384aa
3 changed files with 54 additions and 2 deletions
38
src/components/messages/composition/RoomUpgradePrompt.vue
Normal file
38
src/components/messages/composition/RoomUpgradePrompt.vue
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
<template>
|
||||
<div class="statusEvent">
|
||||
{{ upgrading ? $t("room.upgrading") : $t("room.needs_upgrade") }}
|
||||
<v-btn :loading="upgrading" v-on:click="upgradeRoom">{{ $t("menu.upgrade") }}</v-btn>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { inject, Ref, ref } from 'vue';
|
||||
|
||||
|
||||
type RoomUpgradePromptProps = {
|
||||
version: string;
|
||||
urgent: boolean;
|
||||
roomId: string;
|
||||
};
|
||||
|
||||
const props = defineProps<RoomUpgradePromptProps>();
|
||||
const $matrix: any = inject('globalMatrix');
|
||||
|
||||
const upgrading: Ref<boolean> = ref(false);
|
||||
|
||||
const upgradeRoom = () => {
|
||||
upgrading.value = true;
|
||||
$matrix.matrixClient.upgradeRoom(props.roomId, props.version).then((r: {replacement_room: string}) => {
|
||||
upgrading.value = false;
|
||||
})
|
||||
};
|
||||
|
||||
if (props.urgent) {
|
||||
upgradeRoom();
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
@use "@/assets/css/chat.scss" as *;
|
||||
</style>
|
||||
Loading…
Add table
Add a link
Reference in a new issue