feat: add is_premium
This commit is contained in:
@@ -33,6 +33,7 @@ interface Scene {
|
||||
name: string;
|
||||
order?: number;
|
||||
is_active?: boolean;
|
||||
is_premium?: boolean;
|
||||
theme_id?: number | null;
|
||||
theme?: Theme | null;
|
||||
}
|
||||
@@ -75,6 +76,7 @@ export default function ScenesPage() {
|
||||
const [order, setOrder] = useState("");
|
||||
const [themeId, setThemeId] = useState("");
|
||||
const [isActive, setIsActive] = useState(true);
|
||||
const [isPremium, setIsPremium] = useState(false);
|
||||
const [image, setImage] = useState<File | null>(null);
|
||||
const [video, setVideo] = useState<File | null>(null);
|
||||
const [sound, setSound] = useState<File | null>(null);
|
||||
@@ -89,6 +91,7 @@ export default function ScenesPage() {
|
||||
setOrder("");
|
||||
setThemeId("");
|
||||
setIsActive(true);
|
||||
setIsPremium(false);
|
||||
setImage(null);
|
||||
setVideo(null);
|
||||
setSound(null);
|
||||
@@ -100,6 +103,7 @@ export default function ScenesPage() {
|
||||
setOrder(row.order != null ? String(row.order) : "");
|
||||
setThemeId(row.theme_id != null ? String(row.theme_id) : "");
|
||||
setIsActive(!!row.is_active);
|
||||
setIsPremium(!!row.is_premium);
|
||||
setImage(null);
|
||||
setVideo(null);
|
||||
setSound(null);
|
||||
@@ -116,6 +120,7 @@ export default function ScenesPage() {
|
||||
order,
|
||||
theme_id: themeId,
|
||||
is_active: isActive,
|
||||
is_premium: isPremium,
|
||||
image,
|
||||
video,
|
||||
sound,
|
||||
@@ -200,6 +205,17 @@ export default function ScenesPage() {
|
||||
),
|
||||
className: "w-28",
|
||||
},
|
||||
{
|
||||
key: "is_premium",
|
||||
header: "نوع",
|
||||
render: (r) =>
|
||||
r.is_premium ? (
|
||||
<Badge tone="primary">ویژه</Badge>
|
||||
) : (
|
||||
<Badge tone="neutral">رایگان</Badge>
|
||||
),
|
||||
className: "w-24",
|
||||
},
|
||||
];
|
||||
|
||||
return (
|
||||
@@ -303,6 +319,8 @@ export default function ScenesPage() {
|
||||
|
||||
<Switch checked={isActive} onChange={setIsActive} label="فعال" />
|
||||
|
||||
<Switch checked={isPremium} onChange={setIsPremium} label="ویژه (پولی)" />
|
||||
|
||||
<Field
|
||||
label="تصویر"
|
||||
hint={editing ? "در صورت عدم انتخاب، تصویر قبلی حفظ میشود." : undefined}
|
||||
|
||||
Reference in New Issue
Block a user