mirror of
https://github.com/MrUnknownDE/VRCX.git
synced 2026-05-07 14:56:06 +02:00
fix notification deletion UI update
This commit is contained in:
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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 />
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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,25 +174,24 @@
|
|||||||
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) => {
|
|
||||||
for (const filter of activeFilters) {
|
|
||||||
if (filter.filterFn) {
|
|
||||||
if (!filter.filterFn(row, filter)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (!applyFilter(row, filter)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
});
|
|
||||||
|
|
||||||
return filtered;
|
return rawData.filter((row) => {
|
||||||
|
for (const filter of activeFilters) {
|
||||||
|
if (filter.filterFn) {
|
||||||
|
if (!filter.filterFn(row, filter)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (!applyFilter(row, filter)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
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);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user