storeToRefs

This commit is contained in:
Natsumi
2026-03-13 18:37:57 +11:00
committed by pa
parent 9afb13318f
commit 8def445ba7
@@ -14,6 +14,7 @@ import { useUserStore } from '../stores/user';
import { watchState } from '../services/watchState'; import { watchState } from '../services/watchState';
import configRepository from '../services/config'; import configRepository from '../services/config';
import { storeToRefs } from 'pinia';
/** /**
* @param {object} args * @param {object} args
@@ -99,11 +100,11 @@ export function addFriendship(id) {
const sharedFeedStore = useSharedFeedStore(); const sharedFeedStore = useSharedFeedStore();
const uiStore = useUiStore(); const uiStore = useUiStore();
const { friendLog, friendLogTable, state } = friendStore; const { friendLog, friendLogTable, state } = storeToRefs(friendStore);
if ( if (
!watchState.isFriendsLoaded || !watchState.isFriendsLoaded ||
friendLog.has(id) || friendLog.value.has(id) ||
id === userStore.currentUser.id id === userStore.currentUser.id
) { ) {
return; return;
@@ -124,14 +125,14 @@ export function addFriendship(id) {
return; return;
} }
handleFriendStatus(args); handleFriendStatus(args);
if (args.json.isFriend && !friendLog.has(id)) { if (args.json.isFriend && !friendLog.value.has(id)) {
if (state.friendNumber === 0) { if (state.value.friendNumber === 0) {
state.friendNumber = friendStore.friends.size; state.value.friendNumber = friendStore.friends.size;
} }
ref.$friendNumber = ++state.friendNumber; ref.$friendNumber = ++state.value.friendNumber;
configRepository.setInt( configRepository.setInt(
`VRCX_friendNumber_${userStore.currentUser.id}`, `VRCX_friendNumber_${userStore.currentUser.id}`,
state.friendNumber state.value.friendNumber
); );
friendStore.addFriend(id, ref.state); friendStore.addFriend(id, ref.state);
const friendLogHistory = { const friendLogHistory = {
@@ -141,7 +142,7 @@ export function addFriendship(id) {
displayName: ref.displayName, displayName: ref.displayName,
friendNumber: ref.$friendNumber friendNumber: ref.$friendNumber
}; };
friendLogTable.data.push(friendLogHistory); friendLogTable.value.data.push(friendLogHistory);
database.addFriendLogHistory(friendLogHistory); database.addFriendLogHistory(friendLogHistory);
notificationStore.queueFriendLogNoty(friendLogHistory); notificationStore.queueFriendLogNoty(friendLogHistory);
sharedFeedStore.addEntry(friendLogHistory); sharedFeedStore.addEntry(friendLogHistory);
@@ -151,7 +152,7 @@ export function addFriendship(id) {
trustLevel: ref.$trustLevel, trustLevel: ref.$trustLevel,
friendNumber: ref.$friendNumber friendNumber: ref.$friendNumber
}; };
friendLog.set(id, friendLogCurrent); friendLog.value.set(id, friendLogCurrent);
database.setFriendLogCurrent(friendLogCurrent); database.setFriendLogCurrent(friendLogCurrent);
uiStore.notifyMenu('friend-log'); uiStore.notifyMenu('friend-log');
deleteFriendRequest(id); deleteFriendRequest(id);
@@ -180,9 +181,9 @@ export function updateFriendship(ref) {
const sharedFeedStore = useSharedFeedStore(); const sharedFeedStore = useSharedFeedStore();
const uiStore = useUiStore(); const uiStore = useUiStore();
const { friendLog, friendLogTable } = friendStore; const { friendLog, friendLogTable } = storeToRefs(friendStore);
const ctx = friendLog.get(ref.id); const ctx = friendLog.value.get(ref.id);
if (!watchState.isFriendsLoaded || typeof ctx === 'undefined') { if (!watchState.isFriendsLoaded || typeof ctx === 'undefined') {
return; return;
} }
@@ -202,7 +203,7 @@ export function updateFriendship(ref) {
previousDisplayName: ctx.displayName, previousDisplayName: ctx.displayName,
friendNumber: ref.$friendNumber friendNumber: ref.$friendNumber
}; };
friendLogTable.data.push(friendLogHistoryDisplayName); friendLogTable.value.data.push(friendLogHistoryDisplayName);
database.addFriendLogHistory(friendLogHistoryDisplayName); database.addFriendLogHistory(friendLogHistoryDisplayName);
notificationStore.queueFriendLogNoty(friendLogHistoryDisplayName); notificationStore.queueFriendLogNoty(friendLogHistoryDisplayName);
sharedFeedStore.addEntry(friendLogHistoryDisplayName); sharedFeedStore.addEntry(friendLogHistoryDisplayName);
@@ -212,7 +213,7 @@ export function updateFriendship(ref) {
trustLevel: ref.$trustLevel, trustLevel: ref.$trustLevel,
friendNumber: ref.$friendNumber friendNumber: ref.$friendNumber
}; };
friendLog.set(ref.id, friendLogCurrent); friendLog.value.set(ref.id, friendLogCurrent);
database.setFriendLogCurrent(friendLogCurrent); database.setFriendLogCurrent(friendLogCurrent);
ctx.displayName = ref.displayName; ctx.displayName = ref.displayName;
uiStore.notifyMenu('friend-log'); uiStore.notifyMenu('friend-log');
@@ -235,7 +236,7 @@ export function updateFriendship(ref) {
trustLevel: ref.$trustLevel, trustLevel: ref.$trustLevel,
friendNumber: ref.$friendNumber friendNumber: ref.$friendNumber
}; };
friendLog.set(ref.id, friendLogCurrent3); friendLog.value.set(ref.id, friendLogCurrent3);
database.setFriendLogCurrent(friendLogCurrent3); database.setFriendLogCurrent(friendLogCurrent3);
return; return;
} }
@@ -248,7 +249,7 @@ export function updateFriendship(ref) {
previousTrustLevel: ctx.trustLevel, previousTrustLevel: ctx.trustLevel,
friendNumber: ref.$friendNumber friendNumber: ref.$friendNumber
}; };
friendLogTable.data.push(friendLogHistoryTrustLevel); friendLogTable.value.data.push(friendLogHistoryTrustLevel);
database.addFriendLogHistory(friendLogHistoryTrustLevel); database.addFriendLogHistory(friendLogHistoryTrustLevel);
notificationStore.queueFriendLogNoty(friendLogHistoryTrustLevel); notificationStore.queueFriendLogNoty(friendLogHistoryTrustLevel);
sharedFeedStore.addEntry(friendLogHistoryTrustLevel); sharedFeedStore.addEntry(friendLogHistoryTrustLevel);
@@ -258,7 +259,7 @@ export function updateFriendship(ref) {
trustLevel: ref.$trustLevel, trustLevel: ref.$trustLevel,
friendNumber: ref.$friendNumber friendNumber: ref.$friendNumber
}; };
friendLog.set(ref.id, friendLogCurrent2); friendLog.value.set(ref.id, friendLogCurrent2);
database.setFriendLogCurrent(friendLogCurrent2); database.setFriendLogCurrent(friendLogCurrent2);
uiStore.notifyMenu('friend-log'); uiStore.notifyMenu('friend-log');
} }
@@ -344,9 +345,9 @@ export function runDeleteFriendshipFlow(
const uiStore = useUiStore(); const uiStore = useUiStore();
const appearanceSettingsStore = useAppearanceSettingsStore(); const appearanceSettingsStore = useAppearanceSettingsStore();
const { friendLog, friendLogTable } = friendStore; const { friendLog, friendLogTable } = storeToRefs(friendStore);
const ctx = friendLog.get(id); const ctx = friendLog.value.get(id);
if (typeof ctx === 'undefined') { if (typeof ctx === 'undefined') {
return; return;
} }
@@ -361,18 +362,18 @@ export function runDeleteFriendshipFlow(
return; return;
} }
handleFriendStatus(args); handleFriendStatus(args);
if (!args.json.isFriend && friendLog.has(id)) { if (!args.json.isFriend && friendLog.value.has(id)) {
const friendLogHistory = { const friendLogHistory = {
created_at: nowIso(), created_at: nowIso(),
type: 'Unfriend', type: 'Unfriend',
userId: id, userId: id,
displayName: ctx.displayName || id displayName: ctx.displayName || id
}; };
friendLogTable.data.push(friendLogHistory); friendLogTable.value.data.push(friendLogHistory);
database.addFriendLogHistory(friendLogHistory); database.addFriendLogHistory(friendLogHistory);
notificationStore.queueFriendLogNoty(friendLogHistory); notificationStore.queueFriendLogNoty(friendLogHistory);
sharedFeedStore.addEntry(friendLogHistory); sharedFeedStore.addEntry(friendLogHistory);
friendLog.delete(id); friendLog.value.delete(id);
database.deleteFriendLogCurrent(id); database.deleteFriendLogCurrent(id);
handleFavoriteDelete(id); handleFavoriteDelete(id);
if (!appearanceSettingsStore.hideUnfriends) { if (!appearanceSettingsStore.hideUnfriends) {
@@ -395,7 +396,7 @@ export function runUpdateFriendshipsFlow(
) { ) {
const friendStore = useFriendStore(); const friendStore = useFriendStore();
const userStore = useUserStore(); const userStore = useUserStore();
const { friendLog } = friendStore; const { friendLog } = storeToRefs(friendStore);
let id; let id;
const set = new Set(); const set = new Set();
@@ -403,9 +404,9 @@ export function runUpdateFriendshipsFlow(
set.add(id); set.add(id);
addFriendship(id); addFriendship(id);
} }
for (id of friendLog.keys()) { for (id of friendLog.value.keys()) {
if (id === userStore.currentUser.id) { if (id === userStore.currentUser.id) {
friendLog.delete(id); friendLog.value.delete(id);
database.deleteFriendLogCurrent(id); database.deleteFriendLogCurrent(id);
} else if (!set.has(id)) { } else if (!set.has(id)) {
runDeleteFriendshipFlow(id, { nowIso }); runDeleteFriendshipFlow(id, { nowIso });