diff --git a/src/App.js b/src/App.js
index 31c327c..e018745 100644
--- a/src/App.js
+++ b/src/App.js
@@ -23,6 +23,7 @@ function App() {
const [selectedFlat, setSelectedFlat] = useState();
const [selectedRoom, setSelectedRoom] = useState();
+ const [numAdults, setNumAdults] = useState(1);
const [rent, setRent] = useState(0);
@@ -73,8 +74,8 @@ function App() {
Wohnung
-
-
+
+
Selbsteinschätzung
diff --git a/src/Data.js b/src/Data.js
index 77a66e9..0e4e065 100644
--- a/src/Data.js
+++ b/src/Data.js
@@ -59,7 +59,7 @@ class Room {
export const flatData = {
"north": {
0: [
- new Flat("W 0.1", 4, 84.834, false, false, [
+ new Flat("W 0.1 (WG)", 4, 84.834, false, false, [
new Room("0.1 02", 12.523), new Room("0.1 03", 12.102), new Room("0.1 04", 14.746)
]),
new Flat("W 0.2", 2, 53.453, true),
@@ -68,21 +68,21 @@ export const flatData = {
1: [
new Flat("W 1.1", 4, 84.794, true),
new Flat("W 1.2", 1, 36.469, true),
- new Flat("W 1.3", 4, 63.128, true, false, [
+ new Flat("W 1.3 (WG)", 4, 63.128, true, false, [
new Room("1.3 02", 11.434), new Room("1.3 03", 11.245), new Room("1.3 04", 11.77)
])
],
2: [
new Flat("W 2.1", 4, 84.794, true),
new Flat("W 2.2", 2, 46.261, true),
- new Flat("W 2.3", 5, 154.196, true, true, [
+ new Flat("W 2.3 (Cluster)", 5, 154.196, true, true, [
new Room("1 Person", 28.774), new Room("2 Personen", 46.32, 2), new Room("1 Person (rollstuhlgerecht)", 41.814)
]),
new Flat("W 2.4", 2, 64.265, true, true)
],
3: [
new Flat("W 3.1", 4, 84.794),
- new Flat("W 3.2", 5, 154.97, true, true, [
+ new Flat("W 3.2 (Cluster)", 5, 154.97, true, true, [
new Room("1 Person", 28.531), new Room("2 Personen", 47.146, 2), new Room("1 Person (rollstuhlgerecht)", 44.036)
]),
new Flat("W 3.3", 3, 63.128, true)
diff --git a/src/Solimieten.js b/src/Solimieten.js
index 289324e..c8ce940 100644
--- a/src/Solimieten.js
+++ b/src/Solimieten.js
@@ -27,7 +27,7 @@ import {
import { flatData, minRent, maxRent } from './Data';
-export function FlatSelectionCard({ setSelectedFlat, onRoomSelected }) {
+export function FlatSelectionCard({ setSelectedFlat, onRoomSelected, onNumAdultsSelected }) {
const [levelOptions, setLevelOption] = useState([{ value: 0, label: "EG" }, { value: 1, label: "1. OG" }, { value: 2, label: "2. OG" }, { value: 3, label: "3. OG" }]);
const [flatOptions, setFlatOptions] = useState([]);
const [roomOptions, setRoomOptions] = useState([]);
@@ -64,6 +64,9 @@ export function FlatSelectionCard({ setSelectedFlat, onRoomSelected }) {
onRoomSelected(roomOptions[e.target.value]);
}
+ function numAdultsSelected(e) {
+ onNumAdultsSelected(e.target.value);
+ }
return
Wohnungsauswahl
@@ -83,22 +86,29 @@ export function FlatSelectionCard({ setSelectedFlat, onRoomSelected }) {
{roomOptions.length > 0 ? () : null}
+
-
+
}
-export function FlatDetailsCard({ flat, room }) {
+export function FlatDetailsCard({ flat, room, numAdults }) {
var body =
Bitte auswählen
;
var badges = "";
+ var kitchenCost = 50;
+ var commonAreaShare = 60 * numAdults;
if (flat && (room || flat.wgRoomList.length === 0)) {
var sizePrivate = flat.sizePrivate;
if (room) {
sizePrivate = room.size;
+ kitchenCost = kitchenCost / flat.wgRoomList.length;
}
var sizeSharedBox = null;
@@ -155,9 +165,27 @@ export function FlatDetailsCard({ flat, room }) {
Mindestmiete
- Die Mindestmiete ergibt sich aus dem WBS Satz für die private Fläche (4,45 €/m²), den Nebenkosten (1,20 €/m²) und der Küchen-Nutzungspauschale von 50€ pro Küche
-
- {((sizePrivate + internalAreaShare) * minRent + 50).toFixed(2)} €
+ Die Mindestmiete ergibt sich aus dem WBS Satz für die private Fläche (4,45 €/m²), den Nebenkosten (1,20 €/m²) und der Küchen-Nutzungspauschale von 50€ pro Küche (in Clustern und WGs auf Parteien aufgeteilt)
+
+ {((sizePrivate + internalAreaShare) * minRent + kitchenCost).toFixed(2)} €
+
+
+
+
+ Deckungsmiete WBS
+
+ Die Deckungsmiete beinhaltet einen Beitrag von 60 € pro erwachsener Person für die Gemeinschaftsflächen
+
+ {((sizePrivate + internalAreaShare) * minRent + kitchenCost + commonAreaShare).toFixed(2)} €
+
+
+
+
+ Deckungsmiete freifinanziert {flat.isWbs ? "(zum Vergleich)" : ""}
+
+ Das ist die Miete, die für diese Wohnung ohne solidarischen Ausgleich anfallen würde{flat.isWbs ? ", wenn Sie frei finanziert wäre." : "."}
+
+ {((sizePrivate + internalAreaShare) * maxRent + kitchenCost + commonAreaShare).toFixed(2)} €