BaseService: Minor stylistic refactor of color computation (#2793)
As I was working on refactoring the logo code, I thought of a way to compute the color in a way more befitting the declarative style of the function.
This commit is contained in:
@@ -326,6 +326,8 @@ class BaseService {
|
||||
return serviceData
|
||||
}
|
||||
|
||||
// Translate modern badge data to the legacy schema understood by the badge
|
||||
// maker.
|
||||
static _makeBadgeData(overrides, serviceData) {
|
||||
const {
|
||||
style,
|
||||
@@ -362,20 +364,6 @@ class BaseService {
|
||||
} = this.defaultBadgeData
|
||||
const defaultCacheLengthSeconds = this._cacheLength
|
||||
|
||||
let color, labelColor
|
||||
if (isError) {
|
||||
// Disregard the override color.
|
||||
color = coalesce(serviceColor, defaultColor, 'lightgrey')
|
||||
labelColor = coalesce(serviceLabelColor, defaultLabelColor)
|
||||
} else {
|
||||
color = coalesce(overrideColor, serviceColor, defaultColor, 'lightgrey')
|
||||
labelColor = coalesce(
|
||||
overrideLabelColor,
|
||||
serviceLabelColor,
|
||||
defaultLabelColor
|
||||
)
|
||||
}
|
||||
|
||||
const badgeData = {
|
||||
text: [
|
||||
// Use `coalesce()` to support empty labels and messages, as in the
|
||||
@@ -383,6 +371,19 @@ class BaseService {
|
||||
coalesce(overrideLabel, serviceLabel, defaultLabel, this.category),
|
||||
coalesce(serviceMessage, 'n/a'),
|
||||
],
|
||||
color: coalesce(
|
||||
// In case of an error, disregard user's color override.
|
||||
isError ? undefined : overrideColor,
|
||||
serviceColor,
|
||||
defaultColor,
|
||||
'lightgrey'
|
||||
),
|
||||
labelColor: coalesce(
|
||||
// In case of an error, disregard user's color override.
|
||||
isError ? undefined : overrideLabelColor,
|
||||
serviceLabelColor,
|
||||
defaultLabelColor
|
||||
),
|
||||
template: style,
|
||||
logo: makeLogo(style === 'social' ? defaultLogo : undefined, {
|
||||
logo: overrideLogo,
|
||||
@@ -390,8 +391,6 @@ class BaseService {
|
||||
}),
|
||||
logoWidth: +overrideLogoWidth,
|
||||
links: toArray(overrideLink || serviceLink),
|
||||
color,
|
||||
labelColor,
|
||||
cacheLengthSeconds: coalesce(
|
||||
serviceCacheLengthSeconds,
|
||||
defaultCacheLengthSeconds
|
||||
|
||||
Reference in New Issue
Block a user