]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-10164 Redesign the "default" badge to match other badges (#3120)
authorPascal Mugnier <pascal.mugnier@sonarsource.com>
Thu, 8 Mar 2018 10:03:54 +0000 (11:03 +0100)
committerGitHub <noreply@github.com>
Thu, 8 Mar 2018 10:03:54 +0000 (11:03 +0100)
server/sonar-web/src/main/js/app/styles/components/badges.css
server/sonar-web/src/main/js/app/styles/components/list-groups.css
server/sonar-web/src/main/js/apps/coding-rules/components/RuleListItem.tsx
server/sonar-web/src/main/js/apps/marketplace/style.css
server/sonar-web/src/main/js/apps/overview/styles.css
server/sonar-web/src/main/js/apps/projectActivity/components/projectActivity.css
server/sonar-web/src/main/js/apps/quality-gates/components/List.js

index 4f2740c2bcbc11fe5dbf19ef237ff5f0a23af595..602f7513f1a0c7364ea5e334654f966aec80b0ac 100644 (file)
  */
 .badge {
   display: inline-block;
+  vertical-align: middle;
+  height: var(--smallControlHeight);
+  line-height: calc(var(--smallControlHeight) - 1px);
+  padding: 0 var(--gridSize);
+  border-radius: 2px;
+  font-size: var(--smallFontSize);
   min-width: 10px;
-  padding: 2px 7px;
-  font-size: 11px;
-  font-weight: normal;
   letter-spacing: 0.03em;
   color: #ffffff;
-  line-height: var(--smallFontSize);
-  vertical-align: baseline;
   white-space: nowrap;
   text-align: center;
   background-color: var(--blue);
@@ -55,7 +56,7 @@ a.badge {
 .list-group-item > .badge,
 .list-group-item-heading > .badge {
   float: right;
-  margin-top: 3px;
+  margin: 3px;
 }
 
 .list-group-item > .badge + .badge,
@@ -68,6 +69,11 @@ a.badge {
   letter-spacing: inherit;
 }
 
+.badge-tiny-height {
+  height: var(--tinyControlHeight);
+  line-height: calc(var(--tinyControlHeight) - 1px);
+}
+
 .badge-muted {
   background-color: transparent;
   color: var(--secondFontColor);
@@ -128,9 +134,9 @@ a.badge-focus:active {
 .outline-badge {
   display: inline-block;
   vertical-align: middle;
-  height: 20px;
-  line-height: 19px;
-  padding: 0 8px;
+  height: var(--smallControlHeight);
+  line-height: calc(var(--smallControlHeight) - 1px);
+  padding: 0 var(--gridSize);
   border: 1px solid var(--gray80);
   border-radius: 2px;
   box-sizing: border-box;
index b2200de07455a0c6dcc6757f6744006b87b0b923..69045097a541a6ea07fd2c014ab67741bf65dd8c 100644 (file)
@@ -62,6 +62,12 @@ a.list-group-item {
   margin-bottom: 5px;
 }
 
+.list-group-item-heading:after {
+  content: '';
+  display: table;
+  clear: both;
+}
+
 .list-group-item-text {
   margin-bottom: 0;
   line-height: 1.3;
index 3b70690ca5fc637f915cce055cd6cad84444e330..1bb277e6df204bf2b71c62c4904c9df15eb7ebc4 100644 (file)
@@ -186,7 +186,7 @@ export default class RuleListItem extends React.PureComponent<Props> {
               <td className="coding-rule-table-meta-cell">
                 <div className="display-flex-center coding-rule-meta">
                   {rule.status !== 'READY' && (
-                    <span className="spacer-left badge badge-normal-size badge-danger-light">
+                    <span className="spacer-left badge badge-normal-size badge-tiny-height badge-danger-light">
                       {translate('rules.status', rule.status)}
                     </span>
                   )}
index 1ceb206fe2bc9ea620c38c6e73e9214f0447f6ac..9e51642bbc52317cdb4f6824499168803780abc2 100644 (file)
@@ -41,6 +41,8 @@
   top: 16px;
   padding: 4px 8px;
   border-radius: 2px 0 0 2px;
+  height: inherit;
+  line-height: inherit;
 }
 
 .marketplace-edition-action {
index 4563968dc1a5dfcc183491dd09f82adea1e8fdbc..5b556ae3a88e86367942be1a0039ad56caf1fd58 100644 (file)
 }
 
 .overview-analysis-event.badge {
-  vertical-align: middle;
   /* 260px to match the sidebar width on project dashboard */
   max-width: 260px;
-  padding: 4px 14px;
-  box-sizing: border-box;
   border-radius: 2px;
   font-weight: bold;
   font-size: var(--smallFontSize);
index 5341f0557ec0b7e3fc870508110f788866cf4838..f4613f78b971c324ddda016ed3ff2aeb640d8c83 100644 (file)
 
 .project-activity-version-badge .badge {
   max-width: 385px;
-  vertical-align: middle;
-  padding: 4px 14px 4px 14px;
-  box-sizing: border-box;
   border-radius: 0 2px 2px 0;
   font-weight: bold;
   font-size: var(--smallFontSize);
index cc5675f1e8f349c318cf8bac3c9e5fe5950ff464..69db7ff0a73cb76df22498940357c17c6d21f25b 100644 (file)
@@ -28,19 +28,17 @@ export default function List({ organization, qualityGates }) {
     <div className="list-group">
       {qualityGates.map(qualityGate => (
         <Link
-          key={qualityGate.id}
-          to={getQualityGateUrl(String(qualityGate.id), organization && organization.key)}
           activeClassName="active"
           className="list-group-item"
-          data-id={qualityGate.id}>
+          data-id={qualityGate.id}
+          key={qualityGate.id}
+          to={getQualityGateUrl(String(qualityGate.id), organization && organization.key)}>
           <table>
             <tbody>
               <tr>
                 <td>{qualityGate.name}</td>
                 <td className="thin nowrap spacer-left text-right">
-                  {qualityGate.isDefault && (
-                    <span className="text-middle badge">{translate('default')}</span>
-                  )}
+                  {qualityGate.isDefault && <span className="badge">{translate('default')}</span>}
                   {qualityGate.isBuiltIn && (
                     <BuiltInQualityGateBadge className="little-spacer-left" tooltip={false} />
                   )}