From 9cd4e6927219d9f6cff864c334d9c3a7c9e07c88 Mon Sep 17 00:00:00 2001 From: austin616 Date: Wed, 10 Sep 2025 17:09:00 -0500 Subject: [PATCH 01/13] chnaged route --- app/auth/callback/route.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/auth/callback/route.ts b/app/auth/callback/route.ts index e81b7c0..bb6218e 100644 --- a/app/auth/callback/route.ts +++ b/app/auth/callback/route.ts @@ -8,7 +8,7 @@ export async function GET(request: NextRequest) { const requestUrl = new URL(request.url); const code = requestUrl.searchParams.get('code'); const type = requestUrl.searchParams.get('type'); - const next = requestUrl.searchParams.get('next') || '/settings'; + const next = requestUrl.searchParams.get('next') || '/'; // If this is an email confirmation, redirect to the confirmation page if (type === 'signup') { From 0e2d0d96e616cb001660d9b34cdb51a6774a761f Mon Sep 17 00:00:00 2001 From: austin616 Date: Wed, 10 Sep 2025 17:25:48 -0500 Subject: [PATCH 02/13] updated commit form --- app/create/components/ImageUpload.tsx | 4 ---- app/create/page.tsx | 9 +++++++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/app/create/components/ImageUpload.tsx b/app/create/components/ImageUpload.tsx index def5325..6853cc3 100644 --- a/app/create/components/ImageUpload.tsx +++ b/app/create/components/ImageUpload.tsx @@ -59,10 +59,6 @@ const ImageUpload: React.FC = ({ onChange={handleFileChange} /> - ); }; diff --git a/app/create/page.tsx b/app/create/page.tsx index 3318d82..dace067 100644 --- a/app/create/page.tsx +++ b/app/create/page.tsx @@ -89,7 +89,6 @@ const Create = () => { setImages((prev) => prev.filter((_, i) => i !== index)); }; - const handleSaveDraft = async () => { if (!user?.id) { toast.error("You must be logged in to save a draft."); @@ -232,6 +231,7 @@ const Create = () => { className="w-full border rounded-md px-3 py-2 text-sm" value={title} onChange={(e) => setTitle(e.target.value)} + required /> @@ -245,6 +245,7 @@ const Create = () => { className="w-full border rounded-md px-3 py-2 text-sm" value={category} onChange={(e) => setCategory(e.target.value)} + required > @@ -282,6 +283,7 @@ const Create = () => { onBlur={() => { if (price < 0.01) setPrice(0.01); }} + required /> {price < 0.01 && ( @@ -299,6 +301,7 @@ const Create = () => { className="w-full border rounded-md px-3 py-2 text-sm" value={condition} onChange={(e) => setCondition(e.target.value)} + required > @@ -317,9 +320,10 @@ const Create = () => { setLocation(e.target.value)} + required />
{ placeholder="Describe your item..." value={description} onChange={(e) => setDescription(e.target.value)} + required />
From 7e60fc1a353e67cac53fb908c2047f507b2cf6da Mon Sep 17 00:00:00 2001 From: austin616 Date: Wed, 15 Oct 2025 23:43:08 -0500 Subject: [PATCH 03/13] feat: updated homepage as designed in the figma --- app/layout.tsx | 10 +++++----- components/home/Hero.tsx | 13 +++---------- components/home/Recents.tsx | 31 +++++++++++++++++++++---------- 3 files changed, 29 insertions(+), 25 deletions(-) diff --git a/app/layout.tsx b/app/layout.tsx index 126a291..1b27693 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -1,15 +1,15 @@ import type { Metadata } from "next"; -import { Inter, Roboto } from "next/font/google"; +import { Inter, Roboto_Flex } from "next/font/google"; import "./globals.css"; import Navbar from "../components/globals/Navbar"; import { AuthProvider } from './context/AuthContext'; import FooterWrapper from "../components/globals/FooterWrapper"; import AdminRedirectWrapper from "../components/layout/AdminRedirectWrapper"; -// Using Roboto as a fallback since it's similar to Benton Sans -const roboto = Roboto({ +// Using Roboto Flex for better typography flexibility +const robotoFlex = Roboto_Flex({ subsets: ["latin"], - weight: ["100", "300", "400", "500", "700", "900"], + weight: ["100", "200", "300", "400", "500", "600", "700", "800", "900"], variable: "--font-sans", }); @@ -24,7 +24,7 @@ export default function RootLayout({ children: React.ReactNode; }) { return ( - +
diff --git a/components/home/Hero.tsx b/components/home/Hero.tsx index c49ca02..119d9fe 100644 --- a/components/home/Hero.tsx +++ b/components/home/Hero.tsx @@ -136,26 +136,19 @@ const Hero = () => { Create Listing - - - Browse Items - + Browse Items
- {/* Right: Animated Icon */} { const [listings, setListings] = useState([]); @@ -18,7 +18,7 @@ const RecentListings = () => { try { setLoading(true); const data = await ListingService.getListings({ - limit: 6, + limit: 8, excludeSold: true, excludeDrafts: true }); @@ -66,14 +66,19 @@ const RecentListings = () => { return (
-

Recent Listings

- - View All - +
+

+ + Recent Listings +

+
+ View All +
+ {loading ? ( -
- {[...Array(6)].map((_, index) => ( +
+ {[...Array(8)].map((_, index) => (
@@ -87,7 +92,7 @@ const RecentListings = () => { ) : listings.length === 0 ? (
No recent listings found.
) : ( -
+
{listings.map((listing) => (
window.location.href = `/listing/${listing.id}`} className="cursor-pointer"> { image: listing.user_image }} condition={listing.condition} - userRating={null} // UserRatingDisplay component will fetch the rating + userRating={null} />
))}
)} + +
+
+ View All +
+
) } From b6b81bdb1cc284d641b59362a2d8b03b772deedc Mon Sep 17 00:00:00 2001 From: austin616 Date: Wed, 15 Oct 2025 23:53:48 -0500 Subject: [PATCH 04/13] fix: fixing stylign inconsitencies --- app/page.tsx | 40 +++++++++++++++++++++++------------ components/globals/Navbar.tsx | 5 +++-- 2 files changed, 29 insertions(+), 16 deletions(-) diff --git a/app/page.tsx b/app/page.tsx index 7c4d9c5..52d7e32 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -1,12 +1,19 @@ "use client" import React, { useEffect, useState } from "react"; -import { motion, AnimatePresence } from "framer-motion"; import Hero from "../components/home/Hero"; import Testomonials from "../components/home/Testomonials"; import RecentListings from "../components/home/Recents"; import CategorySection from "../components/home/CategorySection"; -import { ShieldCheck, Zap, MessageCircle, Users, Star, CheckCircle, Flame, TrendingUp, Smile } from 'lucide-react'; +import { ShieldCheck, Zap, MessageCircle, Users, Star, CheckCircle } from 'lucide-react'; import BetaPopup from '../components/home/BetaPopup'; +import { FaPlus, FaSearch } from "react-icons/fa"; +import { motion, AnimatePresence } from "framer-motion"; +import Link from "next/link"; + +const itemVariants = { + hidden: { opacity: 0, y: 30 }, + visible: { opacity: 1, y: 0, transition: { duration: 0.7, ease: 'easeOut' } }, +}; const LiveTicker = () => { const [messages] = useState([ @@ -92,17 +99,27 @@ const HowItWorks = () => ( const CallToActionBanner = () => (
-
+

Ready to make a deal?

Create a listing or browse hundreds of items from fellow Longhorns!

- + + + + Create Listing + + + Browse Items + +
-
); @@ -116,12 +133,7 @@ const SafetyBadge = () => ( const Home = () => { return ( -
- {/* Background Pattern or Overlay */} - )} + + {/* Terms and Conditions Editor */} + {activeTab === 'terms' && ( +
+
+

Terms and Conditions Editor

+ + {termsLoading ? ( +
+
+ Loading terms... +
+ ) : terms ? ( +
+
+
+

Current Version

+ v{terms.version} +
+

+ Last updated: {new Date(terms.last_updated).toLocaleString()} +

+
+ +
+ + setTerms({...terms, title: e.target.value})} + className="w-full px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-[#bf5700] focus:border-transparent" + placeholder="Terms and Conditions" + /> +
+ +
+ +