Skip to content

Commit

Permalink
feat: hide subfolder snippets (#371)
Browse files Browse the repository at this point in the history
  • Loading branch information
antonreshetov committed Jun 10, 2023
1 parent 094f038 commit e2c8d4f
Show file tree
Hide file tree
Showing 10 changed files with 42 additions and 4 deletions.
10 changes: 10 additions & 0 deletions src/main/menu/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -333,6 +333,16 @@ const viewMenu: MenuItemConstructorOptions[] = [
}
}
]
},
{
label: i18n.t('menu:view.hideSubfolderSnippets'),
type: 'checkbox',
checked: store.app.get('hideSubfolderSnippets'),
click: () => {
BrowserWindow.getFocusedWindow()?.webContents.send(
'main-menu:hide-subfolder-snippets'
)
}
}
]

Expand Down
3 changes: 2 additions & 1 deletion src/main/services/i18n/locales/en/menu.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,8 @@
"dateModified": "Date Modified",
"dateCreated": "Date Created",
"name": "Name"
}
},
"hideSubfolderSnippets": "Hide Subfolder Snippets"
},
"edit": {
"label": "Edit",
Expand Down
3 changes: 2 additions & 1 deletion src/main/services/i18n/locales/ru/menu.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,8 @@
"dateModified": "Дате модификации",
"dateCreated": "Дате создания",
"name": "Имени"
}
},
"hideSubfolderSnippets": "Скрыть сниппеты в подпапках"
},
"edit": {
"label": "Изменить",
Expand Down
3 changes: 2 additions & 1 deletion src/main/store/module/app.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ export default new Store<AppStore>({
bounds: {},
sidebarWidth: 180,
snippetListWidth: 250,
sort: 'updatedAt'
sort: 'updatedAt',
hideSubfolderSnippets: false
}
})
6 changes: 6 additions & 0 deletions src/renderer/App.vue
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@ const init = async () => {
}
snippetStore.sort = store.app.get('sort')
snippetStore.hideSubfolderSnippets = store.app.get('hideSubfolderSnippets')
if (theme) {
appStore.setTheme(theme)
Expand Down Expand Up @@ -228,6 +229,11 @@ ipc.on('main-menu:sort-snippets', (event, sort) => {
snippetStore.setSort(sort)
})
ipc.on('main-menu:hide-subfolder-snippets', () => {
snippetStore.hideSubfolderSnippets = !snippetStore.hideSubfolderSnippets
store.app.set('hideSubfolderSnippets', snippetStore.hideSubfolderSnippets)
})
ipc.on('main-menu:add-description', async () => {
await onAddDescription()
})
Expand Down
2 changes: 1 addition & 1 deletion src/renderer/components/snippets/SnippetList.vue
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
>
<PerfectScrollbar>
<SnippetListItem
v-for="(i, index) in snippetStore.snippets"
v-for="(i, index) in snippetStore.snippetsByFilter"
:id="i.id"
:key="i.id"
:data-id="i.id"
Expand Down
16 changes: 16 additions & 0 deletions src/renderer/store/snippets.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,29 @@ export const useSnippetStore = defineStore('snippets', {
fragment: 0,
searchQuery: undefined,
sort: 'updatedAt',
hideSubfolderSnippets: false,
isContextState: false,
isMarkdownPreview: false,
isScreenshotPreview: false,
isCodePreview: false
}),

getters: {
snippetsByFilter: state => {
const folderStore = useFolderStore()

if (folderStore.selectedAlias) {
return state.snippets
}

if (state.hideSubfolderSnippets) {
return state.snippets.filter(
i => i.folderId === folderStore.selectedId
)
}

return state.snippets
},
selectedId: state => state.selected?.id,
selectedIds: state => state.selectedMultiple.map(i => i.id),
selectedIndex: state =>
Expand Down
1 change: 1 addition & 0 deletions src/shared/types/main/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ type MainMenuAction =
| 'preview-markdown'
| 'search'
| 'sort-snippets'
| 'hide-subfolder-snippets'
| 'font-size-increase'
| 'font-size-decrease'
| 'font-size-reset'
Expand Down
1 change: 1 addition & 0 deletions src/shared/types/main/store.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ export interface AppStore {
sidebarWidth: number
snippetListWidth: number
sort: SnippetsSort
hideSubfolderSnippets?: boolean
version?: string
}

Expand Down
1 change: 1 addition & 0 deletions src/shared/types/renderer/store/snippets.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ export interface State {
fragment: number
searchQuery?: string
sort: SnippetsSort
hideSubfolderSnippets: boolean
isContextState: boolean
isMarkdownPreview: boolean
isScreenshotPreview: boolean
Expand Down

0 comments on commit e2c8d4f

Please sign in to comment.