Change Results panel
This commit is contained in:
@@ -14,7 +14,6 @@ import {
|
|||||||
StatNumber,
|
StatNumber,
|
||||||
StatGroup,
|
StatGroup,
|
||||||
Select,
|
Select,
|
||||||
Progress,
|
|
||||||
NumberInput,
|
NumberInput,
|
||||||
NumberInputField,
|
NumberInputField,
|
||||||
Slider,
|
Slider,
|
||||||
@@ -22,7 +21,9 @@ import {
|
|||||||
SliderMark,
|
SliderMark,
|
||||||
SliderTrack,
|
SliderTrack,
|
||||||
SliderThumb,
|
SliderThumb,
|
||||||
Tooltip
|
Tooltip,
|
||||||
|
Alert,
|
||||||
|
AlertIcon
|
||||||
} from '@chakra-ui/react';
|
} from '@chakra-ui/react';
|
||||||
|
|
||||||
import { flatData } from './Data';
|
import { flatData } from './Data';
|
||||||
@@ -297,21 +298,33 @@ export function SelfEvaluationCard({ rent, setRent }) {
|
|||||||
|
|
||||||
export function ResultsCard({ rent, flat, room, numAdults, flatRent }) {
|
export function ResultsCard({ rent, flat, room, numAdults, flatRent }) {
|
||||||
var body = <CardBody></CardBody>
|
var body = <CardBody></CardBody>
|
||||||
if (flat && (room || flat.wgRoomList.length === 0) && flatRent) {
|
if (rent && flat && (room || flat.wgRoomList.length === 0) && flatRent) {
|
||||||
var totalSize = flat.calcTotalPayedArea(room)
|
var totalSize = flat.calcTotalPayedArea(room)
|
||||||
var relativeRent = (rent) / totalSize;
|
var relativeRent = (rent) / totalSize;
|
||||||
|
|
||||||
var rangePosition = ((rent - flatRent.min) / (flatRent.maxCovering * - flatRent.min)) * 100;
|
var status = "error", text = "Dieses Gebot läge unter der Mindestmiete und ist nicht zulässig";
|
||||||
if (rangePosition < 0) { rangePosition = 0; }
|
|
||||||
if (rangePosition > 100) { rangePosition = 100; }
|
if (rent >= flatRent.min) {
|
||||||
var color = "red";
|
status = 'info';
|
||||||
if (rangePosition > 33) { color = "yellow"; }
|
text = "Über der Mindestmiete. "
|
||||||
if (rangePosition > 66) { color = "green "; }
|
}
|
||||||
|
if (rent >= flatRent.minCovering) {
|
||||||
|
status = 'success';
|
||||||
|
text = 'Über der Standardmiete WBS 🎉'
|
||||||
|
}
|
||||||
|
if (rent >= flatRent.maxCovering) {
|
||||||
|
status = 'success';
|
||||||
|
text = 'Über der Standardmiete freifinanziert! 🎉🎉🎉'
|
||||||
|
}
|
||||||
|
|
||||||
body = <CardBody>
|
body = <CardBody>
|
||||||
<Stack>
|
<Stack>
|
||||||
|
<Text fontWeight="bold">
|
||||||
|
Das ergäbe eine Miete von:
|
||||||
|
</Text>
|
||||||
<StatGroup>
|
<StatGroup>
|
||||||
<Stat>
|
<Stat>
|
||||||
<StatLabel>Miete</StatLabel>
|
<StatLabel>Warmmiete</StatLabel>
|
||||||
<StatNumber>{rent} €</StatNumber>
|
<StatNumber>{rent} €</StatNumber>
|
||||||
</Stat>
|
</Stat>
|
||||||
|
|
||||||
@@ -320,22 +333,10 @@ export function ResultsCard({ rent, flat, room, numAdults, flatRent }) {
|
|||||||
<StatNumber>{relativeRent.toFixed(2)} € </StatNumber>
|
<StatNumber>{relativeRent.toFixed(2)} € </StatNumber>
|
||||||
</Stat>
|
</Stat>
|
||||||
</StatGroup>
|
</StatGroup>
|
||||||
<Text>
|
<Alert status={status}>
|
||||||
Im Folgenden siehst du, wo deine Miete auf der Spanne zwischen WBS-Satz und
|
<AlertIcon />
|
||||||
frei finanzierten Wohnungen ohne Soli-Ausgleich liegen würde.
|
{text}
|
||||||
</Text>
|
</Alert>
|
||||||
<Progress colorScheme={color} size='sm' value={rangePosition} />
|
|
||||||
<StatGroup>
|
|
||||||
<Stat>
|
|
||||||
<StatLabel>Mindestmiete</StatLabel>
|
|
||||||
<StatNumber>{flatRent.min.toFixed(2)} €</StatNumber>
|
|
||||||
</Stat>
|
|
||||||
|
|
||||||
<Stat>
|
|
||||||
<StatLabel>Standardmiete freifinanziert</StatLabel>
|
|
||||||
<StatNumber>{flatRent.maxCovering.toFixed(2)} € </StatNumber>
|
|
||||||
</Stat>
|
|
||||||
</StatGroup>
|
|
||||||
</Stack>
|
</Stack>
|
||||||
</CardBody>;
|
</CardBody>;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user