fix notification deletion UI update

This commit is contained in:
pa
2026-01-06 23:25:22 +09:00
committed by Natsumi
parent 12e65aeff8
commit 7f639f0040
5 changed files with 37 additions and 29 deletions
@@ -110,9 +110,12 @@ export function useAuthenticatedLayoutResizable() {
resizeNavPanel(targetSize); resizeNavPanel(targetSize);
}); });
onMounted(() => { onMounted(async () => {
navExpandedSize.value = await nextTick();
navPanelRef.value?.getSize?.() ?? navDefaultSize.value; let panelSize = null;
panelSize = navPanelRef.value?.getSize?.() ?? null;
navExpandedSize.value = panelSize ?? navDefaultSize.value;
if (isNavCollapsed.value) { if (isNavCollapsed.value) {
resizeNavPanel(navCollapsedSize.value); resizeNavPanel(navCollapsedSize.value);
} }
+2 -2
View File
@@ -84,14 +84,14 @@ const expandedRow = ({ row }) => {
return ( return (
<div class="pl-5 text-sm"> <div class="pl-5 text-sm">
<div class="flex items-center"> <div class="flex items-center">
<div class="inline-block align-top w-[160px]"> <div class="inline-block align-top w-40">
{original.previousCurrentAvatarThumbnailImageUrl ? ( {original.previousCurrentAvatarThumbnailImageUrl ? (
<> <>
<img <img
src={ src={
original.previousCurrentAvatarThumbnailImageUrl original.previousCurrentAvatarThumbnailImageUrl
} }
class="x-link h-[120px] w-[160px] rounded" class="x-link h-30 w-40 rounded"
loading="lazy" loading="lazy"
/> />
<br /> <br />
+4 -1
View File
@@ -26,7 +26,10 @@
<template v-if="isSideBarTabShow"> <template v-if="isSideBarTabShow">
<ResizableHandle <ResizableHandle
with-handle with-handle
:class="isAsideCollapsed(layout) ? 'opacity-100' : 'opacity-0'"></ResizableHandle> :class="[
isAsideCollapsed(layout) ? 'opacity-100' : 'opacity-0',
'z-20 [&>div]:-translate-x-1/2'
]"></ResizableHandle>
<ResizablePanel <ResizablePanel
:default-size="asideDefaultSize" :default-size="asideDefaultSize"
:max-size="asideMaxSize" :max-size="asideMaxSize"
+10 -8
View File
@@ -96,7 +96,7 @@
useUserStore, useUserStore,
useVrcxStore useVrcxStore
} from '../../stores'; } from '../../stores';
import { convertFileUrlToImageUrl, escapeTag, parseLocation, removeFromArray } from '../../shared/utils'; import { convertFileUrlToImageUrl, escapeTag, parseLocation } from '../../shared/utils';
import { friendRequest, notificationRequest, worldRequest } from '../../api'; import { friendRequest, notificationRequest, worldRequest } from '../../api';
import { DataTableLayout } from '../../components/ui/data-table'; import { DataTableLayout } from '../../components/ui/data-table';
import { createColumns } from './columns.jsx'; import { createColumns } from './columns.jsx';
@@ -174,10 +174,11 @@
const rawFilters = Array.isArray(notificationTable.value.filters) ? notificationTable.value.filters : []; const rawFilters = Array.isArray(notificationTable.value.filters) ? notificationTable.value.filters : [];
const activeFilters = rawFilters.filter((filter) => !isEmptyFilterValue(filter?.value)); const activeFilters = rawFilters.filter((filter) => !isEmptyFilterValue(filter?.value));
const filtered = if (activeFilters.length === 0) {
activeFilters.length === 0 return rawData.slice();
? rawData }
: rawData.filter((row) => {
return rawData.filter((row) => {
for (const filter of activeFilters) { for (const filter of activeFilters) {
if (filter.filterFn) { if (filter.filterFn) {
if (!filter.filterFn(row, filter)) { if (!filter.filterFn(row, filter)) {
@@ -191,8 +192,6 @@
} }
return true; return true;
}); });
return filtered;
}); });
const columns = createColumns({ const columns = createColumns({
@@ -468,7 +467,10 @@
} }
function deleteNotificationLog(row) { function deleteNotificationLog(row) {
removeFromArray(notificationTable.value.data, row); const idx = notificationTable.value.data.findIndex((e) => e.id === row.id);
if (idx !== -1) {
notificationTable.value.data.splice(idx, 1);
}
if (row.type !== 'friendRequest' && row.type !== 'ignoredFriendRequest') { if (row.type !== 'friendRequest' && row.type !== 'ignoredFriendRequest') {
database.deleteNotification(row.id); database.deleteNotification(row.id);
} }
+3 -3
View File
@@ -395,7 +395,7 @@ export const createColumns = ({
} }
return ( return (
<Emoji <Emoji
class="x-link h-[30px] w-[30px] rounded object-cover" class="x-link h-7.5 w-7.5 rounded object-cover"
onClick={() => showFullscreenImageDialog(imageUrl)} onClick={() => showFullscreenImageDialog(imageUrl)}
imageUrl={imageUrl} imageUrl={imageUrl}
size={30} size={30}
@@ -406,7 +406,7 @@ export const createColumns = ({
if (original.details?.imageUrl) { if (original.details?.imageUrl) {
return ( return (
<img <img
class="x-link h-[30px] w-[30px] rounded object-cover" class="x-link h-7.5 w-7.5 rounded object-cover"
src={getSmallThumbnailUrl( src={getSmallThumbnailUrl(
original.details.imageUrl original.details.imageUrl
)} )}
@@ -423,7 +423,7 @@ export const createColumns = ({
if (original.imageUrl) { if (original.imageUrl) {
return ( return (
<img <img
class="x-link h-[30px] w-[30px] rounded object-cover" class="x-link h-7.5 w-7.5 rounded object-cover"
src={getSmallThumbnailUrl(original.imageUrl)} src={getSmallThumbnailUrl(original.imageUrl)}
onClick={() => onClick={() =>
showFullscreenImageDialog(original.imageUrl) showFullscreenImageDialog(original.imageUrl)