From 9108c5fb9e4d3bbbfe4bc63cffa02a678dd35b7a Mon Sep 17 00:00:00 2001 From: Niklas Meinzer Date: Fri, 31 May 2024 15:53:11 +0200 Subject: [PATCH] Add info text and range indicator --- src/App.js | 43 +++++++++++++++++++++++++++++++++---------- src/Data.js | 5 ++++- src/Solimieten.js | 47 ++++++++++++++++++++++++++++++++++++----------- 3 files changed, 73 insertions(+), 22 deletions(-) diff --git a/src/App.js b/src/App.js index 33f604e..43bc064 100644 --- a/src/App.js +++ b/src/App.js @@ -7,6 +7,11 @@ import { Center, SimpleGrid, Box, + Text, + Stack, + useColorModeValue, + OrderedList, + ListItem, } from '@chakra-ui/react'; @@ -45,20 +50,38 @@ function App() {
- + + + + Allemende Solimieten-Helferlein - Wohnung - + Im Rahmen des Konzept für solidarische Mieten, kann jede Partei in der Allmende ihre Miethöhe selbst bestimmen. + Dieses Tool soll als Orientierungshilfe bei der Selbsteinschätzung dienen. + + Dies geschieht in folgenden Schritten: + + + Wähle deine Wohnung aus + Bestimme das monatliche Haushaltseinkommen + Wähle den Prozentsatz des Nettoeinkommens, den du zu zahlen bereit bist aus + Nun siehst du den daraus resultierenden Mietpreis absolut und auf den Quadratmeter gerechnet. + + + - - + Wohnung + - Selbsteinschätzung - + + - - - + Selbsteinschätzung + + + + + +
); diff --git a/src/Data.js b/src/Data.js index 1d44f9a..25d5d8a 100644 --- a/src/Data.js +++ b/src/Data.js @@ -31,4 +31,7 @@ export const flatData = { new Flat("W 2.7", 5, 95.7) ] } -} \ No newline at end of file +} + +export const minRent = 9.50; +export const maxRent = 15.60; \ No newline at end of file diff --git a/src/Solimieten.js b/src/Solimieten.js index 08e0a8b..aa46a43 100644 --- a/src/Solimieten.js +++ b/src/Solimieten.js @@ -14,6 +14,7 @@ import { StatNumber, StatGroup, Select, + Progress, NumberInput, NumberInputField, Slider, @@ -24,7 +25,7 @@ import { Tooltip } from '@chakra-ui/react'; -import { flatData } from './Data'; +import { flatData, minRent, maxRent } from './Data'; export function FlatSelectionCard({ setSelectedFlat }) { const [levelOptions, setLevelOption] = useState([{ value: 0, label: "EG" }, { value: 1, label: "1. OG" }, { value: 2, label: "2. OG" }, { value: 3, label: "3. OG" }]); @@ -222,18 +223,42 @@ export function ResultsCard({ rent, flat }) { var body = if (flat) { var relativeRent = rent / flat.sizePrivate; + var rangePosition = ((relativeRent - minRent) / (maxRent - minRent)) * 100; + if (rangePosition < 0) { rangePosition = 0; } + if (rangePosition > 100) { rangePosition = 100; } + var color = "green"; + if (rangePosition > 33) { color = "yellow"; } + if (rangePosition > 66) { color = "red"; } body = - - - Miete - {rent} € - + + + + Miete + {rent} € + - - Pro m² - {relativeRent.toFixed(2)} € - - + + Pro m² + {relativeRent.toFixed(2)} € + + + + Im Folgenden siehst du, wo deine Miete auf der Spanne zwischen WBS-Satz und + frei finanzierten Wohnungen ohne Soli-Ausgleich liegen würde. + + + + + WBS Miete + {minRent.toFixed(2)} € + + + + Max + {maxRent.toFixed(2)} € + + + ; }