fix popup header
This commit is contained in:
@@ -1,18 +1,15 @@
|
|||||||
import Paper from "@mui/material/Paper";
|
import Paper from "@mui/material/Paper";
|
||||||
import Box from "@mui/material/Box";
|
|
||||||
import Fab from "@mui/material/Fab";
|
import Fab from "@mui/material/Fab";
|
||||||
import TranslateIcon from "@mui/icons-material/Translate";
|
import TranslateIcon from "@mui/icons-material/Translate";
|
||||||
import ThemeProvider from "../../hooks/Theme";
|
import ThemeProvider from "../../hooks/Theme";
|
||||||
import Draggable from "./Draggable";
|
import Draggable from "./Draggable";
|
||||||
import IconButton from "@mui/material/IconButton";
|
|
||||||
import CloseIcon from "@mui/icons-material/Close";
|
|
||||||
import Stack from "@mui/material/Stack";
|
|
||||||
import { useEffect, useState, useMemo, useCallback } from "react";
|
import { useEffect, useState, useMemo, useCallback } from "react";
|
||||||
import { SettingProvider } from "../../hooks/Setting";
|
import { SettingProvider } from "../../hooks/Setting";
|
||||||
import Popup from "../Popup";
|
import Popup from "../Popup";
|
||||||
import { debounce } from "../../libs/utils";
|
import { debounce } from "../../libs/utils";
|
||||||
import * as shortcut from "@violentmonkey/shortcut";
|
import * as shortcut from "@violentmonkey/shortcut";
|
||||||
import { isGm } from "../../libs/client";
|
import { isGm } from "../../libs/client";
|
||||||
|
import Header from "../Popup/Header";
|
||||||
|
|
||||||
export default function Action({ translator, fab }) {
|
export default function Action({ translator, fab }) {
|
||||||
const fabWidth = 40;
|
const fabWidth = 40;
|
||||||
@@ -161,23 +158,7 @@ export default function Action({ translator, fab }) {
|
|||||||
onMove={handleMove}
|
onMove={handleMove}
|
||||||
handler={
|
handler={
|
||||||
<Paper style={{ cursor: "move" }} elevation={3}>
|
<Paper style={{ cursor: "move" }} elevation={3}>
|
||||||
<Stack
|
<Header setShowPopup={setShowPopup} />
|
||||||
direction="row"
|
|
||||||
justifyContent="space-between"
|
|
||||||
alignItems="center"
|
|
||||||
spacing={2}
|
|
||||||
>
|
|
||||||
<Box style={{ marginLeft: 16 }}>
|
|
||||||
{`${process.env.REACT_APP_NAME} v${process.env.REACT_APP_VERSION}`}
|
|
||||||
</Box>
|
|
||||||
<IconButton
|
|
||||||
onClick={() => {
|
|
||||||
setShowPopup(false);
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
<CloseIcon />
|
|
||||||
</IconButton>
|
|
||||||
</Stack>
|
|
||||||
</Paper>
|
</Paper>
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
|
|||||||
13
src/views/Options/DarkModeButton.js
Normal file
13
src/views/Options/DarkModeButton.js
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
import IconButton from "@mui/material/IconButton";
|
||||||
|
import { useDarkMode } from "../../hooks/ColorMode";
|
||||||
|
import LightModeIcon from "@mui/icons-material/LightMode";
|
||||||
|
import DarkModeIcon from "@mui/icons-material/DarkMode";
|
||||||
|
|
||||||
|
export default function DarkModeButton() {
|
||||||
|
const { darkMode, toggleDarkMode } = useDarkMode();
|
||||||
|
return (
|
||||||
|
<IconButton onClick={toggleDarkMode} color="inherit">
|
||||||
|
{darkMode ? <LightModeIcon /> : <DarkModeIcon />}
|
||||||
|
</IconButton>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -4,16 +4,13 @@ import IconButton from "@mui/material/IconButton";
|
|||||||
import MenuIcon from "@mui/icons-material/Menu";
|
import MenuIcon from "@mui/icons-material/Menu";
|
||||||
import Toolbar from "@mui/material/Toolbar";
|
import Toolbar from "@mui/material/Toolbar";
|
||||||
import Box from "@mui/material/Box";
|
import Box from "@mui/material/Box";
|
||||||
import { useDarkMode } from "../../hooks/ColorMode";
|
|
||||||
import LightModeIcon from "@mui/icons-material/LightMode";
|
|
||||||
import DarkModeIcon from "@mui/icons-material/DarkMode";
|
|
||||||
import Link from "@mui/material/Link";
|
import Link from "@mui/material/Link";
|
||||||
import { useI18n } from "../../hooks/I18n";
|
import { useI18n } from "../../hooks/I18n";
|
||||||
|
import DarkModeButton from "./DarkModeButton";
|
||||||
|
|
||||||
function Header(props) {
|
function Header(props) {
|
||||||
const i18n = useI18n();
|
const i18n = useI18n();
|
||||||
const { onDrawerToggle } = props;
|
const { onDrawerToggle } = props;
|
||||||
const { darkMode, toggleDarkMode } = useDarkMode();
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<AppBar
|
<AppBar
|
||||||
@@ -41,9 +38,7 @@ function Header(props) {
|
|||||||
href={process.env.REACT_APP_HOMEPAGE}
|
href={process.env.REACT_APP_HOMEPAGE}
|
||||||
>{`${i18n("app_name")} v${process.env.REACT_APP_VERSION}`}</Link>
|
>{`${i18n("app_name")} v${process.env.REACT_APP_VERSION}`}</Link>
|
||||||
</Box>
|
</Box>
|
||||||
<IconButton onClick={toggleDarkMode} color="inherit">
|
<DarkModeButton />
|
||||||
{darkMode ? <LightModeIcon /> : <DarkModeIcon />}
|
|
||||||
</IconButton>
|
|
||||||
</Toolbar>
|
</Toolbar>
|
||||||
</AppBar>
|
</AppBar>
|
||||||
);
|
);
|
||||||
|
|||||||
42
src/views/Popup/Header.js
Normal file
42
src/views/Popup/Header.js
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
import Box from "@mui/material/Box";
|
||||||
|
import IconButton from "@mui/material/IconButton";
|
||||||
|
import CloseIcon from "@mui/icons-material/Close";
|
||||||
|
import HomeIcon from "@mui/icons-material/Home";
|
||||||
|
import Stack from "@mui/material/Stack";
|
||||||
|
import DarkModeButton from "../Options/DarkModeButton";
|
||||||
|
|
||||||
|
export default function Header({ setShowPopup }) {
|
||||||
|
const handleHomepage = () => {
|
||||||
|
window.open(process.env.REACT_APP_HOMEPAGE, "_blank");
|
||||||
|
};
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Stack
|
||||||
|
direction="row"
|
||||||
|
justifyContent="space-between"
|
||||||
|
alignItems="center"
|
||||||
|
spacing={2}
|
||||||
|
>
|
||||||
|
<Stack direction="row" justifyContent="flex-start" alignItems="center">
|
||||||
|
<IconButton onClick={handleHomepage}>
|
||||||
|
<HomeIcon />
|
||||||
|
</IconButton>
|
||||||
|
<Box>
|
||||||
|
{`${process.env.REACT_APP_NAME} v${process.env.REACT_APP_VERSION}`}
|
||||||
|
</Box>
|
||||||
|
</Stack>
|
||||||
|
|
||||||
|
{setShowPopup ? (
|
||||||
|
<IconButton
|
||||||
|
onClick={() => {
|
||||||
|
setShowPopup(false);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<CloseIcon />
|
||||||
|
</IconButton>
|
||||||
|
) : (
|
||||||
|
<DarkModeButton />
|
||||||
|
)}
|
||||||
|
</Stack>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -10,6 +10,8 @@ import { browser } from "../../libs/browser";
|
|||||||
import { isExt } from "../../libs/client";
|
import { isExt } from "../../libs/client";
|
||||||
import { useI18n } from "../../hooks/I18n";
|
import { useI18n } from "../../hooks/I18n";
|
||||||
import TextField from "@mui/material/TextField";
|
import TextField from "@mui/material/TextField";
|
||||||
|
import Divider from "@mui/material/Divider";
|
||||||
|
import Header from "./Header";
|
||||||
import {
|
import {
|
||||||
MSG_TRANS_TOGGLE,
|
MSG_TRANS_TOGGLE,
|
||||||
MSG_TRANS_GETRULE,
|
MSG_TRANS_GETRULE,
|
||||||
@@ -93,8 +95,10 @@ export default function Popup({ setShowPopup, translator: tran }) {
|
|||||||
|
|
||||||
if (!rule) {
|
if (!rule) {
|
||||||
return (
|
return (
|
||||||
<Box minWidth={300} sx={{ p: 2 }}>
|
<Box minWidth={300}>
|
||||||
<Stack spacing={3}>
|
<Header />
|
||||||
|
<Divider />
|
||||||
|
<Stack sx={{ p: 2 }} spacing={3}>
|
||||||
<Button variant="text" onClick={handleOpenSetting}>
|
<Button variant="text" onClick={handleOpenSetting}>
|
||||||
{i18n("setting")}
|
{i18n("setting")}
|
||||||
</Button>
|
</Button>
|
||||||
@@ -106,8 +110,10 @@ export default function Popup({ setShowPopup, translator: tran }) {
|
|||||||
const { transOpen, translator, fromLang, toLang, textStyle, bgColor } = rule;
|
const { transOpen, translator, fromLang, toLang, textStyle, bgColor } = rule;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Box minWidth={300} sx={{ p: 2 }}>
|
<Box minWidth={300}>
|
||||||
<Stack spacing={2}>
|
<Header />
|
||||||
|
<Divider />
|
||||||
|
<Stack sx={{ p: 2 }} spacing={2}>
|
||||||
<Stack
|
<Stack
|
||||||
direction="row"
|
direction="row"
|
||||||
justifyContent="space-between"
|
justifyContent="space-between"
|
||||||
|
|||||||
Reference in New Issue
Block a user