Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added Original Title to Movie Details and to Add Movie Search Result #10517

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from

Conversation

ManiMatter
Copy link
Contributor

@ManiMatter ManiMatter commented Oct 4, 2024

Added original title to Movie details and movie search result where it differs from the language chosen for Radarr.
Example: If Radarr is in English, and movie is called "Dogs" and the original is in Spanish called "Amores de Perros" (just as example), it would show both.

Movie Details:
image

Add Movie Search Result:
image

@github-actions github-actions bot added the Area: UI Issue is related to UI, should also add the issue to the new UI project, if it isn't a bug. label Oct 4, 2024
@ManiMatter ManiMatter marked this pull request as draft October 4, 2024 23:48
@ManiMatter ManiMatter force-pushed the add-original-title-movie-UI branch from fe3b093 to 9326ebc Compare October 4, 2024 23:53
@ManiMatter ManiMatter marked this pull request as ready for review October 5, 2024 00:02
@mynameisbogdan
Copy link
Collaborator

mynameisbogdan commented Oct 5, 2024

Based on the previous feedback we had when I changed the release dates sorting I don't think it's a good idea going ahead with such big changes to the movie details page which are very confusing compared to the other arrs.

FYI that's not an Add Movie Modal, it's actually Add Movie Search Result.

@mynameisbogdan mynameisbogdan added the Status: Don't Merge Hold up - don't merge this label Oct 5, 2024
@ManiMatter
Copy link
Contributor Author

ManiMatter commented Oct 5, 2024

FYI that's not an Add Movie Modal, it's actually Add Movie Search Result.

thanks. updated

Based on the previous feedback we had when I changed the release dates sorting I don't think it's a good idea going ahead with such big changes to the movie details page which are very confusing compared to the other arrs.

My view is different and I think it makes sense to implement this small reordering change.

Because the "Path" is at the beginning currently (and the text of the path varies from movie to movie), it pushes all the other labels around. With my proposal the path is at the end, and that problem goes away.

Additionally, the labels are breaking onto new rows at random positions.
I think we can break them in groups, which a) makes more sense, and b) retains the order (besides the path) that people are used to.
Group 1: Path/Status/Quality Profile/Size - Those are radarr instance infos.
Group 2: Collection/Original Language/Studio/etc - Movie infos.

Lastly, I think it makes sense that you first know what movie you we're talking about (current Group 2), before we think about where it's stored (current Group 1). Hence why I put the movie infos first. In my mind, makes particularly sense with non-English movies when you operate radarr in english but you actually speak the language of the movie - then the "original title" is directly under the english title.

Current UI for comparison:
image

What do the others think?

@ManiMatter ManiMatter changed the title Added Original Title to Movie Details and to Adding New Movie-Modal. Added Original Title to Movie Details and to Add Movie Search Result Oct 5, 2024
@mynameisbogdan
Copy link
Collaborator

mynameisbogdan commented Oct 5, 2024

My view is different and I think it makese sense to implement this small reordering change.

That's your argument, that your personal view is a good thing and it's the only one point of view worth of be taken into consideration?

I left the PR opened in case you'll want to improve it since I wasn't against the search results change, but in the current form it's a no go.

You didn't take into account that some users have widescreen monitors and breaking them in 2 lines to fit your view is an eye sore to others (me included). The fact that this order is common on most arrs for years, but you want to change something that would annoy a lot of users to fit your view it's just plain confusing.

Sorry, but I'm not going to face the negative feedback while not improving something for the better.

I have plans to improve showing the original title, but not in this form.

@ManiMatter
Copy link
Contributor Author

That's your argument, that your personal view is a good thing and it's the only one point of view worth of be taken into consideration?

No. My argument is that the position where data is shown is shifting position from movie to movie.
Shifting labels - again, my opinion - is not great, since it detracts the eye.

I did consider wide screen. My take:
If kept on one line:

  • Small screens: Breaks randomly for small screens
  • Big screens: While not breaking, "Path" moves labels left and right

If split onto two lines (and path at the end):

  • Both small + large: The labels are grouped into logical groups, and break sensibly (both small and large)
  • The labels are always at the very same position (both small and large screens), helping readability

So no, it's not "my little setup" and "egoistic view" (you didn't chose these words, but that's how I perceived it) that drives this proposal, but because I genuinly think it's better than what there is.

My reading from your argument that the other *arrs are different is along the lines of "it's always been like this and hence we have to stick to it". That's the death to any advancement, imho.

I am disappointed by the fact that this PR is simply "closed", rather than us having a conversation about it.
I find it demotivating spending time to trying to contribute and helping the product become better, even if we may have different opinions as to what "better" means.

@mynameisbogdan
Copy link
Collaborator

Sadly while I want others to start contributing since the developers are scarce, these kind of changes are only making more work for the active developers (aka mainly me at the moment) which I rather avoid if possible.

I already explained why it's a bad idea so instead of me working on other useful changes that people ask for, I spend time explaining multiple times why users would complain till we'll revert this changes.

Even I ask for feedback for small UI changes to make sure the majority likes it, but after the release date sorting fiasco that I had to push other 5 PRs to finally make people happy, we're not going to agree with such big UI changes to the movie details page.

My reading from your argument that the other *arrs are different is along the lines of "it's always been like this and hence we have to stick to it". That's the death to any advancement, imho.

You should read it as "if you're going to make such significant changes, make it across all arrs". Feel free to take it up with Sonarr first, maybe their development team is more opened minded than me.

@ManiMatter
Copy link
Contributor Author

You should read it as "if you're going to make such significant changes, make it across all arrs". Feel free to take it up with Sonarr first, maybe their development team is more opened minded than me.

I would have started at Sonarr, but the concept of "OriginalTitle" is not there (yet, hopefully).
Hence I started here.
image

Would this compromise work for you?
We keep the order as it is in the app currently (even if I think it's suboptimal :P), and we add the original title after "Original Language"?

If yes, then will do that.
In that case, would you have any thoughts on the question in my first post re <div className={styles.detailsLabels}>

@mynameisbogdan
Copy link
Collaborator

I have nothing against adding Original Title if it's different than the main title and not shown on mobile if possible.

Like I said, already had plans about the original title and I mostly wanted like this to fit Sonarr's alternative titles.

a

But it's not like this and it's a tooltip due to how the Marquee works and requires a refactoring that I postponed since it's not a huge UX issue.

In that case, would you have any thoughts on the question in my first post re <div className={styles.detailsLabels}>

It doesn't do anything indeed, but it's the same on Sonarr too so leave it alone as it has no impact at the moment.

@ManiMatter
Copy link
Contributor Author

Added the changes into my branch. Do you want to reopen this PR to review? Or shall I create a new one?

@mynameisbogdan mynameisbogdan reopened this Oct 5, 2024
@mynameisbogdan
Copy link
Collaborator

mynameisbogdan commented Oct 5, 2024

Here's a diff with my proposed changes.

diff --git a/frontend/src/AddMovie/AddNewMovie/AddNewMovieSearchResult.css b/frontend/src/AddMovie/AddNewMovie/AddNewMovieSearchResult.css
index 63edbd4471..9b9a5968ce 100644
--- a/frontend/src/AddMovie/AddNewMovie/AddNewMovieSearchResult.css
+++ b/frontend/src/AddMovie/AddNewMovie/AddNewMovieSearchResult.css
@@ -85,6 +85,7 @@
   margin-top: 20px;
 }
 
+.originalTitle,
 .originalLanguage,
 .studio,
 .genres {
diff --git a/frontend/src/AddMovie/AddNewMovie/AddNewMovieSearchResult.css.d.ts b/frontend/src/AddMovie/AddNewMovie/AddNewMovieSearchResult.css.d.ts
index 6dfa2d8a21..c5a96e97c2 100644
--- a/frontend/src/AddMovie/AddNewMovie/AddNewMovieSearchResult.css.d.ts
+++ b/frontend/src/AddMovie/AddNewMovie/AddNewMovieSearchResult.css.d.ts
@@ -9,6 +9,7 @@ interface CssExports {
   'icons': string;
   'links': string;
   'originalLanguage': string;
+  'originalTitle': string;
   'overlay': string;
   'overview': string;
   'poster': string;
diff --git a/frontend/src/AddMovie/AddNewMovie/AddNewMovieSearchResult.js b/frontend/src/AddMovie/AddNewMovie/AddNewMovieSearchResult.js
index a17a9b9f62..92e5a58035 100644
--- a/frontend/src/AddMovie/AddNewMovie/AddNewMovieSearchResult.js
+++ b/frontend/src/AddMovie/AddNewMovie/AddNewMovieSearchResult.js
@@ -12,6 +12,7 @@ import MovieStatusLabel from 'Movie/Details/MovieStatusLabel';
 import MovieIndexProgressBar from 'Movie/Index/ProgressBar/MovieIndexProgressBar';
 import MoviePoster from 'Movie/MoviePoster';
 import formatRuntime from 'Utilities/Date/formatRuntime';
+import equalsIgnoringCase from 'Utilities/String/equalsIgnoringCase';
 import translate from 'Utilities/String/translate';
 import AddNewMovieModal from './AddNewMovieModal';
 import styles from './AddNewMovieSearchResult.css';
@@ -63,6 +64,7 @@ class AddNewMovieSearchResult extends Component {
       year,
       studio,
       originalLanguage,
+      originalTitle,
       genres,
       status,
       overview,
@@ -228,6 +230,20 @@ class AddNewMovieSearchResult extends Component {
                   null
               }
 
+              {
+                originalTitle && !equalsIgnoringCase(title, originalTitle) ?
+                  <Label size={sizes.LARGE}>
+                    <Icon
+                      name={icons.FILM}
+                      size={13}
+                    />
+                    <span className={styles.originalTitle}>
+                      {originalTitle}
+                    </span>
+                  </Label> :
+                  null
+              }
+
               {
                 studio ?
                   <Label size={sizes.LARGE}>
@@ -328,6 +344,7 @@ AddNewMovieSearchResult.propTypes = {
   year: PropTypes.number.isRequired,
   studio: PropTypes.string,
   originalLanguage: PropTypes.object,
+  originalTitle: PropTypes.string,
   genres: PropTypes.arrayOf(PropTypes.string),
   status: PropTypes.string.isRequired,
   overview: PropTypes.string,
diff --git a/frontend/src/Movie/Details/MovieDetails.js b/frontend/src/Movie/Details/MovieDetails.js
index 33d8c73fe3..de65524bd4 100644
--- a/frontend/src/Movie/Details/MovieDetails.js
+++ b/frontend/src/Movie/Details/MovieDetails.js
@@ -38,6 +38,7 @@ import fonts from 'Styles/Variables/fonts';
 import * as keyCodes from 'Utilities/Constants/keyCodes';
 import formatRuntime from 'Utilities/Date/formatRuntime';
 import formatBytes from 'Utilities/Number/formatBytes';
+import equalsIgnoringCase from 'Utilities/String/equalsIgnoringCase';
 import translate from 'Utilities/String/translate';
 import MovieCastPosters from './Credits/Cast/MovieCastPosters';
 import MovieCrewPosters from './Credits/Crew/MovieCrewPosters';
@@ -625,6 +626,20 @@ class MovieDetails extends Component {
                       null
                   }
 
+                  {
+                    originalTitle && !isSmallScreen && !equalsIgnoringCase(title, originalTitle) ?
+                      <InfoLabel
+                        className={styles.detailsInfoLabel}
+                        name={translate('OriginalTitle')}
+                        size={sizes.LARGE}
+                      >
+                        <span className={styles.originalLanguage}>
+                          {originalTitle}
+                        </span>
+                      </InfoLabel> :
+                      null
+                  }
+
                   {
                     studio && !isSmallScreen ?
                       <InfoLabel
diff --git a/frontend/src/Utilities/String/equalsIgnoringCase.ts b/frontend/src/Utilities/String/equalsIgnoringCase.ts
new file mode 100644
index 0000000000..50ceef4922
--- /dev/null
+++ b/frontend/src/Utilities/String/equalsIgnoringCase.ts
@@ -0,0 +1,5 @@
+function equalsIgnoringCase(a: string, b: string): boolean {
+  return a.localeCompare(b, undefined, { sensitivity: 'accent' }) === 0;
+}
+
+export default equalsIgnoringCase;

@ManiMatter ManiMatter force-pushed the add-original-title-movie-UI branch from 52d861b to 4a4e786 Compare October 6, 2024 07:45
@ManiMatter ManiMatter marked this pull request as draft October 6, 2024 07:45
@ManiMatter
Copy link
Contributor Author

ManiMatter commented Oct 6, 2024

@mynameisbogdan - Thanks for the diff. I have never used such, and take it that when I store your diff into a file (changes.diff) and run git apply changes.diff it would automatically change the files.

I get

error: patch failed: frontend/src/AddMovie/AddNewMovie/AddNewMovieSearchResult.css:85
error: frontend/src/AddMovie/AddNewMovie/AddNewMovieSearchResult.css: patch does not apply
error: patch failed: frontend/src/AddMovie/AddNewMovie/AddNewMovieSearchResult.css.d.ts:9
error: frontend/src/AddMovie/AddNewMovie/AddNewMovieSearchResult.css.d.ts: patch does not apply
error: patch failed: frontend/src/AddMovie/AddNewMovie/AddNewMovieSearchResult.js:63
error: frontend/src/AddMovie/AddNewMovie/AddNewMovieSearchResult.js: patch does not apply

i'll therefore fix it manually (without your diff) for now, but if you know where I'm going wrong in using the diff, I'd be keen to learn

@ManiMatter ManiMatter force-pushed the add-original-title-movie-UI branch from 4a4e786 to 01ffb7d Compare October 6, 2024 07:55
@ManiMatter ManiMatter marked this pull request as ready for review October 6, 2024 08:04
@mynameisbogdan
Copy link
Collaborator

mynameisbogdan commented Oct 6, 2024

and take it that when I store your diff into a file

Clicking copy diff to clipboard, using vim to paste into changes.diff and git apply changes.diff worked for me. I suspect your editor/IDE is trimming trailing whitespaces and hence your issue.

changes.txt

@ManiMatter ManiMatter force-pushed the add-original-title-movie-UI branch from 01ffb7d to 6a5d767 Compare October 6, 2024 09:38
@ManiMatter ManiMatter force-pushed the add-original-title-movie-UI branch from 6a5d767 to b106c50 Compare October 6, 2024 09:39
@ManiMatter
Copy link
Contributor Author

I didn't get that I had to first reset my branch to the origin, ie., git rebase --hard origin/develop
after that, the diff worked like a charm. Thanks!

@mynameisbogdan
Copy link
Collaborator

Can you please update the screenshots in the OP message? I want to ask others for feedback too.

@ManiMatter
Copy link
Contributor Author

Can you please update the screenshots in the OP message? I want to ask others for feedback too.

done

@mynameisbogdan
Copy link
Collaborator

Seems like it's an outdated screenshot for search result. Code is after original language, screenshot is before it.

@ManiMatter
Copy link
Contributor Author

done

@mynameisbogdan
Copy link
Collaborator

mynameisbogdan commented Oct 6, 2024

1

Really looks too much crap even on a 5k monitor. 😞

Tooltip:
2

@ManiMatter
Copy link
Contributor Author

Didn't you say you don't have the problem of wrapping on your huge monitor ;-)

What I don't like about the tool tip is that when you navigate through your movies, you always have to hover with your mouse first, and wait for the tool tip to show. Particularly when you have lots of foreign movies that you recognize by their local name, it's quite cumbersome. Hence I'd prefer always being able to see the original title.

I feel the splitting onto two lines (as in the other Sonarr thread now) would make a lot of sense.. even on your huge monitor smirk

@mynameisbogdan
Copy link
Collaborator

We're debating pros and cons.

Also there's a feature request to use original language when display movie titles if that's your thing.

@ManiMatter
Copy link
Contributor Author

ManiMatter commented Oct 6, 2024

Yes and no (re: use original language).
In short: The original language I would always want to see; but the english translation only for those languages that I don't speak.

Long version:
I speak a few languages, so if the title is in any of those languages, then sure, I'd love to see the original title.
But for all the others, I'd want to see English (in addition to the original).

Example: Let's say I speak Japanese, Dutch, English, and Portuguese. If the movie's original title is in those languages, I'd be happy to see the original. But for the rest, I'd want to see English. For instance, I can't understand Korean, so the original title won't help me. However, I'd still want to see the title in the original language even in these cases.

If we went that far, then somewhere in Radarr we would have to be able to configure which languages the user is able to understand; all other languages would additionally show the name of the movie in the standard language set in the UI (e.g english or whatever the user has configured)

Personally, I don't think it makes sense to go that complicated.
Just showing both (if they differ) is probably the easiest..

wdyt?

@ManiMatter
Copy link
Contributor Author

hi @mynameisbogdan - just wanted to check how to proceed with this one? Cheers

@mynameisbogdan
Copy link
Collaborator

Hey, I haven't taken yet a decision on this... I'm 50/50 to be honest.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: UI Issue is related to UI, should also add the issue to the new UI project, if it isn't a bug. Status: Don't Merge Hold up - don't merge this
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants