diff --git a/packages/app/src/components/Layout/header/index.jsx b/packages/app/src/components/Layout/header/index.jsx index 8e7db535..a7a6af26 100755 --- a/packages/app/src/components/Layout/header/index.jsx +++ b/packages/app/src/components/Layout/header/index.jsx @@ -19,7 +19,7 @@ export default (props) => { component, options }) - } + }, }) return { function handleClickItem(item) { if (item.children && Array.isArray(item.children)) { @@ -14,70 +13,82 @@ export default (props) => { return props.onClickItem(item.key) } - return
- { - props.items.map((item) => { - if (!item.disabled && item.children && Array.isArray(item.children)) { - return { - handleClickItem(item) - } - }} - > - +
+ { + props.items.map((item) => { + if (!item.disabled && item.children && Array.isArray(item.children)) { + return { + handleClickItem(item) + } + }} > -
- {item.icon} -
- - { - props.renderNames &&
-

- {item.label ?? item.id} -

+ +
+ {item.icon}
- } -
- - } - return handleClickItem(item)} - type="ghost" - disabled={item.disabled} - > -
- {item.icon} -
- - { - props.renderNames &&
-

- {item.label ?? item.id} -

-
+ { + props.renderNames &&
+

+ {item.label ?? item.id} +

+
+ } +
+ } - - }) + + return { + if (typeof item.props.onClick === "function") { + return item.props.onClick() + } + + return handleClickItem(item) + }} + type={item.props.type ?? "ghost"} + disabled={item.disabled} + > +
+ {item.icon} +
+ + { + props.renderNames &&
+

+ {item.label ?? item.id} +

+
+ } +
+ }) + } +
+ + { + props.children } -
+ } \ No newline at end of file diff --git a/packages/app/src/components/PagePanels/components/NavMenu/index.less b/packages/app/src/components/PagePanels/components/NavMenu/index.less index db4c3560..0349a9d6 100644 --- a/packages/app/src/components/PagePanels/components/NavMenu/index.less +++ b/packages/app/src/components/PagePanels/components/NavMenu/index.less @@ -1,5 +1,22 @@ @import "theme/vars.less"; +html { + &.mobile { + .navmenu_wrapper { + .navmenu_item { + &.active { + color: var(--colorPrimary) !important; + background-color: var(--background-color-primary); + } + + .icon { + font-size: 1.5rem; + } + } + } + } +} + .navmenu_wrapper { display: flex; flex-direction: row; @@ -8,8 +25,13 @@ width: 100%; + .ant-btn-primary:not(.ant-btn-dangerous) { + .label { + color: var(--background-color-primary); + } + } + .navmenu_item { - font-size: 0.7rem; display: flex; flex-direction: row; @@ -23,17 +45,21 @@ &.active { color: var(--colorPrimary); + background-color: var(--background-color-primary); } p { margin: 0; + color: var(--text-color); + } + + svg { + color: currentColor; } .icon { margin: 0; line-height: 1rem; - font-size: 1.5rem; - font-size: 1rem; } diff --git a/packages/app/src/components/PagePanels/index.jsx b/packages/app/src/components/PagePanels/index.jsx index a74386be..953504f8 100755 --- a/packages/app/src/components/PagePanels/index.jsx +++ b/packages/app/src/components/PagePanels/index.jsx @@ -61,17 +61,16 @@ export class PagePanelWithNavMenu extends React.Component { app.layout.page_panels = this.interface if (app.isMobile) { - app.layout.top_bar.shouldUseTopBarSpacer(false) + app.layout.top_bar.shouldUseTopBarSpacer(true) + app.layout.toggleCenteredContent(false) } - - app.layout.toggleCenteredContent(true) } componentWillUnmount() { delete app.layout.page_panels if (app.isMobile) { - app.layout.top_bar.shouldUseTopBarSpacer(true) + app.layout.top_bar.shouldUseTopBarSpacer(false) } else { app.layout.header.render(null) } @@ -179,15 +178,18 @@ export class PagePanelWithNavMenu extends React.Component { return [] } - return items.map((item) => { + items = items.map((item) => { return { key: item.key, icon: createIconRender(item.icon), label: item.label, children: item.children && this.getItems(item.children), disabled: item.disabled, + props: item.props ?? {}, } }) + + return items } render() { @@ -204,7 +206,7 @@ export class PagePanelWithNavMenu extends React.Component { !app.isMobile && app.layout.header.render( this.handleTabChange(key)} renderNames > @@ -221,9 +223,13 @@ export class PagePanelWithNavMenu extends React.Component { ) } - { - this.renderActiveTab() - } +
+
+ { + this.renderActiveTab() + } +
+
} } diff --git a/packages/app/src/pages/index.jsx b/packages/app/src/pages/index.jsx index 21ea1d0c..e76b6af5 100755 --- a/packages/app/src/pages/index.jsx +++ b/packages/app/src/pages/index.jsx @@ -1,33 +1,25 @@ import React from "react" -import * as antd from "antd" import { Translation } from "react-i18next" import { PagePanelWithNavMenu } from "components/PagePanels" -import { Icons } from "components/Icons" - import Tabs from "./home/tabs" export default class Home extends React.Component { render() { - const navMenuHeader = <> -

- - {(t) => t("Timeline")} -

- - - {(t) => t("Create")} - - - return {(t) => t("Create")}, + props: { + type: "primary", + onClick: app.controls.openPostCreator + } + }, + ]} onTabChange={() => { app.layout.scrollTo({ top: 0, diff --git a/packages/app/src/pages/play/[play_id].jsx b/packages/app/src/pages/play/[play_id].jsx index 553bba63..68109817 100755 --- a/packages/app/src/pages/play/[play_id].jsx +++ b/packages/app/src/pages/play/[play_id].jsx @@ -24,6 +24,8 @@ export default (props) => { React.useEffect(() => { loadData() + + app.layout.toggleCenteredContent(false) }, []) if (!playlist) { diff --git a/packages/app/src/pages/settings/index.jsx b/packages/app/src/pages/settings/index.jsx index 51d5a5ad..a99f97ca 100644 --- a/packages/app/src/pages/settings/index.jsx +++ b/packages/app/src/pages/settings/index.jsx @@ -88,7 +88,6 @@ const generateMenuItems = () => { }) } - export default () => { const [activeKey, setActiveKey] = useUrlQueryActiveKey({ defaultKey: "general",