Skip to content
Snippets Groups Projects
Commit 39f675a3 authored by fu1106jv's avatar fu1106jv
Browse files

- fixed docker problems by changing envvar

- fixed some translations
- sports connection (partial)
parent 4bb97ac8
No related branches found
No related tags found
No related merge requests found
...@@ -11,16 +11,15 @@ ...@@ -11,16 +11,15 @@
"labelStartTime": "Startzeit", "labelStartTime": "Startzeit",
"labelEstimatedEndTime":"Rückkehrzeit", "labelEstimatedEndTime":"Rückkehrzeit",
"labelDestination": "Fahrtziel", "labelDestination": "Fahrtziel",
"labelEmail": "Email", "labelEmail": "E-Mail",
"labelName": "Name (Verantwortliche*r)", "labelName": "Name (Verantwortliche*r)",
"labelAdditionalName": "Name (Mitfahrende*r)",
"labelAdditionalNames": "Namen der Mitfahrenden", "labelAdditionalNames": "Namen der Mitfahrenden",
"labelAnnotations": "Anmerkungen", "labelAnnotations": "Anmerkungen",
"buttonBookBoat": "Boot jetzt buchen!", "buttonBookBoat": "Boot jetzt buchen!",
"messages": { "messages": {
"required": "{{val}} wird benötigt", "required": "{{val}} wird benötigt",
"invalidTime" : "Bitte trage eine gültige Uhrzeit für '{{val}}' ein (hh:mm)", "invalidTime" : "Bitte trage eine gültige Uhrzeit für '{{val}}' ein (hh:mm)",
"invalidEmail" : "Bitte trage eine gültige Email ein" "invalidEmail" : "Bitte trage eine gültige E-Mail ein"
} }
}, },
"bookingSuccessful": { "bookingSuccessful": {
...@@ -40,13 +39,13 @@ ...@@ -40,13 +39,13 @@
}, },
"staffLogin": { "staffLogin": {
"title": "Mitarbeiter Login", "title": "Mitarbeiter Login",
"subtitle": "Bitte loggen sie sich mit ihren Benutzerdaten ein", "subtitle": "Bitte loggen Sie sich mit ihren Benutzerdaten ein",
"labelEmail": "Email", "labelEmail": "E-Mail",
"labelPassword": "Passwort", "labelPassword": "Passwort",
"buttonSignIn": "Login", "buttonSignIn": "Login",
"messages": { "messages": {
"required": "{{val}} wird benötigt", "required": "{{val}} wird benötigt",
"invalidEmail" : "Bitte trage eine gültige Email ein" "invalidEmail" : "Bitte trage eine gültige E-Mail ein"
} }
}, },
"staffModal": { "staffModal": {
......
...@@ -12,15 +12,14 @@ ...@@ -12,15 +12,14 @@
"labelEstimatedEndTime":"End time", "labelEstimatedEndTime":"End time",
"labelDestination": "Destination", "labelDestination": "Destination",
"labelEmail": "Email", "labelEmail": "Email",
"labelName": "Name (resposible person)", "labelName": "Name (responsible person)",
"labelAdditionalName": "Additional Name",
"labelAdditionalNames": "Additional Names", "labelAdditionalNames": "Additional Names",
"labelAnnotations": "Annotations", "labelAnnotations": "Annotations",
"buttonBookBoat": "Book this boat!", "buttonBookBoat": "Book this boat!",
"messages": { "messages": {
"required": "{{val}} is required", "required": "{{val}} is required",
"invalidTime" : "Please enter a valid time for '{{val}}' (hh:mm)", "invalidTime" : "Please enter a valid time for '{{val}}' (hh:mm)",
"invalidEmail" : "Please enter a valid mail address" "invalidEmail" : "Please enter a valid email address"
} }
}, },
"bookingSuccessful": { "bookingSuccessful": {
...@@ -46,7 +45,7 @@ ...@@ -46,7 +45,7 @@
"buttonSignIn": "Login", "buttonSignIn": "Login",
"messages": { "messages": {
"required": "{{val}} is required", "required": "{{val}} is required",
"invalidEmail" : "Please enter a valid Email" "invalidEmail" : "Please enter a valid email"
} }
}, },
"staffModal": { "staffModal": {
...@@ -118,7 +117,7 @@ ...@@ -118,7 +117,7 @@
} }
}, },
"routes": { "routes": {
"/": "Water Sports", "/": "Watersports",
"/book": "Book a Boat", "/book": "Book a Boat",
"/book/success": "Booked Successfully", "/book/success": "Booked Successfully",
"/signout": "Sign Out", "/signout": "Sign Out",
......
import { useState } from "react"; import { useEffect, useState } from "react";
import { Table, Button } from "react-bootstrap"; import { Table, Button } from "react-bootstrap";
import { useTranslation } from "react-i18next"; import { useTranslation } from "react-i18next";
import { faEdit, faTrashAlt } from "@fortawesome/free-regular-svg-icons"; import { faEdit, faTrashAlt } from "@fortawesome/free-regular-svg-icons";
...@@ -10,9 +10,23 @@ import EditSports from "../../components/forms/EditSports"; ...@@ -10,9 +10,23 @@ import EditSports from "../../components/forms/EditSports";
function Sports() { function Sports() {
const { t } = useTranslation(); const { t } = useTranslation();
const [editElement, setEditElement] = useState<{ id: number; name: string;}|undefined>(undefined); const [editElement, setEditElement] = useState<{ id: number; name: string; } | undefined>(undefined);
const [deleteElement, setDeleteElement] = useState<any>(undefined); const [deleteElement, setDeleteElement] = useState<any>(undefined);
const [addElement, setAddElement] = useState<any>(false); const [addElement, setAddElement] = useState<any>(false);
const [sports, setSports] = useState<{id: number; name: string;}[]>([]);
useEffect(() => {
fetch('/api/sport')
.then((response) => response.json())
.then((data) => {
console.log(data)
setSports(data);
})
.catch((e) => {
console.log(e);
});
})
return ( return (
<div className="m-1 h-100"> <div className="m-1 h-100">
<Table responsive striped bordered hover> <Table responsive striped bordered hover>
...@@ -25,7 +39,7 @@ function Sports() { ...@@ -25,7 +39,7 @@ function Sports() {
</thead> </thead>
<tbody> <tbody>
{ {
[{ id: 1, name: "Wasser 1" }, { id: 2, name: "Wasser 2" }].map(x => ( sports.map(x => (
<tr key={x.id}> <tr key={x.id}>
<td>{x.id}</td> <td>{x.id}</td>
<td>{x.name}</td> <td>{x.name}</td>
...@@ -58,7 +72,7 @@ function Sports() { ...@@ -58,7 +72,7 @@ function Sports() {
<EditSports id={editElement?.id} name={editElement?.name} ></EditSports> <EditSports id={editElement?.id} name={editElement?.name} ></EditSports>
</StaffModal> </StaffModal>
<StaffModal header={t("sports.DeleteSport")} hideColor="secondary" successText={t("sports.Delete")} successColor="danger" show={deleteElement} onHide={() => { setDeleteElement(undefined) }} onSuccess={() => { setDeleteElement(undefined) }}> <StaffModal header={t("sports.DeleteSport")} hideColor="secondary" successText={t("sports.Delete")} successColor="danger" show={deleteElement} onHide={() => { setDeleteElement(undefined) }} onSuccess={() => { setDeleteElement(undefined) }}>
<span>{t("sports.messages.DeleteText", {val: deleteElement?.name})}</span> <span>{t("sports.messages.DeleteText", { val: deleteElement?.name })}</span>
</StaffModal> </StaffModal>
</div> </div>
); );
......
NODE_ENV=development NODE_ENV=development
POSTGRES_DB=fahrtenbuch POSTGRES_DB=fahrtenbuch
POSTGRES_USER=postgres POSTGRES_USER=postgres
POSTGRES_HOST=localhost POSTGRES_HOST=postgres
POSTGRES_DRIVER=postgres POSTGRES_DRIVER=postgres
POSTGRES_PASSWORD=postgres POSTGRES_PASSWORD=postgres
TEST_DB_NAME=test TEST_DB_NAME=test
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment