New: Footnote to indicate some renaming tokens support truncation

This commit is contained in:
fireph 2024-04-05 23:10:42 -07:00 committed by GitHub
parent e672996dbb
commit 7fc3bebc91
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 39 additions and 19 deletions

View File

@ -80,19 +80,19 @@ const fileNameTokens = [
]; ];
const seriesTokens = [ const seriesTokens = [
{ token: '{Series Title}', example: 'The Series Title\'s!' }, { token: '{Series Title}', example: 'The Series Title\'s!', footNote: 1 },
{ token: '{Series CleanTitle}', example: 'The Series Title\'s!' }, { token: '{Series CleanTitle}', example: 'The Series Title\'s!', footNote: 1 },
{ token: '{Series TitleYear}', example: 'The Series Title\'s! (2010)' }, { token: '{Series TitleYear}', example: 'The Series Title\'s! (2010)', footNote: 1 },
{ token: '{Series CleanTitleYear}', example: 'The Series Title\'s! 2010' }, { token: '{Series CleanTitleYear}', example: 'The Series Title\'s! 2010', footNote: 1 },
{ token: '{Series TitleWithoutYear}', example: 'The Series Title\'s!' }, { token: '{Series TitleWithoutYear}', example: 'The Series Title\'s!', footNote: 1 },
{ token: '{Series CleanTitleWithoutYear}', example: 'The Series Title\'s!' }, { token: '{Series CleanTitleWithoutYear}', example: 'The Series Title\'s!', footNote: 1 },
{ token: '{Series TitleThe}', example: 'Series Title\'s!, The' }, { token: '{Series TitleThe}', example: 'Series Title\'s!, The', footNote: 1 },
{ token: '{Series CleanTitleThe}', example: 'Series Title\'s!, The' }, { token: '{Series CleanTitleThe}', example: 'Series Title\'s!, The', footNote: 1 },
{ token: '{Series TitleTheYear}', example: 'Series Title\'s!, The (2010)' }, { token: '{Series TitleTheYear}', example: 'Series Title\'s!, The (2010)', footNote: 1 },
{ token: '{Series CleanTitleTheYear}', example: 'Series Title\'s!, The 2010' }, { token: '{Series CleanTitleTheYear}', example: 'Series Title\'s!, The 2010', footNote: 1 },
{ token: '{Series TitleTheWithoutYear}', example: 'Series Title\'s!, The' }, { token: '{Series TitleTheWithoutYear}', example: 'Series Title\'s!, The', footNote: 1 },
{ token: '{Series CleanTitleTheWithoutYear}', example: 'Series Title\'s!, The' }, { token: '{Series CleanTitleTheWithoutYear}', example: 'Series Title\'s!, The', footNote: 1 },
{ token: '{Series TitleFirstCharacter}', example: 'S' }, { token: '{Series TitleFirstCharacter}', example: 'S', footNote: 1 },
{ token: '{Series Year}', example: '2010' } { token: '{Series Year}', example: '2010' }
]; ];
@ -124,8 +124,8 @@ const absoluteTokens = [
]; ];
const episodeTitleTokens = [ const episodeTitleTokens = [
{ token: '{Episode Title}', example: 'Episode\'s Title' }, { token: '{Episode Title}', example: 'Episode\'s Title', footNote: 1 },
{ token: '{Episode CleanTitle}', example: 'Episodes Title' } { token: '{Episode CleanTitle}', example: 'Episodes Title', footNote: 1 }
]; ];
const qualityTokens = [ const qualityTokens = [
@ -149,7 +149,7 @@ const mediaInfoTokens = [
]; ];
const otherTokens = [ const otherTokens = [
{ token: '{Release Group}', example: 'Rls Grp' }, { token: '{Release Group}', example: 'Rls Grp', footNote: 1 },
{ token: '{Custom Formats}', example: 'iNTERNAL' }, { token: '{Custom Formats}', example: 'iNTERNAL' },
{ token: '{Custom Format:FormatName}', example: 'AMZN' } { token: '{Custom Format:FormatName}', example: 'AMZN' }
]; ];
@ -305,7 +305,7 @@ class NamingModal extends Component {
<FieldSet legend={translate('Series')}> <FieldSet legend={translate('Series')}>
<div className={styles.groups}> <div className={styles.groups}>
{ {
seriesTokens.map(({ token, example }) => { seriesTokens.map(({ token, example, footNote }) => {
return ( return (
<NamingOption <NamingOption
key={token} key={token}
@ -313,6 +313,7 @@ class NamingModal extends Component {
value={value} value={value}
token={token} token={token}
example={example} example={example}
footNote={footNote}
tokenSeparator={tokenSeparator} tokenSeparator={tokenSeparator}
tokenCase={tokenCase} tokenCase={tokenCase}
onPress={this.onOptionPress} onPress={this.onOptionPress}
@ -322,6 +323,11 @@ class NamingModal extends Component {
) )
} }
</div> </div>
<div className={styles.footNote}>
<Icon className={styles.icon} name={icons.FOOTNOTE} />
<InlineMarkdown data={translate('SeriesFootNote')} />
</div>
</FieldSet> </FieldSet>
<FieldSet legend={translate('SeriesID')}> <FieldSet legend={translate('SeriesID')}>
@ -451,7 +457,7 @@ class NamingModal extends Component {
<FieldSet legend={translate('EpisodeTitle')}> <FieldSet legend={translate('EpisodeTitle')}>
<div className={styles.groups}> <div className={styles.groups}>
{ {
episodeTitleTokens.map(({ token, example }) => { episodeTitleTokens.map(({ token, example, footNote }) => {
return ( return (
<NamingOption <NamingOption
key={token} key={token}
@ -459,6 +465,7 @@ class NamingModal extends Component {
value={value} value={value}
token={token} token={token}
example={example} example={example}
footNote={footNote}
tokenSeparator={tokenSeparator} tokenSeparator={tokenSeparator}
tokenCase={tokenCase} tokenCase={tokenCase}
onPress={this.onOptionPress} onPress={this.onOptionPress}
@ -468,6 +475,10 @@ class NamingModal extends Component {
) )
} }
</div> </div>
<div className={styles.footNote}>
<Icon className={styles.icon} name={icons.FOOTNOTE} />
<InlineMarkdown data={translate('EpisodeTitleFootNote')} />
</div>
</FieldSet> </FieldSet>
<FieldSet legend={translate('Quality')}> <FieldSet legend={translate('Quality')}>
@ -523,7 +534,7 @@ class NamingModal extends Component {
<FieldSet legend={translate('Other')}> <FieldSet legend={translate('Other')}>
<div className={styles.groups}> <div className={styles.groups}>
{ {
otherTokens.map(({ token, example }) => { otherTokens.map(({ token, example, footNote }) => {
return ( return (
<NamingOption <NamingOption
key={token} key={token}
@ -531,6 +542,7 @@ class NamingModal extends Component {
value={value} value={value}
token={token} token={token}
example={example} example={example}
footNote={footNote}
tokenSeparator={tokenSeparator} tokenSeparator={tokenSeparator}
tokenCase={tokenCase} tokenCase={tokenCase}
onPress={this.onOptionPress} onPress={this.onOptionPress}
@ -558,6 +570,11 @@ class NamingModal extends Component {
) )
} }
</div> </div>
<div className={styles.footNote}>
<Icon className={styles.icon} name={icons.FOOTNOTE} />
<InlineMarkdown data={translate('ReleaseGroupFootNote')} />
</div>
</FieldSet> </FieldSet>
<FieldSet legend={translate('Original')}> <FieldSet legend={translate('Original')}>

View File

@ -636,6 +636,7 @@
"EpisodeRequested": "Episode Requested", "EpisodeRequested": "Episode Requested",
"EpisodeSearchResultsLoadError": "Unable to load results for this episode search. Try again later", "EpisodeSearchResultsLoadError": "Unable to load results for this episode search. Try again later",
"EpisodeTitle": "Episode Title", "EpisodeTitle": "Episode Title",
"EpisodeTitleFootNote": "Optionally control truncation to a maximum number of bytes including ellipsis (`...`). Truncating from the end (e.g. `{Episode Title:30}`) or the beginning (e.g. `{Episode Title:-30}`) are both supported. Episode titles will be automatically truncated to file system limitations if necessary.",
"EpisodeTitleRequired": "Episode Title Required", "EpisodeTitleRequired": "Episode Title Required",
"EpisodeTitleRequiredHelpText": "Prevent importing for up to 48 hours if the episode title is in the naming format and the episode title is TBA", "EpisodeTitleRequiredHelpText": "Prevent importing for up to 48 hours if the episode title is in the naming format and the episode title is TBA",
"Episodes": "Episodes", "Episodes": "Episodes",
@ -1590,6 +1591,7 @@
"RelativePath": "Relative Path", "RelativePath": "Relative Path",
"Release": "Release", "Release": "Release",
"ReleaseGroup": "Release Group", "ReleaseGroup": "Release Group",
"ReleaseGroupFootNote": "Optionally control truncation to a maximum number of bytes including ellipsis (`...`). Truncating from the end (e.g. `{Release Group:30}`) or the beginning (e.g. `{Release Group:-30}`) are both supported.`).",
"ReleaseGroups": "Release Groups", "ReleaseGroups": "Release Groups",
"ReleaseHash": "Release Hash", "ReleaseHash": "Release Hash",
"ReleaseProfile": "Release Profile", "ReleaseProfile": "Release Profile",
@ -1780,6 +1782,7 @@
"SelectSeries": "Select Series", "SelectSeries": "Select Series",
"SendAnonymousUsageData": "Send Anonymous Usage Data", "SendAnonymousUsageData": "Send Anonymous Usage Data",
"Series": "Series", "Series": "Series",
"SeriesFootNote": "Optionally control truncation to a maximum number of bytes including ellipsis (`...`). Truncating from the end (e.g. `{Series Title:30}`) or the beginning (e.g. `{Series Title:-30}`) are both supported.",
"SeriesAndEpisodeInformationIsProvidedByTheTVDB": "Series and episode information is provided by TheTVDB.com. [Please consider supporting them]({url}) .", "SeriesAndEpisodeInformationIsProvidedByTheTVDB": "Series and episode information is provided by TheTVDB.com. [Please consider supporting them]({url}) .",
"SeriesCannotBeFound": "Sorry, that series cannot be found.", "SeriesCannotBeFound": "Sorry, that series cannot be found.",
"SeriesDetailsCountEpisodeFiles": "{episodeFileCount} episode files", "SeriesDetailsCountEpisodeFiles": "{episodeFileCount} episode files",