<h2 className="spacer-bottom">
{translate('my_account.favorite_issue_filters')}
</h2>
+
+ {!issueFilters.length && (
+ <p className="note">
+ {translate('my_account.no_favorite_issue_filters')}
+ </p>
+ )}
+
<table id="favorite-issue-filters" className="data">
<tbody>
{issueFilters.map(f => (
<h2 className="spacer-bottom">
{translate('my_account.favorite_measure_filters')}
</h2>
+
+ {!measureFilters.length && (
+ <p className="note">
+ {translate('my_account.no_favorite_measure_filters')}
+ </p>
+ )}
+
<table id="favorite-measure-filters" className="data">
<tbody>
{measureFilters.map(f => (
<h2 className="spacer-bottom">
{translate('my_account.favorite_components')}
</h2>
+
+ {!favorites.length && (
+ <p className="note">
+ {translate('my_account.no_favorite_components')}
+ </p>
+ )}
+
<table id="favorite-components" className="data">
<tbody>
{favorites.map(f => (
import { translate } from '../../../helpers/l10n';
const Home = ({ user, favorites, issueFilters, measureFilters }) => (
- <div>
+ <div className="page page-limited">
<div className="columns">
<div className="column-third">
<Favorites favorites={favorites}/>
const channels = globalNotifications[0].channels.map(c => c.id);
return (
- <div>
- <p className="spacer-top big-spacer-bottom">
+ <div className="page page-limited">
+ <p className="big-spacer-bottom">
{translate('notification.dispatcher.information')}
</p>
<form id="notif_form" method="post" action={`${window.baseUrl}/account/update_notifications`}>
state = {
success: false,
errors: null
- }
+ };
handleSuccessfulChange () {
this.refs.oldPassword.value = '';
export default class ProjectNotification extends Component {
state = {
toDelete: false
- }
+ };
handleRemoveProject (e) {
e.preventDefault();
<thead>
<tr>
<th>
- <h3 className="display-inline-block">{data.project.name}</h3>
+ <h4 className="display-inline-block">{data.project.name}</h4>
<button
onClick={this.handleRemoveProject.bind(this)}
className={buttonClassName}>
export default function Security ({ user }) {
return (
- <div className="columns">
- <div className="column-half">
- <Tokens user={user}/>
- </div>
+ <div className="page page-limited">
+ <div className="columns">
+ <div className="column-half">
+ <Tokens user={user}/>
+ </div>
- {user.canChangePassword && (
- <div className="column-half">
- <Password user={user}/>
- </div>
- )}
+ {user.canChangePassword && (
+ <div className="column-half">
+ <Password user={user}/>
+ </div>
+ )}
+ </div>
</div>
);
}
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import React from 'react';
+import { IndexLink } from 'react-router';
import Avatar from '../../../components/shared/avatar';
return (
<section className="account-user clearfix">
<div id="avatar" className="account-nav-avatar">
- <Avatar email={user.email} size={48}/>
+ <IndexLink to="/" className="link-no-underline">
+ <Avatar email={user.email} size={48}/>
+ </IndexLink>
</div>
<div>
- <h1 id="name" className="display-inline-block">{user.name}</h1>
+ <IndexLink to="/" className="link-no-underline">
+ <h1 id="name" className="display-inline-block">{user.name}</h1>
+ </IndexLink>
<span id="login" className="note big-spacer-left">{user.login}</span>
</div>
<div id="email" className="little-spacer-top">{user.email}</div>
import { getIssueFilters } from '../../../api/issues';
export default class AccountApp extends Component {
- state = {}
+ state = {};
componentDidMount () {
this.fetchFavoriteIssueFilters();
fetchFavoriteIssueFilters () {
getIssueFilters().then(issueFilters => {
- this.setState({ issueFilters });
+ const favoriteIssueFilters = issueFilters.filter(f => f.favorite);
+ this.setState({ issueFilters: favoriteIssueFilters });
});
}
return (
<div>
<Nav user={user}/>
- <div className="page">
- {children}
- </div>
+ {children}
</div>
);
}
</div>
{{/notNull}}
-<h3 class="big-spacer-top spacer-bottom">Generate Tokens</h3>
+<h4 class="big-spacer-top spacer-bottom">Generate Tokens</h4>
{{#each errors}}
<div class="alert alert-danger">{{msg}}</div>
padding: 10px 20px;
}
+.page-limited {
+ max-width: 1440px;
+ margin-left: auto;
+ margin-right: auto;
+ padding-top: 20px;
+ padding-bottom: 20px;
+}
+
.page-container {
min-width: 1080px;
}
my_account.page=My Account
my_account.favorite_components=Favorite Components
+my_account.no_favorite_components=You do not have favorite components yet.
my_account.favorite_issue_filters=Favorite Issue Filters
+my_account.no_favorite_issue_filters=You do not have favorite issue filters yet.
my_account.favorite_measure_filters=Favorite Measure Filters
+my_account.no_favorite_measure_filters=You do not have favorite measure filters yet.
my_account.notifications=Notifications
my_account.no_project_notifications=You have not set project notifications yet.
my_account.security=Security