mirror of
https://github.com/getredash/redash.git
synced 2026-03-23 04:00:09 -04:00
* Vertical navbar * Update vertical menu look and add create menu. * Make query editor work with vertical nav. * Dark mode * Fix create menu & make sidebar fixed. * Update Alert pages layout * Update System status pages * Update Queries and Dashboards list pages * Update Query Source and Query View pages * Use dark theme for mobile navbar * Update Dashboard page: fix Add widget/textbox panel positioning * Dashboard page: fix layout issues when container changes its size (fixes known issues: navbar expand/collapse, scrollbar appears/hides) * Fix dashboard page sticky header (there was a 15px space above it) * Fix embeds * Extract desktop navbar component; move mobile navbar and its styles to ApplicationLayout folder * Remove old app header * Fix tests * Restore version info block * Make Percy capture entire page * Make vertical navbar expand/collapse animation smoother (as it's currently impossible to disable it :-( ) * Fix misc UI issues (show Create label on expanded menu; fix some CSS; don't select items on click) * Allow to override navbars with DynamicComponent * Fix misc UI issues: expand/collapse button animation, menu items styles, menu expand/collapse animation * Hide submenu arrow; show username when menu is expanded * Refine CSS and make it more isolated; adjust colors * Update tests Co-authored-by: Arik Fraimovich <arik@arikfr.com>
41 lines
1.3 KiB
JavaScript
41 lines
1.3 KiB
JavaScript
import React from "react";
|
|
import PropTypes from "prop-types";
|
|
import Tabs from "antd/lib/tabs";
|
|
import PageHeader from "@/components/PageHeader";
|
|
|
|
import "./layout.less";
|
|
|
|
export default function Layout({ activeTab, children }) {
|
|
return (
|
|
<div className="admin-page-layout">
|
|
<div className="container">
|
|
<PageHeader title="Admin" />
|
|
|
|
<div className="bg-white tiled">
|
|
<Tabs className="admin-page-layout-tabs" defaultActiveKey={activeTab} animated={false} tabBarGutter={0}>
|
|
<Tabs.TabPane key="system_status" tab={<a href="admin/status">System Status</a>}>
|
|
{activeTab === "system_status" ? children : null}
|
|
</Tabs.TabPane>
|
|
<Tabs.TabPane key="jobs" tab={<a href="admin/queries/jobs">RQ Status</a>}>
|
|
{activeTab === "jobs" ? children : null}
|
|
</Tabs.TabPane>
|
|
<Tabs.TabPane key="outdated_queries" tab={<a href="admin/queries/outdated">Outdated Queries</a>}>
|
|
{activeTab === "outdated_queries" ? children : null}
|
|
</Tabs.TabPane>
|
|
</Tabs>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
);
|
|
}
|
|
|
|
Layout.propTypes = {
|
|
activeTab: PropTypes.string,
|
|
children: PropTypes.node,
|
|
};
|
|
|
|
Layout.defaultProps = {
|
|
activeTab: "system_status",
|
|
children: null,
|
|
};
|