Skip to content

Conversation

@Tarakshgoyal
Copy link

No description provided.

@netlify
Copy link

netlify bot commented Sep 6, 2025

Deploy Preview for open-website-2 ready!

Name Link
🔨 Latest commit 44987cd
🔍 Latest deploy log https://app.netlify.com/projects/open-website-2/deploys/68c6648b150a27000846a763
😎 Deploy Preview https://deploy-preview-21--open-website-2.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

Copy link
Member

@shubhojit-mitra-dev shubhojit-mitra-dev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please fix all these issues

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why package-lock when we are using pnpm?

package.json Outdated
"@react-three/fiber": "^9.3.0",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"lucide-react": "^0.542.0",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we are using react icons, no need for additional library.

package.json Outdated
"lucide-react": "^0.542.0",
"motion": "^12.23.12",
"next": "15.5.2",
"next": "^15.5.1-canary.26",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why nextjs canary? what is the need, please explain it.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

automatically added not done by me

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not required, delete this component!!!

package.json Outdated
"next": "15.5.2",
"next": "^15.5.1-canary.26",
"next-themes": "^0.4.6",
"ogl": "^1.0.11",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not required!

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

using it in LightRays.tsx

package.json Outdated
"react": "19.1.0",
"react-dom": "19.1.0",
"react-icons": "^5.5.0",
"react-router-dom": "^7.8.2",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why rrd in Nextjs? Please go through the documentation carefully!!!

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I asked for a separate constants.ts file for all the static content

<ComingSoon />
<div className="relative w-full min-h-[600px]">
<div className='absolute inset-0 -z-10 overflow-hidden'>
<LightRays />
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not required!!!!

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

that's the background lighting that component is from reactbit

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Was this necessary?

Copy link
Author

@Tarakshgoyal Tarakshgoyal Sep 6, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

in latest nextjs it is necessary, it automatically gets created

Copy link
Member

@shubhojit-mitra-dev shubhojit-mitra-dev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The code is not up to the mark, please follow best software development principles. If you are not able to understand please contact me

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not a shared component, use file colocation for feature specific components

import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
import { MdEmail, MdPhone, MdLocationOn, MdSend } from "react-icons/md";import { toast } from "sonner";

const ContactForm = () => {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

separate the client logic from the server logic. This code is not maintainable in the long run

setFormData({ name: "", email: "", subject: "", message: "" });
};

const handleChange = (e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Form handling should be done with react-hook-forms and zod for proper validation. The client-side should only send sanitized data to the server. These type of mistakes leads to XSS attacks

<section>
<h2 className="text-2xl font-semibold mb-4 text-foreground">1. Acceptance of Terms</h2>
<p className="text-muted-foreground leading-relaxed">
By accessing and using this website, you accept and agree to be bound by the terms and provision of this agreement. If you do not agree to abide by the above, please do not use this service.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I asked for a separate constants.ts file. How many times do I need to tell? I even showed you in the meeting how I want the files to be. This type of code is not at all maintainable

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Every single file have the same problem of not having a constants file for content data. Please create a single shared template, since all these pages look the same. Please use software principles like KISS and DRY for these kind of things.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This component is completely useless, since it is only used in one place, remove it and it's dependency.

Copy link
Member

@shubhojit-mitra-dev shubhojit-mitra-dev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I told you in the previous code review, that since all of these pages look the same, create a single template and the constants file should be with their respective pages. Please follow at least basic software design principles. I told you to ask me if you are not clear.

import { toast } from "sonner";

// ✅ Zod schema for validation + sanitization
const ContactSchema = z.object({

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I already told in the meet itself, The UI and the submission and validation logic should be separate. In react we are allowed to build custom hooks to separate individual logic.

@@ -1,10 +1,239 @@
import ComingSoon from '@/components/ComingSoon';
'use client';

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This entire form is not needed as a client component. Separate the logic for client and server components.

});

// ✅ Sanitize + submit
const onSubmit = async (data: ContactFormData) => {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I demonstrated in the meet itself, how to use the lib/apiClient.ts file for type-safe api calls.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why is the constants file in components folder? This is not how you structure an application. Constants for each page should be with their respective page.tsx and in each page.tsx their should be used a single template that takes the constants as it's props.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants