Browse Source

SONAR-8300 display special message when use has no favorite projects

tags/6.2-RC1
Stas Vilchik 7 years ago
parent
commit
617497c27c

+ 2
- 2
server/sonar-web/src/main/js/apps/projects/components/AllProjects.js View File

@@ -21,8 +21,8 @@ import React from 'react';
import ProjectsListContainer from './ProjectsListContainer';
import ProjectsListFooterContainer from './ProjectsListFooterContainer';
import PageSidebar from './PageSidebar';
import NoProjects from './NoProjects';
import { parseUrlQuery } from '../store/utils';
import '../styles.css';

export default class AllProjects extends React.Component {
static propTypes = {
@@ -58,7 +58,7 @@ export default class AllProjects extends React.Component {
return (
<div className="page-with-sidebar projects-page">
<div className="page-main">
<ProjectsListContainer/>
<ProjectsListContainer noProjectsComponent={<NoProjects/>}/>
<ProjectsListFooterContainer query={this.state.query}/>
</div>
<aside className="page-sidebar-fixed projects-sidebar">

+ 2
- 2
server/sonar-web/src/main/js/apps/projects/components/FavoriteProjects.js View File

@@ -19,7 +19,7 @@
*/
import React from 'react';
import ProjectsListContainer from './ProjectsListContainer';
import '../styles.css';
import NoFavoriteProjects from './NoFavoriteProjects';

export default class FavoriteProjects extends React.Component {
static propTypes = {
@@ -40,7 +40,7 @@ export default class FavoriteProjects extends React.Component {
<div className="page-with-sidebar">
<div className="page-main">
<div className="projects-list-container">
<ProjectsListContainer/>
<ProjectsListContainer noProjectsComponent={<NoFavoriteProjects/>}/>
</div>
</div>
<aside className="page-sidebar-fixed projects-sidebar"/>

+ 36
- 0
server/sonar-web/src/main/js/apps/projects/components/NoFavoriteProjects.js View File

@@ -0,0 +1,36 @@
/*
* SonarQube
* Copyright (C) 2009-2016 SonarSource SA
* mailto:contact 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 { Link } from 'react-router';
import { translate } from '../../../helpers/l10n';

export default class NoFavoriteProjects extends React.Component {
render () {
return (
<div className="projects-empty-list">
<h3>{translate('projects.no_favorite_projects')}</h3>
<p className="big-spacer-top">{translate('projects.no_favorite_projects.engagement')}</p>
<p className="big-spacer-top">
<Link to="/projects" className="button">{translate('projects.explore_projects')}</Link>
</p>
</div>
);
}
}

+ 32
- 0
server/sonar-web/src/main/js/apps/projects/components/NoProjects.js View File

@@ -0,0 +1,32 @@
/*
* SonarQube
* Copyright (C) 2009-2016 SonarSource SA
* mailto:contact 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';

export default class NoProjects extends React.Component {
render () {
return (
<div className="projects-empty-list">
<h3>{translate('projects.no_projects.1')}</h3>
<p className="big-spacer-top">{translate('projects.no_projects.2')}</p>
</div>
);
}
}

+ 2
- 5
server/sonar-web/src/main/js/apps/projects/components/ProjectsList.js View File

@@ -19,11 +19,11 @@
*/
import React from 'react';
import ProjectCardContainer from './ProjectCardContainer';
import { translate } from '../../../helpers/l10n';

export default class ProjectsList extends React.Component {
static propTypes = {
projects: React.PropTypes.arrayOf(React.PropTypes.string),
noProjectsComponent: React.PropTypes.element.isRequired
};

render () {
@@ -40,10 +40,7 @@ export default class ProjectsList extends React.Component {
<ProjectCardContainer key={projectKey} projectKey={projectKey}/>
))
) : (
<div className="projects-empty-list">
<h3>{translate('projects.no_projects.1')}</h3>
<p className="big-spacer-top">{translate('projects.no_projects.2')}</p>
</div>
this.props.noProjectsComponent
)}
</div>
);

+ 3
- 13
sonar-core/src/main/resources/org/sonar/l10n/core.properties View File

@@ -890,6 +890,9 @@ projects._projects=projects
projects.no_projects.1=We couldn't find any projects matching selected criteria.
projects.no_projects.2=Try to change filters to get some results.
projects.clear_all_filters=Clear All Filters
projects.no_favorite_projects=You don't have any favorite projects yet.
projects.no_favorite_projects.engagement=Discover and mark as favorites projects you are interested in to have a quick access to them.
projects.explore_projects=Explore Projects


#------------------------------------------------------------------------------
@@ -3125,16 +3128,3 @@ component_measures.legend.color_x=Color: {0}
component_measures.legend.size_x=Size: {0}
component_measures.x_of_y={0} of {1}
component_measures.no_history=There is no historical data.

#------------------------------------------------------------------------------
#
# MY ACTIVITY
#
#------------------------------------------------------------------------------
my_activity.my_issues=My Issues
my_activity.last_week=Last Week
my_activity.all_time=All Time
my_activity.my_favorite_projects=My Favorite Projects
my_activity.no_favorite_projects=You don't have any favorite projects yet.
my_activity.no_favorite_projects.engagement=Discover and mark as favorites projects you are interested in to have a quick access to them.
my_activity.explore_projects=Explore Projects

Loading…
Cancel
Save