diff --git a/front/package.json b/front/package.json index 73ae5eef3..fe7c3a800 100644 --- a/front/package.json +++ b/front/package.json @@ -86,6 +86,7 @@ "sinon": "14.0.0", "ts-jest": "28.0.7", "typescript": "4.7.4", + "utility-types": "^3.10.0", "vite": "3.0.3", "vite-plugin-pwa": "0.12.3", "vite-plugin-vue-inspector": "1.0.1", diff --git a/front/src/components/library/TrackEdit.vue b/front/src/components/library/TrackEdit.vue index d94ee5751..2fb26b2ba 100644 --- a/front/src/components/library/TrackEdit.vue +++ b/front/src/components/library/TrackEdit.vue @@ -1,3 +1,45 @@ + + - - diff --git a/front/src/components/library/UploadDetail.vue b/front/src/components/library/UploadDetail.vue index 89d4a4cce..be64b8724 100644 --- a/front/src/components/library/UploadDetail.vue +++ b/front/src/components/library/UploadDetail.vue @@ -1,3 +1,45 @@ + + - - diff --git a/front/src/components/library/radios/Builder.vue b/front/src/components/library/radios/Builder.vue index 86343ad41..8ef30499b 100644 --- a/front/src/components/library/radios/Builder.vue +++ b/front/src/components/library/radios/Builder.vue @@ -1,3 +1,200 @@ + + - diff --git a/front/src/components/library/radios/Filter.vue b/front/src/components/library/radios/Filter.vue index 08ef3eaed..4c1145c90 100644 --- a/front/src/components/library/radios/Filter.vue +++ b/front/src/components/library/radios/Filter.vue @@ -1,6 +1,7 @@ + - - diff --git a/front/src/components/manage/users/InvitationForm.vue b/front/src/components/manage/users/InvitationForm.vue index a1a201a52..9871e2310 100644 --- a/front/src/components/manage/users/InvitationForm.vue +++ b/front/src/components/manage/users/InvitationForm.vue @@ -1,3 +1,49 @@ + + - - diff --git a/front/src/components/notifications/NotificationRow.vue b/front/src/components/notifications/NotificationRow.vue index 09061ea39..523544a7b 100644 --- a/front/src/components/notifications/NotificationRow.vue +++ b/front/src/components/notifications/NotificationRow.vue @@ -1,3 +1,113 @@ + + - diff --git a/front/src/components/playlists/TrackPlaylistIcon.vue b/front/src/components/playlists/TrackPlaylistIcon.vue index fbae04d29..8ef8b7e2e 100644 --- a/front/src/components/playlists/TrackPlaylistIcon.vue +++ b/front/src/components/playlists/TrackPlaylistIcon.vue @@ -1,3 +1,28 @@ + + - - diff --git a/front/src/components/playlists/Widget.vue b/front/src/components/playlists/Widget.vue index df1b845a9..c8382cda6 100644 --- a/front/src/components/playlists/Widget.vue +++ b/front/src/components/playlists/Widget.vue @@ -1,3 +1,53 @@ + + - - diff --git a/front/src/components/radios/Card.vue b/front/src/components/radios/Card.vue index 5ec351545..c02063e16 100644 --- a/front/src/components/radios/Card.vue +++ b/front/src/components/radios/Card.vue @@ -1,3 +1,34 @@ + + - - diff --git a/front/src/store/playlists.ts b/front/src/store/playlists.ts index 3f72556e7..87aad86fb 100644 --- a/front/src/store/playlists.ts +++ b/front/src/store/playlists.ts @@ -21,9 +21,11 @@ const store: Module = { playlists (state, value) { state.playlists = value }, - chooseTrack (state, value) { - state.showModal = true - state.modalTrack = value + chooseTrack (state, value: Track | null) { + if (value !== null) { + state.showModal = true + state.modalTrack = value + } }, showModal (state, value) { state.showModal = value diff --git a/front/src/types.ts b/front/src/types.ts index bff29cf45..fcceba2e1 100644 --- a/front/src/types.ts +++ b/front/src/types.ts @@ -161,6 +161,10 @@ export interface LibraryFollow { uuid: string approved: boolean + name: string + type?: 'music.Library' | 'federation.LibraryFollow' + target: Library + // TODO (wvffle): Check if it's not added only on frontend side isLoading?: boolean } @@ -199,7 +203,7 @@ export interface PlaylistTrack { } export interface Radio { - id: string + id: number name: string user: User } @@ -466,9 +470,18 @@ export interface UserRequest { } // Notification stuff +export type Activity = { + actor: Actor + creation_date: string + related_object: LibraryFollow + type: 'Follow' | 'Accept' + object: LibraryFollow +} + export interface Notification { id: number is_read: boolean + activity: Activity } // Tags stuff diff --git a/front/src/views/admin/ChannelDetail.vue b/front/src/views/admin/ChannelDetail.vue index 901254ff0..73bc53fb6 100644 --- a/front/src/views/admin/ChannelDetail.vue +++ b/front/src/views/admin/ChannelDetail.vue @@ -1,3 +1,78 @@ + + - - diff --git a/front/src/views/admin/library/AlbumDetail.vue b/front/src/views/admin/library/AlbumDetail.vue index 55a2613ee..affafd769 100644 --- a/front/src/views/admin/library/AlbumDetail.vue +++ b/front/src/views/admin/library/AlbumDetail.vue @@ -1,3 +1,78 @@ + + - - diff --git a/front/src/views/admin/library/ArtistDetail.vue b/front/src/views/admin/library/ArtistDetail.vue index e613d057e..97fd0030c 100644 --- a/front/src/views/admin/library/ArtistDetail.vue +++ b/front/src/views/admin/library/ArtistDetail.vue @@ -1,3 +1,78 @@ + + - - diff --git a/front/src/views/admin/library/LibraryDetail.vue b/front/src/views/admin/library/LibraryDetail.vue index 1b1b48ad1..2c25ce147 100644 --- a/front/src/views/admin/library/LibraryDetail.vue +++ b/front/src/views/admin/library/LibraryDetail.vue @@ -1,3 +1,98 @@ + + - - diff --git a/front/src/views/admin/library/TagDetail.vue b/front/src/views/admin/library/TagDetail.vue index 16e394d81..666902865 100644 --- a/front/src/views/admin/library/TagDetail.vue +++ b/front/src/views/admin/library/TagDetail.vue @@ -1,3 +1,53 @@ + + - - diff --git a/front/src/views/admin/library/UploadDetail.vue b/front/src/views/admin/library/UploadDetail.vue index 27b061ed8..12a23b877 100644 --- a/front/src/views/admin/library/UploadDetail.vue +++ b/front/src/views/admin/library/UploadDetail.vue @@ -1,3 +1,66 @@ + + - - diff --git a/front/src/views/admin/moderation/AccountsDetail.vue b/front/src/views/admin/moderation/AccountsDetail.vue index 473107bcf..4a8c3a3c7 100644 --- a/front/src/views/admin/moderation/AccountsDetail.vue +++ b/front/src/views/admin/moderation/AccountsDetail.vue @@ -1,3 +1,148 @@ + + - - diff --git a/front/src/views/admin/moderation/Base.vue b/front/src/views/admin/moderation/Base.vue index f72ab8b4c..b74e90641 100644 --- a/front/src/views/admin/moderation/Base.vue +++ b/front/src/views/admin/moderation/Base.vue @@ -1,3 +1,26 @@ + + - - diff --git a/front/src/views/admin/moderation/DomainsDetail.vue b/front/src/views/admin/moderation/DomainsDetail.vue index 4c54b7c81..52319d727 100644 --- a/front/src/views/admin/moderation/DomainsDetail.vue +++ b/front/src/views/admin/moderation/DomainsDetail.vue @@ -1,3 +1,111 @@ + + - - diff --git a/front/src/views/admin/moderation/DomainsList.vue b/front/src/views/admin/moderation/DomainsList.vue index 9e72c1739..641d2ea5d 100644 --- a/front/src/views/admin/moderation/DomainsList.vue +++ b/front/src/views/admin/moderation/DomainsList.vue @@ -1,3 +1,51 @@ + + - - diff --git a/front/src/views/admin/moderation/ReportDetail.vue b/front/src/views/admin/moderation/ReportDetail.vue index a730fbf15..ecb87847b 100644 --- a/front/src/views/admin/moderation/ReportDetail.vue +++ b/front/src/views/admin/moderation/ReportDetail.vue @@ -1,3 +1,36 @@ + + - - diff --git a/front/src/views/admin/moderation/RequestDetail.vue b/front/src/views/admin/moderation/RequestDetail.vue index f9e8f45e4..ce743464c 100644 --- a/front/src/views/admin/moderation/RequestDetail.vue +++ b/front/src/views/admin/moderation/RequestDetail.vue @@ -1,3 +1,36 @@ + + - - diff --git a/front/src/views/admin/users/Base.vue b/front/src/views/admin/users/Base.vue index 96e9e44a5..bfb673a22 100644 --- a/front/src/views/admin/users/Base.vue +++ b/front/src/views/admin/users/Base.vue @@ -1,3 +1,15 @@ + + - - diff --git a/front/src/views/auth/Callback.vue b/front/src/views/auth/Callback.vue index b16acae8c..6003af600 100644 --- a/front/src/views/auth/Callback.vue +++ b/front/src/views/auth/Callback.vue @@ -1,3 +1,24 @@ + + - - diff --git a/front/src/views/auth/EmailConfirm.vue b/front/src/views/auth/EmailConfirm.vue index 61952a274..58fd27efd 100644 --- a/front/src/views/auth/EmailConfirm.vue +++ b/front/src/views/auth/EmailConfirm.vue @@ -1,3 +1,46 @@ + + - - diff --git a/front/src/views/auth/PasswordReset.vue b/front/src/views/auth/PasswordReset.vue index 47ea5490b..b8788995f 100644 --- a/front/src/views/auth/PasswordReset.vue +++ b/front/src/views/auth/PasswordReset.vue @@ -1,3 +1,48 @@ + + - - diff --git a/front/src/views/auth/PasswordResetConfirm.vue b/front/src/views/auth/PasswordResetConfirm.vue index d1ffe5304..1b7ce3333 100644 --- a/front/src/views/auth/PasswordResetConfirm.vue +++ b/front/src/views/auth/PasswordResetConfirm.vue @@ -1,3 +1,54 @@ + + - - diff --git a/front/src/views/auth/Plugins.vue b/front/src/views/auth/Plugins.vue index a721864d7..9bffebea6 100644 --- a/front/src/views/auth/Plugins.vue +++ b/front/src/views/auth/Plugins.vue @@ -1,3 +1,43 @@ + + - - diff --git a/front/src/views/auth/ProfileActivity.vue b/front/src/views/auth/ProfileActivity.vue index 75de05eaf..7fe4ba95b 100644 --- a/front/src/views/auth/ProfileActivity.vue +++ b/front/src/views/auth/ProfileActivity.vue @@ -1,3 +1,21 @@ + + - - diff --git a/front/src/views/auth/Signup.vue b/front/src/views/auth/Signup.vue index 55a91f340..4b16abbd1 100644 --- a/front/src/views/auth/Signup.vue +++ b/front/src/views/auth/Signup.vue @@ -1,3 +1,28 @@ + + - - diff --git a/front/src/views/channels/DetailEpisodes.vue b/front/src/views/channels/DetailEpisodes.vue index e04019d5f..3cd33c7a3 100644 --- a/front/src/views/channels/DetailEpisodes.vue +++ b/front/src/views/channels/DetailEpisodes.vue @@ -1,21 +1,22 @@ + + - - diff --git a/front/src/views/channels/DetailOverview.vue b/front/src/views/channels/DetailOverview.vue index 0f2a73e1c..c5537a6dd 100644 --- a/front/src/views/channels/DetailOverview.vue +++ b/front/src/views/channels/DetailOverview.vue @@ -1,3 +1,94 @@ + + - - diff --git a/front/src/views/content/Base.vue b/front/src/views/content/Base.vue index e7c700d3b..796438a3f 100644 --- a/front/src/views/content/Base.vue +++ b/front/src/views/content/Base.vue @@ -1,3 +1,15 @@ + + - diff --git a/front/src/views/content/libraries/Card.vue b/front/src/views/content/libraries/Card.vue index 7ceb2c67e..477112c99 100644 --- a/front/src/views/content/libraries/Card.vue +++ b/front/src/views/content/libraries/Card.vue @@ -1,3 +1,27 @@ + + - - diff --git a/front/src/views/content/libraries/Files.vue b/front/src/views/content/libraries/Files.vue index 078198ec2..e19aead6e 100644 --- a/front/src/views/content/libraries/Files.vue +++ b/front/src/views/content/libraries/Files.vue @@ -1,16 +1,18 @@ - - - + + diff --git a/front/src/views/content/libraries/Form.vue b/front/src/views/content/libraries/Form.vue index 5d6df2fb6..f99740fd5 100644 --- a/front/src/views/content/libraries/Form.vue +++ b/front/src/views/content/libraries/Form.vue @@ -1,3 +1,93 @@ + + - - diff --git a/front/src/views/content/libraries/Home.vue b/front/src/views/content/libraries/Home.vue index 977f2123d..dde282fe9 100644 --- a/front/src/views/content/libraries/Home.vue +++ b/front/src/views/content/libraries/Home.vue @@ -1,3 +1,44 @@ + + - - diff --git a/front/src/views/content/libraries/Quota.vue b/front/src/views/content/libraries/Quota.vue index 0ea658b45..40a66befa 100644 --- a/front/src/views/content/libraries/Quota.vue +++ b/front/src/views/content/libraries/Quota.vue @@ -1,3 +1,55 @@ + + - diff --git a/front/src/views/content/remote/Home.vue b/front/src/views/content/remote/Home.vue index e63fd6e63..a831746ac 100644 --- a/front/src/views/content/remote/Home.vue +++ b/front/src/views/content/remote/Home.vue @@ -1,3 +1,45 @@ + + - - diff --git a/front/src/views/content/remote/ScanForm.vue b/front/src/views/content/remote/ScanForm.vue index 3d6533c5b..f46ccd9c9 100644 --- a/front/src/views/content/remote/ScanForm.vue +++ b/front/src/views/content/remote/ScanForm.vue @@ -1,3 +1,43 @@ + + - diff --git a/front/src/views/library/DetailAlbums.vue b/front/src/views/library/DetailAlbums.vue index 1e80e6696..2d3be6ac5 100644 --- a/front/src/views/library/DetailAlbums.vue +++ b/front/src/views/library/DetailAlbums.vue @@ -1,3 +1,16 @@ + + - - diff --git a/front/src/views/library/DetailOverview.vue b/front/src/views/library/DetailOverview.vue index 62cb43859..b1672c06f 100644 --- a/front/src/views/library/DetailOverview.vue +++ b/front/src/views/library/DetailOverview.vue @@ -1,3 +1,16 @@ + +