mirror of
https://github.com/Sagit-chu/flvx.git
synced 2026-10-09 03:06:37 +08:00
fix(frontend): simplify speed limit selector UX
This commit is contained in:
@@ -1170,7 +1170,7 @@ export default function UserPage() {
|
|||||||
classNames={{
|
classNames={{
|
||||||
trigger: "min-h-10 h-10",
|
trigger: "min-h-10 h-10",
|
||||||
}}
|
}}
|
||||||
placeholder="请选择限速规则"
|
placeholder="不限速"
|
||||||
selectedKeys={
|
selectedKeys={
|
||||||
batchTunnelSelections.get(tunnel.id) !==
|
batchTunnelSelections.get(tunnel.id) !==
|
||||||
null &&
|
null &&
|
||||||
@@ -1181,32 +1181,29 @@ export default function UserPage() {
|
|||||||
.get(tunnel.id)!
|
.get(tunnel.id)!
|
||||||
.toString(),
|
.toString(),
|
||||||
]
|
]
|
||||||
: ["null"]
|
: []
|
||||||
}
|
}
|
||||||
size="sm"
|
size="sm"
|
||||||
onClick={(e) => e.stopPropagation()}
|
onClick={(e) => e.stopPropagation()}
|
||||||
onSelectionChange={(keys) => {
|
onSelectionChange={(keys) => {
|
||||||
const value = Array.from(keys)[0] as string;
|
const selectedKey = Array.from(keys)[0] as
|
||||||
|
| string
|
||||||
|
| undefined;
|
||||||
|
|
||||||
updateTunnelSpeedLimit(
|
updateTunnelSpeedLimit(
|
||||||
tunnel.id,
|
tunnel.id,
|
||||||
value === "null" ? null : Number(value),
|
selectedKey ? Number(selectedKey) : null,
|
||||||
);
|
);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{[
|
{tunnelSpeedLimits.map((sl) => (
|
||||||
<SelectItem key="null" textValue="不限速">
|
<SelectItem
|
||||||
不限速
|
key={sl.id.toString()}
|
||||||
</SelectItem>,
|
textValue={sl.name}
|
||||||
...tunnelSpeedLimits.map((sl) => (
|
>
|
||||||
<SelectItem
|
{sl.name}
|
||||||
key={sl.id.toString()}
|
</SelectItem>
|
||||||
textValue={sl.name}
|
))}
|
||||||
>
|
|
||||||
{sl.name}
|
|
||||||
</SelectItem>
|
|
||||||
)),
|
|
||||||
]}
|
|
||||||
</Select>
|
</Select>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
@@ -1429,38 +1426,35 @@ export default function UserPage() {
|
|||||||
|
|
||||||
<Select
|
<Select
|
||||||
label="限速规则"
|
label="限速规则"
|
||||||
placeholder="请选择限速规则"
|
placeholder="不限速"
|
||||||
selectedKeys={
|
selectedKeys={
|
||||||
editTunnelSelectedSpeedId !== null
|
editTunnelSelectedSpeedId !== null
|
||||||
? [editTunnelSelectedSpeedId.toString()]
|
? [editTunnelSelectedSpeedId.toString()]
|
||||||
: ["null"]
|
: []
|
||||||
}
|
}
|
||||||
onSelectionChange={(keys) => {
|
onSelectionChange={(keys) => {
|
||||||
const value = Array.from(keys)[0] as string;
|
const selectedKey = Array.from(keys)[0] as
|
||||||
|
| string
|
||||||
|
| undefined;
|
||||||
|
|
||||||
setEditTunnelForm((prev) =>
|
setEditTunnelForm((prev) =>
|
||||||
prev
|
prev
|
||||||
? {
|
? {
|
||||||
...prev,
|
...prev,
|
||||||
speedId: value === "null" ? null : Number(value),
|
speedId: selectedKey ? Number(selectedKey) : null,
|
||||||
}
|
}
|
||||||
: null,
|
: null,
|
||||||
);
|
);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{[
|
{editAvailableSpeedLimits.map((speedLimit) => (
|
||||||
<SelectItem key="null" textValue="不限速">
|
<SelectItem
|
||||||
不限速
|
key={speedLimit.id.toString()}
|
||||||
</SelectItem>,
|
textValue={speedLimit.name}
|
||||||
...editAvailableSpeedLimits.map((speedLimit) => (
|
>
|
||||||
<SelectItem
|
{speedLimit.name}
|
||||||
key={speedLimit.id.toString()}
|
</SelectItem>
|
||||||
textValue={speedLimit.name}
|
))}
|
||||||
>
|
|
||||||
{speedLimit.name}
|
|
||||||
</SelectItem>
|
|
||||||
)),
|
|
||||||
]}
|
|
||||||
</Select>
|
</Select>
|
||||||
|
|
||||||
<Select
|
<Select
|
||||||
|
|||||||
Reference in New Issue
Block a user