diff --git a/src/components/ui/data-table/DataTableLayout.vue b/src/components/ui/data-table/DataTableLayout.vue
index ccd33118..513cbff2 100644
--- a/src/components/ui/data-table/DataTableLayout.vue
+++ b/src/components/ui/data-table/DataTableLayout.vue
@@ -6,7 +6,7 @@
-
+
joinClasses('table-fixed', props.tableClass));
+
+ const tableElementStyle = computed(() => {
+ if (!props.useTableMinWidth) return undefined;
+ const size = props.table?.getTotalSize?.();
+ if (!Number.isFinite(size) || size <= 0) return undefined;
+ return { minWidth: `${size}px` };
+ });
+
const resolveClassValue = (value, ctx) => {
if (typeof value === 'function') {
return value(ctx);
diff --git a/src/components/ui/table/Table.vue b/src/components/ui/table/Table.vue
index a1446779..f3d6f1bb 100644
--- a/src/components/ui/table/Table.vue
+++ b/src/components/ui/table/Table.vue
@@ -2,7 +2,8 @@
import { cn } from '@/lib/utils';
const props = defineProps({
- class: { type: null, required: false }
+ class: { type: null, required: false },
+ style: { type: [String, Array, Object], required: false }
});
@@ -10,7 +11,8 @@
+ :class="cn('w-full caption-bottom text-[13px] in-[.is-compact-table]:text-[12px]', props.class)"
+ :style="props.style">
diff --git a/src/stores/feed.js b/src/stores/feed.js
index d5c5fcea..0a30061c 100644
--- a/src/stores/feed.js
+++ b/src/stores/feed.js
@@ -24,18 +24,8 @@ export const useFeedStore = defineStore('Feed', () => {
vip: false,
loading: false,
filter: [],
- tableProps: {
- stripe: true,
- size: 'small',
- defaultSort: null,
- rowKey: (row) =>
- `${row.type}:${row.rowId ?? row.uid}:${row.created_at ?? ''}`
- },
pageSize: 20,
- pageSizeLinked: true,
- paginationProps: {
- layout: 'sizes,prev,pager,next,total'
- }
+ pageSizeLinked: true
});
const feedSessionTable = ref([]);
diff --git a/src/stores/friend.js b/src/stores/friend.js
index 4d1db7b9..33d63d89 100644
--- a/src/stores/friend.js
+++ b/src/stores/friend.js
@@ -87,16 +87,8 @@ export const useFriendStore = defineStore('Friend', () => {
!(filter.value && row.type === 'Unfriend')
}
],
- tableProps: {
- stripe: true,
- size: 'small',
- defaultSort: null
- },
pageSize: 20,
- pageSizeLinked: true,
- paginationProps: {
- layout: 'sizes,prev,pager,next,total'
- }
+ pageSizeLinked: true
});
const vipFriends = computed(() => {
diff --git a/src/stores/gameLog.js b/src/stores/gameLog.js
index 0800deb3..69ce9b7a 100644
--- a/src/stores/gameLog.js
+++ b/src/stores/gameLog.js
@@ -63,18 +63,8 @@ export const useGameLogStore = defineStore('GameLog', () => {
loading: false,
search: '',
filter: [],
- tableProps: {
- stripe: true,
- size: 'small',
- defaultSort: null,
- rowKey: (row) =>
- `${row.type}:${row.rowId ?? row.uid ?? row.displayName + row.location + row.time}:${row.created_at ?? ''}`
- },
pageSize: 20,
pageSizeLinked: true,
- paginationProps: {
- layout: 'sizes,prev,pager,next,total'
- },
vip: false
});
diff --git a/src/stores/moderation.js b/src/stores/moderation.js
index 7d121db6..5773dbaf 100644
--- a/src/stores/moderation.js
+++ b/src/stores/moderation.js
@@ -26,19 +26,8 @@ export const useModerationStore = defineStore('Moderation', () => {
value: ''
}
],
- tableProps: {
- stripe: true,
- size: 'small',
- defaultSort: {
- prop: 'created',
- order: 'descending'
- }
- },
pageSize: 20,
- pageSizeLinked: true,
- paginationProps: {
- layout: 'sizes,prev,pager,next,total'
- }
+ pageSizeLinked: true
});
watch(
diff --git a/src/views/Feed/columns.jsx b/src/views/Feed/columns.jsx
index 94dc9cfc..9225cb82 100644
--- a/src/views/Feed/columns.jsx
+++ b/src/views/Feed/columns.jsx
@@ -286,7 +286,7 @@ export const columns = [
header: () => t('table.feed.detail'),
enableSorting: false,
meta: {
- class: 'min-w-0 overflow-hidden'
+ class: 'min-w-[240px] overflow-hidden'
},
cell: ({ row }) => {
const original = row.original;
diff --git a/src/views/FriendLog/columns.jsx b/src/views/FriendLog/columns.jsx
index 1cb722c9..0faa03d8 100644
--- a/src/views/FriendLog/columns.jsx
+++ b/src/views/FriendLog/columns.jsx
@@ -32,7 +32,7 @@ export const createColumns = ({ onDelete, onDeletePrompt }) => {
{
accessorKey: 'created_at',
meta: {
- class: 'w-[140px]'
+ class: 'w-[90px]'
},
header: ({ column }) => (