mirror of
https://github.com/clash-verge-rev/clash-verge-rev.git
synced 2024-11-16 11:42:21 +08:00
feat(style): adjust style impl
This commit is contained in:
parent
adc634e5ea
commit
3b1a816b3b
|
@ -1,4 +1,4 @@
|
|||
import { ListItem, ListItemButton, ListItemText } from "@mui/material";
|
||||
import { alpha, ListItem, ListItemButton, ListItemText } from "@mui/material";
|
||||
import { useMatch, useResolvedPath, useNavigate } from "react-router-dom";
|
||||
import type { LinkProps } from "react-router-dom";
|
||||
|
||||
|
@ -12,42 +12,30 @@ const ListItemLink = (props: LinkProps) => {
|
|||
return (
|
||||
<ListItem sx={{ py: 0.5, maxWidth: 250, mx: "auto" }}>
|
||||
<ListItemButton
|
||||
selected={!!match}
|
||||
sx={[
|
||||
{
|
||||
color: "primary",
|
||||
borderRadius: 2,
|
||||
textAlign: "center",
|
||||
"& .MuiListItemText-primary": { color: "text.secondary" },
|
||||
},
|
||||
(theme) => {
|
||||
if (!match) return {};
|
||||
|
||||
if (theme.palette.mode === "light") {
|
||||
return {
|
||||
bgcolor: "rgba(91,92,157,0.15)",
|
||||
"&:hover": { bgcolor: "rgba(91,92,157,0.15)" },
|
||||
};
|
||||
}
|
||||
({ palette: { mode, primary } }) => {
|
||||
const bgcolor =
|
||||
mode === "light"
|
||||
? alpha(primary.main, 0.15)
|
||||
: alpha(primary.main, 0.35);
|
||||
const color = mode === "light" ? primary.main : primary.light;
|
||||
|
||||
return {
|
||||
bgcolor: "rgba(91,92,157,0.35)",
|
||||
"&:hover": { bgcolor: "rgba(91,92,157,0.35)" },
|
||||
"&.Mui-selected": { bgcolor },
|
||||
"&.Mui-selected:hover": { bgcolor },
|
||||
"&.Mui-selected .MuiListItemText-primary": { color },
|
||||
};
|
||||
},
|
||||
]}
|
||||
onClick={() => navigate(to)}
|
||||
>
|
||||
<ListItemText
|
||||
primary={children}
|
||||
sx={{
|
||||
color: (theme) => {
|
||||
if (!match) return "text.secondary";
|
||||
|
||||
const light = theme.palette.mode === "light";
|
||||
if (match && light) return "primary.main";
|
||||
return "primary.light";
|
||||
},
|
||||
}}
|
||||
/>
|
||||
<ListItemText primary={children} />
|
||||
</ListItemButton>
|
||||
</ListItem>
|
||||
);
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
import { useState } from "react";
|
||||
import { Virtuoso } from "react-virtuoso";
|
||||
import {
|
||||
alpha,
|
||||
Box,
|
||||
Collapse,
|
||||
Divider,
|
||||
|
@ -32,9 +33,26 @@ const Item = ({ proxy, selected, onClick }: ItemProps) => {
|
|||
return (
|
||||
<ListItem sx={{ py: 0, pl: 4 }}>
|
||||
<ListItemButton
|
||||
dense
|
||||
selected={selected}
|
||||
onClick={() => onClick?.(proxy.name)}
|
||||
sx={{ borderRadius: 1, py: 0.5 }}
|
||||
sx={[
|
||||
{
|
||||
borderRadius: 1,
|
||||
},
|
||||
({ palette: { mode, primary } }) => {
|
||||
const bgcolor =
|
||||
mode === "light"
|
||||
? alpha(primary.main, 0.15)
|
||||
: alpha(primary.main, 0.35);
|
||||
const color = mode === "light" ? primary.main : primary.light;
|
||||
|
||||
return {
|
||||
"&.Mui-selected": { bgcolor },
|
||||
"&.Mui-selected .MuiListItemText-secondary": { color },
|
||||
};
|
||||
},
|
||||
]}
|
||||
>
|
||||
<ListItemText title={proxy.name} secondary={proxy.name} />
|
||||
<ListItemIcon
|
||||
|
@ -77,10 +95,9 @@ const ProxyGroup = ({ group }: Props) => {
|
|||
|
||||
return (
|
||||
<>
|
||||
<ListItem button onClick={() => setOpen(!open)}>
|
||||
<ListItem button onClick={() => setOpen(!open)} dense>
|
||||
<ListItemText
|
||||
primary={group.name}
|
||||
sx={{ my: 0.25 }}
|
||||
secondary={
|
||||
<>
|
||||
<SendRounded color="primary" sx={{ mr: 1, fontSize: 14 }} />
|
||||
|
|
Loading…
Reference in New Issue
Block a user