Skip to content
This repository was archived by the owner on Mar 11, 2025. It is now read-only.

Commit be180dc

Browse files
authored
Merge pull request #289 from Moosync/dev
10.2.0
2 parents 4a1e690 + d0e5052 commit be180dc

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

62 files changed

+4545
-1758
lines changed

package.json

Lines changed: 48 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "moosync",
3-
"version": "10.1.2",
3+
"version": "10.2.0",
44
"private": true,
55
"author": "Ovenoboyo <[email protected]>",
66
"description": "Moosync is a customizable desktop music player with a clean interface",
@@ -17,72 +17,72 @@
1717
"postuninstall": "patch-package && electron-builder install-app-deps"
1818
},
1919
"dependencies": {
20-
"@babel/core": "^7.22.20",
20+
"@babel/core": "^7.23.2",
2121
"@babel/eslint-parser": "^7.22.15",
2222
"@babel/plugin-proposal-class-properties": "^7.18.6",
2323
"@babel/plugin-syntax-bigint": "^7.8.3",
24-
"@babel/plugin-transform-runtime": "^7.22.15",
25-
"@babel/preset-env": "^7.22.20",
26-
"@babel/preset-typescript": "^7.22.15",
27-
"@babel/types": "^7.22.19",
28-
"@googleapis/oauth2": "^1.0.4",
24+
"@babel/plugin-transform-runtime": "^7.23.2",
25+
"@babel/preset-env": "^7.23.2",
26+
"@babel/preset-typescript": "^7.23.2",
27+
"@babel/types": "^7.23.0",
28+
"@googleapis/oauth2": "^1.0.5",
2929
"@imengyu/vue3-context-menu": "^1.3.3",
3030
"@napi-rs/cli": "^2.16.3",
3131
"@openid/appauth": "^1.3.1",
32-
"@types/adm-zip": "^0.5.1",
33-
"@types/better-sqlite3": "^7.6.5",
34-
"@types/electron-devtools-installer": "^2.2.2",
35-
"@types/ini": "^1.3.31",
36-
"@types/jest": "^29.5.5",
37-
"@types/js-yaml": "^4.0.6",
38-
"@types/markdown-it": "^13.0.1",
39-
"@types/node": "^20.6.2",
40-
"@types/tail": "^2.2.1",
41-
"@types/usetube": "^2.1.0",
42-
"@types/uuid": "^9.0.4",
43-
"@types/webpack-env": "^1.18.1",
44-
"@types/webrtc": "0.0.36",
45-
"@types/yt-player": "^3.5.1",
46-
"@typescript-eslint/eslint-plugin": "^6.7.2",
47-
"@typescript-eslint/parser": "^6.7.2",
32+
"@types/adm-zip": "^0.5.3",
33+
"@types/better-sqlite3": "^7.6.6",
34+
"@types/electron-devtools-installer": "^2.2.4",
35+
"@types/ini": "^1.3.32",
36+
"@types/jest": "^29.5.6",
37+
"@types/js-yaml": "^4.0.8",
38+
"@types/markdown-it": "^13.0.5",
39+
"@types/node": "^20.8.7",
40+
"@types/tail": "^2.2.2",
41+
"@types/usetube": "^2.1.1",
42+
"@types/uuid": "^9.0.6",
43+
"@types/webpack-env": "^1.18.3",
44+
"@types/webrtc": "0.0.39",
45+
"@types/yt-player": "^3.5.3",
46+
"@typescript-eslint/eslint-plugin": "^6.9.0",
47+
"@typescript-eslint/parser": "^6.9.0",
4848
"@voerro/vue-tagsinput": "^2.7.1",
4949
"@vue/cli-plugin-babel": "^5.0.8",
5050
"@vue/cli-plugin-typescript": "^5.0.8",
5151
"@vue/cli-service": "^5.0.8",
52-
"@vue/compat": "^3.3.4",
53-
"@vue/compiler-sfc": "^3.3.4",
52+
"@vue/compat": "^3.3.6",
53+
"@vue/compiler-sfc": "^3.3.6",
5454
"@vue/eslint-config-typescript": "^12.0.0",
5555
"adm-zip": "^0.5.10",
5656
"animate.css": "^4.1.1",
57-
"axios": "^1.5.0",
57+
"axios": "^1.5.1",
5858
"axios-rate-limit": "^1.3.0",
59-
"axios-retry": "^3.7.0",
59+
"axios-retry": "^3.8.0",
6060
"babel-loader": "^9.1.3",
61-
"better-sqlite3": "^8.6.0",
61+
"better-sqlite3": "^9.0.0",
6262
"better-sqlite3-helper": "^3.1.6",
6363
"bootstrap-vue": "^2.23.1",
6464
"buffer": "^6.0.3",
65-
"bufferutil": "4.0.7",
65+
"bufferutil": "4.0.8",
6666
"copy-webpack-plugin": "^11.0.0",
67-
"core-js": "^3.32.2",
68-
"croner": "^7.0.1",
67+
"core-js": "^3.33.1",
68+
"croner": "^7.0.4",
6969
"cross-env": "^7.0.3",
70-
"dashjs": "^4.7.1",
70+
"dashjs": "^4.7.2",
7171
"deepmerge": "^4.3.1",
7272
"dotenv": "^16.3.1",
73-
"electron": "25.5.0",
73+
"electron": "27.0.2",
7474
"electron-devtools-installer": "^3.2.0",
7575
"electron-store": "^8.1.0",
7676
"electron-updater": "^6.1.4",
77-
"eslint": "^8.49.0",
77+
"eslint": "^8.52.0",
7878
"eslint-config-prettier": "^9.0.0",
79-
"eslint-plugin-prettier": "^5.0.0",
79+
"eslint-plugin-prettier": "^5.0.1",
8080
"eslint-plugin-unused-imports": "^3.0.0",
8181
"eslint-plugin-vue": "^9.17.0",
8282
"events": "^3.3.0",
83-
"fast-xml-parser": "^4.2.7",
83+
"fast-xml-parser": "^4.3.2",
8484
"file-reader-reverse": "^1.0.2",
85-
"hash-wasm": "^4.9.0",
85+
"hash-wasm": "^4.10.0",
8686
"hls.js": "^1.4.12",
8787
"ini": "^4.1.1",
8888
"jest": "^29.7.0",
@@ -91,7 +91,7 @@
9191
"librespot-node": "git+https://github.com/Moosync/librespot-node.git",
9292
"localforage": "^1.10.0",
9393
"loglevel": "^1.8.1",
94-
"markdown-it": "^13.0.1",
94+
"markdown-it": "^13.0.2",
9595
"md5-wasm": "^2.0.0",
9696
"media-controller": "git+https://github.com/Moosync/MediaController.git",
9797
"music-metadata": "^8.1.4",
@@ -102,7 +102,7 @@
102102
"qs": "^6.11.2",
103103
"reflect-metadata": "^0.1.13",
104104
"replace": "^1.2.2",
105-
"sass": "~1.67.0",
105+
"sass": "~1.69.4",
106106
"sass-loader": "13.3.2",
107107
"scanner-native": "git+https://github.com/Moosync/file-scanner.git",
108108
"semver": "^7.5.4",
@@ -114,30 +114,30 @@
114114
"threads-plugin": "^1.4.0",
115115
"toad-scheduler": "^3.0.0",
116116
"ts-jest": "^29.1.1",
117-
"ts-loader": "^9.4.4",
117+
"ts-loader": "^9.5.0",
118118
"ts-node": "^10.9.1",
119119
"tslib": "^2.6.2",
120120
"typescript": "5.2.2",
121121
"uuid": "^9.0.1",
122122
"vm2": "git+https://github.com/patriksimek/vm2.git",
123-
"vue": "^3.3.4",
123+
"vue": "^3.3.6",
124124
"vue-accessible-color-picker": "^4.1.4",
125125
"vue-auto-routing": "^1.0.1",
126126
"vue-class-component": "^7.2.6",
127127
"vue-cli": "^2.9.6",
128128
"vue-cli-plugin-auto-routing": "~1.3.0",
129129
"vue-cli-plugin-electron-builder": "^3.0.0-alpha.4",
130-
"vue-facing-decorator": "^3.0.2",
131-
"vue-i18n": "9.4.1",
130+
"vue-facing-decorator": "^3.0.4",
131+
"vue-i18n": "9.5.0",
132132
"vue-inline-svg": "^2.1.3",
133133
"vue-property-decorator": "^9.1.2",
134-
"vue-router": "~4.2.4",
134+
"vue-router": "~4.2.5",
135135
"vue-slider-component": "^4.0.0-beta.9",
136136
"vue-toasted": "^1.1.28",
137137
"vue-typeahead-bootstrap": "^2.12.0",
138138
"vue-virtual-scroller": "2.0.0-beta.8",
139139
"vue3-colorpicker": "^2.2.2",
140-
"vue3-toastify": "^0.1.12",
140+
"vue3-toastify": "^0.1.14",
141141
"vuedraggable": "^2.24.3",
142142
"vuex": "~4.1.0",
143143
"vuex-class-component": "^2.3.6",
@@ -160,9 +160,9 @@
160160
],
161161
"resolutions": {
162162
"electron-builder": "24.6.4",
163-
"node-abi": "^3.47.0",
164-
"webpack": "^5.88.2",
165-
"better-sqlite3": "^8.6.0",
163+
"node-abi": "^3.51.0",
164+
"webpack": "^5.89.0",
165+
"better-sqlite3": "^9.0.0",
166166
"nan": "^2.18.0",
167167
"@vue/cli-service": "^5.0.8",
168168
"@achrinza/node-ipc": "^10.1.9"

src/mainWindow/components/generic/CardRecycleScroller.vue

Lines changed: 5 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -16,25 +16,12 @@
1616
</b-col>
1717
</b-row>
1818
<b-row class="recycle-row" ref="scrollerRow">
19-
<RecycleScroller
20-
class="scroller w-100 h-100"
21-
:items="filteredItems"
22-
:item-size="itemWidth"
23-
:itemSecondarySize="itemWidth"
24-
:key-field="keyField"
25-
:grid-items="itemsInRow"
26-
:buffer="100"
27-
:direction="'vertical'"
28-
@resize="onScrollerResize"
29-
>
19+
<RecycleScroller class="scroller w-100 h-100" :items="filteredItems" :item-size="itemWidth"
20+
:itemSecondarySize="itemWidth" :key-field="keyField" :grid-items="itemsInRow" :buffer="100"
21+
:direction="'vertical'" @resize="onScrollerResize">
3022
<template v-slot="{ item }">
31-
<CardView
32-
:title="item[titleKey]"
33-
:imgSrc="item[imageKey]"
34-
:maxWidth="`${itemWidth - 50}px`"
35-
@click="emitClick(item)"
36-
@CardContextMenu="emitContextMenu(item, ...arguments)"
37-
>
23+
<CardView :title="item[titleKey]" :imgSrc="item[imageKey]" :maxWidth="`${itemWidth - 50}px`"
24+
@click="emitClick(item)" @CardContextMenu="emitContextMenu($event, item, ...arguments)">
3825
<template #defaultCover>
3926
<slot ref="defaultCover" name="defaultCover" />
4027
</template>

src/mainWindow/components/modals/NewPlaylistModal.vue

Lines changed: 7 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -12,41 +12,23 @@
1212
<div class="modal-content-container">
1313
<b-container fluid class="p-0">
1414
<b-row no-gutters class="d-flex">
15-
<canvas
16-
crossorigin="anonymous"
17-
v-if="!forceEmptyImg"
18-
ref="canvas"
19-
width="800"
20-
height="800"
21-
id="playlist-cover"
22-
class="playlist-cover"
23-
></canvas>
15+
<canvas crossorigin="anonymous" v-if="!forceEmptyImg" ref="canvas" width="800" height="800" id="playlist-cover"
16+
class="playlist-cover"></canvas>
2417
<SongDefault v-if="forceEmptyImg" class="playlist-cover" />
2518
<b-col class="playlist-details">
2619
<div class="d-flex">
27-
<b-input
28-
v-model="title"
29-
id="playlist-title"
30-
class="playlist-title"
31-
maxlength="20"
32-
placeholder="Playlist Name..."
33-
/>
20+
<b-input v-model="title" id="playlist-title" class="playlist-title" maxlength="20"
21+
placeholder="Playlist Name..." />
3422
</div>
3523
<p class="songs-count">{{ songCount }} {{ songCount == 1 ? 'Song' : 'Songs' }}</p>
3624
</b-col>
3725
</b-row>
3826
<b-row no-gutters>
39-
<b-form-textarea
40-
class="playlist-desc"
41-
id="playlist-desc"
42-
v-model="desc"
43-
placeholder="Description..."
44-
rows="3"
45-
max-rows="6"
46-
></b-form-textarea>
27+
<b-form-textarea class="playlist-desc" id="playlist-desc" v-model="desc"
28+
:placeholder="$t('playlists.new_playlist.description_placeholder')" rows="3" max-rows="6"></b-form-textarea>
4729
</b-row>
4830
</b-container>
49-
<b-button class="create-button" @click="createPlaylist">Create</b-button>
31+
<b-button class="create-button" @click="createPlaylist">{{ $t('playlists.new_playlist.create') }}</b-button>
5032
</div>
5133
</b-modal>
5234
</template>

src/mainWindow/components/modals/PlaylistFromURLModal.vue

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
</b-row>
3939
<b-row no-gutters>
4040
<b-col cols="12">
41-
<InputGroup class="input-group" hint="Enter URL Here.. (Youtube or Spotify)" v-model="playlistUrl"
41+
<InputGroup class="input-group" :hint="$t('playlists.url.input_hint')" v-model="playlistUrl"
4242
@update="parseURL" />
4343
</b-col>
4444
</b-row>
@@ -56,8 +56,9 @@
5656
</div>
5757
</b-row>
5858
</b-container>
59-
<b-button class="close-button ml-3" @click="close">Close</b-button>
60-
<b-button class="create-button" :disabled="!addButtonEnabled" @click="addToLibrary">Add</b-button>
59+
<b-button class="close-button ml-3" @click="close">{{ $t('buttons.close') }}</b-button>
60+
<b-button class="create-button" :disabled="!addButtonEnabled" @click="addToLibrary">{{ $t('buttons.add')
61+
}}</b-button>
6162
</div>
6263
</b-modal>
6364
</template>

0 commit comments

Comments
 (0)