1
0
mirror of https://github.com/flarum/core.git synced 2025-08-13 20:04:24 +02:00

update: forum/components/HeaderSecondary (no search, session, notifs)

This commit is contained in:
Matthew Kilgore
2020-08-04 20:07:32 -04:00
committed by Franz Liedke
parent e4f1a397d6
commit 64d4eb8c4c

View File

@@ -19,13 +19,6 @@ export default class HeaderSecondary extends Component {
return <ul className="Header-controls">{listItems(this.items().toArray())}</ul>; return <ul className="Header-controls">{listItems(this.items().toArray())}</ul>;
} }
config(isInitialized, context) {
// Since this component is 'above' the content of the page (that is, it is a
// part of the global UI that persists between routes), we will flag the DOM
// to be retained across route changes.
context.retain = true;
}
/** /**
* Build an item list for the controls. * Build an item list for the controls.
* *
@@ -34,62 +27,70 @@ export default class HeaderSecondary extends Component {
items() { items() {
const items = new ItemList(); const items = new ItemList();
items.add('search', Search.component({ state: app.search }), 30); // items.add('search', Search.component({ state: app.search }), 30);
if (app.forum.attribute('showLanguageSelector') && Object.keys(app.data.locales).length > 1) { if (app.forum.attribute('showLanguageSelector') && Object.keys(app.data.locales).length > 1) {
const locales = []; const locales = [];
for (const locale in app.data.locales) { for (const locale in app.data.locales) {
locales.push( locales.push(
Button.component({ Button.component(
active: app.data.locale === locale, {
children: app.data.locales[locale], active: app.data.locale === locale,
icon: app.data.locale === locale ? 'fas fa-check' : true, icon: app.data.locale === locale ? 'fas fa-check' : true,
onclick: () => { onclick: () => {
if (app.session.user) { if (app.session.user) {
app.session.user.savePreferences({ locale }).then(() => window.location.reload()); app.session.user.savePreferences({ locale }).then(() => window.location.reload());
} else { } else {
document.cookie = `locale=${locale}; path=/; expires=Tue, 19 Jan 2038 03:14:07 GMT`; document.cookie = `locale=${locale}; path=/; expires=Tue, 19 Jan 2038 03:14:07 GMT`;
window.location.reload(); window.location.reload();
} }
},
}, },
}) app.data.locales[locale]
)
); );
} }
items.add( items.add(
'locale', 'locale',
SelectDropdown.component({ SelectDropdown.component(
children: locales, {
buttonClassName: 'Button Button--link', buttonClassName: 'Button Button--link',
}), },
locales
),
20 20
); );
} }
if (app.session.user) { if (app.session.user) {
items.add('notifications', NotificationsDropdown.component({ state: app.notifications }), 10); // items.add('notifications', NotificationsDropdown.component({ state: app.notifications }), 10);
items.add('session', SessionDropdown.component(), 0); // items.add('session', SessionDropdown.component(), 0);
} else { } else {
if (app.forum.attribute('allowSignUp')) { if (app.forum.attribute('allowSignUp')) {
items.add( items.add(
'signUp', 'signUp',
Button.component({ Button.component(
children: app.translator.trans('core.forum.header.sign_up_link'), {
className: 'Button Button--link', className: 'Button Button--link',
onclick: () => app.modal.show(SignUpModal), onclick: () => app.modal.show(SignUpModal),
}), },
app.translator.trans('core.forum.header.sign_up_link')
),
10 10
); );
} }
items.add( items.add(
'logIn', 'logIn',
Button.component({ Button.component(
children: app.translator.trans('core.forum.header.log_in_link'), {
className: 'Button Button--link', className: 'Button Button--link',
onclick: () => app.modal.show(LogInModal), onclick: () => app.modal.show(LogInModal),
}), },
app.translator.trans('core.forum.header.log_in_link')
),
0 0
); );
} }