Compare commits
23 Commits
main
...
Appointmen
| Author | SHA1 | Date | |
|---|---|---|---|
| 7a010a4f8e | |||
| a568ae5e35 | |||
| f06d4af1d5 | |||
| 8b97fcb73e | |||
| 6cd3a9deba | |||
| 8a66110b3a | |||
| a3899325b8 | |||
| 294ddf90da | |||
| 6965be57e2 | |||
| 537dd39c55 | |||
| ed01100925 | |||
| 69d1a78c8d | |||
| 99183d9162 | |||
|
|
5f715a1ce9 | ||
| e4f39f2b4f | |||
| f0568f6402 | |||
| 86f4da9749 | |||
| 01753b87b2 | |||
| 686ebe0c74 | |||
| e940271328 | |||
| 41f8f4bed4 | |||
| 6ee4aae9ed | |||
| adfe3a9575 |
@ -1,3 +0,0 @@
|
||||
node_modules
|
||||
.git
|
||||
.env
|
||||
63
.drone.yml
63
.drone.yml
@ -3,59 +3,27 @@ type: docker
|
||||
name: build
|
||||
|
||||
steps:
|
||||
################################################################################################################################################
|
||||
## example of running dind manually in drone
|
||||
# - name: build
|
||||
# image: docker
|
||||
# environment:
|
||||
# REGISTRY_USER:
|
||||
# from_secret: DOCKER_USERNAME
|
||||
# REGISTRY_PASS:
|
||||
# from_secret: DOCKER_PASSWORD
|
||||
# volumes:
|
||||
# - name: docker_sock
|
||||
# path: /var/run/docker.sock
|
||||
# commands:
|
||||
# - export DRONE_SHA=${DRONE_COMMIT_SHA:0:7}
|
||||
# - docker login gitea.bsidesolutions.net --username $REGISTRY_USER --password $REGISTRY_PASS
|
||||
# # - docker exec --env-file .env.drone compose-container mkdir /home/node
|
||||
# # - docker exec --env-file .env.drone compose-container mkdir /home/node/app
|
||||
# # - docker cp . compose-container:/home/node/app
|
||||
# # - docker exec -w /home/node/app --env-file .env.drone compose-container ls # check current directory
|
||||
# - docker build -t gitea.bsidesolutions.net/oonyeje/oonyeje-portfolio:${DRONE_COMMIT_SHA:0:7} .
|
||||
# - docker tag gitea.bsidesolutions.net/oonyeje/oonyeje-portfolio gitea.bsidesolutions.net/oonyeje/oonyeje-portfolio:${DRONE_COMMIT_SHA:0:7}
|
||||
# - docker tag gitea.bsidesolutions.net/oonyeje/oonyeje-portfolio gitea.bsidesolutions.net/oonyeje/oonyeje-portfolio:latest
|
||||
################################################################################################################################################
|
||||
|
||||
- name: Setup Build
|
||||
image: gitea.bsidesolutions.net/bside-solutions/docker-compose-v2-alpine:latest
|
||||
- name: build
|
||||
image: timbru31/node-alpine-git:18
|
||||
commands:
|
||||
# - docker container stop compose-container
|
||||
- docker container prune -f
|
||||
- docker image prune -f
|
||||
# - docker login gitea.bsidesolutions.net --username $REGISTRY_USER --password $REGISTRY_PASS
|
||||
# - docker pull gitea.bsidesolutions.net/bside-solutions/docker-compose-v2-alpine:latest
|
||||
# - docker run -v /var/run/docker.sock:/var/run/docker.sock --rm -d --name compose-container gitea.bsidesolutions.net/bside-solutions/docker-compose-v2-alpine sleep inf #start container in detached mode
|
||||
# - sleep 5 # give container some time to fully start
|
||||
volumes:
|
||||
- name: docker_sock
|
||||
path: /var/run/docker.sock
|
||||
- name: Build and Push Container Image
|
||||
image: plugins/docker
|
||||
- yarn
|
||||
# - yarn build
|
||||
- name: push-image
|
||||
|
||||
image: plugins/docker:latest
|
||||
settings:
|
||||
registry: gitea.bsidesolutions.net
|
||||
repo: gitea.bsidesolutions.net/oonyeje/oonyeje-portfolio
|
||||
username:
|
||||
from_secret: DOCKER_USERNAME
|
||||
password:
|
||||
from_secret: DOCKER_PASSWORD
|
||||
repo: gitea.bsidesolutions.net/oonyeje/oonyeje-portfolio
|
||||
registry: gitea.bsidesolutions.net
|
||||
dockerfile: ./Dockerfile
|
||||
force_tag: true
|
||||
# email:
|
||||
# from_secret: DOCKER_EMAIL
|
||||
tags:
|
||||
- latest
|
||||
- dev
|
||||
- dev-build-${DRONE_COMMIT_SHA:0:7}
|
||||
|
||||
dockerfile: ./Dockerfile
|
||||
context: ./
|
||||
|
||||
# - name: deploy-staging
|
||||
# image: plugins/ansible:latest
|
||||
@ -104,8 +72,3 @@ steps:
|
||||
# event:
|
||||
# - push
|
||||
# - pull_request
|
||||
|
||||
volumes:
|
||||
- name: docker_sock
|
||||
host:
|
||||
path: /var/run/docker.sock
|
||||
10
.env.dev
10
.env.dev
@ -1,10 +0,0 @@
|
||||
SMTP_PROXY_EMAIL=$SMTP_PROXY_EMAIL
|
||||
SMTP_RECIPIENT_EMAIL=$SMTP_RECIPIENT_EMAIL
|
||||
SMTP_HOST=$SMTP_HOST
|
||||
SMTP_PORT=$SMTP_PORT
|
||||
SMTP_USERNAME=$SMTP_USERNAME
|
||||
SMTP_PASSWORD=$SMTP_PASSWORD
|
||||
NEXT_PUBLIC_GOOGLE_APPOINTMENTS_LINK=$NEXT_PUBLIC_GOOGLE_APPOINTMENTS_LINK
|
||||
RECAPTCHA_SECRET_KEY=$RECAPTCHA_SECRET_KEY
|
||||
NEXT_PUBLIC_RECAPTCHA_SITE_KEY=$NEXT_PUBLIC_RECAPTCHA_SITE_KEY
|
||||
GIT_SHA=$GIT_SHA
|
||||
12
.env.drone
12
.env.drone
@ -1,12 +0,0 @@
|
||||
SMTP_PROXY_EMAIL=$SMTP_PROXY_EMAIL
|
||||
SMTP_RECIPIENT_EMAIL=$SMTP_RECIPIENT_EMAIL
|
||||
SMTP_HOST=$SMTP_HOST
|
||||
SMTP_PORT=$SMTP_PORT
|
||||
SMTP_USERNAME=$SMTP_USERNAME
|
||||
SMTP_PASSWORD=$SMTP_PASSWORD
|
||||
NEXT_PUBLIC_GOOGLE_APPOINTMENTS_LINK=$NEXT_PUBLIC_GOOGLE_APPOINTMENTS_LINK
|
||||
RECAPTCHA_SECRET_KEY=$RECAPTCHA_SECRET_KEY
|
||||
NEXT_PUBLIC_RECAPTCHA_SITE_KEY=$NEXT_PUBLIC_RECAPTCHA_SITE_KEY
|
||||
DRONE_SHA=$DRONE_SHA
|
||||
DOCKER_USERNAME=$DOCKER_USERNAME
|
||||
DOCKER_PASSWORD=$DOCKER_PASSWORD
|
||||
@ -1,38 +0,0 @@
|
||||
name: Manually Deploy Image to Coolify
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
image_tag:
|
||||
description: 'Built Container Image to deploy'
|
||||
required: false
|
||||
default: 'latest'
|
||||
type: string
|
||||
environment:
|
||||
description: 'Coolify Environment to deploy to'
|
||||
required: false
|
||||
type: choice
|
||||
default: 'staging'
|
||||
options:
|
||||
- staging
|
||||
- production
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
# - name: Login to Gitea
|
||||
# run: |
|
||||
# echo "${{ secrets.TOKEN }}" | docker login ${{ gitea.server_url }} --username ${{ gitea.actor }} --password-stdin
|
||||
|
||||
- name: Deploy to Coolify
|
||||
uses: carlozanella/deploy-coolify@v1
|
||||
with:
|
||||
endpoint: ${{ secrets.COOLIFY_ENDPOINT }}/api/v1
|
||||
token: ${{ secrets.COOLIFY_TOKEN }}
|
||||
app_uuid: ${{ (contains(github.event.inputs.environment, 'staging') && secrets.COOLIFY_APP_STAGING_UUID) || secrets.COOLIFY_APP_PRODUCTION_UUID }}
|
||||
image_name: 'gitea.bsidesolutions.net/oonyeje/oonyeje-portfolio'
|
||||
image_tag: ${{ github.event.inputs.image_tag }}
|
||||
29
Dockerfile
29
Dockerfile
@ -1,18 +1,25 @@
|
||||
FROM node:20-alpine AS builder
|
||||
FROM node:18.8-alpine as base
|
||||
|
||||
WORKDIR /app
|
||||
FROM base as builder
|
||||
|
||||
WORKDIR /home/node/app
|
||||
COPY package*.json ./
|
||||
RUN npm install -g yarn --force && yarn install --frozen-lockfile --production=false --cache-folder /yarn-cache && yarn cache clean --force && rm -rf /yarn-cache /tmp/*
|
||||
|
||||
COPY . .
|
||||
# RUN yarn build # Uncomment if you have a build step
|
||||
RUN yarn install
|
||||
# RUN yarn build
|
||||
|
||||
FROM node:20-alpine
|
||||
FROM base as runtime
|
||||
|
||||
WORKDIR /app
|
||||
COPY --from=builder /app/package*.json ./
|
||||
COPY --from=builder /app/yarn.lock ./
|
||||
RUN npm install -g yarn --force && yarn install --frozen-lockfile --production --cache-folder /yarn-cache && yarn cache clean --force && rm -rf /yarn-cache /tmp/*
|
||||
COPY --from=builder /app/ .
|
||||
# ENV NODE_ENV=production
|
||||
|
||||
WORKDIR /home/node/app
|
||||
COPY package*.json ./
|
||||
|
||||
# RUN yarn install --production
|
||||
# COPY --from=builder /home/node/app/dist ./dist
|
||||
# COPY --from=builder /home/node/app/build ./build
|
||||
|
||||
EXPOSE 3000
|
||||
CMD ["yarn", "dev", "-p", "3000"] #or node dist/index.js if you built the project.
|
||||
|
||||
CMD ["yarn", "dev", '-p', '3000']
|
||||
16
components/form/GoogleAppointmentBlock.tsx
Normal file
16
components/form/GoogleAppointmentBlock.tsx
Normal file
@ -0,0 +1,16 @@
|
||||
const GoogleAppointmentBlock = () => {
|
||||
const {GOOGLE_APPOINTMENTS_LINK} = process.env;
|
||||
console.log(GOOGLE_APPOINTMENTS_LINK)
|
||||
return (
|
||||
<div className='w-full h-full flex flex-row justify-center bg-white border-solid'>
|
||||
<embed
|
||||
src={GOOGLE_APPOINTMENTS_LINK!}
|
||||
style={{border: 1}}
|
||||
width="100%"
|
||||
height="600"
|
||||
></embed>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export default GoogleAppointmentBlock;
|
||||
@ -1,27 +0,0 @@
|
||||
name: oonyeje-portfolio
|
||||
services:
|
||||
oonyeje-portfolio:
|
||||
# this is not tagging corectly in drone, which is not pushing the correct build in the end
|
||||
image: gitea.bsidesolutions.net/oonyeje/oonyeje-portfolio
|
||||
build:
|
||||
context: ./
|
||||
dockerfile: Dockerfile
|
||||
ports:
|
||||
- "6000:3000"
|
||||
volumes:
|
||||
- .:/home/node/app
|
||||
- ./node_modules:/home/node/app/node_modules
|
||||
environment:
|
||||
- SMTP_PROXY_EMAIL=${SMTP_PROXY_EMAIL}
|
||||
- SMTP_RECIPIENT_EMAIL=${SMTP_RECIPIENT_EMAIL}
|
||||
- SMTP_HOST=${SMTP_HOST}
|
||||
- SMTP_PORT=${SMTP_PORT}
|
||||
- SMTP_USERNAME=${SMTP_USERNAME}
|
||||
- SMTP_PASSWORD=${SMTP_PASSWORD}
|
||||
- NEXT_PUBLIC_GOOGLE_APPOINTMENTS_LINK=${NEXT_PUBLIC_GOOGLE_APPOINTMENTS_LINK}
|
||||
- RECAPTCHA_SECRET_KEY=${RECAPTCHA_SECRET_KEY}
|
||||
- NEXT_PUBLIC_RECAPTCHA_SITE_KEY=${NEXT_PUBLIC_RECAPTCHA_SITE_KEY}
|
||||
working_dir: /home/node/app/
|
||||
command: sh -c "yarn install && yarn dev"
|
||||
env_file:
|
||||
- .env.dev
|
||||
@ -1,25 +0,0 @@
|
||||
name: oonyeje-portfolio
|
||||
services:
|
||||
oonyeje-portfolio:
|
||||
# this is not tagging corectly in drone, which is not pushing the correct build in the end
|
||||
image: gitea.bsidesolutions.net/oonyeje/oonyeje-portfolio
|
||||
build:
|
||||
context: ./
|
||||
dockerfile: Dockerfile
|
||||
ports:
|
||||
- "6000:3000"
|
||||
volumes:
|
||||
- .:/home/node/app
|
||||
- ./node_modules:/home/node/app/node_modules
|
||||
environment:
|
||||
- SMTP_PROXY_EMAIL=${SMTP_PROXY_EMAIL}
|
||||
- SMTP_RECIPIENT_EMAIL=${SMTP_RECIPIENT_EMAIL}
|
||||
- SMTP_HOST=${SMTP_HOST}
|
||||
- SMTP_PORT=${SMTP_PORT}
|
||||
- SMTP_USERNAME=${SMTP_USERNAME}
|
||||
- SMTP_PASSWORD=${SMTP_PASSWORD}
|
||||
- NEXT_PUBLIC_GOOGLE_APPOINTMENTS_LINK=${NEXT_PUBLIC_GOOGLE_APPOINTMENTS_LINK}
|
||||
- RECAPTCHA_SECRET_KEY=${RECAPTCHA_SECRET_KEY}
|
||||
- NEXT_PUBLIC_RECAPTCHA_SITE_KEY=${NEXT_PUBLIC_RECAPTCHA_SITE_KEY}
|
||||
working_dir: /home/node/app/
|
||||
command: sh -c "yarn install && yarn dev"
|
||||
@ -1,13 +1,14 @@
|
||||
version: '3.3'
|
||||
version: '3'
|
||||
|
||||
name: oonyeje-portfolio
|
||||
services:
|
||||
oonyeje-portfolio:
|
||||
image: gitea.bsidesolutions.net/oonyeje/oonyeje-portfolio
|
||||
app:
|
||||
image: node:18.8-alpine
|
||||
build:
|
||||
context: ./
|
||||
dockerfile: Dockerfile
|
||||
ports:
|
||||
- "6000:3000"
|
||||
- "3000:3000"
|
||||
volumes:
|
||||
- .:/home/node/app
|
||||
- ./node_modules:/home/node/app/node_modules
|
||||
|
||||
@ -6,13 +6,6 @@ const nextConfig = {
|
||||
|
||||
return config;
|
||||
},
|
||||
output: 'export',
|
||||
images: {
|
||||
unoptimized: true
|
||||
},
|
||||
exportPathMap: async (defaultMap, ctx) => {
|
||||
return defaultMap
|
||||
}
|
||||
// basePath: '/github-pages',
|
||||
}
|
||||
|
||||
|
||||
@ -9,9 +9,6 @@
|
||||
"lint": "next lint",
|
||||
"export": "next export"
|
||||
},
|
||||
"engines": {
|
||||
"node": "20"
|
||||
},
|
||||
"dependencies": {
|
||||
"@fortawesome/fontawesome-svg-core": "^6.4.2",
|
||||
"@fortawesome/free-brands-svg-icons": "^6.4.2",
|
||||
@ -33,7 +30,6 @@
|
||||
"sharp": "^0.32.6"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@tailwindcss/postcss": "^4.0.9",
|
||||
"@types/node": "latest",
|
||||
"@types/react": "latest",
|
||||
"@types/react-dom": "latest",
|
||||
|
||||
@ -74,9 +74,7 @@ export default async function handler(
|
||||
transporter.sendMail(mailData, function (err, info) {
|
||||
if(err) {
|
||||
console.log(err);
|
||||
// res.status(500).send('Internal Server Error');
|
||||
res.status(500).end();
|
||||
|
||||
res.status(500).send('Internal Server Error');
|
||||
}
|
||||
else {
|
||||
console.log('successful');
|
||||
@ -88,13 +86,11 @@ export default async function handler(
|
||||
res.status(200).json(req.body);
|
||||
} else {
|
||||
// reCAPTCHA verification failed
|
||||
// res.status(400).send('reCAPTCHA verification failed.');
|
||||
res.status(400).end();
|
||||
res.status(400).send('reCAPTCHA verification failed.');
|
||||
}
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
// res.status(500).send('Internal server error');
|
||||
res.status(500).end();
|
||||
res.status(500).send('Internal server error');
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -8,11 +8,12 @@ import navigationContent from '../lib/navigationContent'
|
||||
import ContactForm from '@/components/form/ContactForm';
|
||||
import Footer from '@/components/footer';
|
||||
import Link from 'next/link';
|
||||
import GoogleAppointmentBlock from '@/components/form/GoogleAppointmentBlock';
|
||||
const inter = Inter({ subsets: ['latin'] })
|
||||
|
||||
export default function Home() {
|
||||
const contactFormSectionRef = useRef<HTMLDivElement>(null);
|
||||
const landingSectionRef = useRef<HTMLDivElement>(null);
|
||||
const contactFormSectionRef = useRef<Element>(null);
|
||||
const landingSectionRef = useRef<Element>(null);
|
||||
const [contactClicked, setContactClicked] = useState(false);
|
||||
|
||||
const customStyles = {
|
||||
@ -119,6 +120,7 @@ export default function Home() {
|
||||
<div className='flex flex-row h-full w-full justify-center'>
|
||||
<div className='flex flex-col h-full w-full justify-center'>
|
||||
<ContactForm/>
|
||||
{/* <GoogleAppointmentBlock/> */}
|
||||
</div>
|
||||
<span className="cursor-pointer self-end" onClick={() => {
|
||||
executeScrollToLandiing();
|
||||
|
||||
@ -2,6 +2,5 @@ module.exports = {
|
||||
plugins: {
|
||||
tailwindcss: {},
|
||||
autoprefixer: {},
|
||||
"@tailwindcss/postcss": {}
|
||||
},
|
||||
}
|
||||
|
||||
208
yarn.lock
208
yarn.lock
@ -247,99 +247,6 @@
|
||||
dependencies:
|
||||
tslib "^2.4.0"
|
||||
|
||||
"@tailwindcss/node@4.0.9":
|
||||
version "4.0.9"
|
||||
resolved "https://registry.yarnpkg.com/@tailwindcss/node/-/node-4.0.9.tgz#27f08681b2cf6197a9c4c0ce0a0cb8dd16b3aaaf"
|
||||
integrity sha512-tOJvdI7XfJbARYhxX+0RArAhmuDcczTC46DGCEziqxzzbIaPnfYaIyRT31n4u8lROrsO7Q6u/K9bmQHL2uL1bQ==
|
||||
dependencies:
|
||||
enhanced-resolve "^5.18.1"
|
||||
jiti "^2.4.2"
|
||||
tailwindcss "4.0.9"
|
||||
|
||||
"@tailwindcss/oxide-android-arm64@4.0.9":
|
||||
version "4.0.9"
|
||||
resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.0.9.tgz#ad8fbe3018c04b1931e35f048f8975d06de6cc64"
|
||||
integrity sha512-YBgy6+2flE/8dbtrdotVInhMVIxnHJPbAwa7U1gX4l2ThUIaPUp18LjB9wEH8wAGMBZUb//SzLtdXXNBHPUl6Q==
|
||||
|
||||
"@tailwindcss/oxide-darwin-arm64@4.0.9":
|
||||
version "4.0.9"
|
||||
resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.0.9.tgz#e15a8d68b7ea225ce98f046a94078a5e8f89f52c"
|
||||
integrity sha512-pWdl4J2dIHXALgy2jVkwKBmtEb73kqIfMpYmcgESr7oPQ+lbcQ4+tlPeVXaSAmang+vglAfFpXQCOvs/aGSqlw==
|
||||
|
||||
"@tailwindcss/oxide-darwin-x64@4.0.9":
|
||||
version "4.0.9"
|
||||
resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.0.9.tgz#6de929f441e9f3c256ae023364888fb3d8da80e4"
|
||||
integrity sha512-4Dq3lKp0/C7vrRSkNPtBGVebEyWt9QPPlQctxJ0H3MDyiQYvzVYf8jKow7h5QkWNe8hbatEqljMj/Y0M+ERYJg==
|
||||
|
||||
"@tailwindcss/oxide-freebsd-x64@4.0.9":
|
||||
version "4.0.9"
|
||||
resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.0.9.tgz#5690a15919fcda09a000bc32e3db43e52850bfb4"
|
||||
integrity sha512-k7U1RwRODta8x0uealtVt3RoWAWqA+D5FAOsvVGpYoI6ObgmnzqWW6pnVwz70tL8UZ/QXjeMyiICXyjzB6OGtQ==
|
||||
|
||||
"@tailwindcss/oxide-linux-arm-gnueabihf@4.0.9":
|
||||
version "4.0.9"
|
||||
resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.0.9.tgz#351a7aa8b5c5d6739e440716e60e54f6b96aa0ea"
|
||||
integrity sha512-NDDjVweHz2zo4j+oS8y3KwKL5wGCZoXGA9ruJM982uVJLdsF8/1AeKvUwKRlMBpxHt1EdWJSAh8a0Mfhl28GlQ==
|
||||
|
||||
"@tailwindcss/oxide-linux-arm64-gnu@4.0.9":
|
||||
version "4.0.9"
|
||||
resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.0.9.tgz#9c4e3fbc5f37997da7323f78c2c76d403394e5d2"
|
||||
integrity sha512-jk90UZ0jzJl3Dy1BhuFfRZ2KP9wVKMXPjmCtY4U6fF2LvrjP5gWFJj5VHzfzHonJexjrGe1lMzgtjriuZkxagg==
|
||||
|
||||
"@tailwindcss/oxide-linux-arm64-musl@4.0.9":
|
||||
version "4.0.9"
|
||||
resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.0.9.tgz#3e5fcc39d1b98658639d88bbec2fbef6805a1e53"
|
||||
integrity sha512-3eMjyTC6HBxh9nRgOHzrc96PYh1/jWOwHZ3Kk0JN0Kl25BJ80Lj9HEvvwVDNTgPg154LdICwuFLuhfgH9DULmg==
|
||||
|
||||
"@tailwindcss/oxide-linux-x64-gnu@4.0.9":
|
||||
version "4.0.9"
|
||||
resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.0.9.tgz#c92400522b3fa3bb789314106c5170c82136e9e7"
|
||||
integrity sha512-v0D8WqI/c3WpWH1kq/HP0J899ATLdGZmENa2/emmNjubT0sWtEke9W9+wXeEoACuGAhF9i3PO5MeyditpDCiWQ==
|
||||
|
||||
"@tailwindcss/oxide-linux-x64-musl@4.0.9":
|
||||
version "4.0.9"
|
||||
resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.0.9.tgz#7a8cc4787ca3c143d2429529835749777faf3263"
|
||||
integrity sha512-Kvp0TCkfeXyeehqLJr7otsc4hd/BUPfcIGrQiwsTVCfaMfjQZCG7DjI+9/QqPZha8YapLA9UoIcUILRYO7NE1Q==
|
||||
|
||||
"@tailwindcss/oxide-win32-arm64-msvc@4.0.9":
|
||||
version "4.0.9"
|
||||
resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.0.9.tgz#5e51fe3859216703c72c3fabde8e86b45b2786b3"
|
||||
integrity sha512-m3+60T/7YvWekajNq/eexjhV8z10rswcz4BC9bioJ7YaN+7K8W2AmLmG0B79H14m6UHE571qB0XsPus4n0QVgQ==
|
||||
|
||||
"@tailwindcss/oxide-win32-x64-msvc@4.0.9":
|
||||
version "4.0.9"
|
||||
resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.0.9.tgz#91f9429cd2f06090cbd91581155e2828e498c8c8"
|
||||
integrity sha512-dpc05mSlqkwVNOUjGu/ZXd5U1XNch1kHFJ4/cHkZFvaW1RzbHmRt24gvM8/HC6IirMxNarzVw4IXVtvrOoZtxA==
|
||||
|
||||
"@tailwindcss/oxide@4.0.9":
|
||||
version "4.0.9"
|
||||
resolved "https://registry.yarnpkg.com/@tailwindcss/oxide/-/oxide-4.0.9.tgz#83d69528a0f8df99552a7d9df16c6a591878bbc7"
|
||||
integrity sha512-eLizHmXFqHswJONwfqi/WZjtmWZpIalpvMlNhTM99/bkHtUs6IqgI1XQ0/W5eO2HiRQcIlXUogI2ycvKhVLNcA==
|
||||
optionalDependencies:
|
||||
"@tailwindcss/oxide-android-arm64" "4.0.9"
|
||||
"@tailwindcss/oxide-darwin-arm64" "4.0.9"
|
||||
"@tailwindcss/oxide-darwin-x64" "4.0.9"
|
||||
"@tailwindcss/oxide-freebsd-x64" "4.0.9"
|
||||
"@tailwindcss/oxide-linux-arm-gnueabihf" "4.0.9"
|
||||
"@tailwindcss/oxide-linux-arm64-gnu" "4.0.9"
|
||||
"@tailwindcss/oxide-linux-arm64-musl" "4.0.9"
|
||||
"@tailwindcss/oxide-linux-x64-gnu" "4.0.9"
|
||||
"@tailwindcss/oxide-linux-x64-musl" "4.0.9"
|
||||
"@tailwindcss/oxide-win32-arm64-msvc" "4.0.9"
|
||||
"@tailwindcss/oxide-win32-x64-msvc" "4.0.9"
|
||||
|
||||
"@tailwindcss/postcss@^4.0.9":
|
||||
version "4.0.9"
|
||||
resolved "https://registry.yarnpkg.com/@tailwindcss/postcss/-/postcss-4.0.9.tgz#ba516b36984ca2e8b3b0a8feae673ac536a2563d"
|
||||
integrity sha512-BT/E+pdMqulavEAVM5NCpxmGEwHiLDPpkmg/c/X25ZBW+izTe+aZ+v1gf/HXTrihRoCxrUp5U4YyHsBTzspQKQ==
|
||||
dependencies:
|
||||
"@alloc/quick-lru" "^5.2.0"
|
||||
"@tailwindcss/node" "4.0.9"
|
||||
"@tailwindcss/oxide" "4.0.9"
|
||||
lightningcss "^1.29.1"
|
||||
postcss "^8.4.41"
|
||||
tailwindcss "4.0.9"
|
||||
|
||||
"@types/json5@^0.0.29":
|
||||
version "0.0.29"
|
||||
resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee"
|
||||
@ -931,11 +838,6 @@ dequal@^2.0.3:
|
||||
resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be"
|
||||
integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==
|
||||
|
||||
detect-libc@^1.0.3:
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
|
||||
integrity sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==
|
||||
|
||||
detect-libc@^2.0.0, detect-libc@^2.0.2:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.2.tgz#8ccf2ba9315350e1241b88d0ac3b0e1fbd99605d"
|
||||
@ -1002,14 +904,6 @@ enhanced-resolve@^5.12.0:
|
||||
graceful-fs "^4.2.4"
|
||||
tapable "^2.2.0"
|
||||
|
||||
enhanced-resolve@^5.18.1:
|
||||
version "5.18.1"
|
||||
resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz#728ab082f8b7b6836de51f1637aab5d3b9568faf"
|
||||
integrity sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==
|
||||
dependencies:
|
||||
graceful-fs "^4.2.4"
|
||||
tapable "^2.2.0"
|
||||
|
||||
es-abstract@^1.22.1:
|
||||
version "1.22.2"
|
||||
resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.22.2.tgz#90f7282d91d0ad577f505e423e52d4c1d93c1b8a"
|
||||
@ -1927,11 +1821,6 @@ jiti@^1.18.2:
|
||||
resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.20.0.tgz#2d823b5852ee8963585c8dd8b7992ffc1ae83b42"
|
||||
integrity sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==
|
||||
|
||||
jiti@^2.4.2:
|
||||
version "2.4.2"
|
||||
resolved "https://registry.yarnpkg.com/jiti/-/jiti-2.4.2.tgz#d19b7732ebb6116b06e2038da74a55366faef560"
|
||||
integrity sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==
|
||||
|
||||
"js-tokens@^3.0.0 || ^4.0.0":
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
|
||||
@ -2003,74 +1892,6 @@ levn@^0.4.1:
|
||||
prelude-ls "^1.2.1"
|
||||
type-check "~0.4.0"
|
||||
|
||||
lightningcss-darwin-arm64@1.29.1:
|
||||
version "1.29.1"
|
||||
resolved "https://registry.yarnpkg.com/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.29.1.tgz#dce17349c7b9f968f396ec240503de14e7b4870b"
|
||||
integrity sha512-HtR5XJ5A0lvCqYAoSv2QdZZyoHNttBpa5EP9aNuzBQeKGfbyH5+UipLWvVzpP4Uml5ej4BYs5I9Lco9u1fECqw==
|
||||
|
||||
lightningcss-darwin-x64@1.29.1:
|
||||
version "1.29.1"
|
||||
resolved "https://registry.yarnpkg.com/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.29.1.tgz#e79c984180c57d00ee114210ceced83473d72dfc"
|
||||
integrity sha512-k33G9IzKUpHy/J/3+9MCO4e+PzaFblsgBjSGlpAaFikeBFm8B/CkO3cKU9oI4g+fjS2KlkLM/Bza9K/aw8wsNA==
|
||||
|
||||
lightningcss-freebsd-x64@1.29.1:
|
||||
version "1.29.1"
|
||||
resolved "https://registry.yarnpkg.com/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.29.1.tgz#4b3aec9620684a60c45266d50fd843869320f42f"
|
||||
integrity sha512-0SUW22fv/8kln2LnIdOCmSuXnxgxVC276W5KLTwoehiO0hxkacBxjHOL5EtHD8BAXg2BvuhsJPmVMasvby3LiQ==
|
||||
|
||||
lightningcss-linux-arm-gnueabihf@1.29.1:
|
||||
version "1.29.1"
|
||||
resolved "https://registry.yarnpkg.com/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.29.1.tgz#b80e9c4dd75652bec451ffd4d5779492a01791ff"
|
||||
integrity sha512-sD32pFvlR0kDlqsOZmYqH/68SqUMPNj+0pucGxToXZi4XZgZmqeX/NkxNKCPsswAXU3UeYgDSpGhu05eAufjDg==
|
||||
|
||||
lightningcss-linux-arm64-gnu@1.29.1:
|
||||
version "1.29.1"
|
||||
resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.29.1.tgz#7825eb119ddf580a4a4f011c6f384a3f9c992060"
|
||||
integrity sha512-0+vClRIZ6mmJl/dxGuRsE197o1HDEeeRk6nzycSy2GofC2JsY4ifCRnvUWf/CUBQmlrvMzt6SMQNMSEu22csWQ==
|
||||
|
||||
lightningcss-linux-arm64-musl@1.29.1:
|
||||
version "1.29.1"
|
||||
resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.29.1.tgz#389efccf80088dce2bb00e28bd7d1cfe36a71669"
|
||||
integrity sha512-UKMFrG4rL/uHNgelBsDwJcBqVpzNJbzsKkbI3Ja5fg00sgQnHw/VrzUTEc4jhZ+AN2BvQYz/tkHu4vt1kLuJyw==
|
||||
|
||||
lightningcss-linux-x64-gnu@1.29.1:
|
||||
version "1.29.1"
|
||||
resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.29.1.tgz#98fc5df5e39ac8ddc51e51f785849eb21131f789"
|
||||
integrity sha512-u1S+xdODy/eEtjADqirA774y3jLcm8RPtYztwReEXoZKdzgsHYPl0s5V52Tst+GKzqjebkULT86XMSxejzfISw==
|
||||
|
||||
lightningcss-linux-x64-musl@1.29.1:
|
||||
version "1.29.1"
|
||||
resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.29.1.tgz#fb4f80895ba7dfa8048ee32e9716a1684fefd6b2"
|
||||
integrity sha512-L0Tx0DtaNUTzXv0lbGCLB/c/qEADanHbu4QdcNOXLIe1i8i22rZRpbT3gpWYsCh9aSL9zFujY/WmEXIatWvXbw==
|
||||
|
||||
lightningcss-win32-arm64-msvc@1.29.1:
|
||||
version "1.29.1"
|
||||
resolved "https://registry.yarnpkg.com/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.29.1.tgz#fd4409fd1505d89d0ff66511c36df5a1379eb7cd"
|
||||
integrity sha512-QoOVnkIEFfbW4xPi+dpdft/zAKmgLgsRHfJalEPYuJDOWf7cLQzYg0DEh8/sn737FaeMJxHZRc1oBreiwZCjog==
|
||||
|
||||
lightningcss-win32-x64-msvc@1.29.1:
|
||||
version "1.29.1"
|
||||
resolved "https://registry.yarnpkg.com/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.29.1.tgz#54dcd52884f6cbf205a53d49239559603f194927"
|
||||
integrity sha512-NygcbThNBe4JElP+olyTI/doBNGJvLs3bFCRPdvuCcxZCcCZ71B858IHpdm7L1btZex0FvCmM17FK98Y9MRy1Q==
|
||||
|
||||
lightningcss@^1.29.1:
|
||||
version "1.29.1"
|
||||
resolved "https://registry.yarnpkg.com/lightningcss/-/lightningcss-1.29.1.tgz#1d4d62332fc5ba4b6c28e04a8c5638c76019702b"
|
||||
integrity sha512-FmGoeD4S05ewj+AkhTY+D+myDvXI6eL27FjHIjoyUkO/uw7WZD1fBVs0QxeYWa7E17CUHJaYX/RUGISCtcrG4Q==
|
||||
dependencies:
|
||||
detect-libc "^1.0.3"
|
||||
optionalDependencies:
|
||||
lightningcss-darwin-arm64 "1.29.1"
|
||||
lightningcss-darwin-x64 "1.29.1"
|
||||
lightningcss-freebsd-x64 "1.29.1"
|
||||
lightningcss-linux-arm-gnueabihf "1.29.1"
|
||||
lightningcss-linux-arm64-gnu "1.29.1"
|
||||
lightningcss-linux-arm64-musl "1.29.1"
|
||||
lightningcss-linux-x64-gnu "1.29.1"
|
||||
lightningcss-linux-x64-musl "1.29.1"
|
||||
lightningcss-win32-arm64-msvc "1.29.1"
|
||||
lightningcss-win32-x64-msvc "1.29.1"
|
||||
|
||||
lilconfig@^2.0.5, lilconfig@^2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52"
|
||||
@ -2223,11 +2044,6 @@ nanoid@^3.3.4, nanoid@^3.3.6:
|
||||
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c"
|
||||
integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==
|
||||
|
||||
nanoid@^3.3.8:
|
||||
version "3.3.8"
|
||||
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.8.tgz#b1be3030bee36aaff18bacb375e5cce521684baf"
|
||||
integrity sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==
|
||||
|
||||
napi-build-utils@^1.0.1:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-1.0.2.tgz#b1fddc0b2c46e380a0b7a76f984dd47c41a13806"
|
||||
@ -2484,11 +2300,6 @@ picocolors@^1.0.0:
|
||||
resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
|
||||
integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
|
||||
|
||||
picocolors@^1.1.1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b"
|
||||
integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==
|
||||
|
||||
picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1:
|
||||
version "2.3.1"
|
||||
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
|
||||
@ -2566,15 +2377,6 @@ postcss@^8.4.23, postcss@latest:
|
||||
picocolors "^1.0.0"
|
||||
source-map-js "^1.0.2"
|
||||
|
||||
postcss@^8.4.41:
|
||||
version "8.5.3"
|
||||
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.3.tgz#1463b6f1c7fb16fe258736cba29a2de35237eafb"
|
||||
integrity sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==
|
||||
dependencies:
|
||||
nanoid "^3.3.8"
|
||||
picocolors "^1.1.1"
|
||||
source-map-js "^1.2.1"
|
||||
|
||||
prebuild-install@^7.1.1:
|
||||
version "7.1.1"
|
||||
resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-7.1.1.tgz#de97d5b34a70a0c81334fd24641f2a1702352e45"
|
||||
@ -2943,11 +2745,6 @@ source-map-js@^1.0.2:
|
||||
resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
|
||||
integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
|
||||
|
||||
source-map-js@^1.2.1:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46"
|
||||
integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==
|
||||
|
||||
streamsearch@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764"
|
||||
@ -3073,11 +2870,6 @@ supports-preserve-symlinks-flag@^1.0.0:
|
||||
resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
|
||||
integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
|
||||
|
||||
tailwindcss@4.0.9:
|
||||
version "4.0.9"
|
||||
resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-4.0.9.tgz#f6626cee837aabe9e54c29b230b6fb0ed36fe965"
|
||||
integrity sha512-12laZu+fv1ONDRoNR9ipTOpUD7RN9essRVkX36sjxuRUInpN7hIiHN4lBd/SIFjbISvnXzp8h/hXzmU8SQQYhw==
|
||||
|
||||
tailwindcss@latest:
|
||||
version "3.3.3"
|
||||
resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.3.3.tgz#90da807393a2859189e48e9e7000e6880a736daf"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user