diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/content/dependencies/generateTrackArtistCommentarySection.js | 45 | ||||
-rw-r--r-- | src/data/things/artwork.js | 1 | ||||
-rw-r--r-- | src/data/things/language.js | 12 | ||||
-rw-r--r-- | src/static/css/site.css | 9 |
4 files changed, 40 insertions, 27 deletions
diff --git a/src/content/dependencies/generateTrackArtistCommentarySection.js b/src/content/dependencies/generateTrackArtistCommentarySection.js index 6650ff2b..2395ddfe 100644 --- a/src/content/dependencies/generateTrackArtistCommentarySection.js +++ b/src/content/dependencies/generateTrackArtistCommentarySection.js @@ -87,33 +87,36 @@ export default { relations.artistCommentaryEntries, data.isSecondaryRelease && - html.tags([ - html.tag('p', {class: ['drop', 'commentary-drop']}, - {[html.onlyIfSiblings]: true}, + html.tag('div', {class: 'inherited-commentary-section'}, + {[html.onlyIfContent]: true}, - language.encapsulate(capsule, 'info.fromMainRelease', workingCapsule => { - const workingOptions = {}; + [ + html.tag('p', {class: ['drop', 'commentary-drop']}, + {[html.onlyIfSiblings]: true}, - workingOptions.album = - relations.mainReleaseTrackLink.slots({ - content: - data.mainReleaseAlbumName, + language.encapsulate(capsule, 'info.fromMainRelease', workingCapsule => { + const workingOptions = {}; - color: - data.mainReleaseAlbumColor, - }); + workingOptions.album = + relations.mainReleaseTrackLink.slots({ + content: + data.mainReleaseAlbumName, - if (data.name !== data.mainReleaseName) { - workingCapsule += '.namedDifferently'; - workingOptions.name = - html.tag('i', data.mainReleaseName); - } + color: + data.mainReleaseAlbumColor, + }); - return language.$(workingCapsule, workingOptions); - })), + if (data.name !== data.mainReleaseName) { + workingCapsule += '.namedDifferently'; + workingOptions.name = + html.tag('i', data.mainReleaseName); + } - relations.mainReleaseArtistCommentaryEntries, - ]), + return language.$(workingCapsule, workingOptions); + })), + + relations.mainReleaseArtistCommentaryEntries, + ]), html.tag('p', {class: ['drop', 'commentary-drop']}, {[html.onlyIfContent]: true}, diff --git a/src/data/things/artwork.js b/src/data/things/artwork.js index 3cf380a0..75175451 100644 --- a/src/data/things/artwork.js +++ b/src/data/things/artwork.js @@ -170,6 +170,7 @@ export class Artwork extends Thing { withResolvedContribs({ from: input.updateValue({validate: isContributionList}), date: '#date', + thingProperty: input.thisProperty(), artistProperty: 'artistContribsArtistProperty', }), diff --git a/src/data/things/language.js b/src/data/things/language.js index b0124c10..e3689643 100644 --- a/src/data/things/language.js +++ b/src/data/things/language.js @@ -867,14 +867,14 @@ export class Language extends Thing { typicallyLowerCase(string) { // Utter nonsense implementation, so this only works on strings, - // not actual HTML content, and will loudly disrespect *intentful* + // not actual HTML content, and may rudely disrespect *intentful* // capitalization of whatever goes into it. - if (typeof string === 'string') { - return string[0].toLowerCase() + string.slice(1).toLowerCase(); - } else { - return string; - } + if (typeof string !== 'string') return string; + if (string.length <= 1) return string; + if (/^\S+?[A-Z]/.test(string)) return string; + + return string[0].toLowerCase() + string.slice(1); } // Utility function to quickly provide a useful string key diff --git a/src/static/css/site.css b/src/static/css/site.css index 6c0d3926..46f99e9b 100644 --- a/src/static/css/site.css +++ b/src/static/css/site.css @@ -1755,6 +1755,15 @@ p.image-details.origin-details .origin-details { color: var(--primary-color); } +.inherited-commentary-section { + clear: right; + margin-top: 1em; + margin-right: min(4vw, 60px); + border: 2px solid var(--deep-color); + border-radius: 4px; + background: #ffffff07; +} + .commentary-art { float: right; width: 30%; |