Removed Navigation in user upload page

This commit is contained in:
Matthias Lotz 2025-11-24 20:38:33 +01:00
parent 57ba3864e2
commit b7acc01e90
9 changed files with 51 additions and 15 deletions

View File

@ -44,6 +44,18 @@ services:
- dev-internal - dev-internal
command: [ "npm", "run", "server" ] command: [ "npm", "run", "server" ]
sqliteweb:
image: tomdesinto/sqliteweb
ports:
- "8080:8080"
volumes:
- ../../backend/src/data:/usr/src/app/src/data:ro # identischer Host-Pfad wie im Backend
command: /usr/src/app/src/data/db/image_uploader.db
networks:
- dev-internal
depends_on:
- backend-dev
networks: networks:
dev-internal: dev-internal:
driver: bridge driver: bridge

View File

@ -17,14 +17,14 @@ function App() {
<AdminSessionProvider> <AdminSessionProvider>
<Router> <Router>
<Routes> <Routes>
<Route path="/" exact element={<MultiUploadPage />} /> <Route path="/" exact element={<MultiUploadPage />} />
<Route path="/slideshow" element={<SlideshowPage />} /> <Route path="/slideshow" element={<SlideshowPage />} />
<Route path="/groups/:groupId" element={<PublicGroupImagesPage />} /> <Route path="/groups/:groupId" element={<PublicGroupImagesPage />} />
<Route path="/groups" element={<GroupsOverviewPage />} /> <Route path="/groups" element={<GroupsOverviewPage />} />
<Route path="/moderation" exact element={<ModerationGroupsPage />} /> <Route path="/moderation" exact element={<ModerationGroupsPage />} />
<Route path="/moderation/groups/:groupId" element={<ModerationGroupImagesPage />} /> <Route path="/moderation/groups/:groupId" element={<ModerationGroupImagesPage />} />
<Route path="/manage/:token" element={<ManagementPortalPage />} /> <Route path="/manage/:token" element={<ManagementPortalPage />} />
<Route path="*" element={<FZF />} /> <Route path="*" element={<FZF />} />
</Routes> </Routes>
</Router> </Router>
</AdminSessionProvider> </AdminSessionProvider>

View File

@ -16,7 +16,6 @@ function Navbar() {
<nav> <nav>
<ul className="nav__links"> <ul className="nav__links">
<li><NavLink to="/groups" activeClassName="active">Groups</NavLink></li> <li><NavLink to="/groups" activeClassName="active">Groups</NavLink></li>
<li><NavLink to="/slideshow" activeClassName="active">Slideshow</NavLink></li>
<li><NavLink to="/moderation" activeClassName="active"><LockIcon style={{ fontSize: 18, verticalAlign: 'text-bottom', marginRight: 6 }} aria-hidden="true" />Moderation</NavLink></li> <li><NavLink to="/moderation" activeClassName="active"><LockIcon style={{ fontSize: 18, verticalAlign: 'text-bottom', marginRight: 6 }} aria-hidden="true" />Moderation</NavLink></li>
<li><NavLink className="cta" exact to="/" activeClassName="active">Upload</NavLink></li> <li><NavLink className="cta" exact to="/" activeClassName="active">Upload</NavLink></li>
{isManagementPage && ( {isManagementPage && (

View File

@ -0,0 +1,25 @@
import React from 'react'
import { NavLink, useLocation } from 'react-router-dom'
import '../Css/Navbar.css'
import logo from '../../../Images/logo.png'
import { Lock as LockIcon } from '@mui/icons-material';
function Navbar() {
const location = useLocation();
const isManagementPage = location.pathname.startsWith('/manage/');
return (
<header>
<div className="logo"><NavLink className="logo" exact to="/"><img src={logo} className="imageNav" alt="Logo"/><p className="logo">Upload your Project Images</p></NavLink></div>
<nav>
<ul className="nav__links">
<li><a href="https://gitea.lan.hobbyhimmel.de/hobbyhimmel/Project-Image-Uploader" target="_blank" rel="noopener noreferrer">About</a></li>
</ul>
</nav>
</header>
)
}
export default Navbar

View File

@ -2,7 +2,7 @@ import React, { useState, useEffect } from 'react';
import { useParams, useNavigate } from 'react-router-dom'; import { useParams, useNavigate } from 'react-router-dom';
import { Container, Card, CardContent, Typography, Box, Button } from '@mui/material'; import { Container, Card, CardContent, Typography, Box, Button } from '@mui/material';
import Swal from 'sweetalert2'; import Swal from 'sweetalert2';
import Navbar from '../ComponentUtils/Headers/Navbar'; import NavbarUpload from '../ComponentUtils/Headers/NavbarUpload';
import Footer from '../ComponentUtils/Footer'; import Footer from '../ComponentUtils/Footer';
import Loading from '../ComponentUtils/LoadingAnimation/Loading'; import Loading from '../ComponentUtils/LoadingAnimation/Loading';
import ImageGalleryCard from '../ComponentUtils/ImageGalleryCard'; import ImageGalleryCard from '../ComponentUtils/ImageGalleryCard';
@ -178,7 +178,7 @@ function ManagementPortalPage() {
if (loading) { if (loading) {
return ( return (
<div className="allContainer"> <div className="allContainer">
<Navbar /> <NavbarUpload />
<Container maxWidth="lg" sx={{ pt: '20px', pb: '40px', minHeight: '80vh', display: 'flex', justifyContent: 'center', alignItems: 'center' }}> <Container maxWidth="lg" sx={{ pt: '20px', pb: '40px', minHeight: '80vh', display: 'flex', justifyContent: 'center', alignItems: 'center' }}>
<Loading /> <Loading />
</Container> </Container>
@ -190,7 +190,7 @@ function ManagementPortalPage() {
if (error) { if (error) {
return ( return (
<div className="allContainer"> <div className="allContainer">
<Navbar /> <NavbarUpload />
<Container maxWidth="lg" sx={{ pt: '20px', pb: '40px', minHeight: '80vh' }}> <Container maxWidth="lg" sx={{ pt: '20px', pb: '40px', minHeight: '80vh' }}>
<Card sx={{ borderRadius: '12px', boxShadow: '0 4px 12px rgba(0,0,0,0.1)', p: '20px', textAlign: 'center' }}> <Card sx={{ borderRadius: '12px', boxShadow: '0 4px 12px rgba(0,0,0,0.1)', p: '20px', textAlign: 'center' }}>
<Typography variant="h5" color="error" gutterBottom> <Typography variant="h5" color="error" gutterBottom>
@ -211,7 +211,7 @@ function ManagementPortalPage() {
return ( return (
<div className="allContainer"> <div className="allContainer">
<Navbar /> <NavbarUpload />
<Container maxWidth="lg" sx={{ pt: '20px', pb: '40px', minHeight: '80vh' }}> <Container maxWidth="lg" sx={{ pt: '20px', pb: '40px', minHeight: '80vh' }}>
<Card sx={{ borderRadius: '12px', boxShadow: '0 4px 12px rgba(0,0,0,0.1)', p: '20px', mb: '20px' }}> <Card sx={{ borderRadius: '12px', boxShadow: '0 4px 12px rgba(0,0,0,0.1)', p: '20px', mb: '20px' }}>

View File

@ -2,7 +2,7 @@ import React, { useState, useEffect } from 'react';
import { Card, CardContent, Typography, Container, Box } from '@mui/material'; import { Card, CardContent, Typography, Container, Box } from '@mui/material';
// Components // Components
import Navbar from '../ComponentUtils/Headers/Navbar'; import NavbarUpload from '../ComponentUtils/Headers/NavbarUpload';
import Footer from '../ComponentUtils/Footer'; import Footer from '../ComponentUtils/Footer';
import MultiImageDropzone from '../ComponentUtils/MultiUpload/MultiImageDropzone'; import MultiImageDropzone from '../ComponentUtils/MultiUpload/MultiImageDropzone';
import ImageGallery from '../ComponentUtils/ImageGallery'; import ImageGallery from '../ComponentUtils/ImageGallery';
@ -161,7 +161,7 @@ function MultiUploadPage() {
return ( return (
<div className="allContainer"> <div className="allContainer">
<Navbar /> {<NavbarUpload />}
<Container maxWidth="lg" sx={{ pt: '20px', pb: '40px', minHeight: '80vh' }}> <Container maxWidth="lg" sx={{ pt: '20px', pb: '40px', minHeight: '80vh' }}>
<Card sx={{ borderRadius: '12px', boxShadow: '0 4px 12px rgba(0,0,0,0.1)', p: '20px', mb: '20px' }}> <Card sx={{ borderRadius: '12px', boxShadow: '0 4px 12px rgba(0,0,0,0.1)', p: '20px', mb: '20px' }}>