AI Review Center
Commit Review Workspace ?
Select a commit on the left to inspect quality, security, business value, findings, and suggested code changes.
Project AI Score
?
63%
Quality Avg
?
68%
Security Avg
?
45%
Reviews
?
56
Review Result ?
jattin01/avriti · 5f65ff47
This commit adds skeleton UI components to various dashboard pages, including About, Cart, Contact, Login, and My Order pages. The UI is heavily static with no hooks or backend integration coded, minimal interactivity, and no form validation or state management evident. Although it improves visual structure, it lacks functional logic to handle real user data or interaction.
Quality
?
70%
Security
?
30%
Business Value
?
60%
Maintainability
?
65%
Issues & Suggested Fixes
?
1AI detects the issue
2Shows file, line, or evidence
3Suggests the fix to apply
The Remove Item Button Lacks An Onclick Ha...
Where
app/cart/page.tsx:21
Issue / Evidence
The remove item button lacks an onClick handler
Suggested Fix
add functionality to remove items to reduce bug risk and improve business value
The Quantity Decrease Button Lacks State M...
Where
app/cart/page.tsx:42
Issue / Evidence
The quantity decrease button lacks state management
Suggested Fix
implement state handlers to update item quantity
The Quantity Increase Button Lacks State M...
Where
app/cart/page.tsx:53
Issue / Evidence
The quantity increase button lacks state management
Suggested Fix
implement state handlers to update item quantity
Missing Validation
Where
app/cart/page.tsx:110
Issue / Evidence
The coupon code input is not managed nor validated
Suggested Fix
add validation and link to coupon application logic
Static Order Items Are Hardcoded
Where
app/my-order/page.tsx:5
Issue / Evidence
Static order items are hardcoded
Suggested Fix
Connect to API or state management to dynamically load order data
Static Order Meta Is Hardcoded
Where
app/my-order/page.tsx:22
Issue / Evidence
Static order meta is hardcoded
Suggested Fix
Dynamically fetch and update order status and payment method from backend
Message Is Too Generic And Uninformative
Where
commit message
Issue / Evidence
Message is too generic and uninformative
Suggested Fix
Improve message to include scope, purpose, and highlights of changes
Code Change Preview · app/about/page.tsx
?
Removed / Before Commit
- import Image from "next/image"; - import { Badge } from "@/components/ui/badge"; - import { Card } from "@/components/ui/card"; - - export default function AboutPage() { - return ( - <div> - <section className="brand-gradient"> - <div className="mx-auto max-w-7xl py-18"> - <div> - <h1 className="uppercase text-[40px] md:text-[50px] font-semibold text-[var(--color-primary-700)] text-center font-serif"> - About Us - </h1> - - </div> - - </div> - </section>
Added / After Commit
+ import Image from "next/image"; + import { Badge } from "@/components/ui/badge"; + import { Card } from "@/components/ui/card"; + import InnerBanner from "@/components/inner-banner"; + + export default function AboutPage() { + return ( + <div> + <InnerBanner title="About Us" /> + + + <section className="mx-auto max-w-7xl px-4 sm:px-6 lg:px-8 my-[50px] md:my-[80px]"> + <div className="grid md:grid-cols-2 gap-8">
Removed / Before Commit
Added / After Commit
+ import InnerBanner from "@/components/inner-banner"; + export default function CartPage() { + return ( + <div> + <InnerBanner title="Cart" /> + + <section> + <div className="mx-auto max-w-7xl px-4 py-18 sm:px-6 lg:px-8"> + <div className="grid items-start gap-4 lg:grid-cols-[7fr_3fr]"> + <div className="bg-white"> + <div className="overflow-hidden rounded-[12px] border border-[#E3E1DC] bg-white shadow-[0_2px_12px_rgba(0,0,0,0.04)]"> + <div className="hidden grid-cols-[minmax(300px,1fr)_120px_150px_120px] items-center bg-[var(--color-primary-700)] px-5 py-4 text-[11px] font-bold uppercase tracking-[0.12em] text-white md:grid"> + <p>Product</p> + <p className="text-center">Price</p> + <p className="text-center">Quantity</p> + <p className="text-center">Subtotal</p> + </div> +
Removed / Before Commit
- import { Button } from "@/components/ui/button"; - import { Card } from "@/components/ui/card"; - import { Input } from "@/components/ui/input"; - - export default function ContactPage() { - return ( - <div> - <section className="brand-gradient"> - <div className="mx-auto max-w-7xl px-4 py-14 sm:px-6 lg:px-8"> - <h1 className="uppercase text-[40px] md:text-[50px] font-semibold text-[var(--color-primary-700)] text-center font-serif"> - Contact Us - </h1> - - </div> - </section> - - <section className="mx-auto grid max-w-7xl gap-8 px-4 py-14 sm:px-6 lg:grid-cols-[0.8fr_1.2fr] lg:px-8"> - <div className="space-y-4">
Added / After Commit
+ import { Button } from "@/components/ui/button"; + import { Card } from "@/components/ui/card"; + import { Input } from "@/components/ui/input"; + import InnerBanner from "@/components/inner-banner"; + + export default function ContactPage() { + return ( + <div> + <InnerBanner title="Contact Us" /> + + <section className="mx-auto grid max-w-7xl gap-8 px-4 py-14 sm:px-6 lg:grid-cols-[0.8fr_1.2fr] lg:px-8"> + <div className="space-y-4"> + {[
Removed / Before Commit
- "use client"; - - import { useState } from "react"; - // ... rest of your code - - export default function LoginPage() { - {/* Footer */} - <p className="text-center mt-5 fade-up-5" style={{ fontSize: "13px", color: "#9E9890" }}> - Don't have an account?{" "} - <span className="link-text text-[var(--color-primary-700)]"> - Create one - </span> - </p> - </div> - </div>
Added / After Commit
+ "use client"; + + import { useState } from "react"; + import Link from "next/link"; + // ... rest of your code + + export default function LoginPage() { + {/* Footer */} + <p className="text-center mt-5 fade-up-5" style={{ fontSize: "13px", color: "#9E9890" }}> + Don't have an account?{" "} + <Link href="/register" className="link-text text-[var(--color-primary-700)]"> + Create one + </Link> + </p> + </div> + </div>
Removed / Before Commit
Added / After Commit
+ import Image from "next/image"; + import { CreditCard, Home, MapPin, Phone, User } from "lucide-react"; + import InnerBanner from "@/components/inner-banner"; + + const orderItems = [ + { + id: 1, + name: "Avriti Shuddhi - Mopping Salt", + unitPrice: 70, + quantity: 1, + image: "/1.jpeg", + }, + { + id: 2, + name: "Avriti Jal Shuddhi - Bathroom Salt ", + unitPrice: 70, + quantity: 1, + image: "/product3.jpeg",
Removed / Before Commit
Added / After Commit
+ "use client"; + + import InnerBanner from "@/components/inner-banner"; + import { OrderCard } from "@/components/order-card"; + + // Mock data - replace with API call + const mockOrders = [ + { + id: "1", + orderNumber: "100259", + items: 2, + date: "5/1/2026, 7:13:50 PM", + status: "pending" as const, + paymentMethod: "Cash on Delivery", + paymentStatus: "unpaid" as const, + price: "147", + shopName: "Avriti", + },
Removed / Before Commit
Added / After Commit
+ "use client"; + + import { useState } from "react"; + import Link from "next/link"; + + export default function RegisterPage() { + const [email, setEmail] = useState(""); + const [password, setPassword] = useState(""); + const [confirmPassword, setConfirmPassword] = useState(""); + const [showPassword, setShowPassword] = useState(false); + const [showConfirmPassword, setShowConfirmPassword] = useState(false); + const [loading, setLoading] = useState(false); + const [focused, setFocused] = useState(""); + + const handleSubmit = () => { + setLoading(true); + setTimeout(() => setLoading(false), 2000); + };
Removed / Before Commit
- import Image from "next/image"; - import Link from "next/link"; - import { PdfBrowserFrame } from "@/components/pdf-browser-frame"; - - - const categories = [ - "Shop", - - return ( - <div className="bg-white"> - <PdfBrowserFrame label="Website Shop"> - <div className="mt-[30px] pb-12"> - <h1 className="pt-4 text-center text-5xl font-normal font-serif text-[var(--color-primary-700)]"> - Shop - </h1> - - <div className="mt-10 grid gap-8 lg:grid-cols-[215px_1fr] items-start"> - <aside className="lg:sticky top-[90px] bg-[var(--color-primary-700)] p-4 rounded-[15px]">
Added / After Commit
+ import Image from "next/image"; + import Link from "next/link"; + import { PdfBrowserFrame } from "@/components/pdf-browser-frame"; + import InnerBanner from "@/components/inner-banner"; + + const categories = [ + "Shop", + + return ( + <div className="bg-white"> + <InnerBanner title="Shop" /> + <PdfBrowserFrame label="Website Shop"> + <div className="mt-[30px] pb-12"> + + <div className="mt-10 grid gap-8 lg:grid-cols-[215px_1fr] items-start"> + <aside className="lg:sticky top-[90px] bg-[var(--color-primary-700)] p-4 rounded-[15px]"> + <div className="space-y-5 text-[13px] leading-5">
Removed / Before Commit
Added / After Commit
+ type InnerBannerProps = { + title: string; + }; + + export default function InnerBanner({ title }: InnerBannerProps) { + return ( + <div> + <section className="brand-gradient"> + <div className="mx-auto max-w-7xl py-18"> + <div> + <h1 className="text-center text-[30px] font-semibold uppercase text-[var(--color-primary-700)] md:text-[40px]"> + {title} + </h1> + </div> + </div> + </section> + </div> +
Removed / Before Commit
Added / After Commit
+ "use client"; + + import { Card } from "@/components/ui/card"; + import { Button } from "@/components/ui/button"; + import Image from "next/image"; + + interface Order { + id: string; + orderNumber: string; + items: number; + date: string; + status: "pending" | "processing" | "delivered" | "cancelled"; + paymentMethod: string; + paymentStatus: "paid" | "unpaid" | "failed"; + price: string; + logo?: string; + shopName?: string; + }