diff --git a/src/components/LinkItems/Item.vue b/src/components/LinkItems/Item.vue index 0177d886..fc47ed76 100644 --- a/src/components/LinkItems/Item.vue +++ b/src/components/LinkItems/Item.vue @@ -49,6 +49,7 @@ import Icon from '@/components/LinkItems/ItemIcon.vue'; import ItemOpenMethodIcon from '@/components/LinkItems/ItemOpenMethodIcon'; import StatusIndicator from '@/components/LinkItems/StatusIndicator'; import ContextMenu from '@/components/LinkItems/ContextMenu'; +import { localStorageKeys } from '@/utils/defaults'; export default { name: 'Item', @@ -106,6 +107,7 @@ export default { } else { this.$emit('itemClicked'); } + this.incrementMostUsedCount(this.id); }, /* Open custom context menu, and set position */ openContextMenu(e) { @@ -198,6 +200,14 @@ export default { default: window.open(url, '_blank'); } }, + /* Used for smart-sort when sorting items by most/ last used */ + incrementMostUsedCount(itemId) { + const mostUsed = JSON.parse(localStorage.getItem(localStorageKeys.MOST_USED) || '{}'); + let counter = mostUsed[itemId] || 0; + counter += 1; + mostUsed[itemId] = counter; + localStorage.setItem(localStorageKeys.MOST_USED, JSON.stringify(mostUsed)); + }, }, mounted() { // If ststus checking is enabled, then check service status diff --git a/src/components/LinkItems/Section.vue b/src/components/LinkItems/Section.vue index 9b7d7eb8..a1429d90 100644 --- a/src/components/LinkItems/Section.vue +++ b/src/components/LinkItems/Section.vue @@ -17,9 +17,9 @@ :style="gridStyle" > diff --git a/src/utils/defaults.js b/src/utils/defaults.js index 45b48aea..b6e37233 100644 --- a/src/utils/defaults.js +++ b/src/utils/defaults.js @@ -93,6 +93,7 @@ module.exports = { BACKUP_HASH: 'backupHash', HIDE_SETTINGS: 'hideSettings', USERNAME: 'username', + MOST_USED: 'mostUsed', }, /* Key names for cookie identifiers */ cookieKeys: {