/* * SonarQube * Copyright (C) 2009-2019 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 * as React from 'react'; import Helmet from 'react-helmet'; import { FixedNavBar, TopNavBar } from './components/NavBars'; import FeaturedProjects from './components/FeaturedProjects'; import Footer from './components/Footer'; import { Languages } from './components/Languages'; import LoginButtons from './components/LoginButtons'; import Statistics from './components/Statistics'; import { requestHomepageData, HomepageData, FeaturedProject } from './utils'; import { addWhitePageClass, removeWhitePageClass } from '../../../helpers/pages'; import { getBaseUrl } from '../../../helpers/urls'; import './new_style.css'; interface State { data?: HomepageData; } export default class Home extends React.PureComponent<{}, State> { state: State = {}; componentDidMount() { addWhitePageClass(); this.fetchData(); } componentWillUnmount() { removeWhitePageClass(); } fetchData = () => { requestHomepageData() .then(data => this.setState({ data })) .catch(() => { /* Fail silently */ }); }; render() { const { data } = this.state; return (
Free for Open-Source Projects
With just a few clicks you’re up and running right where your code lives. Immediate access to the latest features and enhancements.
Project dashboards keep teams and stakeholders informed on code quality and releasability.
Display project badges and show your communities you’re all about awesome.
Use
with your team, share best practices and have fun writing quality code!
Connect with
and get real-time notifications in your IDE as you work.
Check out these open-source projects showing users
their commitment to quality.