Commit graph

211 commits

Author SHA1 Message Date
Deluan
b7fedddfd8 Guard against record being undefined. Fix error Cannot read properties of undefined (reading 'albumId') 2021-10-16 20:29:31 -04:00
Deluan
9c29ee3651 Check permissions before adding songs to playlists 2021-10-02 13:23:17 -04:00
Deluan
6c3e45de41 Add songs to playlists with drag and drop 2021-10-02 13:14:33 -04:00
Deluan
c6868ff8a0 Don't show Artist Page for "Various Artists" 2021-09-27 11:52:23 -04:00
Dnouv
482c2dec0c
Artist Detail Page (first cut) (#1287)
* Configure fetching from API and route

* pretty

* Remove errors

* Remove errors

* Remove errors

* Complete page for Desktop view

* Fix error

* Add xs Artist page

* Remove unused import

* Add styles for theme

* Change route path

* Remove artId useEffect array

* Remove array

* Fix cover load err

* Add redirect on err

* Remove route

* What's in a name? consistency :)

* Fix err

* Fix UI changes

* Fetch album from resource

* Renaming done

* Review changes

* Some touch-up

* Small refactor, to make naming and structure more consistent with AlbumShow

* Make artist's album list similar to original implementation

* Reuse AlbumGridView, to avoid duplication

* Add feature flag to enable new Artist Page, default false

* Better biography styling. Small refactorings,

* Don't encode quotes and other symbols

* Moved AlbumShow to correct folder

Co-authored-by: Deluan <deluan@navidrome.org>
2021-09-26 15:32:40 -04:00
Samarjeet
0c0bd2967d
Replace expanded with a dialog (#1258)
* Replace expanded with a dialog

* Change `info` label to "Get Info"

* Rename things for consistency

Co-authored-by: Deluan <deluan@navidrome.org>
2021-09-20 20:30:43 -04:00
Miguel A. Arroyo
e12a14a87d feat: Adds Audio Channel Metadata - #1036 2021-09-20 19:33:50 -04:00
Deluan
892c2bfd58 Revert "Disable mini-player (bubble) dragging. Should fix #1217"
This reverts commit abf6318a8b.
2021-09-20 18:24:18 -04:00
Deluan
abf6318a8b Disable mini-player (bubble) dragging. Should fix #1217 2021-09-13 11:17:06 -04:00
Salman Inayat
06b1a1a25c
Album size overflow fixed (#1071)
* Added back button

* Added back button

* Added back button

* Fixed Album size overflow

* Fixed Album size overflow

* Fixed album size overflowing

* Fixed album size overflowing

* Fixed album size overflowing

* Fixed album size overflow on small screen

* Changes reverted in PlayerEdit.js

* prettier formatting issue resolved

Co-authored-by: Deluan <deluan@navidrome.org>
2021-09-09 11:56:48 -04:00
Deluan
1471e1240d Show songs' genres as text instead of Chips 2021-07-20 17:45:08 -04:00
Deluan
054b5eafdb Add Genres as "Chips" in Album details and Song details 2021-07-20 17:45:08 -04:00
Deluan
69afb69959 Fix Disc context menu not visible in mobile 2021-07-04 11:44:41 -04:00
Deluan
ace5c905eb Made the Player behaviour more consistent 2021-07-02 23:36:33 -04:00
Deluan
b684a47f80 Show DiscSubtitle even if the album has only one disc.
Closes #947
2021-06-25 11:30:24 -04:00
Deluan
c4623d7bc3 Don't show "empty" dates 2021-06-16 12:28:49 -04:00
Deluan
fb7229a53e Refech using getMany, reducing the number of API calls 2021-06-16 10:01:09 -04:00
Deluan
8383527aab Only refetch changed resources when receive a "refreshResource" event 2021-06-15 16:12:13 -04:00
Deluan
8a56584aed Removed the albumSong workaround, as React-Admin's cache seems to behave better now 2021-06-15 11:31:41 -04:00
Deluan
7f85ecd515 Trigger a UI refresh when the scanner finds changes.
Closes #1025
2021-06-09 21:02:20 -04:00
Deluan
60d50de8c9 Refactoring to make common components usage more uniform 2021-05-26 09:35:13 -04:00
Aldrin Jenson
cf8ee251ee
Option to toggle fields in songs, albums & artists (#923)
* Add toggleColumns

- Add logic for toggling columns
- Add MenuComponent + useSelectedFields hook

* Refactoring

* eslint-fixes

* Typo

* skip menu in albumGridView

* add omittedFields

* Add toggling for playlists and albumSong

* Refactoring

* defaultProps - fix

* Add toggling for PlaylistSongs

* remove accidental console log

* Refactoring for future compatibility

* Hide ToggleMenu in albumGridView

* Add TopBarComponent in ToggleFieldsMenu

* Add defaultOff for useSelectedFields

* Fix edge case

* eslint fix

* Refactoring

* Add propType for forwardRef

* Fix issues

* add translation for grid and table

* add translation for grid and table

* Ignore menuBtn for spotify-ish and Ligera themes

* hide bpm by default in playlistSongs

* Add memoization

* Default album view must be Grid

Co-authored-by: Deluan <deluan@navidrome.org>
2021-05-24 11:09:06 -04:00
Deluan
e529390034 Remove md5-hex wrapper and use blueimp-md5 directly 2021-05-20 13:42:56 -04:00
Deluan
4699902369 Remove dependency on lodash.get 2021-05-11 22:08:07 -04:00
Deluan
77e736ccfd Do not use ra-core directly 2021-05-11 21:39:53 -04:00
Brian Schrameck
30bb3f7b43
BPM metadata enhancement (#1087)
* BPM metadata enhancement

Related to #1036.

Adds BPM to the stored metadata about MediaFiles.

Displays BPM in the following locations:
- Listing songs in the song list (desktop, sortable)
- Listing songs in playlists (desktop, sortable)
- Listing songs in albums (desktop)
- Expanding song details

When listing, shows a blank field if no BPM is present. When showing song details, shows a question mark.

Updates test MP3 file to have BPM tag. Updated test to ensure tag is read correctly.

Updated localization files. Most languages just use "BPM" as discovered during research on Wikipedia. However, a couple use some different nomenclature. Spanish uses PPM and Japanese uses M.M.

* Enhances support for BPM metadata extraction

- Supports reading floating point BPM (still storing it as an integer) and FFmpeg as the extractor
- Replaces existing .ogg test file with one that shouldn't fail randomly
- Adds supporting tests for both FFmpeg and TagLib

* Addresses various issues with PR #1087.

- Adds index for BPM. Removes drop column as it's not supported by SQLite (duh).
- Removes localizations for BPM as those will be done in POEditor.
- Moves BPM before Comment in Song Details and removes BPM altogether if it's empty.
- Omits empty BPM in JSON responses, eliminating need for FunctionField.
- Fixes copy/paste error in ffmpeg_test.
2021-05-05 21:35:01 -04:00
Deluan
986473393f Fix missing translation error in console. Closes #1038 2021-05-04 16:01:26 -04:00
Deluan
b10f491de8 Fix Song details row height 2021-04-24 23:06:14 -04:00
Deluan
0063720cc2 Change size and position of QualityInfo in the Player 2021-04-17 22:49:36 -04:00
Neil Chauhan
48ae4f7479
Add 5-star rating system(#986)
* Added Star Rating functionality for Songs

* Added Star Rating functionality for Artists

* Added Star Rating functionality for AlbumListView

* Added Star Rating functionality for AlbumDetails and improved typography for title

* Added functionality to turn on/off Star Rating functionality for Songs

* Added functionality to turn on/off Star Rating functionality for Artists

* Added functionality to turn on/off Star Rating functionality for Albums

* Added enableStarRating to server config

* Resolved the bugs and improved the ratings functionality.

* synced repo and removed duplicate key

* changed the default rating size to small, and changed the color to match the theme.

* Added translations for ratings, and Top Rated tab in side menu.

* Changed rating translation to topRated in albumLists, and added has_rating filter to topRated.

* Added empty stars icon to RatingField.

* Added sortable=false in AlbumSongs and added sortByOrder=DESC in all List components.

* Added translations for rating, for artists and albums, and removed the sortByOrder=DESC from SimpleLists.
2021-04-07 16:02:52 -04:00
Deluan
840521ffe2 Fix console errors for QualityInfo component 2021-04-07 13:08:41 -04:00
Deluan
9913b92905 Get lossless format list from server 2021-04-06 22:18:48 -04:00
Himanshu maurya
52812fa48b
Added quality info (#918)
* added quality info

* fixed formatting

* implemented various suggestions

* npm run prettier

* applied suggestions

* npm run prettier

* corrected lossless formats and other suggestions

* moved losslessformats into consts.js

* added some test

* typo while resolving conflicts

* fetch

* removed a bug causing component (as suggested)

* Update PlayerToolbar.js

* implemented suggestions

* added few more tests

* npm run prettier

* added size

* updated qualityInfo

* implemented suggestions

* added test for when no record is recieved

* Update QualityInfo.js
2021-04-06 21:30:17 -04:00
Shishir A S
c57fa7a8fc
Fixes play icon color in "Light" theme (#972)
* fix(ui/src/album): White play button on hover for all themes - #960

* fix(PlayButton) : White play button for light theme - #960

* fix(PlayButton) : White play button for light theme - #960

* bug(AlbumGridView.js) - Album play button defaults to white, can be overridden - #960

Signed-off-by: Shishir <shishir.srik@gmail.com>

* bug(AlbumGridView.js) - Album play button defaults to white, can be overridden - #960

* Reverted package.json and package-lock.json - #960

Signed-off-by: Shishir <shishir.srik@gmail.com>

* Missing lint script added - #960

Signed-off-by: Shishir <shishir.srik@gmail.com>

* Removed color, added className and made record required in PlayButton.propTypes - #960
2021-04-06 10:02:44 -04:00
Balaguru Ragupathi
6988b9a086
Improved Header Readability for Songs List (#985)
* style(SongDataGrid): Table Header Definition - #943

Signed-off-by: Balaguru4580 <balaguru4580@gmail.com>

* style(SongDataGrid): Improved Header Readability - #943

Signed-off-by: Balaguru4580 <balaguru4580@gmail.com>

* Shadow Effect

* Shadow Effect Opacity Adjustment

* Fixed Songs Context Menu

* Fixed the Songs Context Menu
2021-04-05 20:32:57 -04:00
Deluan
cdfdf78c73 Revert "style(SongDataGrid): Improved Header Readability (#954)"
This reverts commit 3d58c5ab. It broke the SongContextMenu
2021-04-04 21:46:44 -04:00
Balaguru Ragupathi
3d58c5ab54
style(SongDataGrid): Improved Header Readability (#954)
* style(SongDataGrid): Table Header Definition - #943

Signed-off-by: Balaguru4580 <balaguru4580@gmail.com>

* style(SongDataGrid): Improved Header Readability - #943

Signed-off-by: Balaguru4580 <balaguru4580@gmail.com>

* Shadow Effect

* Shadow Effect Opacity Adjustment
2021-04-02 22:15:59 -04:00
Aldrin Jenson
12223b2a83
Fix extra multiline Prop error (#966)
* Fix extra multiline Prop error

* Remove multiline prop from MultiLineTextField
2021-04-02 22:09:28 -04:00
rochakjain361
d0d18e8512
Album details UI fix (#922)
* Fix the Album Details UI to look similar to Song Details UI

* Remove the unused components

* Fix the gap between row and the first field in the details view

* Fix the width of the row of Album Details UI
2021-04-01 23:03:05 -04:00
Neil Chauhan
404253a881
Enable turn on/off Favorites/Loved feature. (#917)
* Added option to enable/disable favorites in Song

* Added option to enable/disable favorites in Artist

* Added option to enable/disable favorites in Albums and Favorites tab in sidebar

* Added option to enable/disable favorites in Player

* Set default value of enableFavourites as true

* Improved the functionality to enable/disable Favorites

* Add `EnableFavourites` config option

Co-authored-by: Deluan <deluan@navidrome.org>
2021-03-28 20:35:49 -04:00
Neil Chauhan
ac37bf3631
Refactored the current ️/Star feature to ❤️/Love/Favourite feature. (#908)
* Added setRating feature to AlbumListView

* Refactored the iconography from  to ❤️

* Refactored the current component from StarButton to LoveButton

* Refactored all translations from Starred to Loved, and all props from showStar to showLove

* Refactored useToggleStar hook to useToggleLove

* rebased repository from master and removed stray commmits

* Refactored handler name from TOGGLE_STAR to TOGGLE_LOVE in PlayerToolbar.js

* Change "starred" translation to "Favorite"

Co-authored-by: Deluan <deluan@navidrome.org>
2021-03-26 23:56:19 -04:00
Arbaz Ahmed
01ba00ccdd
New component for mobile Artist List (#891)
Fixes #890
2021-03-25 22:45:21 -04:00
Deluan
c46aa72ede Add lint script to UI project 2021-03-24 12:05:58 -04:00
Arbaz Ahmed
4e44d841dd
New component for song display in song list (#833)
* added new component SONGSIMPLELIST for smaller displays

* added new component SONGSIMPLELIST for smaller displays

* added new component SONGSIMPLELIST for smaller displays

* Updated songsimplelist

Removed truncation

* removed garbage code

* refactored some issues of overlapping

* refactored some issues of overlapping

* changed the song ui design

* refactored some bugs in artist display

* refactored some bugs in artist display

* removed garbage dependencies

* removed div bugs

* added all the logic to the component itself
2021-03-23 00:12:19 -04:00
Deluan
48847ae479 Don't break if it tries to render ContextMenu without data. Fix #776 2021-02-13 12:04:02 -05:00
Deluan
77fc4841e4 Remove option to download discs of a set 2021-02-03 23:05:15 -05:00
Deluan
7becc18da9 Don't explode when record is not loaded yet 2020-11-28 09:44:07 -05:00
Deluan
4ca98fb827 Add hotkey s to toggle star.
Refers to #585
2020-11-28 00:52:38 -05:00
Deluan
2010fcf4ca Remove possible undefined error 2020-11-27 18:53:25 -05:00
Deluan
0b729e1cf9 Hide star completely if in Playlist view 2020-11-27 16:24:22 -05:00
Deluan
90c407b7f6 Also use PureDatagridRow to speed up SongDatagrid 2020-11-27 14:24:22 -05:00
Deluan
7d075b1882 Make SongDatagrid faster by using PureDatagridBody 2020-11-27 13:13:51 -05:00
Deluan
0e9b0d466c Hide row when reordering playlist 2020-11-27 13:13:51 -05:00
Deluan
a42fb024be Fix song context menu "on hover" visibility 2020-11-27 13:13:51 -05:00
Deluan
f5808288ab Fix Album View 2020-11-27 13:13:51 -05:00
Deluan
3209430ebd Fix artists 2020-11-27 13:13:51 -05:00
Steve Richter
b8d47d1db4 Fix default getPerPage for 'md' widths 2020-11-21 01:34:36 -05:00
Deluan
8b2a550368 Fix test 2020-11-14 00:25:25 -05:00
Deluan
b0ea517fdd Add Album comment to Album details 2020-11-14 00:13:43 -05:00
Deluan
153cf8f5af Don't display "Comment" field in details if it is empty 2020-11-12 22:01:59 -05:00
Deluan
08399c4854 Fix some JS console errors 2020-11-12 20:51:26 -05:00
Deluan
25db696c06 Detect different discs, even when missing the first track of the disc. Fix #620. 2020-11-12 20:33:20 -05:00
Deluan
c09ba509b2 Fine tune scan status behaviour 2020-11-12 16:12:31 -05:00
Deluan
5111cf8c33 Display comments in SongDetails and AlbumList's details 2020-11-11 11:58:03 -05:00
Deluan
11012302fd Add tests for formatters 2020-11-10 20:45:04 -05:00
Deluan
9d2426a601 Use a better notation for exporting JS components and functions 2020-11-10 19:27:28 -05:00
Deluan
7afad2c96e Fix download single track from Playlist 2020-11-10 16:24:34 -05:00
Deluan
08e63c867b Add config option to globally enable/disable downloads 2020-11-10 16:14:43 -05:00
Deluan
3fc81638c7 Moved all reducers and actions to their own folders 2020-11-08 13:19:38 -05:00
Deluan
6542842938 Make sure we don't get durations with decimals 2020-11-05 18:27:46 -05:00
Deluan
873cea4046 Fix "Something went wrong" error when deleting a playlist 2020-11-05 14:06:21 -05:00
JorisL
0b977df8dd
Fixed duration formatter to properly count lengths longer than 24 hours (#612)
* Fixed durationfield formatter to properly count lengths longer than
24 hours.

* formatted DurationField.js with npm prettier
2020-11-05 14:02:09 -05:00
Deluan
6b89679e08 Remove hardcoded color 2020-10-31 19:40:25 -04:00
Deluan
3535fba9dd Fix BulkActions contrast once and for all(?) 2020-10-31 18:46:14 -04:00
Deluan
488db26675 Improve bulk actions color contrast 2020-10-31 11:05:33 -04:00
Deluan
1f842b08e2 Remove duplicated code for SongBulkActions 2020-10-31 10:46:38 -04:00
Deluan
aabef62b11 Add "PlayNow" button to bulk actions 2020-10-31 10:14:12 -04:00
Deluan
6ccdc2e068 Fine tune colors, remove PlayButton from AlbumDetail 2020-10-30 19:39:47 -04:00
Chris Newton
6da2f1ba92 feat: ran prettier over changes 2020-10-30 19:39:47 -04:00
Chris Newton
1076dda011 feat: changed hvoer state for album list, added play icon to album details 2020-10-30 19:39:47 -04:00
Deluan
68a9be5e86 Add Artist (discography) size, and show sizes in Download caption 2020-10-12 22:31:01 -04:00
Deluan
abd51b2156 Use Subsonic API to star/unstar
This removes the need to update the annotations on Put(model), removing complexity and making it less buggy
2020-10-03 20:08:51 -04:00
Deluan
b18e3289fb Add StarButton to player 2020-10-01 13:40:44 -04:00
Deluan
7305e3aa17 Add "Play Next" action (finally) 2020-09-21 20:10:52 -04:00
Deluan
8549451ee7 Fix potential undefined property
Not sure the reason, but I got this error:

```
Cannot read property 'id' of undefined
    at tn (SongTitleField.js:35)
    at Ka (react-dom.production.min.js:153)
    at vl (react-dom.production.min.js:261)
    at sc (react-dom.production.min.js:246)
    at lc (react-dom.production.min.js:246)
```
2020-09-02 12:41:21 -04:00
Deluan
0eae6d2a61 Hide "star" from disc subtitle rows 2020-08-25 22:48:05 -04:00
Deluan
f6982fd8ae Remove unused prop 2020-08-25 19:07:51 -04:00
Deluan
b364170d4f Remove duplicated star code from SongContextMenu 2020-08-24 19:51:41 -04:00
Deluan
0aceda9b89 Add star button to album detail view 2020-08-22 23:41:25 -04:00
Deluan
f3d8222ddb Fix color of star in Album grid when using Light theme 2020-08-19 11:12:12 -04:00
Deluan
a2e0acd6a2 Fix starring albums. Seems I may have lost a commit? 2020-08-15 15:03:03 -04:00
Deluan
ca5da5b0ea Use active filters when shuffling songs 2020-08-14 14:10:39 -04:00
Deluan
c2e03c8162 Add stars to Albums 2020-08-14 13:35:28 -04:00
Deluan
f2ebbd26fa Add stars to Artist 2020-08-14 13:19:32 -04:00
Deluan
bbc4f9f91f Add artist context menu 2020-08-14 12:55:22 -04:00
Deluan
6fe1f84c68 Add download for songs 2020-08-14 12:11:35 -04:00
Deluan
38c19eddc3 Add 'download' option to album context menu 2020-08-05 14:57:59 -04:00
Deluan
ef0e5b130d Add a xl breakpoint to the album grid 2020-07-29 15:42:03 -04:00
Deluan
9d23b191b5 Show indicator on current playing song. Fixes #128 2020-06-19 11:32:23 -04:00
Deluan
72b2e756f7 Revert "Show indicator on current playing song. Fixes #128"
This implementation causes performance issues
2020-06-13 16:41:11 -04:00