Skip to content

feat: Youtube Clone - MiniYoutube#1

Open
Saqib-Rafique wants to merge 4 commits intomainfrom
feat/youtube-clone-app
Open

feat: Youtube Clone - MiniYoutube#1
Saqib-Rafique wants to merge 4 commits intomainfrom
feat/youtube-clone-app

Conversation

@Saqib-Rafique
Copy link
Owner

@Saqib-Rafique Saqib-Rafique commented Jan 13, 2026

This PR introduces the complete initial setup of the project using React + Vite. It includes the base architecture, core components, global state management, error handling, and essential configurations. The foundation is structured for scalability, performance, and future feature development.

Demo:
Uploading Screen Recording 2026-01-15 at 1.52.38 PM.zip…

@@ -0,0 +1 @@
VITE_YT_API_KEY=AIzaSyDkIk_NusumqppZBW-JhaQM75EZRL5s-To
Copy link
Collaborator

Choose a reason for hiding this comment

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

Include .env file in gitignore. Push a .env.sample file with blank secrets instead. Never add secrets to repo.

import React from "react";
import ReactDOM from "react-dom/client";
import { BrowserRouter } from "react-router-dom";
import App from "./App";
Copy link
Collaborator

Choose a reason for hiding this comment

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

better to use absolute paths for imports

@@ -0,0 +1,18 @@
import React from "react";
import ReactDOM from "react-dom/client";
import { BrowserRouter } from "react-router-dom";
Copy link
Collaborator

Choose a reason for hiding this comment

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

use code formatters like prettier and auto sort to create separation between different types of imports, 3rd party and local etc

Copy link
Collaborator

Choose a reason for hiding this comment

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

remain consistent in use of tab space (2 spaces for tab is preferred)

Copy link
Collaborator

Choose a reason for hiding this comment

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

we can merge it with index.css

return (
<Card>
<CardContent>
<div style={{ position: "relative", paddingTop: "56.25%" }}>
Copy link
Collaborator

Choose a reason for hiding this comment

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

for consistency use <Box instead of <div

Comment on lines +42 to +45
useEffect(() => {
if (!activeChip || activeChip === "All") return;
runSearch(activeChip);
}, [activeChip, runSearch]);
Copy link
Collaborator

Choose a reason for hiding this comment

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

shouldn't be an effect

Comment on lines +37 to +39
useEffect(() => {
if (!videos?.length) runSearch("React tutorials");
}, [videos?.length, runSearch]);
Copy link
Collaborator

Choose a reason for hiding this comment

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

faulty logic


const handleNavigate = (path) => {
navigate(path);
if (!isDesktop) setSidebarOpen(false);
Copy link
Collaborator

Choose a reason for hiding this comment

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

this line isn't required due to first useEffect

Comment on lines +45 to +50
sx={{
borderBottom: "1px solid",
borderColor: "divider",
zIndex: (theme) => theme.zIndex.drawer + 1,
backgroundColor: "background.paper",
}}
Copy link
Collaborator

Choose a reason for hiding this comment

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

in future lets use emotion styled() for styling

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