Showing AI reviews for avriti
Project AI Score ?
63%
Quality Avg ?
68%
Security Avg ?
45%
Reviews ?
56

Review Result ?

jattin01/avriti · fa2de489
This commit mainly adds repeated static product data across multiple files with minor component additions in the profile page and some UI updates. The content is largely duplicated and hardcoded, which limits quality and business value. No security improvements were made, and code repetition raises bug risks. Importing Image without proper use or alt attributes and using <img> tags directly may cause accessibility and SEO issues.
Quality ?
40%
Security ?
20%
Business Value ?
30%
Maintainability ?
60%
Issues & Suggested Fixes ?
1AI detects the issue
2Shows file, line, or evidence
3Suggests the fix to apply
Duplicate Logic
Where app/cart/page.tsx:9-69
Issue / Evidence repeated hardcoded product data
Suggested Fix refactor product data into a single source to improve maintainability and reduce bugs
Duplicate Logic
Where app/page.tsx:14-69
Issue / Evidence repeated hardcoded product data
Suggested Fix refactor product data into a single source to avoid duplication and inconsistencies
Usage Of <Img> Without Alt Attribute And P...
Where components/site-footer.tsx:13
Issue / Evidence usage of <img> without alt attribute and possibly inconsistent className
Suggested Fix replace <img> with <Image> component with alt text for accessibility and performance benefits
Imported Image But Only Partial Usage Seen
Where components/whatsapp-cta.tsx:3-12
Issue / Evidence imported Image but only partial usage seen
Suggested Fix ensure consistent and proper use of Image component with alt text
Vague And Non Informative Merge Message
Where commit message
Issue / Evidence vague and non-informative merge message
Suggested Fix write descriptive commit messages to improve traceability and business value understanding
Code Change Preview · app/cart/page.tsx ?
Removed / Before Commit
- {
- slug: "shuddhi-mopping-salt",
- name: "Avriti Shuddhi - Mopping Salt - 1kg",
-     price: 299,
- image: "/product2.jpeg",
- tone: "from-[#E8EDFB] to-[#D0D9F7]",
- },  
- {
- slug: "jal-shuddhi-bathroom-salt",
- name: "Avriti Jal Shuddhi - Bathroom Salt - 250g",
-     price: 359,
- image: "/product3.jpeg",
- tone: "from-[#F4F0E8] to-[#EDE4DC]",
- },
- {
- slug: "drishti-tarot-78",
- name: "Drishti Tarot Cards - Pack of 78 cards",
-     price: 299,
Added / After Commit
+ {
+ slug: "shuddhi-mopping-salt",
+ name: "Avriti Shuddhi - Mopping Salt - 1kg",
+     price: "299",
+     category: "Salt",
+   badge: "New",
+   description: "Premium mopping salt for daily use.",
+ image: "/product2.jpeg",
+ tone: "from-[#E8EDFB] to-[#D0D9F7]",
+ },  
+ {
+ slug: "jal-shuddhi-bathroom-salt",
+ name: "Avriti Jal Shuddhi - Bathroom Salt - 250g",
+     price: "359",
+       category: "Salt",
+   badge: "New",
+   description: "Premium mopping salt for daily use.",
+ image: "/product3.jpeg",
Removed / Before Commit
- {
- slug: "shuddhi-mopping-salt",
- name: "Avriti Shuddhi - Mopping Salt - 1kg",
-     price: 299,
- image: "/product2.jpeg",
- tone: "from-[#E8EDFB] to-[#D0D9F7]",
- },
- {
- slug: "jal-shuddhi-bathroom-salt",
- name: "Avriti Jal Shuddhi - Bathroom Salt - 250g",
-     price: 359,
- image: "/product3.jpeg",
- tone: "from-[#F4F0E8] to-[#EDE4DC]",
- },
- {
- slug: "drishti-tarot-78",
- name: "Drishti Tarot Cards - Pack of 78 cards",
-     price: 299,
Added / After Commit
+ {
+ slug: "shuddhi-mopping-salt",
+ name: "Avriti Shuddhi - Mopping Salt - 1kg",
+     price: "299",
+ image: "/product2.jpeg",
+ tone: "from-[#E8EDFB] to-[#D0D9F7]",
+      category: "Salt",
+   badge: "New",
+   description: "Premium mopping salt for daily use.",
+ },
+ {
+ slug: "jal-shuddhi-bathroom-salt",
+ name: "Avriti Jal Shuddhi - Bathroom Salt - 250g",
+     price: "359",
+ image: "/product3.jpeg",
+ tone: "from-[#F4F0E8] to-[#EDE4DC]",
+      category: "Salt",
+   badge: "New",
Removed / Before Commit
- 
- import { useState } from "react";
- import Link from "next/link";
- import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
- import {
- faUser, faBoxOpen, faMapMarkerAlt, faSignOutAlt,
- { key: "security", label: "Security", icon: faShieldAlt },
- ];
- 
- function InfoRow({ label, value }) {
- return (
- <div className="flex items-center justify-between py-3 border-b border-[#F0EDE9] last:border-0">
- <span className="text-sm text-[#9E9890]">{label}</span>
- );
- }
- 
- function Card({ children, className = "" }) {
- return (
Added / After Commit
+ 
+ import { useState } from "react";
+ import Link from "next/link";
+ import type { ReactNode } from "react";
+ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
+ import {
+ faUser, faBoxOpen, faMapMarkerAlt, faSignOutAlt,
+ { key: "security", label: "Security", icon: faShieldAlt },
+ ];
+ 
+ interface InfoRowProps {
+   label: string;
+   value: string;
+ }
+ 
+ function InfoRow({ label, value }: InfoRowProps) {
+ return (
+ <div className="flex items-center justify-between py-3 border-b border-[#F0EDE9] last:border-0">
Removed / Before Commit
- import { Camera, PlaySquare } from "lucide-react";
- import { Button } from "@/components/ui/button";
- import { Input } from "@/components/ui/input";
- 
- export function SiteFooter() {
- return (
-     <footer className="border-t border-[var(--color-border)] bg-[#f8fbff]">
- <div className="mx-auto grid max-w-7xl gap-10 px-4 py-12 sm:px-6 lg:grid-cols-[1.2fr_0.8fr_1fr] lg:px-8">
- <div>
-           <img
-                         src="/logo1.png"
-                         alt="Avriti"
-                         fill
-                         sizes="112px"
-                         className="object-contain w-[100px]"
-                         priority
-                       />
- <p className="mt-4 max-w-sm text-sm leading-6 text-[var(--color-text-secondary)]">
Added / After Commit
+ import { Camera, PlaySquare } from "lucide-react";
+ import { Button } from "@/components/ui/button";
+ import { Input } from "@/components/ui/input";
+ import Image from "next/image";
+ 
+ export function SiteFooter() {
+ return (
+     <footer className="asddsa border-t border-[var(--color-border)] bg-[#f8fbff]">
+ <div className="mx-auto grid max-w-7xl gap-10 px-4 py-12 sm:px-6 lg:grid-cols-[1.2fr_0.8fr_1fr] lg:px-8">
+ <div>
+      
+   <img src="/logo1.png" className="object-contain w-[100px]" />
+ <p className="mt-4 max-w-sm text-sm leading-6 text-[var(--color-text-secondary)]">
+ Sacred products, Vedic-inspired consultations, and calm practical
+ guidance for everyday decisions.
+ </Link>
+ </div>
+ </div>
Removed / Before Commit
- import Link from "next/link";
- import { MessageCircle } from "lucide-react";
- 
- export function WhatsAppCta() {
- return (
- className="fixed bottom-5 right-5 z-50 inline-flex h-14 w-14 items-center justify-center rounded-full bg-[#25D366] text-white shadow-[var(--shadow-soft)] transition hover:bg-[var(--color-primary-600)]"
- aria-label="Message Avriti on WhatsApp"
- >
-       <img
- src="/whatsapp.png"
- alt="Avriti"
- fill
Added / After Commit
+ import Link from "next/link";
+ import { MessageCircle } from "lucide-react";
+ import Image from "next/image";
+ 
+ export function WhatsAppCta() {
+ return (
+ className="fixed bottom-5 right-5 z-50 inline-flex h-14 w-14 items-center justify-center rounded-full bg-[#25D366] text-white shadow-[var(--shadow-soft)] transition hover:bg-[var(--color-primary-600)]"
+ aria-label="Message Avriti on WhatsApp"
+ >
+        <Image
+ src="/whatsapp.png"
+ alt="Avriti"
+ fill