Worked on Import

This commit is contained in:
Ipmake 2024-02-06 12:25:12 +01:00
parent 5a96c2ae1b
commit 7bc638bf8c
11 changed files with 81 additions and 154 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 586 KiB

View File

@ -1,3 +0,0 @@
# https://www.robotstxt.org/robotstxt.html
User-agent: *
Disallow:

View File

@ -1,11 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Loading</title>
</head>
<body>
</body>
</html>

View File

@ -0,0 +1,46 @@
import React from "react";
export default function PhilSwift() {
return (
<svg viewBox="0 0 1920 1080" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_1_10)">
<path d="M-24.5002 525.144C84.4997 356.144 435.5 63.1437 752.5 280.644C982.135 438.201 1314 675.644 1545 574.644C1680.83 515.253 1900.33 304.31 1944.5 263.644" stroke="url(#paint0_radial_1_10)" stroke-width="18"/>
<path d="M-24.5002 580.705C84.4997 411.705 435.5 118.705 752.5 336.205C982.135 493.763 1314 731.205 1545 630.205C1680.83 570.814 1900.33 359.872 1944.5 319.205" stroke="url(#paint1_radial_1_10)" stroke-width="18"/>
<path d="M-24.5002 636.266C84.4997 467.266 435.5 174.266 752.5 391.766C982.135 549.324 1314 786.766 1545 685.766C1680.83 626.375 1900.33 415.433 1944.5 374.766" stroke="url(#paint2_radial_1_10)" stroke-width="18"/>
<path d="M-24.5002 691.828C84.4997 522.828 435.5 229.828 752.5 447.328C982.135 604.885 1314 842.328 1545 741.328C1680.83 681.937 1900.33 470.994 1944.5 430.328" stroke="url(#paint3_radial_1_10)" stroke-width="18"/>
<path d="M-24.5002 747.389C84.4997 578.389 435.5 285.389 752.5 502.889C982.135 660.447 1314 897.889 1545 796.889C1680.83 737.498 1900.33 526.556 1944.5 485.889" stroke="url(#paint4_radial_1_10)" stroke-width="18"/>
<path d="M-24.5002 802.95C84.4997 633.95 435.5 340.95 752.5 558.45C982.135 716.008 1314 953.45 1545 852.45C1680.83 793.059 1900.33 582.117 1944.5 541.45" stroke="url(#paint5_radial_1_10)" stroke-width="18"/>
</g>
<defs>
<radialGradient id="paint0_radial_1_10" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(958.75 398.784) rotate(89.852) scale(483.813 2318.21)">
<stop stop-color="#9BCAE1"/>
<stop offset="1" stop-color="#003263"/>
</radialGradient>
<radialGradient id="paint1_radial_1_10" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(958.75 454.346) rotate(89.852) scale(483.813 2318.21)">
<stop stop-color="#9BCAE1"/>
<stop offset="1" stop-color="#003263"/>
</radialGradient>
<radialGradient id="paint2_radial_1_10" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(958.75 509.907) rotate(89.852) scale(483.813 2318.21)">
<stop stop-color="#9BCAE1"/>
<stop offset="1" stop-color="#003263"/>
</radialGradient>
<radialGradient id="paint3_radial_1_10" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(958.75 565.468) rotate(89.852) scale(483.813 2318.21)">
<stop stop-color="#9BCAE1"/>
<stop offset="1" stop-color="#003263"/>
</radialGradient>
<radialGradient id="paint4_radial_1_10" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(958.75 621.03) rotate(89.852) scale(483.813 2318.21)">
<stop stop-color="#9BCAE1"/>
<stop offset="1" stop-color="#003263"/>
</radialGradient>
<radialGradient id="paint5_radial_1_10" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(958.75 676.591) rotate(89.852) scale(483.813 2318.21)">
<stop stop-color="#9BCAE1"/>
<stop offset="1" stop-color="#003263"/>
</radialGradient>
<clipPath id="clip0_1_10">
<rect width="1920" height="1080" fill="white" transform="translate(-0.000244141 -0.000335693)"/>
</clipPath>
</defs>
</svg>
);
}

View File

@ -1,6 +1,6 @@
import { Box, Divider } from "@mui/material"
import SidebarElement from "./SidebarElement"
import { ArrowBack, Home, Logout, Newspaper, Person, TableChartOutlined, Event } from "@mui/icons-material"
import { ArrowBack, Home, Logout, Person, TableChartOutlined, Event } from "@mui/icons-material"
function Sidebar() {
@ -12,7 +12,6 @@ function Sidebar() {
top: "0",
left: "0",
backgroundColor: "#121212",
boxShadow: "0 0 10px #00000055",
zIndex: 1000,

View File

@ -25,7 +25,7 @@ function SidebarElement({
height: "50px",
cursor: "pointer",
backgroundColor: theme => location.pathname === Path ? theme.palette.primary.light : "#00000011",
backgroundColor: theme => location.pathname === Path ? theme.palette.primary.main : theme.palette.secondary.main,
display: "flex",
flexDirection: "row",

View File

View File

@ -4,13 +4,14 @@ import App from "./App";
import { createTheme, ThemeProvider, CssBaseline } from "@mui/material";
import { BrowserRouter } from "react-router-dom";
// fonts
import '@fontsource-variable/overpass';
import '@fontsource-variable/lexend';
const theme = createTheme({
palette: {
mode: "dark",
mode: "light",
primary: {
main: "#003263",
},

View File

@ -1,133 +1,23 @@
import { Typography, Button, Box, Grid, CircularProgress } from "@mui/material";
import { BadgeOutlined } from "@mui/icons-material";
import { useTheme } from "@mui/material";
import { useLocation } from "react-router-dom";
import { useEffect, useState } from "react";
import axios from "axios";
import { getBaseURL } from "../functions";
import { Avatar, Box, Stack, Typography } from "@mui/material";
import PhilSwift from "../components/PhilSwift";
function LandingPage() {
const theme = useTheme();
const location = useLocation();
useEffect(() => {
const element = document.getElementById(location.hash.replaceAll("#", ""));
if (element) {
element.scrollIntoView({ behavior: "smooth" });
}
}, [location]);
return (
<>
<Box
sx={{
width: "100%",
height: "calc(100vh - 100px)",
display: "flex",
flexDirection: "column",
justifyContent: "center",
alignItems: "center",
}}
>
<video
src="/assets/backgroundvid1.webm"
autoPlay
loop
muted
style={{
height: "100vh",
width: "100vw",
position: "absolute",
top: "50px",
zIndex: -1,
filter: "brightness(0.25)",
objectFit: "cover",
minWidth: "100vw",
minHeight: "100vh",
}}
/>
<Typography
sx={{
color: "#fff",
fontWeight: "bolder",
fontSize: "7rem",
letterSpacing: "0.05rem",
lineHeight: "1.2",
textAlign: "center",
"@media (max-width: 1200px)": {
fontSize: "4rem",
},
}}
>
von Rheine für Rheine
</Typography>
<Typography
sx={{
color: "#fff",
fontWeight: "light",
fontFamily: "Overpass Variable",
fontSize: "1.25rem",
textAlign: "center",
}}
>
Als regionale Unternehmen unterstützen wir regionale Vorhaben.
</Typography>
</Box>
<Box
sx={{
width: "100%",
height: "200px",
background: `linear-gradient(45deg, #2f5c01, ${theme.palette.primary.main})`,
display: "flex",
flexDirection: "column",
justifyContent: "center",
alignItems: "center",
}}
>
<Typography
sx={{
color: "#fff",
fontWeight: "bolder",
fontSize: "2rem",
letterSpacing: "0.05rem",
lineHeight: "1.2",
textAlign: "center",
}}
>
Wir sind dabei !
</Typography>
<Typography
sx={{
color: "#fff",
fontWeight: "light",
fontFamily: "sans-serif",
fontSize: "1rem",
textAlign: "center",
}}
>
Danke an die bisherigen Teilnehmer !
</Typography>
<Button
variant="contained"
color="secondary"
startIcon={<BadgeOutlined />}
sx={{
color: "#fff",
marginTop: "1rem",
"&:hover": {
transform: "scale(1.1)",
},
}}
href="mailto:info@rheine-tourismus.de?subject=Wir%20m%C3%B6chten%20Sponsor%20werden!%20"
>
Sponsor Werden!
</Button>
<Box sx={{
width: "100%",
height: "100vh",
position: "absolute",
top: 0,
left: 0,
flexDirection: "column",
justifyContent: "center",
alignItems: "center",
}}>
<PhilSwift />
</Box>
</>
);
}
export default LandingPage;
export default LandingPage;

View File

@ -24,7 +24,7 @@ function Import() {
.slice(1)
.map((row) => {
const values = row.split(";");
if (values.length === csvHeader.length) {
const obj: { [key: string]: string } = {};
csvHeader.forEach((header, index) => {
@ -64,12 +64,12 @@ function Import() {
accept=".csv"
onChange={handleOnChange}
/>
<Button onClick={(e) => handleOnSubmit(e)}>IMPORT CSV</Button>
<Button onClick={(e) => handleOnSubmit(e)}>CSV Anzeigen</Button>
</form>
<br />
{csvData.length > 0 ? (
<div>
<Typography variant="h4">Imported Data</Typography>
<Typography variant="h4">Fehlerhafte Daten</Typography>
<DataGrid
rows={csvData.map((row, index) => ({ id: index, ...row }))}
columns={
@ -80,18 +80,23 @@ function Import() {
field: header,
headerName: header.replace(/"/g, ""),
width: 150,
valueFormatter(params) {
editable: true,
valueFormatter: (params) => {
if (params.value) {
if (moment(params.value, "DD/MM/YYYY").isValid()) {
return moment(params.value).format(
"DD/MM/YYYY"
);
if (
moment(
params.value,
"DD.MM.YYYY",
false
).isValid() && !header.includes("name")
) {
return params.value;
}
return `Falsches Datum: ${params.value}`;
}
return params.value;
return "";
},
} as GridColDef)
)
: []
@ -99,7 +104,7 @@ function Import() {
/>
</div>
) : (
<p>No data to display</p>
<p>Keine Daten zum anzeigen</p>
)}
</Box>
);