Skip to content

Instantly share code, notes, and snippets.

@adrianhajdin
Created March 3, 2023 09:28
Show Gist options
  • Save adrianhajdin/b1d33c262941a7e21aad833a1cfc84b1 to your computer and use it in GitHub Desktop.
Save adrianhajdin/b1d33c262941a7e21aad833a1cfc84b1 to your computer and use it in GitHub Desktop.
Build and Deploy an Amazing 3D Web Developer Portfolio with ThreeJS | React Three Fiber
import {
mobile,
backend,
creator,
web,
javascript,
typescript,
html,
css,
reactjs,
redux,
tailwind,
nodejs,
mongodb,
git,
figma,
docker,
meta,
starbucks,
tesla,
shopify,
carrent,
jobit,
tripguide,
threejs,
} from "../assets";
export const navLinks = [
{
id: "about",
title: "About",
},
{
id: "work",
title: "Work",
},
{
id: "contact",
title: "Contact",
},
];
const services = [
{
title: "Web Developer",
icon: web,
},
{
title: "React Native Developer",
icon: mobile,
},
{
title: "Backend Developer",
icon: backend,
},
{
title: "Content Creator",
icon: creator,
},
];
const technologies = [
{
name: "HTML 5",
icon: html,
},
{
name: "CSS 3",
icon: css,
},
{
name: "JavaScript",
icon: javascript,
},
{
name: "TypeScript",
icon: typescript,
},
{
name: "React JS",
icon: reactjs,
},
{
name: "Redux Toolkit",
icon: redux,
},
{
name: "Tailwind CSS",
icon: tailwind,
},
{
name: "Node JS",
icon: nodejs,
},
{
name: "MongoDB",
icon: mongodb,
},
{
name: "Three JS",
icon: threejs,
},
{
name: "git",
icon: git,
},
{
name: "figma",
icon: figma,
},
{
name: "docker",
icon: docker,
},
];
const experiences = [
{
title: "React.js Developer",
company_name: "Starbucks",
icon: starbucks,
iconBg: "#383E56",
date: "March 2020 - April 2021",
points: [
"Developing and maintaining web applications using React.js and other related technologies.",
"Collaborating with cross-functional teams including designers, product managers, and other developers to create high-quality products.",
"Implementing responsive design and ensuring cross-browser compatibility.",
"Participating in code reviews and providing constructive feedback to other developers.",
],
},
{
title: "React Native Developer",
company_name: "Tesla",
icon: tesla,
iconBg: "#E6DEDD",
date: "Jan 2021 - Feb 2022",
points: [
"Developing and maintaining web applications using React.js and other related technologies.",
"Collaborating with cross-functional teams including designers, product managers, and other developers to create high-quality products.",
"Implementing responsive design and ensuring cross-browser compatibility.",
"Participating in code reviews and providing constructive feedback to other developers.",
],
},
{
title: "Web Developer",
company_name: "Shopify",
icon: shopify,
iconBg: "#383E56",
date: "Jan 2022 - Jan 2023",
points: [
"Developing and maintaining web applications using React.js and other related technologies.",
"Collaborating with cross-functional teams including designers, product managers, and other developers to create high-quality products.",
"Implementing responsive design and ensuring cross-browser compatibility.",
"Participating in code reviews and providing constructive feedback to other developers.",
],
},
{
title: "Full stack Developer",
company_name: "Meta",
icon: meta,
iconBg: "#E6DEDD",
date: "Jan 2023 - Present",
points: [
"Developing and maintaining web applications using React.js and other related technologies.",
"Collaborating with cross-functional teams including designers, product managers, and other developers to create high-quality products.",
"Implementing responsive design and ensuring cross-browser compatibility.",
"Participating in code reviews and providing constructive feedback to other developers.",
],
},
];
const testimonials = [
{
testimonial:
"I thought it was impossible to make a website as beautiful as our product, but Rick proved me wrong.",
name: "Sara Lee",
designation: "CFO",
company: "Acme Co",
image: "https://randomuser.me/api/portraits/women/4.jpg",
},
{
testimonial:
"I've never met a web developer who truly cares about their clients' success like Rick does.",
name: "Chris Brown",
designation: "COO",
company: "DEF Corp",
image: "https://randomuser.me/api/portraits/men/5.jpg",
},
{
testimonial:
"After Rick optimized our website, our traffic increased by 50%. We can't thank them enough!",
name: "Lisa Wang",
designation: "CTO",
company: "456 Enterprises",
image: "https://randomuser.me/api/portraits/women/6.jpg",
},
];
const projects = [
{
name: "Car Rent",
description:
"Web-based platform that allows users to search, book, and manage car rentals from various providers, providing a convenient and efficient solution for transportation needs.",
tags: [
{
name: "react",
color: "blue-text-gradient",
},
{
name: "mongodb",
color: "green-text-gradient",
},
{
name: "tailwind",
color: "pink-text-gradient",
},
],
image: carrent,
source_code_link: "https://github.com/",
},
{
name: "Job IT",
description:
"Web application that enables users to search for job openings, view estimated salary ranges for positions, and locate available jobs based on their current location.",
tags: [
{
name: "react",
color: "blue-text-gradient",
},
{
name: "restapi",
color: "green-text-gradient",
},
{
name: "scss",
color: "pink-text-gradient",
},
],
image: jobit,
source_code_link: "https://github.com/",
},
{
name: "Trip Guide",
description:
"A comprehensive travel booking platform that allows users to book flights, hotels, and rental cars, and offers curated recommendations for popular destinations.",
tags: [
{
name: "nextjs",
color: "blue-text-gradient",
},
{
name: "supabase",
color: "green-text-gradient",
},
{
name: "css",
color: "pink-text-gradient",
},
],
image: tripguide,
source_code_link: "https://github.com/",
},
];
export { services, technologies, experiences, testimonials, projects };
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600;700;800;900&display=swap");
@tailwind base;
@tailwind components;
@tailwind utilities;
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: "Poppins", sans-serif;
scroll-behavior: smooth;
color-scheme: dark;
}
.hash-span {
margin-top: -100px;
padding-bottom: 100px;
display: block;
}
.black-gradient {
background: #000000; /* fallback for old browsers */
background: -webkit-linear-gradient(
to right,
#434343,
#000000
); /* Chrome 10-25, Safari 5.1-6 */
background: linear-gradient(
to right,
#434343,
#000000
); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
}
.violet-gradient {
background: #804dee;
background: linear-gradient(-90deg, #804dee 0%, rgba(60, 51, 80, 0) 100%);
background: -webkit-linear-gradient(
-90deg,
#804dee 0%,
rgba(60, 51, 80, 0) 100%
);
}
.green-pink-gradient {
background: "#00cea8";
background: linear-gradient(90.13deg, #00cea8 1.9%, #bf61ff 97.5%);
background: -webkit-linear-gradient(-90.13deg, #00cea8 1.9%, #bf61ff 97.5%);
}
.orange-text-gradient {
background: #f12711; /* fallback for old browsers */
background: -webkit-linear-gradient(
to top,
#f12711,
#f5af19
); /* Chrome 10-25, Safari 5.1-6 */
background: linear-gradient(
to top,
#f12711,
#f5af19
); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.green-text-gradient {
background: #11998e; /* fallback for old browsers */
background: -webkit-linear-gradient(
to top,
#11998e,
#38ef7d
); /* Chrome 10-25, Safari 5.1-6 */
background: linear-gradient(
to top,
#11998e,
#38ef7d
); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.blue-text-gradient {
/* background: -webkit-linear-gradient(#eee, #333); */
background: #56ccf2; /* fallback for old browsers */
background: -webkit-linear-gradient(
to top,
#2f80ed,
#56ccf2
); /* Chrome 10-25, Safari 5.1-6 */
background: linear-gradient(
to top,
#2f80ed,
#56ccf2
); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.pink-text-gradient {
background: #ec008c; /* fallback for old browsers */
background: -webkit-linear-gradient(
to top,
#ec008c,
#fc6767
); /* Chrome 10-25, Safari 5.1-6 */
background: linear-gradient(
to top,
#ec008c,
#fc6767
); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
/* canvas- styles */
.canvas-loader {
font-size: 10px;
width: 1em;
height: 1em;
border-radius: 50%;
position: relative;
text-indent: -9999em;
animation: mulShdSpin 1.1s infinite ease;
transform: translateZ(0);
}
@keyframes mulShdSpin {
0%,
100% {
box-shadow: 0em -2.6em 0em 0em #ffffff,
1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2),
2.5em 0em 0 0em rgba(255, 255, 255, 0.2),
1.75em 1.75em 0 0em rgba(255, 255, 255, 0.2),
0em 2.5em 0 0em rgba(255, 255, 255, 0.2),
-1.8em 1.8em 0 0em rgba(255, 255, 255, 0.2),
-2.6em 0em 0 0em rgba(255, 255, 255, 0.5),
-1.8em -1.8em 0 0em rgba(255, 255, 255, 0.7);
}
12.5% {
box-shadow: 0em -2.6em 0em 0em rgba(255, 255, 255, 0.7),
1.8em -1.8em 0 0em #ffffff, 2.5em 0em 0 0em rgba(255, 255, 255, 0.2),
1.75em 1.75em 0 0em rgba(255, 255, 255, 0.2),
0em 2.5em 0 0em rgba(255, 255, 255, 0.2),
-1.8em 1.8em 0 0em rgba(255, 255, 255, 0.2),
-2.6em 0em 0 0em rgba(255, 255, 255, 0.2),
-1.8em -1.8em 0 0em rgba(255, 255, 255, 0.5);
}
25% {
box-shadow: 0em -2.6em 0em 0em rgba(255, 255, 255, 0.5),
1.8em -1.8em 0 0em rgba(255, 255, 255, 0.7), 2.5em 0em 0 0em #ffffff,
1.75em 1.75em 0 0em rgba(255, 255, 255, 0.2),
0em 2.5em 0 0em rgba(255, 255, 255, 0.2),
-1.8em 1.8em 0 0em rgba(255, 255, 255, 0.2),
-2.6em 0em 0 0em rgba(255, 255, 255, 0.2),
-1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2);
}
37.5% {
box-shadow: 0em -2.6em 0em 0em rgba(255, 255, 255, 0.2),
1.8em -1.8em 0 0em rgba(255, 255, 255, 0.5),
2.5em 0em 0 0em rgba(255, 255, 255, 0.7), 1.75em 1.75em 0 0em #ffffff,
0em 2.5em 0 0em rgba(255, 255, 255, 0.2),
-1.8em 1.8em 0 0em rgba(255, 255, 255, 0.2),
-2.6em 0em 0 0em rgba(255, 255, 255, 0.2),
-1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2);
}
50% {
box-shadow: 0em -2.6em 0em 0em rgba(255, 255, 255, 0.2),
1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2),
2.5em 0em 0 0em rgba(255, 255, 255, 0.5),
1.75em 1.75em 0 0em rgba(255, 255, 255, 0.7), 0em 2.5em 0 0em #ffffff,
-1.8em 1.8em 0 0em rgba(255, 255, 255, 0.2),
-2.6em 0em 0 0em rgba(255, 255, 255, 0.2),
-1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2);
}
62.5% {
box-shadow: 0em -2.6em 0em 0em rgba(255, 255, 255, 0.2),
1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2),
2.5em 0em 0 0em rgba(255, 255, 255, 0.2),
1.75em 1.75em 0 0em rgba(255, 255, 255, 0.5),
0em 2.5em 0 0em rgba(255, 255, 255, 0.7), -1.8em 1.8em 0 0em #ffffff,
-2.6em 0em 0 0em rgba(255, 255, 255, 0.2),
-1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2);
}
75% {
box-shadow: 0em -2.6em 0em 0em rgba(255, 255, 255, 0.2),
1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2),
2.5em 0em 0 0em rgba(255, 255, 255, 0.2),
1.75em 1.75em 0 0em rgba(255, 255, 255, 0.2),
0em 2.5em 0 0em rgba(255, 255, 255, 0.5),
-1.8em 1.8em 0 0em rgba(255, 255, 255, 0.7), -2.6em 0em 0 0em #ffffff,
-1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2);
}
87.5% {
box-shadow: 0em -2.6em 0em 0em rgba(255, 255, 255, 0.2),
1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2),
2.5em 0em 0 0em rgba(255, 255, 255, 0.2),
1.75em 1.75em 0 0em rgba(255, 255, 255, 0.2),
0em 2.5em 0 0em rgba(255, 255, 255, 0.2),
-1.8em 1.8em 0 0em rgba(255, 255, 255, 0.5),
-2.6em 0em 0 0em rgba(255, 255, 255, 0.7), -1.8em -1.8em 0 0em #ffffff;
}
}
export const textVariant = (delay) => {
return {
hidden: {
y: -50,
opacity: 0,
},
show: {
y: 0,
opacity: 1,
transition: {
type: "spring",
duration: 1.25,
delay: delay,
},
},
};
};
export const fadeIn = (direction, type, delay, duration) => {
return {
hidden: {
x: direction === "left" ? 100 : direction === "right" ? -100 : 0,
y: direction === "up" ? 100 : direction === "down" ? -100 : 0,
opacity: 0,
},
show: {
x: 0,
y: 0,
opacity: 1,
transition: {
type: type,
delay: delay,
duration: duration,
ease: "easeOut",
},
},
};
};
export const zoomIn = (delay, duration) => {
return {
hidden: {
scale: 0,
opacity: 0,
},
show: {
scale: 1,
opacity: 1,
transition: {
type: "tween",
delay: delay,
duration: duration,
ease: "easeOut",
},
},
};
};
export const slideIn = (direction, type, delay, duration) => {
return {
hidden: {
x: direction === "left" ? "-100%" : direction === "right" ? "100%" : 0,
y: direction === "up" ? "100%" : direction === "down" ? "100%" : 0,
},
show: {
x: 0,
y: 0,
transition: {
type: type,
delay: delay,
duration: duration,
ease: "easeOut",
},
},
};
};
export const staggerContainer = (staggerChildren, delayChildren) => {
return {
hidden: {},
show: {
transition: {
staggerChildren: staggerChildren,
delayChildren: delayChildren || 0,
},
},
};
};
const styles = {
paddingX: "sm:px-16 px-6",
paddingY: "sm:py-16 py-6",
padding: "sm:px-16 px-6 sm:py-16 py-10",
heroHeadText:
"font-black text-white lg:text-[80px] sm:text-[60px] xs:text-[50px] text-[40px] lg:leading-[98px] mt-2",
heroSubText:
"text-[#dfd9ff] font-medium lg:text-[30px] sm:text-[26px] xs:text-[20px] text-[16px] lg:leading-[40px]",
sectionHeadText:
"text-white font-black md:text-[60px] sm:text-[50px] xs:text-[40px] text-[30px]",
sectionSubText:
"sm:text-[18px] text-[14px] text-secondary uppercase tracking-wider",
};
export { styles };
/** @type {import('tailwindcss').Config} */
module.exports = {
content: ["./src/**/*.{js,jsx}"],
mode: "jit",
theme: {
extend: {
colors: {
primary: "#050816",
secondary: "#aaa6c3",
tertiary: "#151030",
"black-100": "#100d25",
"black-200": "#090325",
"white-100": "#f3f3f3",
},
boxShadow: {
card: "0px 35px 120px -15px #211e35",
},
screens: {
xs: "450px",
},
backgroundImage: {
"hero-pattern": "url('/src/assets/herobg.png')",
},
},
},
plugins: [],
};
@SabeloMnikathi
Copy link

Screenshot (897)

Hi everyone. can someone please help me out here?
Thanks.

@responsive-we
Copy link

i am having issue that my projects dont loads on m Screenshot from 2024-01-09 11-46-39 obile view plz help

Remove the skills balls from the project or u can also prevent it from loading in the phone screen and add any other element. This is because phone browsers limit the no. of 3d canvas u can load on the browser.
By the way u can load it on firefox and also in safari.

@srivastavas07
Copy link

srivastavas07 commented Feb 20, 2024

the only solution to the mobile loading problem i can think of is don't render models on the mobile...use media query and load something else on the devices incapable of loading the model as these model are too heavy for mediocre mobile devices because of their high resolution and textures either choose another model with low resolution or dont load them..hope this helps.. ; )

@Emory72
Copy link

Emory72 commented Feb 23, 2024

i find that my iphone can load all model, just android cannot

@Tirth4134
Copy link

Screenshot (128)
can anyone please help solve this error.and this is console error.
Screenshot (129)

@Sodium-Man
Copy link

My 3D model is not showing in any of my browser, in code it's showing undefined property. Please fix the code or resolve this issue for me.
SS
image

SS1

@Sodium-Man
Copy link

Sodium-Man commented Mar 23, 2024

SS
image
SS1

I can't see the 3D model in any of my browser

@SaqlainKazmi
Copy link

I also face the same issue, my model is not displaying in browser anyone can help?
Screenshot 2024-04-09 202920
Screenshot 2024-04-09 203044

@faraz841
Copy link

My lights components are not working, hemispherelight, pointlight and spotlight. Can anyone help me in that?

Use this in Computers.jsx
<hemisphereLight intensity=Math.PI} groundColor='black' />

Replace the value with Math.PI

@faraz841
Copy link

I also face the same issue, my model is not displaying in browser anyone can help? Screenshot 2024-04-09 202920 Screenshot 2024-04-09 203044

Kindly update the export in Computers.jsx as shown below

image

@SaqlainKazmi
Copy link

SaqlainKazmi commented Apr 14, 2024 via email

@Liam-Moriarty
Copy link

My lights components are not working, hemispherelight, pointlight and spotlight. Can anyone help me in that?

Use this in Computers.jsx <hemisphereLight intensity={Math.PI} groundColor='black' />

Replace the value with Math.PI

This fix my problem in lights but i cant understand why is it because of browsers compatibility or not?

@SaqlainKazmi
Copy link

SaqlainKazmi commented Apr 18, 2024 via email

@SaqlainKazmi
Copy link

SaqlainKazmi commented Apr 18, 2024 via email

@king-jude-corinthians
Copy link

Screenshot (106)
why doesnt this work for me? it doesnt install i have node js installed but it still doesnt still work

@RyanBarszcz
Copy link

I changed "frameLoop" to "frameloop" and it worked for me after that. It took a while to debug and that was my only issue.

@hha297
Copy link

hha297 commented May 2, 2024

image
I have these problem when render BallCanvas, did anyone face this problem?

@darkojankovicdevelops
Copy link

How do i change the projects?

@NoelKitonga
Copy link

NoelKitonga commented May 10, 2024

error iam facing an error of module is not defined in tailwind config. due to which my menu pic (on responsive screen is not rendering) kindly help me how i gonna solve this up down

The module.exports approach is a bit dated. I used this approach and its no longer giving the error

export default {
  content: ["./src/**/*.{js,jsx}"],
  mode: "jit",
  theme: {
    extend: {
      colors: {
        primary: "#050816",
        secondary: "#aaa6c3",
        tertiary: "#151030",
        "black-100": "#100d25",
        "black-200": "#090325",
        "white-100": "#f3f3f3",
      },
      boxShadow: {
        card: "0px 35px 120px -15px #211e35",
      },
      screens: {
        xs: "450px",
      },
      backgroundImage: {
        "hero-pattern": "url('/src/assets/herobg.png')",
      },
    },
  },
  plugins: [],
};

@Lumica-Melani
Copy link

Screenshot (128) can anyone please help solve this error.and this is console error. Screenshot (129)

TRY THIS CODE:

import React, { Suspense, useEffect, useState } from "react";
import { Canvas } from "@react-three/fiber";
import { OrbitControls, Preload, useGLTF } from "@react-three/drei";
import CanvasLoader from "../Loader";

const Computers = ({ isMobile }) => {
const { scene } = useGLTF("./desktop_pc/scene.gltf");

return (
<>

<spotLight
position={[-20, 50, 10]}
angle={0.12}
penumbra={1}
intensity={1}
castShadow
shadow-mapSize={1024}
/>

<primitive
object={scene}
scale={isMobile ? 0.7 : 0.75}
position={isMobile ? [0, -3, -2.2] : [0, -3.25, -1.5]}
rotation={[-0.01, -0.2, -0.1]}
/>
</>
);
};

const ComputersCanvas = () => {
const [isMobile, setIsMobile] = useState(false);

useEffect(() => {
const mediaQuery = window.matchMedia("(max-width: 500px)");
setIsMobile(mediaQuery.matches);

const handleMediaQueryChange = (event) => {
  setIsMobile(event.matches);
};

mediaQuery.addEventListener("change", handleMediaQueryChange);

return () => {
  mediaQuery.removeEventListener("change", handleMediaQueryChange);
};

}, []);

return (
<Canvas
frameloop="demand"
shadows
dpr={[1, 2]}
camera={{ position: [20, 3, 5], fov: 25 }}
gl={{ preserveDrawingBuffer: true }}
>
<Suspense fallback={}>
<OrbitControls
enableZoom={false}
maxPolarAngle={Math.PI / 2}
minPolarAngle={Math.PI / 2}
/>




);
};

export default ComputersCanvas;

@piyushkhatri968
Copy link

ree" as external to exclude it from the bundle, which will remove this error.

run "npm install three" with peer deps

@galwa506
Copy link

import { Suspense, useEffect, useState } from "react";
import { Canvas, useLoader} from '@react-three/fiber';
import { OrbitControls, Preload, useGLTF } from '@react-three/drei';
import CanvasLoader from '../Loader';

const Computers = () => {
const computer = useGLTF('./desktop_pc/scene.gltf');
console.log(computer);
return (





);
};

const ComputersCanvas = () => {
return (
<Canvas frameloop='demand' shadows camera={{position: [20,, 3, 5], fov:25 }} gl={{preserveDrawingBuffer: true}}>
<Suspense fallback = {}>
<OrbitControls enableZoom = {false} maxPolarAngle = {Math.PI / 2} minPolarAngle = {Math.PI / 2} />




);
};

export default ComputersCanvas;
I get the following error, can anyone help me?

Error: R3F: Div is not part of the THREE namespace! Did you forget to extend? See: https://docs.pmnd.rs/react-three-fiber/api/objects#using-3rd-party-objects-declaratively
at createInstance (chunk-UQN7SVB7.js?v=e56d4dc1:16296:15)
at completeWork (chunk-UQN7SVB7.js?v=e56d4dc1:8426:34)
at completeUnitOfWork (chunk-UQN7SVB7.js?v=e56d4dc1:13709:24)
at performUnitOfWork (chunk-UQN7SVB7.js?v=e56d4dc1:13691:13)
at workLoopSync (chunk-UQN7SVB7.js?v=e56d4dc1:13623:13)
at renderRootSync (chunk-UQN7SVB7.js?v=e56d4dc1:13602:15)
at recoverFromConcurrentError (chunk-UQN7SVB7.js?v=e56d4dc1:13192:28)
at performConcurrentWorkOnRoot (chunk-UQN7SVB7.js?v=e56d4dc1:13140:30)
at workLoop (chunk-UQN7SVB7.js?v=e56d4dc1:278:42)
at flushWork (chunk-UQN7SVB7.js?v=e56d4dc1:257:22)
createInstance @ chunk-UQN7SVB7.js?v=e56d4dc1:16296
completeWork @ chunk-UQN7SVB7.js?v=e56d4dc1:8426
completeUnitOfWork @ chunk-UQN7SVB7.js?v=e56d4dc1:13709
performUnitOfWork @ chunk-UQN7SVB7.js?v=e56d4dc1:13691
workLoopSync @ chunk-UQN7SVB7.js?v=e56d4dc1:13623
renderRootSync @ chunk-UQN7SVB7.js?v=e56d4dc1:13602
recoverFromConcurrentError @ chunk-UQN7SVB7.js?v=e56d4dc1:13192
performConcurrentWorkOnRoot @ chunk-UQN7SVB7.js?v=e56d4dc1:13140
workLoop @ chunk-UQN7SVB7.js?v=e56d4dc1:278
flushWork @ chunk-UQN7SVB7.js?v=e56d4dc1:257
performWorkUntilDeadline @ chunk-UQN7SVB7.js?v=e56d4dc1:465
Show 11 more frames
Show less

The above error occurred in the <ForwardRef(Canvas)> component:

at Canvas (http://localhost:5173/node_modules/.vite/deps/chunk-UQN7SVB7.js?v=e56d4dc1:18549:3)
at FiberProvider (http://localhost:5173/node_modules/.vite/deps/chunk-UQN7SVB7.js?v=e56d4dc1:18403:21)
at CanvasWrapper
at ComputersCanvas
at section
at Hero
at div
at div
at Router (http://localhost:5173/node_modules/.vite/deps/react-router-dom.js?v=e56d4dc1:4031:15)
at BrowserRouter (http://localhost:5173/node_modules/.vite/deps/react-router-dom.js?v=e56d4dc1:4774:5)
at App

Consider adding an error boundary to your tree to customize error handling behavior.
Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.

Error: R3F: Div is not part of the THREE namespace! Did you forget to extend? See: https://docs.pmnd.rs/react-three-fiber/api/objects#using-3rd-party-objects-declaratively
at createInstance (chunk-UQN7SVB7.js?v=e56d4dc1:16296:15)
at completeWork (chunk-UQN7SVB7.js?v=e56d4dc1:8426:34)
at completeUnitOfWork (chunk-UQN7SVB7.js?v=e56d4dc1:13709:24)
at performUnitOfWork (chunk-UQN7SVB7.js?v=e56d4dc1:13691:13)
at workLoopSync (chunk-UQN7SVB7.js?v=e56d4dc1:13623:13)
at renderRootSync (chunk-UQN7SVB7.js?v=e56d4dc1:13602:15)
at recoverFromConcurrentError (chunk-UQN7SVB7.js?v=e56d4dc1:13192:28)
at performConcurrentWorkOnRoot (chunk-UQN7SVB7.js?v=e56d4dc1:13140:30)
at workLoop (chunk-UQN7SVB7.js?v=e56d4dc1:278:42)
at flushWork (chunk-UQN7SVB7.js?v=e56d4dc1:257:22)

The above error occurred in the

component:

at div
at Loader
at Suspense
at Suspense
at ErrorBoundary (http://localhost:5173/node_modules/.vite/deps/chunk-UQN7SVB7.js?v=e56d4dc1:16609:5)
at FiberProvider (http://localhost:5173/node_modules/.vite/deps/chunk-UQN7SVB7.js?v=e56d4dc1:18403:21)
at Provider (http://localhost:5173/node_modules/.vite/deps/chunk-UQN7SVB7.js?v=e56d4dc1:17998:3)

React will try to recreate this component tree from scratch using the error boundary you provided, ErrorBoundary.

@galwa506
Copy link

import { Suspense, useEffect, useState } from "react"; import { Canvas, useLoader} from '@react-three/fiber'; import { OrbitControls, Preload, useGLTF } from '@react-three/drei'; import CanvasLoader from '../Loader';

const Computers = () => { const computer = useGLTF('./desktop_pc/scene.gltf'); console.log(computer); return ( ); };

const ComputersCanvas = () => { return ( <Canvas frameloop='demand' shadows camera={{position: [20,, 3, 5], fov:25 }} gl={{preserveDrawingBuffer: true}}> <OrbitControls enableZoom = {false} maxPolarAngle = {Math.PI / 2} minPolarAngle = {Math.PI / 2} /> ); };

export default ComputersCanvas; I get the following error, can anyone help me?

Error: R3F: Div is not part of the THREE namespace! Did you forget to extend? See: https://docs.pmnd.rs/react-three-fiber/api/objects#using-3rd-party-objects-declaratively at createInstance (chunk-UQN7SVB7.js?v=e56d4dc1:16296:15) at completeWork (chunk-UQN7SVB7.js?v=e56d4dc1:8426:34) at completeUnitOfWork (chunk-UQN7SVB7.js?v=e56d4dc1:13709:24) at performUnitOfWork (chunk-UQN7SVB7.js?v=e56d4dc1:13691:13) at workLoopSync (chunk-UQN7SVB7.js?v=e56d4dc1:13623:13) at renderRootSync (chunk-UQN7SVB7.js?v=e56d4dc1:13602:15) at recoverFromConcurrentError (chunk-UQN7SVB7.js?v=e56d4dc1:13192:28) at performConcurrentWorkOnRoot (chunk-UQN7SVB7.js?v=e56d4dc1:13140:30) at workLoop (chunk-UQN7SVB7.js?v=e56d4dc1:278:42) at flushWork (chunk-UQN7SVB7.js?v=e56d4dc1:257:22) createInstance @ chunk-UQN7SVB7.js?v=e56d4dc1:16296 completeWork @ chunk-UQN7SVB7.js?v=e56d4dc1:8426 completeUnitOfWork @ chunk-UQN7SVB7.js?v=e56d4dc1:13709 performUnitOfWork @ chunk-UQN7SVB7.js?v=e56d4dc1:13691 workLoopSync @ chunk-UQN7SVB7.js?v=e56d4dc1:13623 renderRootSync @ chunk-UQN7SVB7.js?v=e56d4dc1:13602 recoverFromConcurrentError @ chunk-UQN7SVB7.js?v=e56d4dc1:13192 performConcurrentWorkOnRoot @ chunk-UQN7SVB7.js?v=e56d4dc1:13140 workLoop @ chunk-UQN7SVB7.js?v=e56d4dc1:278 flushWork @ chunk-UQN7SVB7.js?v=e56d4dc1:257 performWorkUntilDeadline @ chunk-UQN7SVB7.js?v=e56d4dc1:465 Show 11 more frames Show less

The above error occurred in the <ForwardRef(Canvas)> component:

at Canvas (http://localhost:5173/node_modules/.vite/deps/chunk-UQN7SVB7.js?v=e56d4dc1:18549:3)
at FiberProvider (http://localhost:5173/node_modules/.vite/deps/chunk-UQN7SVB7.js?v=e56d4dc1:18403:21)
at CanvasWrapper
at ComputersCanvas
at section
at Hero
at div
at div
at Router (http://localhost:5173/node_modules/.vite/deps/react-router-dom.js?v=e56d4dc1:4031:15)
at BrowserRouter (http://localhost:5173/node_modules/.vite/deps/react-router-dom.js?v=e56d4dc1:4774:5)
at App

Consider adding an error boundary to your tree to customize error handling behavior. Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.

Error: R3F: Div is not part of the THREE namespace! Did you forget to extend? See: https://docs.pmnd.rs/react-three-fiber/api/objects#using-3rd-party-objects-declaratively at createInstance (chunk-UQN7SVB7.js?v=e56d4dc1:16296:15) at completeWork (chunk-UQN7SVB7.js?v=e56d4dc1:8426:34) at completeUnitOfWork (chunk-UQN7SVB7.js?v=e56d4dc1:13709:24) at performUnitOfWork (chunk-UQN7SVB7.js?v=e56d4dc1:13691:13) at workLoopSync (chunk-UQN7SVB7.js?v=e56d4dc1:13623:13) at renderRootSync (chunk-UQN7SVB7.js?v=e56d4dc1:13602:15) at recoverFromConcurrentError (chunk-UQN7SVB7.js?v=e56d4dc1:13192:28) at performConcurrentWorkOnRoot (chunk-UQN7SVB7.js?v=e56d4dc1:13140:30) at workLoop (chunk-UQN7SVB7.js?v=e56d4dc1:278:42) at flushWork (chunk-UQN7SVB7.js?v=e56d4dc1:257:22)

The above error occurred in the

component:

at div
at Loader
at Suspense
at Suspense
at ErrorBoundary (http://localhost:5173/node_modules/.vite/deps/chunk-UQN7SVB7.js?v=e56d4dc1:16609:5)
at FiberProvider (http://localhost:5173/node_modules/.vite/deps/chunk-UQN7SVB7.js?v=e56d4dc1:18403:21)
at Provider (http://localhost:5173/node_modules/.vite/deps/chunk-UQN7SVB7.js?v=e56d4dc1:17998:3)

React will try to recreate this component tree from scratch using the error boundary you provided, ErrorBoundary.

Turns out you gotta check CanvasLoader.js file.

@shikhaprogrammer
Copy link

chunk-IF634Q7A.js?v=a06f2f7e:17762 THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The "position" attribute is likely to have NaN values. _BufferGeometry
console.error @ chunk-IF634Q7A.js?v=a06f2f7e:17762Understand this error
2chunk-IF634Q7A.js?v=a06f2f7e:15732 Uncaught Error: Could not load ./planet/scene.gltf: Unexpected token '<', " component:

at Earth
at Suspense
at Suspense
at ErrorBoundary (http://localhost:5173/node_modules/.vite/deps/chunk-IF634Q7A.js?v=a06f2f7e:16085:5)
at FiberProvider (http://localhost:5173/node_modules/.vite/deps/chunk-IF634Q7A.js?v=a06f2f7e:17765:21)
at Provider (http://localhost:5173/node_modules/.vite/deps/chunk-IF634Q7A.js?v=a06f2f7e:17372:3)

React will try to recreate this component tree from scratch using the error boundary you provided, ErrorBoundary.
console.error @ chunk-IF634Q7A.js?v=a06f2f7e:17762Understand this error
2chunk-IF634Q7A.js?v=a06f2f7e:17950 Uncaught Error: Could not load ./planet/scene.gltf: Unexpected token '<', " component:

at Canvas (http://localhost:5173/node_modules/.vite/deps/chunk-IF634Q7A.js?v=a06f2f7e:17910:3)
at FiberProvider (http://localhost:5173/node_modules/.vite/deps/chunk-IF634Q7A.js?v=a06f2f7e:17765:21)
at CanvasWrapper
at EarthCanvas
at div
at MotionComponent (http://localhost:5173/node_modules/.vite/deps/framer-motion.js?v=a06f2f7e:467:40)
at div
at Contact (http://localhost:5173/src/components/Contact.jsx:26:45)
at div
at div
at Router (http://localhost:5173/node_modules/.vite/deps/react-router-dom.js?v=a06f2f7e:4366:15)
at BrowserRouter (http://localhost:5173/node_modules/.vite/deps/react-router-dom.js?v=a06f2f7e:5109:5)
at App

Consider adding an error boundary to your tree to customize error handling behavior.
Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.
console.error @ chunk-IF634Q7A.js?v=a06f2f7e:17762Understand this error
react-dom.development.js:26962 Uncaught Error: Could not load ./planet/scene.gltf: Unexpected token '<', "<!DOCTYPE "... is not valid JSON
at chunk-IF634Q7A.js?v=a06f2f7e:17070:39
at _onError (GLTFLoader.js:179:9)
at Object.onLoad (GLTFLoader.js:210:11)
at three.module.js:44019:38Understand this error
16three.module.js:28952 THREE.WebGLRenderer: Context Lost.
**CAN ANY BODY HELP ME to solve this error **

@saadshaikh1023
Copy link

import {Suspense,useState,useEffect} from 'react';
import { Canvas } from '@react-three/fiber';
import { OrbitControls, Preload, useGLTF,HemisphereLight, PointLight } from '@react-three/drei';

import CanvasLoader from '../Loader';

const Computers = () => {
const computer = useGLTF("./desktop_pc/scene.gltf");
console.log(computer);

return (





)
}

const ComputersCanvas = () => {
return(
<Canvas
frameloop='demand'
shadows
camera={{position: [20, 3, 5], fov: 25}}
gl={{preserveDrawingBuffer: true}}
>
<Suspense fallback={}>
<OrbitControls
enableZoom={false}
maxPolarAngle={Math.PI / 2}
minPolarAngle={Math.PI / 2}
/>




);
};

export default ComputersCanvas;

Screenshot (19)

Unknown property 'object' foundeslintreact/no-unknown-property
const computer: GLTF & ObjectMap

What shall I do please help me out

@Om-Shree-0709
Copy link

Screenshot 2024-07-14 140030
Non of the tag properties are working ,
As you can see in the screenshot the PC 3D image is dark
Screenshot 2024-07-14 140148

@saadshaikh1023
Copy link

saadshaikh1023 commented Jul 14, 2024 via email

@minahil-105
Copy link

minahil-105 commented Jul 17, 2024

FOR the services section , for our own one , from where we can get icons similar to his one.
i mean for other services where can I get the icons .

@minahil-105
Copy link

There's something wrong with the tech section pls helpppp!!!! my animation on balls doesn't work ! idk y the code is ok! there is no error plsssss help me
Screenshot 2024-07-19 113655

@meqasim
Copy link

meqasim commented Jul 20, 2024

i find that my iphone can load all model, just android cannot

replit work with android.

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