]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-15900 Style Log In button
authorGuillaume Peoc'h <guillaume.peoch@sonarsource.com>
Fri, 21 Jan 2022 09:53:01 +0000 (10:53 +0100)
committersonartech <sonartech@sonarsource.com>
Tue, 25 Jan 2022 20:03:06 +0000 (20:03 +0000)
server/sonar-web/src/main/js/apps/sessions/components/Login.css
server/sonar-web/src/main/js/apps/sessions/components/OAuthProviders.css
server/sonar-web/src/main/js/apps/sessions/components/OAuthProviders.tsx
server/sonar-web/src/main/js/apps/sessions/components/__tests__/__snapshots__/OAuthProviders-test.tsx.snap
server/sonar-web/src/main/js/components/controls/IdentityProviderLink.css

index b724dee0dfff2f820b3a40998af41014a0a32601..c697b4f0ecefa9c253b5564f02e3cbd0d3969fd0 100644 (file)
@@ -21,6 +21,9 @@
   padding-top: 10vh;
   max-width: 300px;
   margin: 0 auto;
+  align-items: center;
+  display: flex;
+  flex-direction: column;
 }
 
 .login-title {
index d1fc6cb75ea526bbfe7d2b9d1d1d03d8c114c81d..81dff76a2c270941f6cea824a81c543606c31adc 100644 (file)
  * along with this program; if not, write to the Free Software Foundation,
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
-.oauth-providers > ul {
-  width: 200px;
-  margin-left: auto;
-  margin-right: auto;
-}
-
-.oauth-providers > ul > li {
-  position: relative;
-  margin-bottom: 30px;
-}
 
 .oauth-providers-help {
   position: absolute;
index 4b773abb37d12f88cf3d52359cf18a55b527b7c0..59724f5860732f24f56d019ca1ff2371f082768c 100644 (file)
@@ -17,6 +17,7 @@
  * along with this program; if not, write to the Free Software Foundation,
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
+import styled from '@emotion/styled';
 import classNames from 'classnames';
 import * as React from 'react';
 import HelpTooltip from '../../../components/controls/HelpTooltip';
@@ -35,18 +36,16 @@ interface Props {
 export default function OAuthProviders(props: Props) {
   const formatFunction = props.formatLabel || defaultFormatLabel;
   return (
-    <section className={classNames('oauth-providers', props.className)}>
-      <ul>
-        {props.identityProviders.map(identityProvider => (
-          <OAuthProvider
-            format={formatFunction}
-            identityProvider={identityProvider}
-            key={identityProvider.key}
-            returnTo={props.returnTo}
-          />
-        ))}
-      </ul>
-    </section>
+    <Container className={classNames('oauth-providers', props.className)}>
+      {props.identityProviders.map(identityProvider => (
+        <OAuthProvider
+          format={formatFunction}
+          identityProvider={identityProvider}
+          key={identityProvider.key}
+          returnTo={props.returnTo}
+        />
+      ))}
+    </Container>
   );
 }
 
@@ -58,7 +57,7 @@ interface ItemProps {
 
 function OAuthProvider({ format, identityProvider, returnTo }: ItemProps) {
   return (
-    <li>
+    <IdentityProviderWrapper>
       <IdentityProviderLink
         backgroundColor={identityProvider.backgroundColor}
         iconPath={identityProvider.iconPath}
@@ -72,10 +71,20 @@ function OAuthProvider({ format, identityProvider, returnTo }: ItemProps) {
       {identityProvider.helpMessage && (
         <HelpTooltip className="oauth-providers-help" overlay={identityProvider.helpMessage} />
       )}
-    </li>
+    </IdentityProviderWrapper>
   );
 }
 
 function defaultFormatLabel(name: string) {
   return translateWithParameters('login.login_with_x', name);
 }
+
+const Container = styled.div`
+  display: inline-flex;
+  flex-direction: column;
+  align-items: stretch;
+`;
+
+const IdentityProviderWrapper = styled.div`
+  margin-bottom: 30px;
+`;
index 74f6d72d757a5aa75480446d588a79037c16382c..156489e9ba5ed7f0f41369be3c21bedd7c5f5136 100644 (file)
@@ -1,43 +1,41 @@
 // Jest Snapshot v1, https://goo.gl/fbAQLP
 
 exports[`should render correctly 1`] = `
-<section
+<Styled(div)
   className="oauth-providers"
 >
-  <ul>
-    <OAuthProvider
-      format={[Function]}
-      identityProvider={
-        Object {
-          "backgroundColor": "#000",
-          "iconPath": "/some/path",
-          "key": "foo",
-          "name": "Foo",
-        }
+  <OAuthProvider
+    format={[Function]}
+    identityProvider={
+      Object {
+        "backgroundColor": "#000",
+        "iconPath": "/some/path",
+        "key": "foo",
+        "name": "Foo",
       }
-      key="foo"
-      returnTo=""
-    />
-    <OAuthProvider
-      format={[Function]}
-      identityProvider={
-        Object {
-          "backgroundColor": "#00F",
-          "helpMessage": "Help message!",
-          "iconPath": "/icon/path",
-          "key": "bar",
-          "name": "Bar",
-        }
+    }
+    key="foo"
+    returnTo=""
+  />
+  <OAuthProvider
+    format={[Function]}
+    identityProvider={
+      Object {
+        "backgroundColor": "#00F",
+        "helpMessage": "Help message!",
+        "iconPath": "/icon/path",
+        "key": "bar",
+        "name": "Bar",
       }
-      key="bar"
-      returnTo=""
-    />
-  </ul>
-</section>
+    }
+    key="bar"
+    returnTo=""
+  />
+</Styled(div)>
 `;
 
 exports[`should render correctly 2`] = `
-<li>
+<Styled(div)>
   <IdentityProviderLink
     backgroundColor="#000"
     iconPath="/some/path"
@@ -48,11 +46,11 @@ exports[`should render correctly 2`] = `
       login.login_with_x.Foo
     </span>
   </IdentityProviderLink>
-</li>
+</Styled(div)>
 `;
 
 exports[`should render correctly 3`] = `
-<li>
+<Styled(div)>
   <IdentityProviderLink
     backgroundColor="#00F"
     iconPath="/icon/path"
@@ -67,11 +65,11 @@ exports[`should render correctly 3`] = `
     className="oauth-providers-help"
     overlay="Help message!"
   />
-</li>
+</Styled(div)>
 `;
 
 exports[`should use the custom label formatter 1`] = `
-<li>
+<Styled(div)>
   <IdentityProviderLink
     backgroundColor="#000"
     iconPath="/some/path"
@@ -82,5 +80,5 @@ exports[`should use the custom label formatter 1`] = `
       custom_format.Foo
     </span>
   </IdentityProviderLink>
-</li>
+</Styled(div)>
 `;
index 889f14acf903e16a7f11b146d260f1f3bceed6fd..19374a17d252f09324760e85f9f1e00292f100c3 100644 (file)
@@ -19,7 +19,6 @@
  */
 a.identity-provider-link {
   display: block;
-  width: auto;
   line-height: 22px;
   padding: var(--gridSize) calc(1.5 * var(--gridSize));
   border: 1px solid rgba(0, 0, 0, 0.15);
@@ -28,8 +27,6 @@ a.identity-provider-link {
   background-color: var(--darkBlue);
   color: #fff;
   white-space: nowrap;
-  overflow: hidden;
-  text-overflow: ellipsis;
 }
 
 a.identity-provider-link.small {