Skip to content

Commit

Permalink
Merge pull request #14776 from nextcloud/fix/files/size-color
Browse files Browse the repository at this point in the history
Use max contrast variable to cap the generated colours
  • Loading branch information
MorrisJobke authored Mar 21, 2019
2 parents 2389b61 + ec09f12 commit 651495e
Showing 1 changed file with 30 additions and 7 deletions.
37 changes: 30 additions & 7 deletions apps/files/js/filelist.js
Original file line number Diff line number Diff line change
Expand Up @@ -1532,15 +1532,37 @@
td.append(linkElem);
tr.append(td);

try {
var maxContrastHex = window.getComputedStyle(document.documentElement)
.getPropertyValue('--color-text-maxcontrast')
var maxContrast = parseInt(maxContrastHex.substring(1, 3), 16)
} catch(error) {
var maxContrast = OCA.Accessibility
&& OCA.Accessibility.theme === 'themedark'
? '130'
: '118'
}

// size column
if (typeof(fileData.size) !== 'undefined' && fileData.size >= 0) {
simpleSize = humanFileSize(parseInt(fileData.size, 10), true);
// rgb(118, 118, 118) / #767676
// min. color contrast for normal text on white background according to WCAG AA
sizeColor = Math.round(118-Math.pow((fileData.size/(1024*1024)),2));
sizeColor = Math.round(118-Math.pow((fileData.size/(1024*1024)), 2));

// ensure that the brightest color is still readable
// min. color contrast for normal text on white background according to WCAG AA
if (sizeColor >= maxContrast) {
sizeColor = maxContrast;
}

if (OCA.Accessibility && OCA.Accessibility.theme === 'themedark') {
sizeColor = Math.abs(sizeColor);
// ensure that the dimmest color is still readable
// min. color contrast for normal text on black background according to WCAG AA
if (sizeColor < maxContrast) {
sizeColor = maxContrast;
}
}
} else {
simpleSize = t('files', 'Pending');
Expand All @@ -1555,22 +1577,23 @@
// date column (1000 milliseconds to seconds, 60 seconds, 60 minutes, 24 hours)
// difference in days multiplied by 5 - brightest shade for files older than 32 days (160/5)
var modifiedColor = Math.round(((new Date()).getTime() - mtime )/1000/60/60/24*5 );

// ensure that the brightest color is still readable
// rgb(118, 118, 118) / #767676
// min. color contrast for normal text on white background according to WCAG AA
if (modifiedColor >= '118') {
modifiedColor = 118;
if (modifiedColor >= maxContrast) {
modifiedColor = maxContrast;
}

if (OCA.Accessibility && OCA.Accessibility.theme === 'themedark') {
modifiedColor = Math.abs(modifiedColor);

// ensure that the dimmest color is still readable
// rgb(130, 130, 130) / #828282
// min. color contrast for normal text on black background according to WCAG AA
if (modifiedColor < 130) {
modifiedColor = 130;
if (modifiedColor < maxContrast) {
modifiedColor = maxContrast;
}
}

var formatted;
var text;
if (mtime > 0) {
Expand Down

0 comments on commit 651495e

Please sign in to comment.