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:
committed by
Franz Liedke
parent
e4f1a397d6
commit
64d4eb8c4c
@@ -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
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user