-My personal website, built with [Next.js](https://nextjs.org/), [Tailwind CSS](https://tailwindcss.com/), [Upstash](https://upstash.com?ref=chronark.com), [Contentlayer](https://www.contentlayer.dev/) and deployed to [Vercel](https://vercel.com/).
+My personal website, built with [Next.js](https://nextjs.org/), [Tailwind CSS](https://tailwindcss.com/), [Upstash](https://upstash.com?ref=bonafe.org), [Contentlayer](https://www.contentlayer.dev/) and deployed to [Vercel](https://vercel.com/).
-
-
[](https://vercel.com/new/upstash/clone?demo-title=Next.js%20Portfolio%20with%20Pageview%20Counter&demo-description=Portfolio%20site%20with%20pageview%20counter%2C%20built%20with%20Next.js%2013%20App%20Router%2C%20Contentlayer%2C%20and%20Upstash%20Redis.&demo-url=https%3A%2F%2Fchronark.com%2F&demo-image=%2F%2Fimages.ctfassets.net%2Fe5382hct74si%2F1DA8n5a6WaP9p1FXf9LmUY%2Fc6264fa2732355787bf657df92dda8a1%2FCleanShot_2023-04-17_at_14.17.37.png&project-name=Next.js%20Portfolio%20with%20Pageview%20Counter&repository-name=nextjs-portfolio-pageview-counter&repository-url=https%3A%2F%2Fgithub.com%2Fchronark%2Fchronark.com&from=templates&integration-ids=oac_V3R1GIpkoJorr6fqyiwdhl17)
## Running Locally
-
```sh-session
-git clone https://github.com/chronark/chronark.com.git
-cd chronark.com
+git clone https://github.com/LucasBonafe/bonafe.org.git
+cd bonafe.org
```
-
-Create a `.env` file similar to [`.env.example`](https://github.com/chronark/chronark.com/blob/main/.env.example).
+Create a `.env` file similar to [`.env.example`](https://github.com/LucasBonafe/bonafe.org/blob/main/.env.example).
Then install dependencies and run the development server:
+
```sh-session
pnpm install
pnpm dev
```
-
## Cloning / Forking
Please remove all of my personal information (projects, images, etc.) before deploying your own version of this site.
diff --git a/app/components/analytics.tsx b/app/components/analytics.tsx
index aa7fa989..356d581a 100644
--- a/app/components/analytics.tsx
+++ b/app/components/analytics.tsx
@@ -1,5 +1,4 @@
-"use client";
-
+'use client';
export function Analytics() {
const token = process.env.NEXT_PUBLIC_BEAM_TOKEN;
if (!token) {
diff --git a/app/components/card.tsx b/app/components/card.tsx
index 8dc85744..5537709f 100644
--- a/app/components/card.tsx
+++ b/app/components/card.tsx
@@ -1,34 +1,34 @@
-"use client";
+'use client';
import {
- motion,
- useMotionTemplate,
- useMotionValue,
- useSpring,
-} from "framer-motion";
+ motion,
+ useMotionTemplate,
+ useMotionValue,
+ useSpring,
+} from 'framer-motion';
+import {MouseEventHandler, PropsWithChildren} from 'react';
-import { MouseEventHandler, PropsWithChildren } from "react";
-export const Card: React.FC = ({ children }) => {
- const mouseX = useSpring(0, { stiffness: 500, damping: 100 });
- const mouseY = useSpring(0, { stiffness: 500, damping: 100 });
+export const Card: React.FC = ({children}) => {
+ const mouseX = useSpring(0, {stiffness: 500, damping: 100});
+ const mouseY = useSpring(0, {stiffness: 500, damping: 100});
- function onMouseMove({ currentTarget, clientX, clientY }: any) {
- const { left, top } = currentTarget.getBoundingClientRect();
+ function onMouseMove({currentTarget, clientX, clientY}: any) {
+ const {left, top} = currentTarget.getBoundingClientRect();
mouseX.set(clientX - left);
mouseY.set(clientY - top);
}
const maskImage = useMotionTemplate`radial-gradient(240px at ${mouseX}px ${mouseY}px, white, transparent)`;
- const style = { maskImage, WebkitMaskImage: maskImage };
+ const style = {maskImage, WebkitMaskImage: maskImage};
return (
diff --git a/content/projects/access.mdx b/content/projects/access.mdx
index e29f22c0..7895bb36 100644
--- a/content/projects/access.mdx
+++ b/content/projects/access.mdx
@@ -4,8 +4,8 @@ description: A minimal library for access control. It is designed to be used tog
repository: chronark/access
date: "2022-11-13"
published: true
-
---
+
A minimal library for access control. It is designed to be used together with opaque access tokens by providing a simple interface to define roles with different access permissions and verifying requests to resources.
- Fully typed
@@ -73,4 +73,4 @@ const res = recovered.authorize({"team", ["read"]});
// res.success => boolean
// res.error => string | undefined provides a reason for failure
-```
\ No newline at end of file
+```
diff --git a/content/projects/bonafe.org.mdx b/content/projects/bonafe.org.mdx
new file mode 100644
index 00000000..57064594
--- /dev/null
+++ b/content/projects/bonafe.org.mdx
@@ -0,0 +1,10 @@
+---
+title: bonafe.org
+description: The website you're looking at
+repository: LucasBonafe/bonafe.org
+url: https://bonafe.org
+date: 2024-01-18
+published: true
+---
+
+Minimalist open-source portfolio.
diff --git a/content/projects/chronark.com.mdx b/content/projects/chronark.com.mdx
deleted file mode 100644
index 68443688..00000000
--- a/content/projects/chronark.com.mdx
+++ /dev/null
@@ -1,14 +0,0 @@
----
-title: chronark.com
-description: The website you're looking at
-repository: chronark/chronark.com
-url: https://chronark.com
-date: 2023-03-28
-published: true
----
-
-
-Like so many others, I just wanted a place to collect some projects I worked on. Maybe I'll add a blog, maybe I won't. I'm not sure yet.
-
-If you like the design, check out the Repository on GitHub.
-
diff --git a/content/projects/highstorm.mdx b/content/projects/highstorm.mdx
index 59ec1706..e8990913 100644
--- a/content/projects/highstorm.mdx
+++ b/content/projects/highstorm.mdx
@@ -5,11 +5,10 @@ date: "2023-05-01"
url: https://highstorm.app
published: true
repository: "chronark/highstorm"
-
---
- [](https://highstorm.app)
+ [](https://highstorm.app)
Reduce the noise in your Slack workspace by consolidating all your event data into one place, filtering alerts by relevance, and customizing your alert settings to suit your needs.
@@ -23,4 +22,4 @@ Keep your Slack workspace focused on what's important
Customize your alert settings to suit your unique needs
###### Clear Overview
-Get a clear overview of all your alerts in one place
\ No newline at end of file
+Get a clear overview of all your alerts in one place
diff --git a/content/projects/planetfall.mdx b/content/projects/planetfall.mdx
index 4803173c..1758ddc6 100644
--- a/content/projects/planetfall.mdx
+++ b/content/projects/planetfall.mdx
@@ -4,12 +4,9 @@ description: I'm building a SAAS providing global latency monitoring for your AP
date: "2023-04-01"
url: https://planetfall.io
published: true
-
---
-
[](https://planetfall.io)
-Planetfall is a SaaS platform that provides global latency monitoring and synthetic monitoring for APIs. With over 60 regions to monitor from, customers can gain insights into the true performance of their API by checking latency from around the world.
+Planetfall is a SaaS platform that provides global latency monitoring and synthetic monitoring for APIs. With over 60 regions to monitor from, customers can gain insights into the true performance of their API by checking latency from around the world.
Planetfall offers custom timeouts, threshold notifications, and real-time alerts for potential performance issues. Additionally, customers can create custom status pages to share with their customers, which can display availability and latency for every region. Planetfall offers a free tier that includes 100k checks per month and scales as customers grow. Overall, Planetfall helps customers stay in control of their API's performance, improve communication with their customers, and build trust.
-
diff --git a/content/projects/qstash.mdx b/content/projects/qstash.mdx
index 01bc6f0e..5b15af6f 100644
--- a/content/projects/qstash.mdx
+++ b/content/projects/qstash.mdx
@@ -4,7 +4,6 @@ description: QStash is a fully managed serverless queue and messaging service de
date: "2022-07-18"
url: https://upstash.com/qstash
published: true
-
---
QStash is an HTTP based messaging and scheduling solution for the serverless and edge runtimes.
diff --git a/content/projects/terraform-provider-vercel.mdx b/content/projects/terraform-provider-vercel.mdx
index 267c145d..f0f69257 100644
--- a/content/projects/terraform-provider-vercel.mdx
+++ b/content/projects/terraform-provider-vercel.mdx
@@ -7,9 +7,7 @@ url: https://registry.terraform.io/providers/chronark/vercel/latest
published: true
---
-
-
-Back in the day when Vercel didn't have an official Terraform provider, I wrote one.
+Back in the day when Vercel didn't have an official Terraform provider, I wrote one.
I needed to manage my Vercel projects and especially sync environment variables from different cloud providers.
Terraform was great to provision some postgres databases on digital ocean, but there was no way to sync the credentials with Vercel.
@@ -36,11 +34,11 @@ resource "vercel_project" "my_project" {
}
```
-It was a fun project and I learned a lot about Terraform and Vercel's API.
+It was a fun project and I learned a lot about Terraform and Vercel's API.
It gave me the opportunity to contribute to the Terraform ecosystem and my appreciation for the work that the Terraform team does is immense.
There have been quite a few individuals and teams that have used this provider and I am happy that it has been useful to you.
-Now that Vercel have stepped in, I have decided to [deprecate](https://twitter.com/chronark_/status/1517759708983177218) this one on April 23rd 2022.
+Now that Vercel have stepped in, I have decided to [deprecate](https://twitter.com/chronark_/status/1517759708983177218) this one on April 23rd 2022.
-Please use the [official provider](https://registry.terraform.io/providers/vercel/vercel/latest) instead.
\ No newline at end of file
+Please use the [official provider](https://registry.terraform.io/providers/vercel/vercel/latest) instead.
diff --git a/content/projects/unkey.mdx b/content/projects/unkey.mdx
index 229b5c79..c451b388 100644
--- a/content/projects/unkey.mdx
+++ b/content/projects/unkey.mdx
@@ -7,7 +7,6 @@ published: true
repository: chronark/unkey
---
-
[](https://unkey.dev)
Unkey is an open source API Key management solution. It allows you to create, manage and validate API Keys for your users. It’s built with security and speed in mind.
diff --git a/content/projects/upstash-cli.mdx b/content/projects/upstash-cli.mdx
index d21850a1..def8e5a0 100644
--- a/content/projects/upstash-cli.mdx
+++ b/content/projects/upstash-cli.mdx
@@ -4,7 +4,6 @@ description: A CLI to provision and manage Upstash resources, including Redis an
date: "2022-05-16"
repository: upstash/cli
published: true
-
---
diff --git a/content/projects/upstash-core-analytics.mdx b/content/projects/upstash-core-analytics.mdx
index 966d891f..b602e833 100644
--- a/content/projects/upstash-core-analytics.mdx
+++ b/content/projects/upstash-core-analytics.mdx
@@ -5,7 +5,6 @@ date: "2023-02-13"
url: https://console.upstash.com/ratelimit
repository: upstash/core-analytics
published: true
-
---
diff --git a/content/projects/upstash-edge-flags.mdx b/content/projects/upstash-edge-flags.mdx
index 71e4a761..d387c821 100644
--- a/content/projects/upstash-edge-flags.mdx
+++ b/content/projects/upstash-edge-flags.mdx
@@ -5,7 +5,6 @@ date: "2022-12-12"
url: https://upstash.com/blog/edge-flags-beta
repository: upstash/edge-flags
published: true
-
---
diff --git a/content/projects/upstash-kafka.mdx b/content/projects/upstash-kafka.mdx
index 36df4b1b..d3aefc77 100644
--- a/content/projects/upstash-kafka.mdx
+++ b/content/projects/upstash-kafka.mdx
@@ -5,7 +5,6 @@ date: "2022-01-08"
url: https://upstash.com/kafka
repository: upstash/upstash-kafka
published: true
-
---
diff --git a/content/projects/upstash-qstash-sdk.mdx b/content/projects/upstash-qstash-sdk.mdx
index 3d3e24a8..ec38067b 100644
--- a/content/projects/upstash-qstash-sdk.mdx
+++ b/content/projects/upstash-qstash-sdk.mdx
@@ -7,7 +7,6 @@ repository: upstash/sdk-qstash-ts
published: true
---
-
@upstash/qstash is the official client and consumer for [QStash](https://chronark.com/projects/qstash).
QStash is the message broker between your serverless apps. You send an HTTP
diff --git a/content/projects/upstash-ratelimit-analytics.mdx b/content/projects/upstash-ratelimit-analytics.mdx
index ec3e0c91..308f1a39 100644
--- a/content/projects/upstash-ratelimit-analytics.mdx
+++ b/content/projects/upstash-ratelimit-analytics.mdx
@@ -4,7 +4,6 @@ description: Near realtime analytics for your ratelimits. Integrated into the @u
repository: upstash/ratelimit"
url: https://console.upstash.com/ratelimit
published: true
-
---
TODO:
diff --git a/content/projects/upstash-ratelimit.mdx b/content/projects/upstash-ratelimit.mdx
index 7063084a..e56b617d 100644
--- a/content/projects/upstash-ratelimit.mdx
+++ b/content/projects/upstash-ratelimit.mdx
@@ -5,7 +5,6 @@ date: "2022-06-06"
url: https://upstash.com/blog/upstash-ratelimit
repository: upstash/ratelimit
published: true
-
---
In today's digital age, serverless computing has become increasingly popular due to its scalability and cost-efficiency. One of the challenges of serverless computing is to manage resources efficiently, and one critical aspect of this is rate limiting. Rate limiting is a technique that limits the number of requests a client can make to a server over a given period. This technique can prevent abuse, improve performance, and reduce costs. One npm package that helps implement rate limiting for serverless applications is @upstash/ratelimit, built on top of Upstash Redis.
diff --git a/content/projects/upstash-react-ui.mdx b/content/projects/upstash-react-ui.mdx
index b00e31ba..913a3e5a 100644
--- a/content/projects/upstash-react-ui.mdx
+++ b/content/projects/upstash-react-ui.mdx
@@ -5,7 +5,6 @@ date: "2023-02-05"
url: https://upstash.com
repository: upstash/react-ui
published: true
-
---
diff --git a/content/projects/upstash-redis.mdx b/content/projects/upstash-redis.mdx
index 95216f65..696289f5 100644
--- a/content/projects/upstash-redis.mdx
+++ b/content/projects/upstash-redis.mdx
@@ -5,7 +5,6 @@ date: "2022-03-14"
url: https://upstash.com/redis
repository: upstash/upstash-redis
published: true
-
---
Upstash is a cloud-based service provider that offers a Redis-compatible service. In addition to that, we have also created an npm package called `@upstash/redis`. This package provides a strongly typed Redis client that uses HTTP instead of TCP to communicate with the database, making it perfect for serverless and edge runtimes.
diff --git a/content/projects/zod-bird.mdx b/content/projects/zod-bird.mdx
index 3d378985..d666b4ba 100644
--- a/content/projects/zod-bird.mdx
+++ b/content/projects/zod-bird.mdx
@@ -4,7 +4,6 @@ description: Zodbird is an e2e typed tinybird.co client library for typescript,
repository: chronark/zod-bird
date: "2023-05-21"
published: true
-
---
- typesafe
diff --git a/package.json b/package.json
index 7c3d0f93..1b1eccf4 100644
--- a/package.json
+++ b/package.json
@@ -1,17 +1,19 @@
{
- "name": "chronark.com",
+ "name": "bonafe.org",
"version": "0.1.0",
"private": true,
"scripts": {
"dev": "next dev",
+ "dev:turbo": "next dev --turbo",
"build": "next build",
"start": "next start",
"fmt": "pnpm rome check . --apply-unsafe && pnpm rome format . --write"
},
"dependencies": {
- "@next/font": "^13.5.4",
"@next/mdx": "^13.5.4",
"@upstash/redis": "^1.23.3",
+ "@vercel/analytics": "^1.1.2",
+ "@vercel/speed-insights": "^1.0.7",
"contentlayer": "^0.3.4",
"framer-motion": "^10.16.4",
"lucide-react": "^0.284.0",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 4da812c1..0bcbf32d 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -14,15 +14,18 @@ overrides:
'@opentelemetry/semantic-conventions': 1.13.0
dependencies:
- '@next/font':
- specifier: ^13.5.4
- version: 13.5.4
'@next/mdx':
specifier: ^13.5.4
version: 13.5.4
'@upstash/redis':
specifier: ^1.23.3
version: 1.23.3
+ '@vercel/analytics':
+ specifier: ^1.1.2
+ version: 1.1.2
+ '@vercel/speed-insights':
+ specifier: ^1.0.7
+ version: 1.0.7(next@13.5.4)(react@18.2.0)
contentlayer:
specifier: ^0.3.4
version: 0.3.4(esbuild@0.19.4)(markdown-wasm@1.2.0)
@@ -259,10 +262,10 @@ packages:
resolution: {integrity: sha512-47gAg0O2pW5Jlo86jfzjdkwL5a7Bzb+Kj5WTmdu4CxYRfWn9ytKjuuYIfsNDW8neuhdKzn+P5wCddgEh0glYyQ==}
peerDependencies:
'@effect-ts/core': ^0.60.2
- '@opentelemetry/api': ^1.4.0
- '@opentelemetry/core': ^1.13.0
- '@opentelemetry/exporter-trace-otlp-grpc': ^0.39.0
- '@opentelemetry/sdk-trace-base': ^1.13.0
+ '@opentelemetry/api': 1.4.1
+ '@opentelemetry/core': 1.13.0
+ '@opentelemetry/exporter-trace-otlp-grpc': 0.39.1
+ '@opentelemetry/sdk-trace-base': 1.13.0
dependencies:
'@effect-ts/core': 0.60.5
'@effect-ts/otel': 0.15.1(@effect-ts/core@0.60.5)(@opentelemetry/api@1.4.1)(@opentelemetry/core@1.13.0)(@opentelemetry/sdk-trace-base@1.13.0)
@@ -276,10 +279,10 @@ packages:
resolution: {integrity: sha512-a2sF0ylmn8xOJs8fNeT/spJ1gUcsksAJCALxo9WOfuTCMtTwMVtVhCKEPEeQoL7wFqU+JgPkVdP91+FJ/Rkeow==}
peerDependencies:
'@effect-ts/core': ^0.60.2
- '@opentelemetry/api': ^1.4.0
- '@opentelemetry/core': ^1.13.0
- '@opentelemetry/sdk-trace-base': ^1.13.0
- '@opentelemetry/sdk-trace-node': ^1.13.0
+ '@opentelemetry/api': 1.4.1
+ '@opentelemetry/core': 1.13.0
+ '@opentelemetry/sdk-trace-base': 1.13.0
+ '@opentelemetry/sdk-trace-node': 1.13.0
dependencies:
'@effect-ts/core': 0.60.5
'@effect-ts/otel': 0.15.1(@effect-ts/core@0.60.5)(@opentelemetry/api@1.4.1)(@opentelemetry/core@1.13.0)(@opentelemetry/sdk-trace-base@1.13.0)
@@ -293,9 +296,9 @@ packages:
resolution: {integrity: sha512-AmZJHl7t0+Peh7Yb2+hqn6r9+rd9/UfeA4AMV9h0YGTdOyouyFfD3wzWlxnAUzAQ4Lrod4kC7Noruret4EpqpA==}
peerDependencies:
'@effect-ts/core': ^0.60.2
- '@opentelemetry/api': ^1.4.0
- '@opentelemetry/core': ^1.13.0
- '@opentelemetry/sdk-trace-base': ^1.13.0
+ '@opentelemetry/api': 1.4.1
+ '@opentelemetry/core': 1.13.0
+ '@opentelemetry/sdk-trace-base': 1.13.0
dependencies:
'@effect-ts/core': 0.60.5
'@opentelemetry/api': 1.4.1
@@ -317,6 +320,7 @@ packages:
/@emotion/memoize@0.7.4:
resolution: {integrity: sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==}
+ requiresBuild: true
dev: false
optional: true
@@ -634,10 +638,6 @@ packages:
resolution: {integrity: sha512-LGegJkMvRNw90WWphGJ3RMHMVplYcOfRWf2Be3td3sUa+1AaxmsYyANsA+znrGCBjXJNi4XAQlSoEfUxs/4kIQ==}
dev: false
- /@next/font@13.5.4:
- resolution: {integrity: sha512-rOMki1/9BP9N93RZABiiF0EidMGgyCvNVSKvLLAnMkVh/IYk4Z827+NRuxCyRQCeT3vv/AeCiP5SFPAP10SPrQ==}
- dev: false
-
/@next/mdx@13.5.4:
resolution: {integrity: sha512-WYdWeDZUvX9h0BnjDtwyFy2We4ko8ox5EuglN27rCoYz1xj8fQ8KAn7reZgXwT2RX2hxUOl4eTNbXBfsrw7Gew==}
peerDependencies:
@@ -766,7 +766,7 @@ packages:
resolution: {integrity: sha512-pS5fU4lrRjOIPZQqA2V1SUM9QUFXbO+8flubAiy6ntLjnAjJJUdRFOUOxK6v86ZHI2p2S8A0vD0BTu95FZYvjA==}
engines: {node: '>=14'}
peerDependencies:
- '@opentelemetry/api': '>=1.0.0 <1.5.0'
+ '@opentelemetry/api': 1.4.1
dependencies:
'@opentelemetry/api': 1.4.1
dev: false
@@ -775,7 +775,7 @@ packages:
resolution: {integrity: sha512-2dBX3Sj99H96uwJKvc2w9NOiNgbvAO6mOFJFramNkKfS9O4Um+VWgpnlAazoYjT6kUJ1MP70KQ5ngD4ed+4NUw==}
engines: {node: '>=14'}
peerDependencies:
- '@opentelemetry/api': '>=1.0.0 <1.5.0'
+ '@opentelemetry/api': 1.4.1
dependencies:
'@opentelemetry/api': 1.4.1
'@opentelemetry/semantic-conventions': 1.13.0
@@ -785,7 +785,7 @@ packages:
resolution: {integrity: sha512-l5RhLKx6U+yuLhMrtgavTDthX50E1mZM3/SSySC7OPZiArFHV/b/9x9jxAzrOgIQUDxyj4N0V9aLKSA2t7Qzxg==}
engines: {node: '>=14'}
peerDependencies:
- '@opentelemetry/api': ^1.0.0
+ '@opentelemetry/api': 1.4.1
dependencies:
'@grpc/grpc-js': 1.9.5
'@opentelemetry/api': 1.4.1
@@ -800,7 +800,7 @@ packages:
resolution: {integrity: sha512-Pv5X8fbi6jD/RJBePyn7MnCSuE6MbPB6dl+7YYBWJ5RcMGYMwvLXjd4h2jWsPV2TSUg38H/RoSP0aXvQ06Y7iw==}
engines: {node: '>=14'}
peerDependencies:
- '@opentelemetry/api': ^1.0.0
+ '@opentelemetry/api': 1.4.1
dependencies:
'@opentelemetry/api': 1.4.1
'@opentelemetry/core': 1.13.0(@opentelemetry/api@1.4.1)
@@ -810,7 +810,7 @@ packages:
resolution: {integrity: sha512-u3ErFRQqQFKjjIMuwLWxz/tLPYInfmiAmSy//fGSCzCh2ZdJgqQjMOAxBgqFtCF2xFL+OmMhyuC2ThMzceGRWA==}
engines: {node: '>=14'}
peerDependencies:
- '@opentelemetry/api': ^1.0.0
+ '@opentelemetry/api': 1.4.1
dependencies:
'@grpc/grpc-js': 1.9.5
'@opentelemetry/api': 1.4.1
@@ -823,7 +823,7 @@ packages:
resolution: {integrity: sha512-0hgVnXXz5efI382B/24NxD4b6Zxlh7nxCdJkxkdmQMbn0yRiwoq/ZT+QG8eUL6JNzsBAV1WJlF5aJNsL8skHvw==}
engines: {node: '>=14'}
peerDependencies:
- '@opentelemetry/api': '>=1.3.0 <1.5.0'
+ '@opentelemetry/api': 1.4.1
dependencies:
'@opentelemetry/api': 1.4.1
'@opentelemetry/api-logs': 0.39.1
@@ -838,7 +838,7 @@ packages:
resolution: {integrity: sha512-HOo91EI4UbuG8xQVLFziTzrcIn0MJQhy8m9jorh8aonb94jFVFi3CFNIiAnIGOabmnshJLOABxpYXsiPB8Xnzg==}
engines: {node: '>=14'}
peerDependencies:
- '@opentelemetry/api': '>=1.0.0 <1.5.0'
+ '@opentelemetry/api': 1.4.1
dependencies:
'@opentelemetry/api': 1.4.1
'@opentelemetry/core': 1.13.0(@opentelemetry/api@1.4.1)
@@ -848,7 +848,7 @@ packages:
resolution: {integrity: sha512-IV9TO+u1Jzm9mUDAD3gyXf89eyvgEJUY1t+GB5QmS4wjVeWrSMUtD0JjH3yG9SNqkrQOqOGJq7YUSSetW+Lf5Q==}
engines: {node: '>=14'}
peerDependencies:
- '@opentelemetry/api': '>=1.0.0 <1.5.0'
+ '@opentelemetry/api': 1.4.1
dependencies:
'@opentelemetry/api': 1.4.1
'@opentelemetry/core': 1.13.0(@opentelemetry/api@1.4.1)
@@ -858,7 +858,7 @@ packages:
resolution: {integrity: sha512-euqjOkiN6xhjE//0vQYGvbStxoD/WWQRhDiO0OTLlnLBO9Yw2Gd/VoSx2H+svsebjzYk5OxLuREBmcdw6rbUNg==}
engines: {node: '>=14'}
peerDependencies:
- '@opentelemetry/api': '>=1.0.0 <1.5.0'
+ '@opentelemetry/api': 1.4.1
dependencies:
'@opentelemetry/api': 1.4.1
'@opentelemetry/core': 1.13.0(@opentelemetry/api@1.4.1)
@@ -869,7 +869,7 @@ packages:
resolution: {integrity: sha512-/gmgKfZ1ZVFporKuwsewqIyvaUIGpv76JZ7lBpHQQPb37IMpaXO6pdqFI4ebHAWfNIm3akMyhmdtzivcgF3lgw==}
engines: {node: '>=14'}
peerDependencies:
- '@opentelemetry/api': '>=1.4.0 <1.5.0'
+ '@opentelemetry/api': 1.4.1
'@opentelemetry/api-logs': '>=0.38.0'
dependencies:
'@opentelemetry/api': 1.4.1
@@ -882,7 +882,7 @@ packages:
resolution: {integrity: sha512-MOjZX6AnSOqLliCcZUrb+DQKjAWXBiGeICGbHAGe5w0BB18PJIeIo995lO5JSaFfHpmUMgJButTPfJJD27W3Vg==}
engines: {node: '>=14'}
peerDependencies:
- '@opentelemetry/api': '>=1.3.0 <1.5.0'
+ '@opentelemetry/api': 1.4.1
dependencies:
'@opentelemetry/api': 1.4.1
'@opentelemetry/core': 1.13.0(@opentelemetry/api@1.4.1)
@@ -894,7 +894,7 @@ packages:
resolution: {integrity: sha512-moTiQtc0uPR1hQLt6gLDJH9IIkeBhgRb71OKjNHZPE1VF45fHtD6nBDi5J/DkTHTwYP5X3kBJLa3xN7ub6J4eg==}
engines: {node: '>=14'}
peerDependencies:
- '@opentelemetry/api': '>=1.0.0 <1.5.0'
+ '@opentelemetry/api': 1.4.1
dependencies:
'@opentelemetry/api': 1.4.1
'@opentelemetry/core': 1.13.0(@opentelemetry/api@1.4.1)
@@ -906,7 +906,7 @@ packages:
resolution: {integrity: sha512-FXA85lXKTsnbOflA/TBuBf2pmhD3c8uDjNjG0YqK+ap8UayfALmfJhf+aG1yBOUHevCY0JXJ4/xtbXExxpsMog==}
engines: {node: '>=14'}
peerDependencies:
- '@opentelemetry/api': '>=1.0.0 <1.5.0'
+ '@opentelemetry/api': 1.4.1
dependencies:
'@opentelemetry/api': 1.4.1
'@opentelemetry/context-async-hooks': 1.13.0(@opentelemetry/api@1.4.1)
@@ -1142,6 +1142,40 @@ packages:
- encoding
dev: false
+ /@vercel/analytics@1.1.2:
+ resolution: {integrity: sha512-CodhkLCQ/EHzjX8k+Qg+OzTBY0UadykrcfolfSOJVZZY/ZJM5nbhztm9KdbYvMfqKlasAr1+OYy0ThZnDA/MYA==}
+ dependencies:
+ server-only: 0.0.1
+ dev: false
+
+ /@vercel/speed-insights@1.0.7(next@13.5.4)(react@18.2.0):
+ resolution: {integrity: sha512-1XYZO/OlrAco8QPoXXIOPoMrj0O+slB9k6poRo1drQJ+DWTbdUUT18Mtm4ybA8KMj4mGEMEgbw0BKR/yq/VPhA==}
+ requiresBuild: true
+ peerDependencies:
+ '@sveltejs/kit': ^1 || ^2
+ next: '>= 13'
+ react: ^18 || ^19
+ svelte: ^4
+ vue: ^3
+ vue-router: ^4
+ peerDependenciesMeta:
+ '@sveltejs/kit':
+ optional: true
+ next:
+ optional: true
+ react:
+ optional: true
+ svelte:
+ optional: true
+ vue:
+ optional: true
+ vue-router:
+ optional: true
+ dependencies:
+ next: 13.5.4(@opentelemetry/api@1.4.1)(react-dom@18.2.0)(react@18.2.0)
+ react: 18.2.0
+ dev: false
+
/acorn-jsx@5.3.2(acorn@8.10.0):
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
peerDependencies:
@@ -2707,7 +2741,7 @@ packages:
engines: {node: '>=16.14.0'}
hasBin: true
peerDependencies:
- '@opentelemetry/api': ^1.1.0
+ '@opentelemetry/api': 1.4.1
react: ^18.2.0
react-dom: ^18.2.0
sass: ^1.3.0
@@ -3194,6 +3228,10 @@ packages:
lru-cache: 6.0.0
dev: false
+ /server-only@0.0.1:
+ resolution: {integrity: sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==}
+ dev: false
+
/shiki@0.14.5:
resolution: {integrity: sha512-1gCAYOcmCFONmErGTrS1fjzJLA7MGZmKzrBNX7apqSwhyITJg2O102uFzXUeBxNnEkDA9vHIKLyeKq0V083vIw==}
dependencies:
diff --git a/public/favicon.png b/public/favicon.png
index f0e7722a..776b4239 100644
Binary files a/public/favicon.png and b/public/favicon.png differ
diff --git a/public/favicon.svg b/public/favicon.svg
new file mode 100644
index 00000000..fd7a98b1
--- /dev/null
+++ b/public/favicon.svg
@@ -0,0 +1 @@
+
diff --git a/public/og.png b/public/og.png
deleted file mode 100644
index 31f83a56..00000000
Binary files a/public/og.png and /dev/null differ