diff --git a/backend/db/schema.sql b/backend/db/schema.sql index 65bb812..c7d5284 100644 --- a/backend/db/schema.sql +++ b/backend/db/schema.sql @@ -66,6 +66,8 @@ CREATE TABLE IF NOT EXISTS builds ( id bigint GENERATED ALWAYS AS IDENTITY PRIMARY KEY, tittel varchar(50) NOT NULL CHECK (length(trim(tittel)) > 0), created_at timestamptz NOT NULL DEFAULT now(), + owner_id bigint REFERENCES users(id), + is_published boolean NOT NULL DEFAULT false, comment varchar(200), cpu_id uuid REFERENCES parts(id), @@ -78,4 +80,4 @@ CREATE TABLE IF NOT EXISTS builds ( cooler_id uuid REFERENCES parts(id) ); CREATE INDEX IF NOT EXISTS builds_owner_id_idx - ON builds(owner_id); \ No newline at end of file + ON builds(owner_id); diff --git a/backend/server/package.json b/backend/server/package.json index ea01ffc..680afa5 100644 --- a/backend/server/package.json +++ b/backend/server/package.json @@ -44,5 +44,12 @@ }, "overrides": { "minimatch": "^11.0.1" + }, + "allowScripts": { + "@apollo/protobufjs@1.2.8": true, + "@firebase/util@1.15.3": true, + "esbuild@0.28.2": true, + "protobufjs@7.6.6": true, + "fsevents@2.3.3": true } } diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index 016b702..09cba57 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -6,6 +6,7 @@ import CommunityPage from "./pages/communityPage/communityPage"; import Layout from "./components/Layout"; import LoginPage from "./pages/loginPage/loginPage"; import AccountPage from "./pages/accountPage/accountPage"; +import NotFoundPage from "./pages/notFoundPage/notFoundPage"; import { Routes, Route, useLocation, useParams } from "react-router"; import { useSelector } from "react-redux"; import type { RootState } from "./state/store"; @@ -34,10 +35,7 @@ function App() { } /> } /> } /> - 404 - Page not found

} - /> + } /> ); diff --git a/frontend/src/components/AddToBuildFeedback.tsx b/frontend/src/components/AddToBuildFeedback.tsx index 058ef52..caa9078 100644 --- a/frontend/src/components/AddToBuildFeedback.tsx +++ b/frontend/src/components/AddToBuildFeedback.tsx @@ -1,3 +1,4 @@ +import Button from "./buttons/Button"; import type { PcPart } from "@/types/types"; import { useEffect, useId, useRef } from "react"; import { ArrowRight, X } from "lucide-react"; @@ -23,10 +24,6 @@ export default function AddToBuildFeedback({ const savedPart = useSelector((state) => selectPartByCategory(state, part.category), ); - const secondaryButton = - "cursor-pointer rounded-lg border border-secondary/50 px-4 py-2 text-xs font-medium text-white transition-colors hover:bg-surface-dark"; - const primaryButton = - "cursor-pointer rounded-lg border border-accent bg-accent px-5 py-2 text-xs font-semibold text-background transition-colors hover:bg-accent/90"; useEffect(() => { dialogRef.current?.showModal(); @@ -125,16 +122,19 @@ export default function AddToBuildFeedback({ )} {stage === "confirm" && (
- - + +
)} diff --git a/frontend/src/components/AllPartsPreview.tsx b/frontend/src/components/AllPartsPreview.tsx index c87bac5..c9d7ca0 100644 --- a/frontend/src/components/AllPartsPreview.tsx +++ b/frontend/src/components/AllPartsPreview.tsx @@ -1,3 +1,4 @@ +import Button from "./buttons/Button"; import { useParts } from "@/hooks/useParts"; import PcPartCard from "@/components/PcPartCard"; import PcPartCardSkeleton from "@/components/PcPartCardSkeleton"; @@ -179,7 +180,6 @@ function PartsResults({ return (
-
{!featured && (

@@ -187,7 +187,7 @@ function PartsResults({

)} - {viewenabled && ( + {viewenabled && ( )}
@@ -271,9 +271,9 @@ function PartsResults({ )} {(!featured || error) && ( - + )}
); diff --git a/frontend/src/components/AuthButton.tsx b/frontend/src/components/AuthButton.tsx index cb0da12..c3f483e 100644 --- a/frontend/src/components/AuthButton.tsx +++ b/frontend/src/components/AuthButton.tsx @@ -9,9 +9,9 @@ export default function AuthButton() { return ( - +