Compare commits
15 Commits
689518f666
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 6896a7582b | |||
| 2adf5a046b | |||
| 039f2d522a | |||
| a126ea8344 | |||
| bf72f5aafa | |||
| 7119736057 | |||
| f9b3ae7df8 | |||
| 01d6ef11cb | |||
| 216d91c57d | |||
| 3e1a8cc619 | |||
| ad3c513e7d | |||
| ae4f412438 | |||
| d3b5b230b3 | |||
| 194ae7c4a1 | |||
| 20d4aa9386 |
13
Dockerfile
13
Dockerfile
@@ -1,9 +1,16 @@
|
|||||||
FROM node:20-alpine AS builder
|
FROM node:20-slim AS builder
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
COPY package*.json ./
|
COPY package*.json ./
|
||||||
RUN npm install
|
COPY pnpm-lock.yaml ./
|
||||||
|
|
||||||
|
RUN npm install -g pnpm
|
||||||
|
|
||||||
|
RUN pnpm install
|
||||||
|
|
||||||
COPY . .
|
COPY . .
|
||||||
RUN npm run build
|
|
||||||
|
RUN pnpm run build
|
||||||
|
|
||||||
FROM nginx:alpine
|
FROM nginx:alpine
|
||||||
COPY --from=builder /app/dist /usr/share/nginx/html
|
COPY --from=builder /app/dist /usr/share/nginx/html
|
||||||
|
|||||||
2711
package-lock.json
generated
2711
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
1712
pnpm-lock.yaml
generated
Normal file
1712
pnpm-lock.yaml
generated
Normal file
File diff suppressed because it is too large
Load Diff
21
src/App.jsx
21
src/App.jsx
@@ -7,6 +7,20 @@ import {Team} from './sections/Team';
|
|||||||
import Snowfall from 'react-snowfall'
|
import Snowfall from 'react-snowfall'
|
||||||
import { DateTime } from 'luxon';
|
import { DateTime } from 'luxon';
|
||||||
|
|
||||||
|
// Determines if the current date is within the snowfall season (November 15th to January 31st)
|
||||||
|
function isSnowfallSeason(date = DateTime.now()) {
|
||||||
|
const year = date.year;
|
||||||
|
const start = DateTime.local(year, 11, 15);
|
||||||
|
const end = DateTime.local(year + 1, 1, 31);
|
||||||
|
// If we're on or after November 15th, check if we're before January 31st of the next year
|
||||||
|
if (date >= start) {
|
||||||
|
return date <= end;
|
||||||
|
}
|
||||||
|
// If we're before November 15th, check if we're after January 1st of the current year
|
||||||
|
const prevEnd = DateTime.local(year, 1, 31);
|
||||||
|
return date <= prevEnd;
|
||||||
|
}
|
||||||
|
|
||||||
export default function LiquidDevelopment() {
|
export default function LiquidDevelopment() {
|
||||||
return (
|
return (
|
||||||
<div
|
<div
|
||||||
@@ -20,12 +34,7 @@ export default function LiquidDevelopment() {
|
|||||||
pointerEvents: 'none',
|
pointerEvents: 'none',
|
||||||
zIndex: 9999,
|
zIndex: 9999,
|
||||||
}}>
|
}}>
|
||||||
{(() => {
|
{isSnowfallSeason() && <Snowfall snowflakeCount={80} />}
|
||||||
const now = DateTime.now();
|
|
||||||
return (now.month === 11 && now.day >= 15) ||
|
|
||||||
(now.month === 12) ||
|
|
||||||
(now.month === 1);
|
|
||||||
})() && <Snowfall snowflakeCount={80} />}
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<Navbar/>
|
<Navbar/>
|
||||||
|
|||||||
@@ -27,9 +27,9 @@ export const Hero = () => {
|
|||||||
|
|
||||||
<div className="relative z-10 text-center px-6 max-w-6xl mx-auto">
|
<div className="relative z-10 text-center px-6 max-w-6xl mx-auto">
|
||||||
<motion.div
|
<motion.div
|
||||||
initial={{ scale: 0.8, opacity: 0 }}
|
initial={{scale: 0.5, opacity: 0}}
|
||||||
animate={{scale: 1, opacity: 1}}
|
animate={{scale: 1, opacity: 1}}
|
||||||
transition={{ duration: 0.8 }}
|
transition={{duration: 0.5}}
|
||||||
className="mx-auto mb-8 w-24 h-24 md:w-32 md:h-32 rounded-full bg-[#00A3FF]/5 flex items-center justify-center border border-[#00A3FF]/30 shadow-[0_0_60px_-10px_rgba(0,163,255,0.4)]"
|
className="mx-auto mb-8 w-24 h-24 md:w-32 md:h-32 rounded-full bg-[#00A3FF]/5 flex items-center justify-center border border-[#00A3FF]/30 shadow-[0_0_60px_-10px_rgba(0,163,255,0.4)]"
|
||||||
>
|
>
|
||||||
<BrandLogo className="w-14 h-14 md:w-20 md:h-20 text-[#00A3FF]"/>
|
<BrandLogo className="w-14 h-14 md:w-20 md:h-20 text-[#00A3FF]"/>
|
||||||
@@ -41,15 +41,11 @@ export const Hero = () => {
|
|||||||
transition={{delay: 0.2}}
|
transition={{delay: 0.2}}
|
||||||
>
|
>
|
||||||
<h1 className="text-4xl md:text-7xl font-extrabold tracking-tighter mb-6">
|
<h1 className="text-4xl md:text-7xl font-extrabold tracking-tighter mb-6">
|
||||||
<ObfuscatedMail
|
|
||||||
email={rawEmail}
|
|
||||||
className="cursor-pointer hover:opacity-80 transition-opacity duration-300 bg-transparent border-none p-0 font-extrabold tracking-tighter text-4xl md:text-7xl text-white"
|
|
||||||
>
|
|
||||||
LIQUID
|
LIQUID
|
||||||
<span className="ml-3 text-transparent bg-clip-text bg-gradient-to-r from-[#00A3FF] to-cyan-200">
|
<span
|
||||||
|
className="ml-3 text-transparent bg-clip-text bg-gradient-to-r from-[#00A3FF] to-cyan-200">
|
||||||
DEVELOPMENT
|
DEVELOPMENT
|
||||||
</span>
|
</span>
|
||||||
</ObfuscatedMail>
|
|
||||||
</h1>
|
</h1>
|
||||||
</motion.div>
|
</motion.div>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user