diff --git a/app/components/float.tsx b/app/components/float.tsx
index 27ba2b0..4915dd1 100644
--- a/app/components/float.tsx
+++ b/app/components/float.tsx
@@ -1,22 +1,47 @@
-export function Float({ float }: { float: number }) {
+import { Slider, Label } from "@heroui/react";
+import { useEffect, useState } from "react";
+
+export function Float({
+ float,
+ minFloat = 0,
+ maxFloat = 1,
+ acceptInput = false,
+}: {
+ float: number;
+ minFloat?: number;
+ maxFloat?: number;
+ acceptInput?: boolean;
+}) {
+ const [value, setValue] = useState(float);
+
+ useEffect(() => {
+ setValue(Math.max(minFloat, Math.min(maxFloat, float)));
+ }, [float, minFloat, maxFloat]);
+
+ const handleChange = (newValue: number | number[]) => {
+ const val = Array.isArray(newValue) ? newValue[0]: newValue;
+ setValue(Math.max(minFloat, Math.min(maxFloat, val)));
+ };
+
return (
<>
-
+ >
+
+
+
+
>
);
}
diff --git a/app/components/skin_dialog.tsx b/app/components/skin_dialog.tsx
index b6213d3..19417ca 100644
--- a/app/components/skin_dialog.tsx
+++ b/app/components/skin_dialog.tsx
@@ -82,7 +82,7 @@ export function SkinDialog({
Float: {skin.float}
-
+
>
)}
{skin instanceof WeaponInfo && (
diff --git a/app/components/skin_tile.tsx b/app/components/skin_tile.tsx
index ac8c341..7172892 100644
--- a/app/components/skin_tile.tsx
+++ b/app/components/skin_tile.tsx
@@ -50,7 +50,7 @@ export function SkinTile({
{skin.display}
{skin instanceof WeaponInfo && (
-
+
)}
{skin instanceof WeaponInfo && (
diff --git a/app/types/skin.ts b/app/types/skin.ts
index 0e02d34..e387942 100644
--- a/app/types/skin.ts
+++ b/app/types/skin.ts
@@ -5,6 +5,8 @@ export class WeaponInfo {
display!: string;
paint_index!: number;
float!: number;
+ min_float!: number;
+ max_float!: number;
pattern!: number;
constructor(data: WeaponInfo) {