diff --git a/webapp/components/interop-dashboard.js b/webapp/components/interop-dashboard.js index 130ccb4ad0..162a4b8001 100644 --- a/webapp/components/interop-dashboard.js +++ b/webapp/components/interop-dashboard.js @@ -6,6 +6,7 @@ import { InteropDataManager } from './interop-data-manager.js'; import { WPTFlags } from './wpt-flags.js'; +import { calculateColor } from './utils.js'; import '../node_modules/@polymer/paper-button/paper-button.js'; import '../node_modules/@polymer/polymer/lib/elements/dom-if.js'; import '../node_modules/@polymer/paper-icon-button/paper-icon-button.js'; @@ -38,10 +39,9 @@ class InteropDashboard extends WPTFlags(PolymerElement) { } .previous-year-banner { - height: 40px; background-color: #DEF; text-align: center; - padding-top: 16px; + padding: 16px 0; } .previous-year-banner p { @@ -224,10 +224,6 @@ class InteropDashboard extends WPTFlags(PolymerElement) { text-align: right; } - .score-table tbody > tr:nth-child(odd) { - background: hsl(0 0% 0% / 5%); - } - .subtotal-row { border-top: 1px solid GrayText; background: hsl(0 0% 0% / 5%); @@ -286,19 +282,102 @@ class InteropDashboard extends WPTFlags(PolymerElement) { } } - @media only screen and (max-width: 800px) { + .interop-score-mobile, + .table-title-mobile { + display: none; + } + + @media only screen and (max-width: 768px) { .grid-container { margin: 0 1em; } - } + .table-title-mobile { + display: block; + } + .card-header-mobile { + display: flex; + justify-content: space-between; + align-items: center; + gap: 1em; + } + .interop-score-mobile { + display: flex; + font-size: 0.9em; + font-weight: 500; + color: #333; + background: #e0e0e0; + padding: 0.1em 0.5em; + border-radius: 4px; + white-space: nowrap; + } + .score-table thead { + border: none; + clip: rect(0 0 0 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; + } + .score-table tr { + display: block; + border: 1px solid #ddd; + border-radius: 5px; + margin-bottom: 1em; + box-shadow: 0 2px 4px rgba(0,0,0,0.05); + overflow: hidden; + } + .score-table .subtotal-row, + .score-table tfoot tr { + border-top: 2px solid #aaa; + font-weight: bold; + } + .score-table td { + display: block; + text-align: right; + border-bottom: 1px solid #eee; + padding: 0.75em; + line-height: 1.5; + } + .score-table td[data-label="Interop"] { + display: none; + } + .score-table td:last-child { + border-bottom: 0; + } + .score-table td:first-child { + text-align: left; + font-weight: bold; + background-color: hsl(0 0% 0% / 5%); + border-bottom: 1px solid #ddd; + padding: 0; + } + .score-table td:first-child .card-header-mobile { + padding: 0.75em; + } + .score-table td:not(:first-child)::before { + content: attr(data-label); + float: left; + font-weight: 500; + color: #555; + } + .score-table td[colspan="4"] { + background-color: hsl(0 0% 0% / 5%); + font-weight: bold; + text-align: left; + padding: 0.75em; - /* TODO(danielrsmith): This is a workaround to avoid the text scaling that - * happens for p tags on mobile, but not for any other text (like the focus area table). - * Remove this when deeper mobile functionality has been added. */ - p { - text-size-adjust: none; + } + .score-table td[colspan="4"] + td::before { + content: "Progress"; + } + } + @media only screen and (min-width: 769px) { + .score-table tbody > tr:nth-child(odd) { + background: hsl(0 0% 0% / 5%); + } } -