Skip to content

Commit

Permalink
Merge pull request #75 from dvm-bitspilani/main
Browse files Browse the repository at this point in the history
merge to prod
  • Loading branch information
samyak-jain-12 authored Sep 11, 2024
2 parents cd98f72 + d4f00b6 commit 0a887d5
Show file tree
Hide file tree
Showing 20 changed files with 350 additions and 162 deletions.
8 changes: 8 additions & 0 deletions app/landing.module.scss
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,12 @@
&:hover {
color: yellow;
}
}

.navTickets{
position: fixed;
right: -14%;
top: 45%;
transform: translateY(-50%);
z-index: 5000;
}
8 changes: 4 additions & 4 deletions app/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { Inter } from "next/font/google";
import { GoogleOAuthProvider } from "@react-oauth/google";
import { GoogleAnalytics } from '@next/third-parties/google';
import "./globals.css";
import OasisLogo from "../public/oglogo.png";
// import OasisLogo from "../public/oglogo.png";

const inter = Inter({ subsets: ["latin"] });

Expand All @@ -25,9 +25,9 @@ export const metadata: Metadata = {
},
},
openGraph: {
images: [
OasisLogo.src,
],
images: [{
url: "https://www.bits-oasis.org/_next/static/media/oglogo.9fac8004.png",
}],
},
};

Expand Down
6 changes: 5 additions & 1 deletion app/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,17 @@ import LandingOverlay from "@/components/Landing/LandingOverlay/LandingOverlay";
import Grid from "@/components/Landing/Grid/Grid";
import OasisLogo from "@/components/Landing/Navbar/Logo/Logo";
import PrePreloader from "@/components/PreloaderProMax/PreloaderProMax";
import Nav from "@/components/Nav/Nav";

export default function Home() {
return (
<>
<div className={styles.navTickets}>
<Nav />
</div>
<PrePreloader />
<main className={styles.scrollWrapper} id="scrollWrapper">
<main className={styles.page}>
<PrePreloader />
<OasisLogo />
<Landing />
<LandingOverlay />
Expand Down
2 changes: 1 addition & 1 deletion components/ContactUs/contactus.module.scss
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
opacity: 0;
pointer-events: none;
overflow: hidden;
z-index: 100000;
// z-index: 100000;

.heading {
margin-top: 3rem;
Expand Down
146 changes: 3 additions & 143 deletions components/Landing/Backdrop/Backdrop.tsx
Original file line number Diff line number Diff line change
@@ -1,143 +1,3 @@
'use client';

import { useEffect } from "react";
import * as THREE from 'three'

import backdropVertexShader from '@/shaders/LandingBackdrop/vertex.glsl'
import backdropFragmentShader from '@/shaders/LandingBackdrop/fragment.glsl'

import styles from './backdrops.module.scss'

export default function LandingBackdrop() {
useEffect(() => {
const canvas = document.querySelector('#landingBackdrop') as HTMLCanvasElement

const sizes = {
width: window.innerWidth,
height: window.innerHeight
}

window.addEventListener('resize', () => {
// Update sizes
sizes.width = window.innerWidth
sizes.height = window.innerHeight

// Update camera
camera.aspect = sizes.width / sizes.height
camera.updateProjectionMatrix()

// Update renderer
renderer.setSize(sizes.width, sizes.height)
renderer.setPixelRatio(Math.min(window.devicePixelRatio, 2))
})

const scene = new THREE.Scene()

const camera = new THREE.PerspectiveCamera(75, sizes.width / sizes.height, 0.1, 100)
// const camera = new THREE.OrthographicCamera(-1, 1, 1, -1, 0.1, 100)
camera.position.set(0, -3, 1.5)
camera.lookAt(new THREE.Vector3(0, -2, 0))
scene.add(camera)

const geometry = new THREE.PlaneGeometry(12, 12, 64, 64)

const material = new THREE.ShaderMaterial({
vertexShader: backdropVertexShader,
fragmentShader: backdropFragmentShader,
transparent: true,
uniforms: {
uColor: { value: new THREE.Color('white') },
uMouseX: { value: 0.0 },
uMouseY: { value: 0.0 }
},
wireframe: true
})

const mesh = new THREE.Mesh(geometry, material)

scene.add(mesh)

const raycaster = new THREE.Raycaster()
const rayOrigin = new THREE.Vector3(0, 0, 1)
const rayDirection = new THREE.Vector3(0, 0, -1)
rayDirection.normalize()
raycaster.set(rayOrigin, rayDirection)

mesh.updateMatrix()

// const intersect = raycaster.intersectObject(mesh)
// console.log(intersect)

const renderer = new THREE.WebGLRenderer({
canvas: canvas
})
renderer.setSize(sizes.width, sizes.height)
renderer.setPixelRatio(Math.min(window.devicePixelRatio, 2))

const clock = new THREE.Clock()

const mouse = new THREE.Vector2()
window.addEventListener('mousemove', (event) => {
mouse.x = event.clientX / sizes.width * 2 - 1
mouse.y = - (event.clientY / sizes.height * 2 - 1)
// material.uniforms.uMouseX.value = (2 * (event.clientX / sizes.width) - 1) * 2.1
// material.uniforms.uMouseY.value = (-(2 * (event.clientY / sizes.height) - 1)) * 1.15
})

let animationFrameReqId: any;
animationFrameReqId = null

const tick = () => {
const elapsedTime = clock.getElapsedTime()

raycaster.setFromCamera(mouse, camera)
const intersect = raycaster.intersectObject(mesh)
material.uniforms.uMouseX.value = intersect[0]?.point.x
material.uniforms.uMouseY.value = intersect[0]?.point.y

// Render
renderer.render(scene, camera)

// Call tick again on the next frame
animationFrameReqId = window.requestAnimationFrame(tick)
}
tick()

return () => {
window.removeEventListener('resize', () => {
// Update sizes
sizes.width = window.innerWidth
sizes.height = window.innerHeight

// Update camera
camera.aspect = sizes.width / sizes.height
camera.updateProjectionMatrix()

// Update renderer
renderer.setSize(sizes.width, sizes.height)
renderer.setPixelRatio(Math.min(window.devicePixelRatio, 2))
})

if (mesh) {
scene.remove(mesh)
mesh.geometry.dispose()
mesh.material.dispose()
}

window.removeEventListener('mousemove', (event) => {
material.uniforms.uMouseX.value = (2 * (event.clientX / sizes.width) - 1) * 2.1
material.uniforms.uMouseY.value = (-(2 * (event.clientY / sizes.height) - 1)) * 1.15
})

if (animationFrameReqId) {
window.cancelAnimationFrame(animationFrameReqId)
}
}
}, [])
return (
<canvas
className={styles.webgl}
id='landingBackdrop'
></canvas>
)
}
export default function SuitBackground() {
return <h1>lmao</h1>;
}
8 changes: 0 additions & 8 deletions components/Landing/Backdrop/backdrops.module.scss
Original file line number Diff line number Diff line change
@@ -1,8 +0,0 @@
.webgl {
width: 100vw;
height: 100lvh;
position: fixed;
top: 0;
background-color: transparent;
z-index: -1;
}
27 changes: 23 additions & 4 deletions components/Landing/Landing/Landing.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -48,9 +48,9 @@ export default function Landing() {
waitForPreload("#preloader").then(() => {
setTimeout(() => {
setIsLoaded(true);
console.log("hello loaded");
// console.log("hello loaded");
}, 500);
console.log("#preloader");
// console.log("#preloader");
});
}, []);

Expand Down Expand Up @@ -271,7 +271,7 @@ export default function Landing() {
let timelineConfig;
const commonConfigs = {
onUpdate: ({ progress }: updateTypesScrollTrigger) => {
// console.log(progress);
console.log(progress);
if (progress > 0.39 && progress < 0.4) {
setTlProgress(progress);
} else if (tlProgress) {
Expand Down Expand Up @@ -305,7 +305,7 @@ export default function Landing() {
scrollTrigger: {
...commonConfigs,
snap: {
snapTo: [0, 0.39, 0.4, 1],
snapTo: [0, 0.45, 0.46, 1],
ease: "sine.inOut",
duration: 1,
},
Expand Down Expand Up @@ -611,9 +611,19 @@ export default function Landing() {
},
"<"
)
.to(
"#tickets",
{
duration: 2,
rotate: 5,
ease: "power1.out",
},
"<"
)
.to(slotMachine.current.rotation, {
y: conditions.isMobile ? 0 : -Math.PI / 6,
})

.to("#aboutUs", {
opacity: 1,
})
Expand Down Expand Up @@ -643,6 +653,15 @@ export default function Landing() {
},
"<"
)
.to(
"#tickets",
{
duration: 3,
rotate: 15,
ease: "power1.out",
},
"<"
)
.to(
"#contactUs",
{
Expand Down
4 changes: 4 additions & 0 deletions components/Landing/LandingOverlay/LandingOverlay.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import AboutUsPage from "@/components/AboutUs/AboutUsPage";
import ContactUs from "@/components/ContactUs/ContactUs";
import Social from "../Social/Social";
import Countdown from "../Countdown/Countdown";
import Nav from "@/components/Nav/Nav";

export default function LandingOverlay() {
return (
Expand All @@ -15,6 +16,9 @@ export default function LandingOverlay() {
<div className={styles.headerContainer}>
<Navbar />
</div>
{/* <div className={styles.navcontainer}>
<Nav />
</div> */}
<div className={styles.machinecontainer}>
<div className={styles.cards} id="leftcards">
<CardsGroup group={1} />
Expand Down
11 changes: 11 additions & 0 deletions components/Landing/LandingOverlay/overlay.module.scss
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,17 @@
z-index: -1;
pointer-events: none;


.navcontainer{
position: absolute;
right: -14%;
top: 45%;
transform: translateY(-50%);
z-index: 5000;
}



.headerContainer {
position: absolute;
width: 100vw;
Expand Down
Loading

0 comments on commit 0a887d5

Please sign in to comment.