去掉礼物相关
This commit is contained in:
parent
333659f80c
commit
c0c81cd97b
@ -69,7 +69,7 @@ export function createCoinAdjustment(payload: CoinAdjustmentPayload): Promise<Co
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function getGiftDiamondRatios(regionId: string | number): Promise<GiftDiamondRatioResponse> {
|
export function getGiftDiamondRatios(regionId: string | number): Promise<GiftDiamondRatioResponse> {
|
||||||
return apiRequest<GiftDiamondRatioResponse>("/api/v1/admin/operations/gift-diamond-ratios", {
|
return apiRequest<GiftDiamondRatioResponse>("/v1/admin/operations/gift-diamond-ratios", {
|
||||||
method: "GET",
|
method: "GET",
|
||||||
query: { region_id: regionId },
|
query: { region_id: regionId },
|
||||||
});
|
});
|
||||||
@ -79,7 +79,7 @@ export function updateGiftDiamondRatios(payload: {
|
|||||||
regionId: number;
|
regionId: number;
|
||||||
ratios: Record<string, string>;
|
ratios: Record<string, string>;
|
||||||
}): Promise<GiftDiamondRatioResponse> {
|
}): Promise<GiftDiamondRatioResponse> {
|
||||||
return apiRequest<GiftDiamondRatioResponse, typeof payload>("/api/v1/admin/operations/gift-diamond-ratios", {
|
return apiRequest<GiftDiamondRatioResponse, typeof payload>("/v1/admin/operations/gift-diamond-ratios", {
|
||||||
body: payload,
|
body: payload,
|
||||||
method: "PUT",
|
method: "PUT",
|
||||||
});
|
});
|
||||||
|
|||||||
@ -185,28 +185,33 @@
|
|||||||
background: var(--bg-card-strong);
|
background: var(--bg-card-strong);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ratioBody {
|
||||||
|
padding: var(--space-5);
|
||||||
|
background: var(--bg-card);
|
||||||
|
}
|
||||||
|
|
||||||
.ratioPanel {
|
.ratioPanel {
|
||||||
display: grid;
|
display: grid;
|
||||||
gap: var(--space-5);
|
width: min(100%, 980px);
|
||||||
max-width: 760px;
|
gap: var(--space-4);
|
||||||
}
|
}
|
||||||
|
|
||||||
.ratioHeader {
|
.ratioHeader {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
gap: var(--space-3);
|
|
||||||
color: var(--text-primary);
|
color: var(--text-primary);
|
||||||
}
|
}
|
||||||
|
|
||||||
.ratioHeader h2 {
|
.ratioHeader h2 {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
font-size: 18px;
|
font-size: 16px;
|
||||||
font-weight: 800;
|
font-weight: 800;
|
||||||
|
line-height: 1.4;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ratioGrid {
|
.ratioGrid {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: repeat(3, minmax(160px, 1fr));
|
grid-template-columns: repeat(3, minmax(180px, 1fr));
|
||||||
gap: var(--space-4);
|
gap: var(--space-4);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
import PercentOutlined from "@mui/icons-material/PercentOutlined";
|
|
||||||
import SaveOutlined from "@mui/icons-material/SaveOutlined";
|
import SaveOutlined from "@mui/icons-material/SaveOutlined";
|
||||||
|
import InputAdornment from "@mui/material/InputAdornment";
|
||||||
import MenuItem from "@mui/material/MenuItem";
|
import MenuItem from "@mui/material/MenuItem";
|
||||||
import TextField from "@mui/material/TextField";
|
import TextField from "@mui/material/TextField";
|
||||||
import { useCallback, useEffect, useMemo, useState } from "react";
|
import { useCallback, useEffect, useMemo, useState } from "react";
|
||||||
@ -8,7 +8,7 @@ import { useGiftDiamondAbilities } from "@/features/operations/permissions.js";
|
|||||||
import styles from "@/features/operations/operations.module.css";
|
import styles from "@/features/operations/operations.module.css";
|
||||||
import { useAdminQuery } from "@/shared/hooks/useAdminQuery.js";
|
import { useAdminQuery } from "@/shared/hooks/useAdminQuery.js";
|
||||||
import { useRegionOptions } from "@/shared/hooks/useRegionOptions.js";
|
import { useRegionOptions } from "@/shared/hooks/useRegionOptions.js";
|
||||||
import { AdminListBody, AdminListPage, AdminListToolbar } from "@/shared/ui/AdminListLayout.jsx";
|
import { AdminListPage, AdminListToolbar } from "@/shared/ui/AdminListLayout.jsx";
|
||||||
import { Button } from "@/shared/ui/Button.jsx";
|
import { Button } from "@/shared/ui/Button.jsx";
|
||||||
import { DataState } from "@/shared/ui/DataState.jsx";
|
import { DataState } from "@/shared/ui/DataState.jsx";
|
||||||
import { useToast } from "@/shared/ui/ToastProvider.jsx";
|
import { useToast } from "@/shared/ui/ToastProvider.jsx";
|
||||||
@ -119,13 +119,10 @@ export function GiftDiamondRatioPage() {
|
|||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
<DataState error={query.error} loading={query.loading || loadingRegions} onRetry={query.reload}>
|
<DataState error={query.error} loading={query.loading || loadingRegions} onRetry={query.reload}>
|
||||||
<AdminListBody>
|
<div className={styles.ratioBody}>
|
||||||
<section className={styles.ratioPanel}>
|
<section className={styles.ratioPanel}>
|
||||||
<div className={styles.ratioHeader}>
|
<div className={styles.ratioHeader}>
|
||||||
<PercentOutlined fontSize="small" />
|
<h2>{selectedRegionLabel}</h2>
|
||||||
<div>
|
|
||||||
<h2>{selectedRegionLabel}</h2>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div className={styles.ratioGrid}>
|
<div className={styles.ratioGrid}>
|
||||||
{giftTypes.map((giftType) => (
|
{giftTypes.map((giftType) => (
|
||||||
@ -136,14 +133,16 @@ export function GiftDiamondRatioPage() {
|
|||||||
size="small"
|
size="small"
|
||||||
value={form[giftType.value] || ""}
|
value={form[giftType.value] || ""}
|
||||||
inputProps={{ max: 100, min: 0, step: "0.01" }}
|
inputProps={{ max: 100, min: 0, step: "0.01" }}
|
||||||
|
InputProps={{
|
||||||
|
endAdornment: <InputAdornment position="end">%</InputAdornment>,
|
||||||
|
}}
|
||||||
disabled={!abilities.canUpdate || saving}
|
disabled={!abilities.canUpdate || saving}
|
||||||
onChange={(event) => changeRatio(giftType.value, event.target.value)}
|
onChange={(event) => changeRatio(giftType.value, event.target.value)}
|
||||||
helperText="%"
|
|
||||||
/>
|
/>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
</AdminListBody>
|
</div>
|
||||||
</DataState>
|
</DataState>
|
||||||
</AdminListPage>
|
</AdminListPage>
|
||||||
);
|
);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user