mirror of https://github.com/MaxLeiter/Drift
lint, internally refactor header
parent
aaf2761004
commit
cc2215629d
@ -1,3 +1,3 @@
|
|||||||
import HomePage from "../page";
|
import HomePage from "../page"
|
||||||
|
|
||||||
export default HomePage;
|
export default HomePage
|
||||||
|
@ -0,0 +1,53 @@
|
|||||||
|
.mobileTrigger {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media only screen and (max-width: 768px) {
|
||||||
|
.header {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.wrapper [data-tab="github"] {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mobileTrigger {
|
||||||
|
margin-top: var(--gap);
|
||||||
|
margin-bottom: var(--gap);
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mobileTrigger button {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdownItem a,
|
||||||
|
.dropdownItem button {
|
||||||
|
width: 100%;
|
||||||
|
text-align: left;
|
||||||
|
white-space: nowrap;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdownItem:not(:first-child):not(:last-child) :global(button) {
|
||||||
|
border-top-left-radius: 0;
|
||||||
|
border-top-right-radius: 0;
|
||||||
|
border-bottom-left-radius: 0;
|
||||||
|
border-bottom-right-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdownItem:first-child :global(button) {
|
||||||
|
border-bottom-left-radius: 0;
|
||||||
|
border-bottom-right-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdownItem:last-child :global(button) {
|
||||||
|
border-top-left-radius: 0;
|
||||||
|
border-top-right-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabs {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,39 @@
|
|||||||
|
import * as DropdownMenu from "@radix-ui/react-dropdown-menu"
|
||||||
|
import buttonStyles from "@components/button/button.module.css"
|
||||||
|
import Button from "@components/button"
|
||||||
|
import { Menu } from "react-feather"
|
||||||
|
import clsx from "clsx"
|
||||||
|
import styles from "./mobile.module.css"
|
||||||
|
|
||||||
|
export default function MobileHeader({ buttons }: { buttons: JSX.Element[] }) {
|
||||||
|
// TODO: this is a hack to close the radix ui menu when a next link is clicked
|
||||||
|
const onClick = () => {
|
||||||
|
document.dispatchEvent(new KeyboardEvent("keydown", { key: "Escape" }))
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<DropdownMenu.Root>
|
||||||
|
<DropdownMenu.Trigger
|
||||||
|
className={clsx(buttonStyles.button, styles.mobileTrigger)}
|
||||||
|
asChild
|
||||||
|
>
|
||||||
|
<Button aria-label="Menu" height="auto">
|
||||||
|
<Menu />
|
||||||
|
</Button>
|
||||||
|
</DropdownMenu.Trigger>
|
||||||
|
<DropdownMenu.Portal>
|
||||||
|
<DropdownMenu.Content>
|
||||||
|
{buttons.map((button) => (
|
||||||
|
<DropdownMenu.Item
|
||||||
|
key={`mobile-${button?.key}`}
|
||||||
|
className={styles.dropdownItem}
|
||||||
|
onClick={onClick}
|
||||||
|
>
|
||||||
|
{button}
|
||||||
|
</DropdownMenu.Item>
|
||||||
|
))}
|
||||||
|
</DropdownMenu.Content>
|
||||||
|
</DropdownMenu.Portal>
|
||||||
|
</DropdownMenu.Root>
|
||||||
|
)
|
||||||
|
}
|
Loading…
Reference in New Issue