import React, { useState } from "react";
import { Input } from "@/components/ui/input";
import { Button } from "@/components/ui/button";
import { Card, CardContent } from "@/components/ui/card";
export default function PriceCalculator() {
const [inputs, setInputs] = useState({
experience: 0,
food: 0,
car: 0,
guide: 0,
people: 1,
commissionType: "none",
commissionRate: 0,
exchangeRate: 190,
});
const [result, setResult] = useState(null);
const handleChange = (e) => {
const { name, value } = e.target;
setInputs({ ...inputs, [name]: value });
};
const handleCommissionChange = (e) => {
const type = e.target.value;
let rate = 0;
if (type === "wanghong") {
rate = ((100 * inputs.exchangeRate) / getCost()) * (1 / inputs.people);
} else if (type === "input") {
rate = parseFloat(inputs.commissionRate) / 100;
}
setInputs({ ...inputs, commissionType: type, commissionRate: rate });
};
const getCost = () => {
return (
parseFloat(inputs.experience) +
parseFloat(inputs.food) +
parseFloat(inputs.car) +
parseFloat(inputs.guide)
);
};
const calculate = () => {
const baseCost = getCost();
const costPerPerson = baseCost / inputs.people;
const cardFee = 0.026;
const platformFee = 0.10;
const vat = 0.01;
const commission =
inputs.commissionType === "none" ? 0 : parseFloat(inputs.commissionRate);
const totalFee = cardFee + platformFee + vat + commission;
const finalPrice = costPerPerson / (1 - totalFee);
setResult(finalPrice.toFixed(0));
};
return (
);
}
{inputs.commissionType === "input" && (
)}
{result && 최종 판매가: {result}원
}