diff --git a/src/TableEditor.vue b/src/TableEditor.vue index 08d6cbb..c071931 100644 --- a/src/TableEditor.vue +++ b/src/TableEditor.vue @@ -62,8 +62,6 @@ margin: 5px; } -.active-foundry-stats {} - .inactive-foundry-stats { display: none; } @@ -79,9 +77,6 @@ import Button from 'primevue/button' import Card from 'primevue/card' import Chip from 'primevue/chip' import Dropdown from 'primevue/dropdown' -import Toolbar from 'primevue/toolbar' - -import type { FormInstance } from '@primevue/forms' import { useSelectedTable, diff --git a/src/TableList.vue b/src/TableList.vue index 3722c1a..466bbeb 100644 --- a/src/TableList.vue +++ b/src/TableList.vue @@ -19,7 +19,7 @@ @@ -27,7 +27,8 @@ @@ -47,6 +48,7 @@ import SplitButton from 'primevue/splitbutton' import ConfirmDialog from 'primevue/confirmdialog' import { useConfirm } from 'primevue/useconfirm' +import { useUserData } from './user' import { startTable, hardStartTable, @@ -54,6 +56,8 @@ import { deleteTable, } from './game_tables' +import type { GameTable } from './game_tables' + const props = defineProps<{ gameTables: any showClose?: boolean @@ -63,6 +67,7 @@ const props = defineProps<{ const hostname = ref() const router = useRouter() const confirm = useConfirm() +const user = useUserData() onMounted(() => { hostname.value = location.host @@ -98,4 +103,8 @@ function buildButtonModel(table: any) { }, ] } + +function isTableOwner(gameTable: GameTable): boolean { + return user.value.is_admin || gameTable.user_id == user.value.id +} diff --git a/src/user.ts b/src/user.ts index f3b7700..4c3b896 100644 --- a/src/user.ts +++ b/src/user.ts @@ -3,6 +3,7 @@ import { ref, readonly, onMounted } from 'vue' import type { Ref } from 'vue' export interface User { + id: number username: string is_admin: boolean authenticated: boolean