From 0b665833d7ad2dc380af684173a7e98596f09c93 Mon Sep 17 00:00:00 2001 From: MinhDTN Date: Sat, 10 Jan 2026 02:07:50 +0800 Subject: [PATCH] Update new var --- client/package-lock.json | 80 +++++- client/package.json | 1 + client/public/icons/Fetch_Icon.png | Bin 0 -> 155066 bytes client/src/components/ui/calendar.tsx | 88 +++--- client/src/components/ui/navigation-bar.tsx | 131 +++++++++ client/src/hooks/dog-parks.ts | 81 ++++++ client/src/hooks/vets.ts | 35 +++ client/src/pages/about-us.tsx | 15 +- client/src/pages/dog-parks.tsx | 288 +++++++++++++++++++- client/src/pages/health-records.tsx | 17 +- client/src/pages/home.tsx | 17 +- client/src/pages/index.tsx | 32 ++- client/src/pages/landing.tsx | 17 +- client/src/pages/pet.tsx | 15 +- client/src/pages/profile.tsx | 15 +- client/src/pages/registration.tsx | 15 +- client/src/pages/shop.tsx | 15 +- client/src/pages/tasks.tsx | 15 +- client/src/pages/test/home_with_navbar.tsx | 0 client/src/pages/vets.tsx | 192 ++++++++++++- server/dog/urls.py | 4 + server/dog/views.py | 50 +++- server/landing_page/admin.py | 2 +- server/server/urls.py | 2 + server/vet/urls.py | 2 + server/vet/views.py | 44 ++- 26 files changed, 1087 insertions(+), 86 deletions(-) create mode 100644 client/public/icons/Fetch_Icon.png create mode 100644 client/src/components/ui/navigation-bar.tsx create mode 100644 client/src/hooks/dog-parks.ts create mode 100644 client/src/hooks/vets.ts create mode 100644 client/src/pages/test/home_with_navbar.tsx diff --git a/client/package-lock.json b/client/package-lock.json index 4389a8e..9381f67 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -9,6 +9,7 @@ "version": "0.1.0", "dependencies": { "@radix-ui/react-slot": "^1.2.3", + "@react-google-maps/api": "^2.20.8", "@tanstack/react-query": "^5.80.7", "@tanstack/react-query-devtools": "^5.80.7", "autoprefixer": "^10.4.21", @@ -466,6 +467,22 @@ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, + "node_modules/@googlemaps/js-api-loader": { + "version": "1.16.8", + "resolved": "https://registry.npmjs.org/@googlemaps/js-api-loader/-/js-api-loader-1.16.8.tgz", + "integrity": "sha512-CROqqwfKotdO6EBjZO/gQGVTbeDps5V7Mt9+8+5Q+jTg5CRMi3Ii/L9PmV3USROrt2uWxtGzJHORmByxyo9pSQ==", + "license": "Apache-2.0" + }, + "node_modules/@googlemaps/markerclusterer": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/@googlemaps/markerclusterer/-/markerclusterer-2.5.3.tgz", + "integrity": "sha512-x7lX0R5yYOoiNectr10wLgCBasNcXFHiADIBdmn7jQllF2B5ENQw5XtZK+hIw4xnV0Df0xhN4LN98XqA5jaiOw==", + "license": "Apache-2.0", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "supercluster": "^8.0.1" + } + }, "node_modules/@humanfs/core": { "version": "0.19.1", "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", @@ -1313,6 +1330,36 @@ } } }, + "node_modules/@react-google-maps/api": { + "version": "2.20.8", + "resolved": "https://registry.npmjs.org/@react-google-maps/api/-/api-2.20.8.tgz", + "integrity": "sha512-wtLYFtCGXK3qbIz1H5to3JxbosPnKsvjDKhqGylXUb859EskhzR7OpuNt0LqdLarXUtZCJTKzPn3BNaekNIahg==", + "license": "MIT", + "dependencies": { + "@googlemaps/js-api-loader": "1.16.8", + "@googlemaps/markerclusterer": "2.5.3", + "@react-google-maps/infobox": "2.20.0", + "@react-google-maps/marker-clusterer": "2.20.0", + "@types/google.maps": "3.58.1", + "invariant": "2.2.4" + }, + "peerDependencies": { + "react": "^16.8 || ^17 || ^18 || ^19", + "react-dom": "^16.8 || ^17 || ^18 || ^19" + } + }, + "node_modules/@react-google-maps/infobox": { + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/@react-google-maps/infobox/-/infobox-2.20.0.tgz", + "integrity": "sha512-03PJHjohhaVLkX6+NHhlr8CIlvUxWaXhryqDjyaZ8iIqqix/nV8GFdz9O3m5OsjtxtNho09F/15j14yV0nuyLQ==", + "license": "MIT" + }, + "node_modules/@react-google-maps/marker-clusterer": { + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/@react-google-maps/marker-clusterer/-/marker-clusterer-2.20.0.tgz", + "integrity": "sha512-tieX9Va5w1yP88vMgfH1pHTacDQ9TgDTjox3tLlisKDXRQWdjw+QeVVghhf5XqqIxXHgPdcGwBvKY6UP+SIvLw==", + "license": "MIT" + }, "node_modules/@rtsao/scc": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", @@ -1413,6 +1460,12 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/google.maps": { + "version": "3.58.1", + "resolved": "https://registry.npmjs.org/@types/google.maps/-/google.maps-3.58.1.tgz", + "integrity": "sha512-X9QTSvGJ0nCfMzYOnaVs/k6/4L+7F5uCS+4iUmkLEls6J9S/Phv+m/i3mDeyc49ZBgwab3EFO1HEoBY7k98EGQ==", + "license": "MIT" + }, "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", @@ -3464,7 +3517,6 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, "license": "MIT" }, "node_modules/fast-glob": { @@ -4043,6 +4095,15 @@ "node": ">= 0.4" } }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, "node_modules/is-array-buffer": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", @@ -4554,7 +4615,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true, "license": "MIT" }, "node_modules/js-yaml": { @@ -4619,6 +4679,12 @@ "node": ">=4.0" } }, + "node_modules/kdbush": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/kdbush/-/kdbush-4.0.2.tgz", + "integrity": "sha512-WbCVYJ27Sz8zi9Q7Q0xHC+05iwkm3Znipc2XTlrnJbsHMYktW4hPhXUE8Ys1engBrvffoSCqbil1JQAa7clRpA==", + "license": "ISC" + }, "node_modules/keyv": { "version": "4.5.4", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", @@ -4833,7 +4899,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dev": true, "license": "MIT", "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" @@ -6549,6 +6614,15 @@ "node": ">= 6" } }, + "node_modules/supercluster": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/supercluster/-/supercluster-8.0.1.tgz", + "integrity": "sha512-IiOea5kJ9iqzD2t7QJq/cREyLHTtSmUT6gQsweojg9WH2sYJqZK9SswTu6jrscO6D1G5v5vYZ9ru/eq85lXeZQ==", + "license": "ISC", + "dependencies": { + "kdbush": "^4.0.2" + } + }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", diff --git a/client/package.json b/client/package.json index ce70203..7d3a917 100644 --- a/client/package.json +++ b/client/package.json @@ -16,6 +16,7 @@ }, "dependencies": { "@radix-ui/react-slot": "^1.2.3", + "@react-google-maps/api": "^2.20.8", "@tanstack/react-query": "^5.80.7", "@tanstack/react-query-devtools": "^5.80.7", "autoprefixer": "^10.4.21", diff --git a/client/public/icons/Fetch_Icon.png b/client/public/icons/Fetch_Icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a552747bfb7cdf4020e8dff733436eba8bbbe9b5 GIT binary patch literal 155066 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≫t?Vj7($(GF1ajod(-&a8-shq&$Ms&Pp@GynT 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

B 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 A?EnA( literal 0 HcmV?d00001 diff --git a/client/src/components/ui/calendar.tsx b/client/src/components/ui/calendar.tsx index e43a0c7..c40a5ac 100644 --- a/client/src/components/ui/calendar.tsx +++ b/client/src/components/ui/calendar.tsx @@ -1,19 +1,19 @@ -"use client" +"use client"; -import * as React from "react" import { ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, -} from "lucide-react" +} from "lucide-react"; +import * as React from "react"; import { + type DayButton, DayPicker, getDefaultClassNames, - type DayButton, -} from "react-day-picker" +} from "react-day-picker"; -import { cn } from "@/lib/utils" -import { Button, buttonVariants } from "@/components/ui/button" +import { Button, buttonVariants } from "@/components/ui/button"; +import { cn } from "@/lib/utils"; function Calendar({ className, @@ -25,22 +25,22 @@ function Calendar({ components, ...props }: React.ComponentProps & { - buttonVariant?: React.ComponentProps["variant"] + buttonVariant?: React.ComponentProps["variant"]; }) { - const defaultClassNames = getDefaultClassNames() + const defaultClassNames = getDefaultClassNames(); return ( svg]:rotate-180`, String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`, - className + className, )} captionLayout={captionLayout} formatters={{ - formatMonthDropdown: (date) => + formatMonthDropdown: (date) => date.toLocaleString("default", { month: "short" }), ...formatters, }} @@ -48,85 +48,85 @@ function Calendar({ root: cn("w-fit", defaultClassNames.root), months: cn( "flex gap-4 flex-col md:flex-row relative", - defaultClassNames.months + defaultClassNames.months, ), month: cn("flex flex-col w-full gap-4", defaultClassNames.month), nav: cn( "flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between", - defaultClassNames.nav + defaultClassNames.nav, ), button_previous: cn( buttonVariants({ variant: buttonVariant }), "size-(--cell-size) aria-disabled:opacity-50 p-0 select-none", - defaultClassNames.button_previous + defaultClassNames.button_previous, ), button_next: cn( buttonVariants({ variant: buttonVariant }), "size-(--cell-size) aria-disabled:opacity-50 p-0 select-none", - defaultClassNames.button_next + defaultClassNames.button_next, ), month_caption: cn( "flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)", - defaultClassNames.month_caption + defaultClassNames.month_caption, ), dropdowns: cn( "w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5", - defaultClassNames.dropdowns + defaultClassNames.dropdowns, ), dropdown_root: cn( "relative has-focus:border-ring border border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] rounded-md", - defaultClassNames.dropdown_root + defaultClassNames.dropdown_root, ), dropdown: cn( "absolute bg-popover inset-0 opacity-0", - defaultClassNames.dropdown + defaultClassNames.dropdown, ), caption_label: cn( "select-none font-medium", captionLayout === "label" ? "text-sm" : "rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-muted-foreground [&>svg]:size-3.5", - defaultClassNames.caption_label + defaultClassNames.caption_label, ), table: "w-full border-collapse", weekdays: cn("flex", defaultClassNames.weekdays), weekday: cn( "text-muted-foreground rounded-md flex-1 font-normal text-[0.8rem] select-none", - defaultClassNames.weekday + defaultClassNames.weekday, ), week: cn("flex w-full mt-2", defaultClassNames.week), week_number_header: cn( "select-none w-(--cell-size)", - defaultClassNames.week_number_header + defaultClassNames.week_number_header, ), week_number: cn( "text-[0.8rem] select-none text-muted-foreground", - defaultClassNames.week_number + defaultClassNames.week_number, ), day: cn( "relative w-full h-full p-0 text-center [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none", props.showWeekNumber ? "[&:nth-child(2)[data-selected=true]_button]:rounded-l-md" : "[&:first-child[data-selected=true]_button]:rounded-l-md", - defaultClassNames.day + defaultClassNames.day, ), range_start: cn( "rounded-l-md bg-accent", - defaultClassNames.range_start + defaultClassNames.range_start, ), range_middle: cn("rounded-none", defaultClassNames.range_middle), range_end: cn("rounded-r-md bg-accent", defaultClassNames.range_end), today: cn( "bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none", - defaultClassNames.today + defaultClassNames.today, ), outside: cn( "text-muted-foreground aria-selected:text-muted-foreground", - defaultClassNames.outside + defaultClassNames.outside, ), disabled: cn( "text-muted-foreground opacity-50", - defaultClassNames.disabled + defaultClassNames.disabled, ), hidden: cn("invisible", defaultClassNames.hidden), ...classNames, @@ -140,13 +140,13 @@ function Calendar({ className={cn(className)} {...props} /> - ) + ); }, Chevron: ({ className, orientation, ...props }) => { if (orientation === "left") { return ( - ) + ); } if (orientation === "right") { @@ -155,28 +155,28 @@ function Calendar({ className={cn("size-4", className)} {...props} /> - ) + ); } return ( - ) + ); }, DayButton: CalendarDayButton, WeekNumber: ({ children, ...props }) => { return ( -

+
{children}
- ) + ); }, ...components, }} {...props} /> - ) + ); } function CalendarDayButton({ @@ -185,12 +185,12 @@ function CalendarDayButton({ modifiers, ...props }: React.ComponentProps) { - const defaultClassNames = getDefaultClassNames() + const defaultClassNames = getDefaultClassNames(); - const ref = React.useRef(null) + const ref = React.useRef(null); React.useEffect(() => { - if (modifiers.focused) ref.current?.focus() - }, [modifiers.focused]) + if (modifiers.focused) ref.current?.focus(); + }, [modifiers.focused]); return ( + {/* Dropdown Menu */} +
+ + Walking Location + + + Vet + +
+
+ + {/* Account with Dropdown */} +
+ + {/* Dropdown Menu */} +
+ + Profile + + +
+ +
+
+ + + {/* Right Section: Sign Up Button */} + +
+ + ); +} diff --git a/client/src/hooks/dog-parks.ts b/client/src/hooks/dog-parks.ts new file mode 100644 index 0000000..330387c --- /dev/null +++ b/client/src/hooks/dog-parks.ts @@ -0,0 +1,81 @@ +import { + useMutation, + useQuery, + useQueryClient, + UseQueryOptions, +} from "@tanstack/react-query"; + +import api from "@/lib/api"; + +export interface DogPark { + id: number; + parkName: string; + streetNo: string; + streetName: string; + suburb: string; + state: string; + postcode: string; + country: string; +} + +export interface SavedDogPark { + id: number; + userName: string; + parkId: DogPark; +} + +export const useDogParks = ( + args?: Omit, "queryKey" | "queryFn">, +) => { + return useQuery({ + ...args, + queryKey: ["dog-parks"], + queryFn: () => + api.get("/api/dog/parks/").then((res) => res.data), + }); +}; + +export const useDogPark = ( + id: number, + args?: Omit, "queryKey" | "queryFn">, +) => { + return useQuery({ + ...args, + queryKey: ["dog-park", id], + queryFn: () => + api.get(`/api/dog/parks/${id}/`).then((res) => res.data), + enabled: !!id, + }); +}; + +export const useSavedDogParks = ( + args?: Omit, "queryKey" | "queryFn">, +) => { + return useQuery({ + ...args, + queryKey: ["saved-dog-parks"], + queryFn: () => + api.get("/api/dog/saved/").then((res) => res.data), + }); +}; + +export const useSaveDogPark = () => { + const queryClient = useQueryClient(); + return useMutation({ + mutationFn: (data: { userName: string; parkId: number }) => + api.post("/api/dog/saved/", data).then((res) => res.data), + onSuccess: () => { + queryClient.invalidateQueries({ queryKey: ["saved-dog-parks"] }); + }, + }); +}; + +export const useUnsaveDogPark = () => { + const queryClient = useQueryClient(); + return useMutation({ + mutationFn: (id: number) => api.delete(`/api/dog/saved/${id}/`), + onSuccess: () => { + queryClient.invalidateQueries({ queryKey: ["saved-dog-parks"] }); + }, + }); +}; diff --git a/client/src/hooks/vets.ts b/client/src/hooks/vets.ts new file mode 100644 index 0000000..6c1c78e --- /dev/null +++ b/client/src/hooks/vets.ts @@ -0,0 +1,35 @@ +import { useQuery, UseQueryOptions } from "@tanstack/react-query"; + +import api from "@/lib/api"; + +export interface VetClinic { + id: number; + clinicName: string; + phoneNumber: string; + email: string; + address: string; +} + +export const useVetClinics = ( + args?: Omit, "queryKey" | "queryFn">, +) => { + return useQuery({ + ...args, + queryKey: ["vet-clinics"], + queryFn: () => + api.get("/api/vet/clinics/").then((res) => res.data), + }); +}; + +export const useVetClinic = ( + id: number, + args?: Omit, "queryKey" | "queryFn">, +) => { + return useQuery({ + ...args, + queryKey: ["vet-clinic", id], + queryFn: () => + api.get(`/api/vet/clinics/${id}/`).then((res) => res.data), + enabled: !!id, + }); +}; diff --git a/client/src/pages/about-us.tsx b/client/src/pages/about-us.tsx index e006925..f8d7d6b 100644 --- a/client/src/pages/about-us.tsx +++ b/client/src/pages/about-us.tsx @@ -1,3 +1,14 @@ -export default function Default() { - return

hello, welcome to the about-us page

; +import { NavigationBar } from "@/components/ui/navigation-bar"; + +export default function AboutUsPage() { + return ( + <> + +
+
+

About Us

+
+
+ + ); } diff --git a/client/src/pages/dog-parks.tsx b/client/src/pages/dog-parks.tsx index 4b586cc..cfba892 100644 --- a/client/src/pages/dog-parks.tsx +++ b/client/src/pages/dog-parks.tsx @@ -1,3 +1,287 @@ -export default function Default() { - return

hello, welcome to the dog-parks page

; +"use client"; + +import { + GoogleMap, + InfoWindow, + LoadScript, + Marker, +} from "@react-google-maps/api"; +import { MapPin, Star, StarOff } from "lucide-react"; +import Head from "next/head"; +import { useMemo, useState } from "react"; + +import { Button } from "@/components/ui/button"; +import { NavigationBar } from "@/components/ui/navigation-bar"; +import { + DogPark, + useDogParks, + useSavedDogParks, + useSaveDogPark, + useUnsaveDogPark, +} from "@/hooks/dog-parks"; + +const containerStyle = { + width: "100%", + height: "600px", +}; + +const defaultCenter = { + lat: -37.8136, + lng: 144.9631, +}; + +export default function DogParksPage() { + const [selectedPark, setSelectedPark] = useState(null); + const { data: dogParks, isLoading } = useDogParks(); + const { data: savedParks } = useSavedDogParks(); + const savePark = useSaveDogPark(); + const unsavePark = useUnsaveDogPark(); + + // Get saved park IDs + const savedParkIds = useMemo(() => { + return new Set(savedParks?.map((sp) => sp.parkId.id) || []); + }, [savedParks]); + + // Simple geocoding function - in production, use Google Geocoding API + const getParkCoordinates = (park: DogPark): { lat: number; lng: number } => { + // This is a placeholder - in production, you should use Google Geocoding API + // For now, return default center with small random offset + // TODO: Use park parameter when implementing actual geocoding + void park; // Suppress unused variable warning + const offset = Math.random() * 0.1 - 0.05; + return { + lat: defaultCenter.lat + offset, + lng: defaultCenter.lng + offset, + }; + }; + + const parkLocations = useMemo(() => { + if (!dogParks) return []; + return dogParks + .map((park) => { + const coords = getParkCoordinates(park); + return coords ? { park, coords } : null; + }) + .filter( + ( + item, + ): item is { park: DogPark; coords: { lat: number; lng: number } } => + item !== null, + ); + }, [dogParks]); + + const handleToggleBookmark = (park: DogPark) => { + if (savedParkIds.has(park.id)) { + // Find saved park entry and unsave it + const savedPark = savedParks?.find((sp) => sp.parkId.id === park.id); + if (savedPark) { + unsavePark.mutate(savedPark.id); + } + } else { + // Save the park + // In production, get userName from auth context + savePark.mutate({ userName: "current_user", parkId: park.id }); + } + }; + + const formatAddress = (park: DogPark): string => { + return `${park.streetNo} ${park.streetName}, ${park.suburb}, ${park.state} ${park.postcode}, ${park.country}`; + }; + + const googleMapsApiKey = process.env.NEXT_PUBLIC_GOOGLE_MAPS_API_KEY || ""; + + return ( + <> + + Walking Locations - Fetch! + + +
+
+
+

+ Walking Locations +

+
+ {savedParks && savedParks.length > 0 && ( + + {savedParks.length} saved location + {savedParks.length !== 1 ? "s" : ""} + + )} +
+
+ +
+ {/* Map Section */} +
+ {googleMapsApiKey ? ( + + + {parkLocations.map(({ park, coords }) => ( + setSelectedPark(park)} + title={park.parkName} + icon={ + savedParkIds.has(park.id) + ? { + path: "M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z", + fillColor: "#fbbf24", + fillOpacity: 1, + strokeColor: "#f59e0b", + strokeWeight: 2, + scale: 0.8, + } + : undefined + } + /> + ))} + {selectedPark && + parkLocations.find( + (item) => item.park.id === selectedPark.id, + ) && ( + item.park.id === selectedPark.id, + )!.coords + } + onCloseClick={() => setSelectedPark(null)} + > +
+

+ {selectedPark.parkName} +

+

+ {formatAddress(selectedPark)} +

+
+
+ )} +
+
+ ) : ( +
+

+ Google Maps API key not configured. Please set + NEXT_PUBLIC_GOOGLE_MAPS_API_KEY +

+
+ )} +
+ + {/* Park List Section */} +
+
+

+ Dog Parks +

+
+ {isLoading ? ( +
+ Loading parks... +
+ ) : dogParks && dogParks.length > 0 ? ( +
+ {dogParks.map((park) => { + const isSaved = savedParkIds.has(park.id); + return ( +
setSelectedPark(park)} + > +
+

+ {park.parkName} +

+ +
+
+
+ + {formatAddress(park)} +
+
+
+ ); + })} +
+ ) : ( +
+ No dog parks found +
+ )} + + {/* Saved Parks Section */} + {savedParks && savedParks.length > 0 && ( +
+

+ Saved Locations +

+ {savedParks.map((savedPark) => { + const park = savedPark.parkId; + return ( +
+
+

+ {park.parkName} +

+ +
+
+
+ + {formatAddress(park)} +
+
+
+ ); + })} +
+ )} +
+
+
+
+ + ); } diff --git a/client/src/pages/health-records.tsx b/client/src/pages/health-records.tsx index 9308f79..cca40d9 100644 --- a/client/src/pages/health-records.tsx +++ b/client/src/pages/health-records.tsx @@ -1,3 +1,16 @@ -export default function Default() { - return

hello, welcome to the health-records page

; +import { NavigationBar } from "@/components/ui/navigation-bar"; + +export default function HealthRecordsPage() { + return ( + <> + +
+
+

+ Health Records +

+
+
+ + ); } diff --git a/client/src/pages/home.tsx b/client/src/pages/home.tsx index 412b66a..a8a7693 100644 --- a/client/src/pages/home.tsx +++ b/client/src/pages/home.tsx @@ -1,3 +1,16 @@ -export default function Default() { - return

hello, welcome to the home page

; +import { NavigationBar } from "@/components/ui/navigation-bar"; + +export default function HomePage() { + return ( + <> + +
+
+

+ Welcome to the Home Page +

+
+
+ + ); } diff --git a/client/src/pages/index.tsx b/client/src/pages/index.tsx index c051281..4c196bc 100644 --- a/client/src/pages/index.tsx +++ b/client/src/pages/index.tsx @@ -5,6 +5,7 @@ import { usePings } from "@/hooks/pings"; import { cn } from "@/lib/utils"; import { Button } from "../components/ui/button"; +import { NavigationBar } from "../components/ui/navigation-bar"; const fontSans = FontSans({ subsets: ["latin"], @@ -18,19 +19,22 @@ export default function Home() { }); return ( -
-

Test title

- -

- Response from server: {data as string} -

-
+ <> + +
+

Test title

+ +

+ Response from server: {data as string} +

+
+ ); } diff --git a/client/src/pages/landing.tsx b/client/src/pages/landing.tsx index f3b3462..0bd118b 100644 --- a/client/src/pages/landing.tsx +++ b/client/src/pages/landing.tsx @@ -1,3 +1,16 @@ -export default function Default() { - return

hello, welcome to the landing page

; +import { NavigationBar } from "@/components/ui/navigation-bar"; + +export default function LandingPage() { + return ( + <> + +
+
+

+ Welcome to Fetch! +

+
+
+ + ); } diff --git a/client/src/pages/pet.tsx b/client/src/pages/pet.tsx index ddd68da..92ca91e 100644 --- a/client/src/pages/pet.tsx +++ b/client/src/pages/pet.tsx @@ -1,3 +1,14 @@ -export default function Default() { - return

hello, welcome to the pet page

; +import { NavigationBar } from "@/components/ui/navigation-bar"; + +export default function PetPage() { + return ( + <> + +
+
+

Pet

+
+
+ + ); } diff --git a/client/src/pages/profile.tsx b/client/src/pages/profile.tsx index 7a75048..a145b31 100644 --- a/client/src/pages/profile.tsx +++ b/client/src/pages/profile.tsx @@ -1,3 +1,14 @@ -export default function Default() { - return

hello, welcome to the profile page

; +import { NavigationBar } from "@/components/ui/navigation-bar"; + +export default function ProfilePage() { + return ( + <> + +
+
+

Profile

+
+
+ + ); } diff --git a/client/src/pages/registration.tsx b/client/src/pages/registration.tsx index 481a20f..ffd1882 100644 --- a/client/src/pages/registration.tsx +++ b/client/src/pages/registration.tsx @@ -1,3 +1,14 @@ -export default function Default() { - return

hello, welcome to the registration page

; +import { NavigationBar } from "@/components/ui/navigation-bar"; + +export default function RegistrationPage() { + return ( + <> + +
+
+

Registration

+
+
+ + ); } diff --git a/client/src/pages/shop.tsx b/client/src/pages/shop.tsx index e7f9c06..eb173a4 100644 --- a/client/src/pages/shop.tsx +++ b/client/src/pages/shop.tsx @@ -1,3 +1,14 @@ -export default function Default() { - return

hello, welcome to the shop page

; +import { NavigationBar } from "@/components/ui/navigation-bar"; + +export default function ShopPage() { + return ( + <> + +
+
+

Shop

+
+
+ + ); } diff --git a/client/src/pages/tasks.tsx b/client/src/pages/tasks.tsx index 5bc0fea..836d640 100644 --- a/client/src/pages/tasks.tsx +++ b/client/src/pages/tasks.tsx @@ -1,3 +1,14 @@ -export default function Default() { - return

hello, welcome to the tasks page

; +import { NavigationBar } from "@/components/ui/navigation-bar"; + +export default function TasksPage() { + return ( + <> + +
+
+

Tasks

+
+
+ + ); } diff --git a/client/src/pages/test/home_with_navbar.tsx b/client/src/pages/test/home_with_navbar.tsx new file mode 100644 index 0000000..e69de29 diff --git a/client/src/pages/vets.tsx b/client/src/pages/vets.tsx index bca576c..a65d27a 100644 --- a/client/src/pages/vets.tsx +++ b/client/src/pages/vets.tsx @@ -1,3 +1,191 @@ -export default function Default() { - return

hello, welcome to the vets page

; +"use client"; + +import { + GoogleMap, + InfoWindow, + LoadScript, + Marker, +} from "@react-google-maps/api"; +import { ExternalLink,Mail, MapPin, Phone } from "lucide-react"; +import Head from "next/head"; +import { useMemo, useState } from "react"; + +import { Button } from "@/components/ui/button"; +import { NavigationBar } from "@/components/ui/navigation-bar"; +import { useVetClinics, VetClinic } from "@/hooks/vets"; + +const containerStyle = { + width: "100%", + height: "600px", +}; + +const defaultCenter = { + lat: -37.8136, + lng: 144.9631, +}; + +export default function VetsPage() { + const [selectedVet, setSelectedVet] = useState(null); + const { data: vetClinics, isLoading } = useVetClinics(); + + // Simple geocoding function - in production, use Google Geocoding API + const getVetCoordinates = (address: string): { lat: number; lng: number } => { + // This is a placeholder - in production, you should use Google Geocoding API + // For now, return default center with small random offset + // TODO: Use address parameter when implementing actual geocoding + void address; // Suppress unused variable warning + const offset = Math.random() * 0.1 - 0.05; + return { + lat: defaultCenter.lat + offset, + lng: defaultCenter.lng + offset, + }; + }; + + const vetLocations = useMemo(() => { + if (!vetClinics) return []; + return vetClinics + .map((vet) => { + const coords = getVetCoordinates(vet.address); + return coords ? { vet, coords } : null; + }) + .filter( + ( + item, + ): item is { vet: VetClinic; coords: { lat: number; lng: number } } => + item !== null, + ); + }, [vetClinics]); + + const googleMapsApiKey = process.env.NEXT_PUBLIC_GOOGLE_MAPS_API_KEY || ""; + + return ( + <> + + Find Vets - Fetch! + + +
+
+

+ Find Nearby Vets +

+ +
+ {/* Map Section */} +
+ {googleMapsApiKey ? ( + + + {vetLocations.map(({ vet, coords }) => ( + setSelectedVet(vet)} + title={vet.clinicName} + /> + ))} + {selectedVet && + vetLocations.find( + (item) => item.vet.id === selectedVet.id, + ) && ( + item.vet.id === selectedVet.id, + )!.coords + } + onCloseClick={() => setSelectedVet(null)} + > +
+

+ {selectedVet.clinicName} +

+

+ {selectedVet.address} +

+
+
+ )} +
+
+ ) : ( +
+

+ Google Maps API key not configured. Please set + NEXT_PUBLIC_GOOGLE_MAPS_API_KEY +

+
+ )} +
+ + {/* Vet List Section */} +
+

+ Vet Clinics +

+ {isLoading ? ( +
Loading vets...
+ ) : vetClinics && vetClinics.length > 0 ? ( +
+ {vetClinics.map((vet) => ( +
setSelectedVet(vet)} + > +

+ {vet.clinicName} +

+
+
+ + {vet.address} +
+
+ + {vet.phoneNumber} +
+
+ + {vet.email} +
+
+ +
+ ))} +
+ ) : ( +
+ No vet clinics found +
+ )} +
+
+
+
+ + ); } diff --git a/server/dog/urls.py b/server/dog/urls.py index fc6ca9c..c8f5b20 100644 --- a/server/dog/urls.py +++ b/server/dog/urls.py @@ -4,4 +4,8 @@ app_name = "dog" urlpatterns = [ path("", views.dog_home, name="dog-home"), + path("parks/", views.DogParkList.as_view(), name="dog-park-list"), + path("parks//", views.DogParkDetail.as_view(), name="dog-park-detail"), + path("saved/", views.saved_dog_parks, name="saved-dog-parks"), + path("saved//", views.saved_dog_park_detail, name="saved-dog-park-detail"), ] diff --git a/server/dog/views.py b/server/dog/views.py index e56405d..dd79aac 100644 --- a/server/dog/views.py +++ b/server/dog/views.py @@ -1,5 +1,53 @@ from django.shortcuts import render +from rest_framework import generics, permissions, status +from rest_framework.decorators import api_view, permission_classes +from rest_framework.response import Response +from .models import DogPark, SavedDogPark +from .serializers import DogParkSerializer, SavedDogParkSerializer + # Create your views here. def dog_home(request): - return render(request, 'dog/dog_home.html') \ No newline at end of file + return render(request, 'dog/dog_home.html') + + +class DogParkList(generics.ListAPIView): + """ViewSet for listing all dog parks""" + permission_classes = [permissions.AllowAny] + queryset = DogPark.objects.all() + serializer_class = DogParkSerializer + + +class DogParkDetail(generics.RetrieveAPIView): + """ViewSet for retrieving a specific dog park""" + permission_classes = [permissions.AllowAny] + queryset = DogPark.objects.all() + serializer_class = DogParkSerializer + + +@api_view(['GET', 'POST']) +@permission_classes([permissions.AllowAny]) +def saved_dog_parks(request): + """API endpoint to list or create saved dog parks""" + if request.method == 'GET': + saved_parks = SavedDogPark.objects.all() + serializer = SavedDogParkSerializer(saved_parks, many=True) + return Response(serializer.data) + elif request.method == 'POST': + serializer = SavedDogParkSerializer(data=request.data) + if serializer.is_valid(): + serializer.save() + return Response(serializer.data, status=status.HTTP_201_CREATED) + return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) + + +@api_view(['DELETE']) +@permission_classes([permissions.AllowAny]) +def saved_dog_park_detail(request, pk): + """API endpoint to delete a saved dog park""" + try: + saved_park = SavedDogPark.objects.get(pk=pk) + saved_park.delete() + return Response(status=status.HTTP_204_NO_CONTENT) + except SavedDogPark.DoesNotExist: + return Response({'error': 'Saved dog park not found'}, status=status.HTTP_404_NOT_FOUND) \ No newline at end of file diff --git a/server/landing_page/admin.py b/server/landing_page/admin.py index 190693f..64e4327 100644 --- a/server/landing_page/admin.py +++ b/server/landing_page/admin.py @@ -3,4 +3,4 @@ # Register your models here. admin.site.register(Pricing) -admin.site.register(Feature) +admin.site.register(Feature) \ No newline at end of file diff --git a/server/server/urls.py b/server/server/urls.py index 53333e8..ae7d55e 100644 --- a/server/server/urls.py +++ b/server/server/urls.py @@ -26,6 +26,8 @@ path("api/token/refresh/", TokenRefreshView.as_view(), name="token_refresh"), path("api/healthcheck/", include("healthcheck.urls")), path("api/user/", include("user_profile.urls")), + path("api/vet/", include("vet.urls")), + path("api/dog/", include("dog.urls")), path("pet/", include("pet.urls")), path("tasks/", include("tasks.urls")), path("landing/", include("landing_page.urls")), diff --git a/server/vet/urls.py b/server/vet/urls.py index 0458c45..356f5fc 100644 --- a/server/vet/urls.py +++ b/server/vet/urls.py @@ -4,4 +4,6 @@ app_name = "vet" urlpatterns = [ path("", views.vet_home, name="vet-home"), + path("clinics/", views.VetClinicList.as_view(), name="vet-clinic-list"), + path("clinics//", views.VetClinicDetail.as_view(), name="vet-clinic-detail"), ] diff --git a/server/vet/views.py b/server/vet/views.py index 2c8aa80..c5b28f9 100644 --- a/server/vet/views.py +++ b/server/vet/views.py @@ -1,4 +1,46 @@ from django.shortcuts import render +from rest_framework import generics, permissions +from rest_framework.decorators import api_view, permission_classes +from rest_framework.response import Response +from .models import VetClinic +from .serializers import VetClinicSerializer + + # Create your views here. def vet_home(request): - return render(request, 'vet/vet_home.html') \ No newline at end of file + return render(request, 'vet/vet_home.html') + + +@api_view(['GET']) +@permission_classes([permissions.AllowAny]) +def vet_clinic_list(request): + """API endpoint to list all vet clinics""" + clinics = VetClinic.objects.all() + serializer = VetClinicSerializer(clinics, many=True) + return Response(serializer.data) + + +@api_view(['GET']) +@permission_classes([permissions.AllowAny]) +def vet_clinic_detail(request, pk): + """API endpoint to get a specific vet clinic""" + try: + clinic = VetClinic.objects.get(pk=pk) + serializer = VetClinicSerializer(clinic) + return Response(serializer.data) + except VetClinic.DoesNotExist: + return Response({'error': 'Vet clinic not found'}, status=404) + + +class VetClinicList(generics.ListAPIView): + """ViewSet for listing all vet clinics""" + permission_classes = [permissions.AllowAny] + queryset = VetClinic.objects.all() + serializer_class = VetClinicSerializer + + +class VetClinicDetail(generics.RetrieveAPIView): + """ViewSet for retrieving a specific vet clinic""" + permission_classes = [permissions.AllowAny] + queryset = VetClinic.objects.all() + serializer_class = VetClinicSerializer \ No newline at end of file