From af039ace6676a976e367a6b9a2a52463028fc5a3 Mon Sep 17 00:00:00 2001 From: Stas Vilchik Date: Wed, 4 Oct 2017 16:38:13 +0200 Subject: [PATCH] SONAR-9431 Remove hard-coded SonarCloud home page --- .../app/components/GlobalFooterSonarCloud.js | 3 +- .../src/main/js/app/components/Landing.js | 9 +- .../GlobalFooterSonarCloud-test.js.snap | 8 +- .../components/help/LinksHelpSonarCloud.js | 4 +- .../nav/global/GlobalNavBranding.js | 6 +- .../main/js/apps/about/components/AboutApp.js | 26 ++- .../about/components/AboutAppSonarCloud.js | 111 ------------- .../AboutAppSonarCloudLazyLoader.js | 45 ------ .../components/AboutQualityModelSonarCloud.js | 66 -------- .../about/components/AboutRulesSonarCloud.js | 79 --------- .../about/components/BugIconSonarCloud.js | 33 ---- .../components/CodeSmellIconSonarCloud.js | 33 ---- .../components/EntryIssueTypesSonarCloud.js | 102 ------------ .../about/components/SonarCloudGetStarted.js | 78 --------- .../components/VulnerabilityIconSonarCloud.js | 33 ---- .../main/js/apps/about/sonarcloud-styles.css | 150 ------------------ 16 files changed, 22 insertions(+), 764 deletions(-) delete mode 100644 server/sonar-web/src/main/js/apps/about/components/AboutAppSonarCloud.js delete mode 100644 server/sonar-web/src/main/js/apps/about/components/AboutAppSonarCloudLazyLoader.js delete mode 100644 server/sonar-web/src/main/js/apps/about/components/AboutQualityModelSonarCloud.js delete mode 100644 server/sonar-web/src/main/js/apps/about/components/AboutRulesSonarCloud.js delete mode 100644 server/sonar-web/src/main/js/apps/about/components/BugIconSonarCloud.js delete mode 100644 server/sonar-web/src/main/js/apps/about/components/CodeSmellIconSonarCloud.js delete mode 100644 server/sonar-web/src/main/js/apps/about/components/EntryIssueTypesSonarCloud.js delete mode 100644 server/sonar-web/src/main/js/apps/about/components/SonarCloudGetStarted.js delete mode 100644 server/sonar-web/src/main/js/apps/about/components/VulnerabilityIconSonarCloud.js delete mode 100644 server/sonar-web/src/main/js/apps/about/sonarcloud-styles.css diff --git a/server/sonar-web/src/main/js/app/components/GlobalFooterSonarCloud.js b/server/sonar-web/src/main/js/app/components/GlobalFooterSonarCloud.js index d81f101e78b..9c601855952 100644 --- a/server/sonar-web/src/main/js/app/components/GlobalFooterSonarCloud.js +++ b/server/sonar-web/src/main/js/app/components/GlobalFooterSonarCloud.js @@ -19,7 +19,6 @@ */ // @flow import React from 'react'; -import { Link } from 'react-router'; import { translate } from '../../helpers/l10n'; export default function GlobalFooterSonarCloud() { @@ -44,7 +43,7 @@ export default function GlobalFooterSonarCloud() { {' - '} {translate('footer.help')} {' - '} - {translate('footer.about')} + {translate('footer.about')} ); diff --git a/server/sonar-web/src/main/js/app/components/Landing.js b/server/sonar-web/src/main/js/app/components/Landing.js index 2d69e4686ca..f5851ac0a66 100644 --- a/server/sonar-web/src/main/js/app/components/Landing.js +++ b/server/sonar-web/src/main/js/app/components/Landing.js @@ -22,7 +22,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import { withRouter } from 'react-router'; import { connect } from 'react-redux'; -import { getCurrentUser } from '../../store/rootReducer'; +import { getCurrentUser, getGlobalSettingValue } from '../../store/rootReducer'; class Landing extends React.PureComponent { static propTypes = { @@ -30,9 +30,11 @@ class Landing extends React.PureComponent { }; componentDidMount() { - const { currentUser, router } = this.props; + const { currentUser, router, onSonarCloud } = this.props; if (currentUser.isLoggedIn) { router.replace('/projects'); + } else if (onSonarCloud && onSonarCloud.value === 'true') { + window.location = 'https://about.sonarcloud.io'; } else { router.replace('/about'); } @@ -44,7 +46,8 @@ class Landing extends React.PureComponent { } const mapStateToProps = state => ({ - currentUser: getCurrentUser(state) + currentUser: getCurrentUser(state), + onSonarCloud: getGlobalSettingValue(state, 'sonar.sonarcloud.enabled') }); export default connect(mapStateToProps)(withRouter(Landing)); diff --git a/server/sonar-web/src/main/js/app/components/__tests__/__snapshots__/GlobalFooterSonarCloud-test.js.snap b/server/sonar-web/src/main/js/app/components/__tests__/__snapshots__/GlobalFooterSonarCloud-test.js.snap index 9abb73d6d77..0a3aa1953b1 100644 --- a/server/sonar-web/src/main/js/app/components/__tests__/__snapshots__/GlobalFooterSonarCloud-test.js.snap +++ b/server/sonar-web/src/main/js/app/components/__tests__/__snapshots__/GlobalFooterSonarCloud-test.js.snap @@ -47,13 +47,11 @@ exports[`should render correctly 1`] = ` footer.help - - footer.about - + `; diff --git a/server/sonar-web/src/main/js/app/components/help/LinksHelpSonarCloud.js b/server/sonar-web/src/main/js/app/components/help/LinksHelpSonarCloud.js index 802d1b9620c..821e82a83c7 100644 --- a/server/sonar-web/src/main/js/app/components/help/LinksHelpSonarCloud.js +++ b/server/sonar-web/src/main/js/app/components/help/LinksHelpSonarCloud.js @@ -58,9 +58,7 @@ export default function LinksHelpSonarCloud({ onClose } /*: Props */) {

- - {translate('footer.about')} - + {translate('footer.about')}

); diff --git a/server/sonar-web/src/main/js/app/components/nav/global/GlobalNavBranding.js b/server/sonar-web/src/main/js/app/components/nav/global/GlobalNavBranding.js index e7b4cae4816..c6c96596281 100644 --- a/server/sonar-web/src/main/js/app/components/nav/global/GlobalNavBranding.js +++ b/server/sonar-web/src/main/js/app/components/nav/global/GlobalNavBranding.js @@ -21,7 +21,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import { Link } from 'react-router'; import { connect } from 'react-redux'; -import { getGlobalSettingValue, getCurrentUser } from '../../../../store/rootReducer'; +import { getGlobalSettingValue } from '../../../../store/rootReducer'; import { translate } from '../../../../helpers/l10n'; class GlobalNavBranding extends React.PureComponent { @@ -39,10 +39,9 @@ class GlobalNavBranding extends React.PureComponent { } render() { - const homeController = this.props.currentUser.isLoggedIn ? '/projects' : '/about'; return (
- + {this.renderLogo()}
@@ -51,7 +50,6 @@ class GlobalNavBranding extends React.PureComponent { } const mapStateToProps = state => ({ - currentUser: getCurrentUser(state), customLogoUrl: (getGlobalSettingValue(state, 'sonar.lf.logoUrl') || {}).value, customLogoWidth: (getGlobalSettingValue(state, 'sonar.lf.logoWidthPx') || {}).value }); diff --git a/server/sonar-web/src/main/js/apps/about/components/AboutApp.js b/server/sonar-web/src/main/js/apps/about/components/AboutApp.js index dbb199b9b59..cc3556ca910 100644 --- a/server/sonar-web/src/main/js/apps/about/components/AboutApp.js +++ b/server/sonar-web/src/main/js/apps/about/components/AboutApp.js @@ -36,7 +36,6 @@ import { getFacet } from '../../../api/issues'; import { getAppState, getCurrentUser, getGlobalSettingValue } from '../../../store/rootReducer'; import { translate } from '../../../helpers/l10n'; import { fetchAboutPageSettings } from '../actions'; -import AboutAppSonarCloudLazyLoader from './AboutAppSonarCloudLazyLoader'; import '../styles.css'; /*:: @@ -73,7 +72,11 @@ class AboutApp extends React.PureComponent { componentDidMount() { this.mounted = true; - this.loadData(); + if (this.props.onSonarCloud && this.props.onSonarCloud.value === 'true') { + window.location = 'https://about.sonarcloud.io'; + } else { + this.loadData(); + } } componentWillUnmount() { @@ -110,6 +113,10 @@ class AboutApp extends React.PureComponent { const { customText, onSonarCloud } = this.props; const { loading, issueTypes, projectsCount } = this.state; + if (onSonarCloud && onSonarCloud.value === 'true') { + return null; + } + let bugs; let vulnerabilities; let codeSmells; @@ -119,21 +126,6 @@ class AboutApp extends React.PureComponent { codeSmells = issueTypes['CODE_SMELL'] && issueTypes['CODE_SMELL'].count; } - if (onSonarCloud && onSonarCloud.value === 'true') { - return ( - - ); - } - return (
diff --git a/server/sonar-web/src/main/js/apps/about/components/AboutAppSonarCloud.js b/server/sonar-web/src/main/js/apps/about/components/AboutAppSonarCloud.js deleted file mode 100644 index 8373d23cc12..00000000000 --- a/server/sonar-web/src/main/js/apps/about/components/AboutAppSonarCloud.js +++ /dev/null @@ -1,111 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2017 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -// @flow -import React from 'react'; -import AboutProjects from './AboutProjects'; -import EntryIssueTypesSonarCloud from './EntryIssueTypesSonarCloud'; -import AboutRulesSonarCloud from './AboutRulesSonarCloud'; -import AboutCleanCode from './AboutCleanCode'; -import AboutQualityModelSonarCloud from './AboutQualityModelSonarCloud'; -import AboutQualityGates from './AboutQualityGates'; -import AboutLeakPeriod from './AboutLeakPeriod'; -import AboutStandards from './AboutStandards'; -import AboutScanners from './AboutScanners'; -import SonarCloudGetStarted from './SonarCloudGetStarted'; -import '../sonarcloud-styles.css'; - -/*:: -type Props = { - appState: { - defaultOrganization: string, - organizationsEnabled: boolean - }, - bugs: number, - codeSmells: number, - currentUser: { isLoggedIn: boolean }, - customText?: string, - loading: boolean, - projectsCount: number, - vulnerabilities: number -}; -*/ - -export default function AboutAppSonarCloud(props /*: Props */) { - const { customText } = props; - - return ( -
-
-
-
-

- Continuous Code Quality
as a Service -

- {!props.currentUser.isLoggedIn && } -
- -
- - -
-
-
- - - -
- {customText != null && - customText.value && ( -
- )} - - - -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- - -
-
- ); -} diff --git a/server/sonar-web/src/main/js/apps/about/components/AboutAppSonarCloudLazyLoader.js b/server/sonar-web/src/main/js/apps/about/components/AboutAppSonarCloudLazyLoader.js deleted file mode 100644 index b18c0780e7b..00000000000 --- a/server/sonar-web/src/main/js/apps/about/components/AboutAppSonarCloudLazyLoader.js +++ /dev/null @@ -1,45 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2017 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import React from 'react'; - -export default class AboutAppSonarCloudLazyLoader extends React.PureComponent { - constructor(props) { - super(props); - this.state = { - AboutAppSonarCloud: null - }; - } - - componentDidMount() { - if (!this.state.AboutAppSonarCloud) { - import('./AboutAppSonarCloud').then(({ default: AboutAppSonarCloud }) => - this.setState({ AboutAppSonarCloud }) - ); - } - } - - render() { - const { AboutAppSonarCloud } = this.state; - if (AboutAppSonarCloud) { - return ; - } - return null; - } -} diff --git a/server/sonar-web/src/main/js/apps/about/components/AboutQualityModelSonarCloud.js b/server/sonar-web/src/main/js/apps/about/components/AboutQualityModelSonarCloud.js deleted file mode 100644 index df5d87996eb..00000000000 --- a/server/sonar-web/src/main/js/apps/about/components/AboutQualityModelSonarCloud.js +++ /dev/null @@ -1,66 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2017 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import React from 'react'; -import { translate } from '../../../helpers/l10n'; -import BugIconSonarCloud from './BugIconSonarCloud'; -import VulnerabilityIconSonarCloud from './VulnerabilityIconSonarCloud'; -import CodeSmellIconSonarCloud from './CodeSmellIconSonarCloud'; - -export default function AboutQualityModelSonarCloud() { - return ( -
-

{translate('about_page.quality_model')}

- -
-
-
-
- -
-

- {translate('issue.type.BUG.plural')}{' '} - {translate('about_page.quality_model.bugs')} -

-
- -
-
- -
-

- {translate('issue.type.VULNERABILITY.plural')}{' '} - {translate('about_page.quality_model.vulnerabilities')} -

-
- -
-
- -
-

- {translate('issue.type.CODE_SMELL.plural')}{' '} - {translate('about_page.quality_model.code_smells')} -

-
-
-
-
- ); -} diff --git a/server/sonar-web/src/main/js/apps/about/components/AboutRulesSonarCloud.js b/server/sonar-web/src/main/js/apps/about/components/AboutRulesSonarCloud.js deleted file mode 100644 index 67f3037edb2..00000000000 --- a/server/sonar-web/src/main/js/apps/about/components/AboutRulesSonarCloud.js +++ /dev/null @@ -1,79 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2017 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -// @flow -import React from 'react'; -import { Link } from 'react-router'; -import { getRulesUrl } from '../../../helpers/urls'; - -/*:: -type Props = { - appState: { - defaultOrganization: string, - organizationsEnabled: boolean - } -}; -*/ - -export default function AboutRulesSonarCloud(props /*: Props */) { - const organization = props.appState.defaultOrganization; - - return ( -
-
- - +3,000 rules - - - - - - - - - - JavaScript - - - Java - - - C/C++ - - - C# - - - And More - -
-
- ); -} diff --git a/server/sonar-web/src/main/js/apps/about/components/BugIconSonarCloud.js b/server/sonar-web/src/main/js/apps/about/components/BugIconSonarCloud.js deleted file mode 100644 index 7ba3dadede8..00000000000 --- a/server/sonar-web/src/main/js/apps/about/components/BugIconSonarCloud.js +++ /dev/null @@ -1,33 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2017 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -// @flow -import React from 'react'; - -export default function BugIconSonarCloud() { - /* eslint-disable max-len */ - return ( - - - - ); -} diff --git a/server/sonar-web/src/main/js/apps/about/components/CodeSmellIconSonarCloud.js b/server/sonar-web/src/main/js/apps/about/components/CodeSmellIconSonarCloud.js deleted file mode 100644 index dc9030b2273..00000000000 --- a/server/sonar-web/src/main/js/apps/about/components/CodeSmellIconSonarCloud.js +++ /dev/null @@ -1,33 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2017 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -// @flow -import React from 'react'; - -export default function CodeSmellIconSonarCloud() { - /* eslint-disable max-len */ - return ( - - - - ); -} diff --git a/server/sonar-web/src/main/js/apps/about/components/EntryIssueTypesSonarCloud.js b/server/sonar-web/src/main/js/apps/about/components/EntryIssueTypesSonarCloud.js deleted file mode 100644 index 8a46248ae16..00000000000 --- a/server/sonar-web/src/main/js/apps/about/components/EntryIssueTypesSonarCloud.js +++ /dev/null @@ -1,102 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2017 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -//@flow -import React from 'react'; -import { Link } from 'react-router'; -import { formatMeasure } from '../../../helpers/measures'; -import { translate } from '../../../helpers/l10n'; -import { getIssuesUrl } from '../../../helpers/urls'; -import BugIconSonarCloud from './BugIconSonarCloud'; -import VulnerabilityIconSonarCloud from './VulnerabilityIconSonarCloud'; -import CodeSmellIconSonarCloud from './CodeSmellIconSonarCloud'; - -/*:: -type Props = { - bugs: ?number, - codeSmells: ?number, - loading: boolean, - vulnerabilities: ?number -}; -*/ - -export default function EntryIssueTypesSonarCloud( - { bugs, codeSmells, loading, vulnerabilities } /*: Props */ -) { - return ( -
- {loading && } - {!loading && ( - - - - - - - - - - - - - - - -
- - {formatMeasure(bugs, 'SHORT_INT')} - - - - - - {translate('issue.type.BUG.plural')} -
- - {formatMeasure(vulnerabilities, 'SHORT_INT')} - - - - - - {translate('issue.type.VULNERABILITY.plural')} -
- - {formatMeasure(codeSmells, 'SHORT_INT')} - - - - - - {translate('issue.type.CODE_SMELL.plural')} -
- )} -
- ); -} diff --git a/server/sonar-web/src/main/js/apps/about/components/SonarCloudGetStarted.js b/server/sonar-web/src/main/js/apps/about/components/SonarCloudGetStarted.js deleted file mode 100644 index aaf4f8faa87..00000000000 --- a/server/sonar-web/src/main/js/apps/about/components/SonarCloudGetStarted.js +++ /dev/null @@ -1,78 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2017 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -// @flow -import React from 'react'; -import OAuthProviders from '../../sessions/components/OAuthProviders'; -import { getIdentityProviders } from '../../../api/users'; - -/*:: -type State = { - identityProviders: Array<{ - backgroundColor: string, - iconPath: string, - key: string, - name: string - }>, - loading: boolean -}; -*/ - -export default class SonarCloudGetStarted extends React.PureComponent { - /*:: mounted: boolean; */ - state /*: State */ = { - identityProviders: [], - loading: true - }; - - componentDidMount() { - this.mounted = true; - this.fetchIdentityProviders(); - } - - componentWillUnmount() { - this.mounted = false; - } - - fetchIdentityProviders = () => { - this.setState({ loading: true }); - getIdentityProviders().then(({ identityProviders }) => { - if (this.mounted) { - this.setState({ identityProviders, loading: false }); - } - }); - }; - - formatLabel = (name /*: string */) => `Start with ${name}`; - - render() { - if (this.state.loading) { - return null; - } - - return ( -
- -
- ); - } -} diff --git a/server/sonar-web/src/main/js/apps/about/components/VulnerabilityIconSonarCloud.js b/server/sonar-web/src/main/js/apps/about/components/VulnerabilityIconSonarCloud.js deleted file mode 100644 index 442d15a1b7e..00000000000 --- a/server/sonar-web/src/main/js/apps/about/components/VulnerabilityIconSonarCloud.js +++ /dev/null @@ -1,33 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2017 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -// @flow -import React from 'react'; - -export default function VulnerabilityIconSonarCloud() { - /* eslint-disable max-len */ - return ( - - - - ); -} diff --git a/server/sonar-web/src/main/js/apps/about/sonarcloud-styles.css b/server/sonar-web/src/main/js/apps/about/sonarcloud-styles.css deleted file mode 100644 index 88db615075e..00000000000 --- a/server/sonar-web/src/main/js/apps/about/sonarcloud-styles.css +++ /dev/null @@ -1,150 +0,0 @@ -@import url('https://fonts.googleapis.com/css?family=Roboto:300,400,500,700'); - -.sqcom-about-page { - font-family: 'Roboto', sans-serif; - font-size: 15px !important; - font-weight: 300; -} - -.sqcom-about-page-entry { - padding-top: 65px; - padding-bottom: 65px; - background-color: #4b9fd5; -} - -.sqcom-about-page-entry a { - color: #4b9fd5; -} - -.sqcom-about-page-entry .page-limited { - display: flex; - justify-content: space-between; - align-items: center; - padding-top: 0; - padding-bottom: 0; -} - -.sqcom-about-page-intro { -} - -.sqcom-about-page-intro > h1 { - line-height: 44px; - color: #fff; - font-size: 36px; - font-weight: 300; -} - -.sonarcloud-about-github-button { - display: inline-block; - height: 44px; - line-height: 46px; - padding-left: 20px; - padding-right: 20px; - border: none; - border-radius: 3px; - background-color: #444; - color: #fff !important; - font-size: 15px; - font-weight: 500; - text-transform: uppercase; -} - -.sonarcloud-about-github-button:hover, -.sonarcloud-about-github-button:focus { - background-color: #333; -} - -.sonarcloud-about-github-button img { - margin-top: 12px; - margin-right: 10px; -} - -.sqcom-about-page-instance { - display: flex; - align-items: stretch; -} - -.sqcom-about-page-instance .about-page-projects { - display: flex; - justify-content: center; - align-items: center; - min-width: 190px; - min-height: 105px; - margin-left: 15px; - padding: 25px; - background-color: #fff; - color: #686868; - font-size: 18px; - font-weight: 300; -} - -.sqcom-about-page-instance .about-page-projects-link { - font-weight: 400; -} - -.sqcom-about-page-instance .about-page-issue-types > li + li { - margin-top: 20px; -} - -.sqcom-about-rules { - margin-bottom: 45px; - background-color: #4193c8; -} - -.sqcom-about-rules .page-limited { - display: flex; - justify-content: space-between; - align-items: center; - padding-top: 0; - padding-bottom: 0; -} - -.sqcom-about-rules .button { - height: 33px; - line-height: 30px; - padding-left: 15px; - padding-right: 15px; - border-color: #fff; - border-radius: 3px; - color: #fff; - font-size: 14px; - font-weight: bold; - text-transform: uppercase; -} - -.sqcom-about-rules .button:hover { - background-color: #fff; - color: #4b9fd5; -} - -.sqcom-about-rules-link { - line-height: 36px; - padding: 24px 40px; - border: none; - color: #c1d9ea; - font-size: 20px; -} - -.sqcom-about-rules-link:first-child { - margin-left: -40px; -} - -.sqcom-about-rules-link:hover { - background-color: #3988bc; - color: #fff; -} - -.sqcom-about-rules-link:hover path { - fill: #fff; -} - -.sqcom-about-quality-model svg { - transform: translateY(-3px) !important; -} - -.sqcom-get-started .oauth-providers > ul { - width: 380px; - justify-content: space-between; - font-size: 14px; - margin-bottom: -30px; -} -- 2.39.5