refactor(portal): Streamline client-side navigation with React Router Link components, refine global route handling, remove obsolete path definitions, and update project dependencies, including minor UI adjustments.

This commit is contained in:
ghost2023
2026-05-28 16:45:10 +03:00
parent 15a7a0a05f
commit 14f73f0c79
3 changed files with 44 additions and 67 deletions

View File

@@ -67,7 +67,7 @@ const App = () => {
<Route path="/signup" element={<SignupPage />} />
<Route path="/otp" element={<VerificationOtpPage />} />
<Route path="/set-password" element={<SetPasswordPage />} />
<Route path="*" element={<Navigate to="/login" replace />} />
<Route path="*" element={<Navigate to="/" replace />} />
</Routes>
);
}
@@ -98,12 +98,6 @@ const App = () => {
<Route path="/tracking" element={<TrackingPage />} />
<Route path="/billing" element={<BillingPage />} />
<Route path="/documents" element={<DocumentsPage />} />
{/* <Route path="/admin/dropdowns" element={<DropdownSettingsPage />} /> */}
{/* <Route */}
{/* path="/admin/file-uploads" */}
{/* element={<FileUploadSettingsPage />} */}
{/* /> */}
{/* <Route path="/user-management" element={<Navigate to="/" replace />} /> */}
<Route path="*" element={<Navigate to="/" replace />} />
</Routes>
</DashboardLayout>

View File

@@ -1,3 +1,4 @@
import { Link } from "react-router-dom";
import {
ArrowRight,
BarChart3,
@@ -85,9 +86,7 @@ export default function EDRFreightLandingPage() {
</div>
<div>
<h1 className="text-xl font-bold tracking-tight">
EDR Freight
</h1>
<h1 className="text-xl font-bold tracking-tight">EDR Freight</h1>
<p className="text-sm text-muted-foreground">
Rail Logistics Platform
@@ -119,20 +118,20 @@ export default function EDRFreightLandingPage() {
</nav>
<div className="flex items-center gap-3">
<a
href="http://localhost:5173/auth"
<Link
to="/login"
className="hidden rounded-2xl border border-border bg-card px-5 py-2.5 text-sm font-medium transition hover:bg-accent md:block"
>
Login
</a>
</Link>
<a
href="http://localhost:5173/signup"
<Link
to="/signup"
className="hidden items-center gap-2 rounded-2xl bg-primary px-5 py-2.5 text-sm font-semibold text-primary-foreground shadow-lg transition hover:opacity-90 md:flex"
>
Get Started
<ArrowRight className="size-4" />
</a>
</Link>
<button className="rounded-2xl border border-border p-2 md:hidden">
<Menu className="size-5" />
@@ -145,7 +144,7 @@ export default function EDRFreightLandingPage() {
<section className="relative overflow-hidden">
<div className="absolute inset-0 bg-[radial-gradient(circle_at_top_right,rgba(16,185,129,0.16),transparent_35%)]" />
<div className="mx-auto grid max-w-7xl gap-16 px-6 py-20 lg:grid-cols-2 lg:items-center">
<div className="mx-auto grid relative z-10 max-w-7xl gap-16 px-6 py-20 lg:grid-cols-2 lg:items-center">
<div>
<div className="mb-6 inline-flex items-center gap-2 rounded-full border border-border bg-accent px-4 py-2 text-sm font-medium text-primary shadow-sm">
<span className="size-2 rounded-full bg-primary" />
@@ -157,26 +156,26 @@ export default function EDRFreightLandingPage() {
</h1>
<p className="mt-6 max-w-2xl text-lg leading-8 text-muted-foreground">
EDR Freight enables logistics companies and railway operators
to manage shipments, monitor freight corridors, optimize train
EDR Freight enables logistics companies and railway operators to
manage shipments, monitor freight corridors, optimize train
operations, and streamline enterprise logistics workflows.
</p>
<div className="mt-10 flex flex-wrap gap-4">
<a
href="http://localhost:5173/signup"
<Link
to="/signup"
className="flex items-center gap-2 rounded-2xl bg-primary px-6 py-3 font-semibold text-primary-foreground shadow-lg transition hover:-translate-y-0.5 hover:opacity-90"
>
Get Started
<ArrowRight className="size-5" />
</a>
</Link>
<a
href="http://localhost:5173/auth"
<Link
to="/login"
className="rounded-2xl border border-border bg-card px-6 py-3 font-semibold transition hover:bg-accent"
>
Login
</a>
</Link>
</div>
<div className="mt-12 flex flex-wrap gap-6">
@@ -206,9 +205,7 @@ export default function EDRFreightLandingPage() {
Freight Operations
</p>
<h3 className="mt-2 text-3xl font-bold">
Live Statistics
</h3>
<h3 className="mt-2 text-3xl font-bold">Live Statistics</h3>
</div>
<div className="rounded-2xl bg-primary/10 p-4 text-primary">
@@ -229,9 +226,7 @@ export default function EDRFreightLandingPage() {
<Icon className="size-6" />
</div>
<h4 className="text-3xl font-black">
{item.value}
</h4>
<h4 className="text-3xl font-black">{item.value}</h4>
<p className="mt-1 text-sm text-muted-foreground">
{item.label}
@@ -271,9 +266,7 @@ export default function EDRFreightLandingPage() {
</div>
<div>
<h4 className="text-lg font-bold">
16 Trains Active
</h4>
<h4 className="text-lg font-bold">16 Trains Active</h4>
<p className="text-sm text-muted-foreground">
Across all freight corridors
@@ -302,8 +295,8 @@ export default function EDRFreightLandingPage() {
<p className="mt-4 text-lg leading-8 text-muted-foreground">
Centralized railway freight operations with live shipment
visibility, operational monitoring, customer management,
and intelligent logistics insights.
visibility, operational monitoring, customer management, and
intelligent logistics insights.
</p>
</div>
@@ -320,9 +313,7 @@ export default function EDRFreightLandingPage() {
<Icon className="size-7" />
</div>
<h3 className="mt-6 text-xl font-bold">
{feature.title}
</h3>
<h3 className="mt-6 text-xl font-bold">{feature.title}</h3>
<p className="mt-3 leading-7 text-muted-foreground">
{feature.description}
@@ -444,10 +435,7 @@ export default function EDRFreightLandingPage() {
</section>
{/* Contact */}
<section
id="contact"
className="border-t border-border bg-card/40 py-24"
>
<section id="contact" className="border-t border-border bg-card/40 py-24">
<div className="mx-auto max-w-7xl px-6">
<div className="grid gap-12 lg:grid-cols-2">
<div>
@@ -460,8 +448,8 @@ export default function EDRFreightLandingPage() {
</h2>
<p className="mt-5 text-lg leading-8 text-muted-foreground">
Contact EDR Freight for partnership opportunities,
enterprise onboarding, or logistics support.
Contact EDR Freight for partnership opportunities, enterprise
onboarding, or logistics support.
</p>
<div className="mt-10 space-y-5">
@@ -485,9 +473,7 @@ export default function EDRFreightLandingPage() {
<div>
<p className="font-semibold">Phone</p>
<p className="text-muted-foreground">
+251 11 000 0000
</p>
<p className="text-muted-foreground">+251 11 000 0000</p>
</div>
</div>
@@ -508,9 +494,7 @@ export default function EDRFreightLandingPage() {
{/* Contact Form */}
<div className="rounded-[32px] border border-border bg-card p-8 shadow-xl">
<h3 className="text-2xl font-bold">
Send us a message
</h3>
<h3 className="text-2xl font-bold">Send us a message</h3>
<p className="mt-2 text-muted-foreground">
Well get back to you as soon as possible.
@@ -559,26 +543,26 @@ export default function EDRFreightLandingPage() {
</h2>
<p className="mt-6 text-lg leading-8 opacity-85">
Centralize logistics workflows, optimize freight movement,
and gain real-time operational visibility across all
railway corridors.
Centralize logistics workflows, optimize freight movement, and
gain real-time operational visibility across all railway
corridors.
</p>
<div className="mt-10 flex flex-wrap items-center justify-center gap-4">
<a
href="http://localhost:5173/signup"
<Link
to="/signup"
className="flex items-center gap-2 rounded-2xl bg-white px-7 py-3 font-semibold text-primary shadow-lg transition hover:opacity-90"
>
Create Account
<ArrowRight className="size-5" />
</a>
</Link>
<a
href="http://localhost:5173/auth"
<Link
to="/login"
className="rounded-2xl border border-white/20 bg-white/10 px-7 py-3 font-semibold backdrop-blur transition hover:bg-white/20"
>
Sign In
</a>
</Link>
</div>
</div>
</div>
@@ -594,19 +578,15 @@ export default function EDRFreightLandingPage() {
</div>
<div>
<p className="font-semibold text-foreground">
EDR Freight
</p>
<p className="font-semibold text-foreground">EDR Freight</p>
<p>Modern railway logistics management platform</p>
</div>
</div>
<div>
© 2026 EDR Freight. All rights reserved.
</div>
<div>© 2026 EDR Freight. All rights reserved.</div>
</div>
</footer>
</div>
);
}
}

3
pnpm-lock.yaml generated
View File

@@ -53,6 +53,9 @@ importers:
'@nestjs/core':
specifier: ^11.0.0
version: 11.1.23(@nestjs/common@11.1.23(class-transformer@0.5.1)(class-validator@0.14.4)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/microservices@11.1.23)(@nestjs/platform-express@11.1.23)(reflect-metadata@0.2.2)(rxjs@7.8.2)
'@nestjs/mapped-types':
specifier: ^2.1.1
version: 2.1.1(@nestjs/common@11.1.23(class-transformer@0.5.1)(class-validator@0.14.4)(reflect-metadata@0.2.2)(rxjs@7.8.2))(class-transformer@0.5.1)(class-validator@0.14.4)(reflect-metadata@0.2.2)
'@nestjs/microservices':
specifier: ^11.0.0
version: 11.1.23(@nestjs/common@11.1.23(class-transformer@0.5.1)(class-validator@0.14.4)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.23)(amqp-connection-manager@5.0.0(amqplib@2.0.1))(amqplib@2.0.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)