Update .gitignore and remove cached build artifacts

This commit is contained in:
2025-09-12 17:30:21 +02:00
parent 7ad8d609f6
commit f50ead55cb
146 changed files with 215 additions and 25799 deletions

View File

@@ -10,7 +10,7 @@ const baseStyles = {
const variantStyles = {
solid: {
cyan: 'relative overflow-hidden bg-cyan-500 text-white before:absolute before:inset-0 active:before:bg-transparent hover:before:bg-white/10 active:bg-cyan-600 active:text-white/80 before:transition-colors',
cyan: 'relative overflow-hidden bg-[#2F3178] text-white before:absolute before:inset-0 active:before:bg-transparent hover:before:bg-white/10 active:bg-[#2F3178] active:text-white/80 before:transition-colors',
white:
'bg-white text-cyan-900 hover:bg-white/90 active:bg-white/90 active:text-cyan-900/70',
gray: 'bg-gray-800 text-white hover:bg-gray-900 active:bg-gray-800 active:text-white/80',

View File

@@ -6,7 +6,7 @@ export function Container({
}: React.ComponentPropsWithoutRef<'div'>) {
return (
<div
className={clsx('mx-auto max-w-7xl px-4 sm:px-6 lg:px-8', className)}
className={clsx('mx-auto px-4 sm:px-6 lg:px-8', className)}
{...props}
/>
)

View File

@@ -11,7 +11,6 @@ import { AnimatePresence, motion } from 'framer-motion'
import { Button } from '@/components/Button'
import { Container } from '@/components/Container'
import { Logo } from '@/components/Logo'
import { NavLinks } from '@/components/NavLinks'
function MenuIcon(props: React.ComponentPropsWithoutRef<'svg'>) {
@@ -49,7 +48,7 @@ function MobileNavLink(
return (
<PopoverButton
as={Link}
className="block text-base/7 tracking-tight text-gray-700"
className="block text-base/7 tracking-tight text-[#2F3178]"
{...props}
/>
)
@@ -62,7 +61,7 @@ export function Header() {
<Container className="relative z-50 flex justify-between py-4">
<div className="relative z-10 flex items-center gap-16">
<Link href="/" aria-label="Home">
<Logo className="h-10 w-auto" />
<img src="/images/logo.png" alt="Mycelium" className="h-10 w-auto" />
</Link>
<div className="hidden lg:flex lg:gap-10">
<NavLinks />
@@ -93,7 +92,7 @@ export function Header() {
initial={{ opacity: 0 }}
animate={{ opacity: 1 }}
exit={{ opacity: 0 }}
className="fixed inset-0 z-0 bg-gray-300/60 backdrop-blur-sm"
className="fixed inset-0 z-0 bg-transparent"
/>
<PopoverPanel
static
@@ -105,7 +104,7 @@ export function Header() {
y: -32,
transition: { duration: 0.2 },
}}
className="absolute inset-x-0 top-0 z-0 origin-top rounded-b-2xl bg-gray-50 px-6 pt-32 pb-6 shadow-2xl shadow-gray-900/20"
className="absolute inset-x-0 top-0 z-0 origin-top rounded-b-2xl bg-transparent px-6 pt-32 pb-6"
>
<div className="space-y-4">
<MobileNavLink href="/#about">
@@ -126,7 +125,7 @@ export function Header() {
<Button href="https://docs.ourworld.tf/mycelium_cloud/docs/" variant="outline">
Docs
</Button>
<Button href="https://www.mycelium.threefold.io/download/">Get Mycelium</Button>
<Button href="https://www.mycelium.threefold.io/download/" color="cyan">Get Mycelium</Button>
</div>
</PopoverPanel>
</>
@@ -139,7 +138,7 @@ export function Header() {
<Button href="https://docs.ourworld.tf/mycelium_cloud/docs/" variant="outline">
Docs
</Button>
<Button href="https://www.mycelium.threefold.io/download/">Get Mycelium</Button>
<Button href="https://www.mycelium.threefold.io/download/" color="cyan">Get Mycelium</Button>
</div>
</div>
</Container>

View File

@@ -0,0 +1,95 @@
'use client'
import { useState } from 'react'
import { motion } from 'framer-motion'
import { TypeAnimation } from 'react-type-animation'
import { Dialog, DialogPanel } from '@headlessui/react'
import { Bars3Icon, XMarkIcon, ChevronDoubleDownIcon } from '@heroicons/react/24/outline'
const navigation = [
{ name: 'Product', href: '#' },
{ name: 'Features', href: '#' },
{ name: 'Marketplace', href: '#' },
{ name: 'Company', href: '#' },
]
export function HomeAbout() {
const [mobileMenuOpen, setMobileMenuOpen] = useState(false)
return (
<div className="relative h-screen">
<div className="relative isolate px-6 lg:px-8">
<div className="relative -top-10 mx-auto max-w-8xl h-screen flex items-center justify-center">
<motion.div
initial={{ opacity: 0 }}
animate={{ opacity: 1 }}
transition={{ duration: 2, delay: 0.5 }}
aria-hidden="true"
className="absolute top-10 left-[calc(50%-4rem)] -z-10 transform-gpu blur-3xl sm:left-[calc(50%-18rem)] lg:top-[calc(50%-30rem)] lg:left-48 xl:left-[calc(50%-24rem)]"
>
<div
style={{
clipPath:
'polygon(73.6% 51.7%, 91.7% 11.8%, 100% 46.4%, 97.4% 82.2%, 92.5% 84.9%, 75.7% 64%, 55.3% 47.5%, 46.5% 49.4%, 45% 62.9%, 50.3% 87.2%, 21.3% 64.1%, 0.1% 100%, 5.4% 51.1%, 21.4% 63.9%, 58.9% 0.2%, 73.6% 51.7%)',
}}
className="aspect-1108/632 w-277 bg-linear-to-r from-[#80caff] to-[#4f46e5] opacity-20"
/>
</motion.div>
<motion.p
initial={{ opacity: 0 }}
animate={{ opacity: 1 }}
transition={{ duration: 1, delay: 1 }}
className="absolute top-24 left-0 max-w-xl text-left text-4xl font-medium text-pretty text-[#2F3178] lg:text-6xl"
>
Enterprise AI Agents
That Never Sleep.
</motion.p>
<motion.p
initial={{ opacity: 0 }}
animate={{ opacity: 1 }}
transition={{ duration: 1, delay: 1.5 }}
className="absolute top-64 left-0 max-w-xl text-left text-2xl font-medium text-pretty text-[#2F3178] lg:text-2xl"
>
With Mycelium, you could deploy AI agents that handle your most complex workflows while maintaining complete data sovereignty and control.
</motion.p>
<div className="absolute bottom-24 right-0 h-96 w-2/3 overflow-hidden">
<div className="animate-marquee-vertical space-y-4 text-right text-4xl font-medium text-[#2F3178]">
<p>Data Orchestration</p>
<p>Data Cleaning</p>
<p>Real-time Monitoring</p>
<p>Query Optimization</p>
<p>Report Generation</p>
<p>Metadata Management</p>
<p>Model Monitoring</p>
<p>Cost Optimization</p>
<p>API Integration</p>
<p>Access Control</p>
<p>Log Processing</p>
<p>Synthetic Data</p>
<p>Code Intelligence</p>
<p>Incident Automation</p>
<p>Data Discovery</p>
{/* Duplicate for seamless scroll */}
<p aria-hidden="true">Data Orchestration</p>
<p aria-hidden="true">Data Cleaning</p>
<p aria-hidden="true">Real-time Monitoring</p>
<p aria-hidden="true">Query Optimization</p>
<p aria-hidden="true">Report Generation</p>
<p aria-hidden="true">Metadata Management</p>
<p aria-hidden="true">Model Monitoring</p>
<p aria-hidden="true">Cost Optimization</p>
<p aria-hidden="true">API Integration</p>
<p aria-hidden="true">Access Control</p>
<p aria-hidden="true">Log Processing</p>
<p aria-hidden="true">Synthetic Data</p>
<p aria-hidden="true">Code Intelligence</p>
<p aria-hidden="true">Incident Automation</p>
<p aria-hidden="true">Data Discovery</p>
</div>
</div>
</div>
</div>
</div>
)
}

View File

@@ -1,8 +1,10 @@
'use client'
import { useState } from 'react'
import { motion } from 'framer-motion'
import { TypeAnimation } from 'react-type-animation'
import { Dialog, DialogPanel } from '@headlessui/react'
import { Bars3Icon, XMarkIcon } from '@heroicons/react/24/outline'
import { Bars3Icon, XMarkIcon, ChevronDoubleDownIcon } from '@heroicons/react/24/outline'
const navigation = [
{ name: 'Product', href: '#' },
@@ -15,53 +17,44 @@ export function HomeHero() {
const [mobileMenuOpen, setMobileMenuOpen] = useState(false)
return (
<div className="bg-white">
<div className="relative isolate px-6 pt-14 lg:px-8">
<div
aria-hidden="true"
className="absolute inset-x-0 -top-40 -z-10 transform-gpu overflow-hidden blur-3xl sm:-top-80"
<div className="relative h-screen -top-10">
<div className="absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 w-[700px] h-[700px] -z-10 rounded-full overflow-hidden">
<video
autoPlay
loop
muted
playsInline
className="h-full w-full object-cover"
>
<div
style={{
clipPath:
'polygon(74.1% 44.1%, 100% 61.6%, 97.5% 26.9%, 85.5% 0.1%, 80.7% 2%, 72.5% 32.5%, 60.2% 62.4%, 52.4% 68.1%, 47.5% 58.3%, 45.2% 34.5%, 27.5% 76.7%, 0.1% 64.9%, 17.9% 100%, 27.6% 76.8%, 76.1% 97.7%, 74.1% 44.1%)',
}}
className="relative left-[calc(50%-11rem)] aspect-1155/678 w-144.5 -translate-x-1/2 rotate-30 bg-linear-to-tr from-[#ff80b5] to-[#9089fc] opacity-30 sm:left-[calc(50%-30rem)] sm:w-288.75"
/>
</div>
<div className="mx-auto max-w-2xl py-32">
<div className="text-center">
<h1 className="text-5xl font-semibold tracking-tight text-balance text-gray-900 sm:text-7xl">
The Decentralized Agentic Cloud
</h1>
<p className="mt-8 text-lg font-light text-pretty text-gray-500 sm:text-xl/8">
Building the infrastructure where AI agents can live, communicate, and evolve with complete sovereignty.
</p>
<div className="mt-10 flex items-center justify-center gap-x-6">
<a
href="#"
className="rounded-md bg-indigo-600 px-3.5 py-2.5 text-sm font-semibold text-white shadow-xs hover:bg-indigo-500 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600"
>
Get started
</a>
<a href="#" className="text-sm/6 font-semibold text-gray-900">
Learn more <span aria-hidden="true"></span>
</a>
</div>
<source src="/videos/mycelium.mp4" type="video/mp4" />
</video>
</div>
<div className="relative isolate px-6 lg:px-8">
<div className="relative -top-10 mx-auto max-w-8xl h-screen flex items-center justify-center">
<div className="text-center max-w-5xl">
<TypeAnimation
sequence={[
'Decentralized Agentic Cloud.',
1000,
]}
wrapper="h1"
speed={50}
className="text-5xl font-medium tracking-tight text-balance text-[#2F3178] lg:text-8xl"
repeat={0}
/>
</div>
<motion.p
initial={{ opacity: 0 }}
animate={{ opacity: 1 }}
transition={{ duration: 1, delay: 1 }}
className="absolute bottom-12 left-0 max-w-xl text-left text-2xl font-medium text-pretty leading-[1.2] text-[#2F3178] lg:text-3xl"
>
Building the infrastructure where AI agents can live, communicate, and evolve with complete sovereignty.
</motion.p>
<div className="absolute bottom-24 right-0 flex items-center gap-x-2 text-2xl font-medium text-[#2F3178] lg:text-2xl">
<span>scroll</span>
<ChevronDoubleDownIcon className="h-6 w-6" />
</div>
</div>
<div
aria-hidden="true"
className="absolute inset-x-0 top-[calc(100%-13rem)] -z-10 transform-gpu overflow-hidden blur-3xl sm:top-[calc(100%-30rem)]"
>
<div
style={{
clipPath:
'polygon(74.1% 44.1%, 100% 61.6%, 97.5% 26.9%, 85.5% 0.1%, 80.7% 2%, 72.5% 32.5%, 60.2% 62.4%, 52.4% 68.1%, 47.5% 58.3%, 45.2% 34.5%, 27.5% 76.7%, 0.1% 64.9%, 17.9% 100%, 27.6% 76.8%, 76.1% 97.7%, 74.1% 44.1%)',
}}
className="relative left-[calc(50%+3rem)] aspect-1155/678 w-144.5 -translate-x-1/2 bg-linear-to-tr from-[#ff80b5] to-[#9089fc] opacity-30 sm:left-[calc(50%+36rem)] sm:w-288.75"
/>
</div>
</div>
</div>

View File

@@ -18,7 +18,7 @@ export function NavLinks() {
<Link
key={label}
href={href}
className="relative -mx-3 -my-2 rounded-lg px-3 py-2 text-sm text-gray-700 transition-colors delay-150 hover:text-gray-900 hover:delay-0"
className="relative -mx-3 -my-2 rounded-lg px-3 py-2 text-sm text-[#2F3178] transition-colors delay-150 hover:text-[#2F3178] hover:delay-0"
onMouseEnter={() => {
if (timeoutRef.current) {
window.clearTimeout(timeoutRef.current)