Compare commits

...

10 Commits

Author SHA1 Message Date
6896a7582b Updated animation 2026-02-23 21:12:52 +01:00
2adf5a046b Formatting 2026-02-23 21:10:24 +01:00
039f2d522a Removed email on brand name 2026-02-23 21:10:02 +01:00
a126ea8344 Removed testing function 2026-02-23 21:08:01 +01:00
bf72f5aafa Merge remote-tracking branch 'origin/main' 2026-02-23 21:06:47 +01:00
7119736057 Tried updating snowfall 2026-02-23 21:06:37 +01:00
f9b3ae7df8 Fixed build path in dockerfile 2026-02-19 11:57:18 +00:00
01d6ef11cb Updated Dockerfile 2026-02-19 12:52:18 +01:00
216d91c57d Adjustments 2026-02-19 12:45:53 +01:00
3e1a8cc619 Updated lockfile 2026-02-19 12:42:00 +01:00
2 changed files with 34 additions and 31 deletions

View File

@@ -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

View File

@@ -1,10 +1,10 @@
import React from 'react'; import React from 'react';
import { motion } from 'framer-motion'; import {motion} from 'framer-motion';
import { ArrowRight } from 'lucide-react'; import {ArrowRight} from 'lucide-react';
import { BrandLogo } from '../components/BrandLogo'; import {BrandLogo} from '../components/BrandLogo';
import { Bubbles } from '../components/Bubbles'; import {Bubbles} from '../components/Bubbles';
import { ObfuscatedMail } from '../components/ObfuscatedMail'; import {ObfuscatedMail} from '../components/ObfuscatedMail';
import { SOCIALS } from '../data/content'; import {SOCIALS} from '../data/content';
export const Hero = () => { export const Hero = () => {
const emailSocial = SOCIALS.find(s => !s.link.startsWith('http')); const emailSocial = SOCIALS.find(s => !s.link.startsWith('http'));
@@ -23,49 +23,45 @@ export const Hero = () => {
}} }}
/> />
<Bubbles /> <Bubbles/>
<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]"/>
</motion.div> </motion.div>
<motion.div <motion.div
initial={{ y: 20, opacity: 0 }} initial={{y: 20, opacity: 0}}
animate={{ y: 0, opacity: 1 }} animate={{y: 0, opacity: 1}}
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 LIQUID
email={rawEmail} <span
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" className="ml-3 text-transparent bg-clip-text bg-gradient-to-r from-[#00A3FF] to-cyan-200">
>
LIQUID
<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>
<motion.p <motion.p
initial={{ y: 20, opacity: 0 }} initial={{y: 20, opacity: 0}}
animate={{ y: 0, opacity: 1 }} animate={{y: 0, opacity: 1}}
transition={{ delay: 0.4 }} transition={{delay: 0.4}}
className="text-lg md:text-2xl text-gray-400 mb-10 max-w-2xl mx-auto font-light" className="text-lg md:text-2xl text-gray-400 mb-10 max-w-2xl mx-auto font-light"
> >
Open-source software development team Open-source software development team
</motion.p> </motion.p>
<motion.div <motion.div
initial={{ y: 20, opacity: 0 }} initial={{y: 20, opacity: 0}}
animate={{ y: 0, opacity: 1 }} animate={{y: 0, opacity: 1}}
transition={{ delay: 0.6 }} transition={{delay: 0.6}}
className="flex flex-col sm:flex-row gap-6 justify-center items-center" className="flex flex-col sm:flex-row gap-6 justify-center items-center"
> >
<a <a