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

Review Result ?

jattin01/avriti · 53dd87bf
The commit adds optional product ID and attribute name properties and improves cart merging on user registration. However, there is a lack of detailed comments or tests to ensure proper integration. Some conditional checks could be more robust to avoid silent failures. Security considerations around data handling are not explicitly addressed.
Quality ?
65%
Security ?
50%
Business Value ?
70%
Maintainability ?
68%
Issues & Suggested Fixes ?
1AI detects the issue
2Shows file, line, or evidence
3Suggests the fix to apply
Weak Null Check
Where app/product-card.tsx:46
Issue / Evidence weak null check
Suggested Fix add detailed validation or error logging for missing productId to reduce silent failures
Missing Error Handling
Where app/register/page.tsx:48
Issue / Evidence missing error handling
Suggested Fix wrap mergeLocalCartToApi call in try-catch to handle potential API errors gracefully
Undocumented New Props
Where app/page.tsx:16
Issue / Evidence undocumented new props
Suggested Fix add TypeScript or JS doc comments to clarify productId and attributeName usage
Data Mapping Clarity
Where components/ProductDetailSection.tsx:67
Issue / Evidence data mapping clarity
Suggested Fix validate that selectedAttr.name is always defined or handle undefined case explicitly
Nullable Attribute Usage
Where components/product-card.tsx:50
Issue / Evidence nullable attribute usage
Suggested Fix consider stricter typing or fallback values to prevent undefined attribute_name
Vague Summary
Where commit message
Issue / Evidence vague summary
Suggested Fix improve commit message with more detailed explanation of what 'card data fix' entails and affected components
Code Change Preview · app/page.tsx ?
Removed / Before Commit
- type FeaturedProduct = {
- slug: string;
- name: string;
- attrValue: string;
- variantName: string;
- sellingPrice: number | null;
- mrp: number | null;
Added / After Commit
+ type FeaturedProduct = {
+ slug: string;
+ name: string;
+   productId?: number;
+ attrValue: string;
+   attributeName?: string;
+ variantName: string;
+ sellingPrice: number | null;
+ mrp: number | null;
Removed / Before Commit
- 
- import { useState } from "react";
- import Link from "next/link";
- 
- export default function RegisterPage() {
- const [email, setEmail] = useState("");
- return;
- }
- try {
-         
- localStorage.setItem("avriti_customer", JSON.stringify({ name: data.customer.full_name, email: data.customer.email, phone: data.customer.phone, token: data.token }));
- } catch {}
- window.location.href = "/";
- } catch {
Added / After Commit
+ 
+ import { useState } from "react";
+ import Link from "next/link";
+ import { mergeLocalCartToApi } from "@/lib/cart";
+ 
+ export default function RegisterPage() {
+ const [email, setEmail] = useState("");
+ return;
+ }
+ try {
+ localStorage.setItem("avriti_customer", JSON.stringify({ name: data.customer.full_name, email: data.customer.email, phone: data.customer.phone, token: data.token }));
+         await mergeLocalCartToApi();
+ } catch {}
+ window.location.href = "/";
+ } catch {
Removed / Before Commit
- event.preventDefault();
- event.stopPropagation();
- 
-     if (!product.productId || !product.attributeName) return;
- 
- const item = {
- product_id: product.productId,
-       attribute_name: product.attributeName,
- attribute_value: product.attributeValue ?? product.attrValue ?? "",
- quantity: 1,
- };
Added / After Commit
+ event.preventDefault();
+ event.stopPropagation();
+ 
+     if (!product.productId) return;
+ 
+ const item = {
+ product_id: product.productId,
+       attribute_name: product.attributeName ?? "",
+ attribute_value: product.attributeValue ?? product.attrValue ?? "",
+ quantity: 1,
+ };
Removed / Before Commit
- type FeaturedProduct = {
- slug: string;
- name: string;
- attrValue: string;
- variantName: string;
- sellingPrice: number | null;
- mrp: number | null;
Added / After Commit
+ type FeaturedProduct = {
+ slug: string;
+ name: string;
+   productId?: number;
+ attrValue: string;
+   attributeName?: string;
+ variantName: string;
+ sellingPrice: number | null;
+ mrp: number | null;
Removed / Before Commit
- if (isLoggedIn()) {
- await apiAddToCart({
- product_id: product.id,
-         attribute_name: selectedAttr.name,
- attribute_value: selectedAttr.value,
- quantity,
- });
Added / After Commit
+ if (isLoggedIn()) {
+ await apiAddToCart({
+ product_id: product.id,
+         attribute_name: selectedAttr.name ?? "",
+ attribute_value: selectedAttr.value,
+ quantity,
+ });
Removed / Before Commit
- 
- <div>
- <Link
-               href={isLoggedIn() ? "/wishlist" : "/login?redirect=/wishlist"}
- className="inline-flex items-center justify-between rounded-[6px] bg-gradient-to-br from-[#C7C3D6] to-[#3C60C2] px-2 py-2 text-white gap-1 cursor-pointer"
- aria-label="Wishlist"
- >
Added / After Commit
+ 
+ <div>
+ <Link
+               href="/wishlist"
+ className="inline-flex items-center justify-between rounded-[6px] bg-gradient-to-br from-[#C7C3D6] to-[#3C60C2] px-2 py-2 text-white gap-1 cursor-pointer"
+ aria-label="Wishlist"
+ >