This commit is contained in:
j3d1 2026-08-31 16:05:05 +02:00
parent 18a3e40435
commit 15dad8e3be
6 changed files with 130 additions and 153 deletions

View file

@ -132,19 +132,23 @@ export default {
default: null
}
},
data() {
return {
layout: "grid",
}
},
components: {
AuthenticatedImage,
BaseLayout,
...BIcons
},
computed: {
...mapGetters(["inventory_items", "groupInventoryItems", "loaded_items", "identityIdByHandle", "groupIdByHandle"]),
...mapGetters(["inventory_items", "groupInventoryItems", "loaded_items", "identityIdByHandle", "groupIdByHandle", "getPreference"]),
...mapState(["user", "storage_locations", "groups", "groupMemberships", "friends"]),
// Implicit preference: remembers the last-used view without a settings-page entry. See docs/implementation.md#preferences.
layout: {
get() {
return this.getPreference('ui.remembered.inventory_view_mode', 'grid')
},
set(value) {
this.setDevicePreference({key: 'ui.remembered.inventory_view_mode', value})
}
},
// Groups hosted here plus GroupMembership-only ones - see Groups.vue's allGroups for the same merge/dedupe.
ownerGroups() {
const hostedHandles = new Set(this.groups.map(group => group.handle))
@ -181,7 +185,7 @@ export default {
methods: {
...mapActions(["fetchInventoryItems", "fetchGroupInventoryItems", "fetchFriendInventoryItems",
"deleteInventoryItem", "fetchStorageLocations", "fetchIdMap", "fetchGroups",
"fetchGroupMemberships", "fetchFriends"]),
"fetchGroupMemberships", "fetchFriends", "setDevicePreference"]),
fetchItemsForOwner() {
if (this.selectedOwner === this.user) return this.fetchInventoryItems()
if (this.isGroupSelected) return this.fetchGroupInventoryItems({groupHandle: this.selectedOwner})