4 Commits

Author SHA1 Message Date
08a309abea Merge branch 'development' 2025-10-21 17:32:10 +03:00
d344652a2f add crisp 2025-10-21 17:28:07 +03:00
bdbec5fd49 fix: update 404 page HTML with new static assets 2025-10-21 15:01:58 +02:00
4d89745a57 fix download link 2025-10-20 18:31:29 +03:00
12 changed files with 44 additions and 19 deletions

View File

@@ -1,9 +1,12 @@
/** @type {import('next').NextConfig} */ /** @type {import('next').NextConfig} */
const nextConfig = { const nextConfig = {
output: 'export', output: 'export',
trailingSlash: true,
images: { images: {
unoptimized: true, unoptimized: true,
}, },
} }
module.exports = nextConfig module.exports = nextConfig

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,5 +1,6 @@
import { type Metadata } from 'next' import { type Metadata } from 'next'
import { Inter } from 'next/font/google' import { Inter } from 'next/font/google'
import Script from 'next/script'
import clsx from 'clsx' import clsx from 'clsx'
import '@/styles/tailwind.css' import '@/styles/tailwind.css'
@@ -28,8 +29,29 @@ export default function RootLayout({
children: React.ReactNode children: React.ReactNode
}) { }) {
return ( return (
<html lang="en" className={clsx('bg-gray-900 antialiased', inter.variable)}> <html lang="en" className={clsx('bg-gray-50 antialiased', inter.variable)}>
<body>{children}</body> <body>
{children}
{/* Crisp Chat */}
<Script
id="crisp-init"
strategy="afterInteractive"
dangerouslySetInnerHTML={{
__html: `
window.$crisp = [];
window.CRISP_WEBSITE_ID = "1a5a5241-91cb-4a41-8323-5ba5ec574da0";
(function () {
d = document;
s = d.createElement("script");
s.src = "https://client.crisp.chat/l.js";
s.async = 1;
d.getElementsByTagName("head")[0].appendChild(s);
})();
`,
}}
/>
</body>
</html> </html>
) )
} }

View File

@@ -43,7 +43,7 @@ export default function DownloadHero() {
initial={{ opacity: 0, y: 20 }} initial={{ opacity: 0, y: 20 }}
animate={{ opacity: 1, y: 0 }} animate={{ opacity: 1, y: 0 }}
transition={{ duration: 0.5 }} transition={{ duration: 0.5 }}
className="text-5xl lg:text-6xl font-medium tracking-tight text-gray-100" className="text-5xl lg:text-6xl font-medium tracking-tight text-gray-900"
> >
Download Mycelium Download Mycelium
</motion.h2> </motion.h2>
@@ -51,10 +51,10 @@ export default function DownloadHero() {
initial={{ opacity: 0, y: 20 }} initial={{ opacity: 0, y: 20 }}
animate={{ opacity: 1, y: 0 }} animate={{ opacity: 1, y: 0 }}
transition={{ duration: 0.5, delay: 0.2 }} transition={{ duration: 0.5, delay: 0.2 }}
className="mt-6 text-lg/8 text-gray-300" className="mt-6 text-lg/8 text-gray-600"
> >
Get Mycelium for Android, Windows, macOS, and iOS to securely connect, store, and interact with the decentralized networkseamlessly and efficiently. Not sure how it works?{' '} Get Mycelium for Android, Windows, macOS, and iOS to securely connect, store, and interact with the decentralized networkseamlessly and efficiently. Not sure how it works?{' '}
<a href="https://threefold.info/mycelium_network/docs/" className="text-gray-200 hover:text-cyan-500 transition-colors font-semibold underline"> <a href="https://threefold.info/mycelium_network/docs/" className="text-gray-900 hover:text-cyan-500 transition-colors font-semibold underline">
Read the manual. Read the manual.
</a> </a>
</motion.p> </motion.p>
@@ -64,15 +64,15 @@ export default function DownloadHero() {
{features.map((feature) => ( {features.map((feature) => (
<div <div
key={feature.name} key={feature.name}
className="flex flex-col rounded-lg border border-gray-700 p-8 shadow-sm transition-all duration-300 ease-in-out hover:scale-105 hover:border-cyan-500 hover:shadow-lg hover:shadow-cyan-500/20" className="flex flex-col rounded-lg border border-gray-200 p-8 shadow-sm transition-all duration-300 ease-in-out hover:scale-105 hover:border-cyan-500 hover:shadow-lg hover:shadow-cyan-500/20"
> >
<dt className="text-base/7 font-semibold text-gray-100"> <dt className="text-base/7 font-semibold text-gray-900">
<div className="mb-6 flex h-10 w-10 items-center justify-center"> <div className="mb-6 flex h-10 w-10 items-center justify-center">
<Image src={feature.icon} alt="" className="h-10 w-10" /> <Image src={feature.icon} alt="" className="h-10 w-10" />
</div> </div>
{feature.name} {feature.name}
</dt> </dt>
<dd className="mt-1 flex flex-auto flex-col text-base/7 text-gray-400"> <dd className="mt-1 flex flex-auto flex-col text-base/7 text-gray-600">
<p className="flex-auto">{feature.description}</p> <p className="flex-auto">{feature.description}</p>
<p className="mt-6"> <p className="mt-6">
<a href={feature.href} className="text-sm/6 font-semibold text-cyan-500 hover:text-cyan-500"> <a href={feature.href} className="text-sm/6 font-semibold text-cyan-500 hover:text-cyan-500">

View File

@@ -59,7 +59,7 @@ export function Header() {
return ( return (
<header> <header>
<nav> <nav>
<Container className="relative z-50 flex justify-between py-8 bg-gray-900"> <Container className="relative z-50 flex justify-between py-8">
<div className="relative z-10 flex items-center gap-16"> <div className="relative z-10 flex items-center gap-16">
<Link href="/" aria-label="Home"> <Link href="/" aria-label="Home">
<Logo className="h-10 w-auto" /> <Logo className="h-10 w-auto" />
@@ -105,7 +105,7 @@ export function Header() {
y: -32, y: -32,
transition: { duration: 0.2 }, transition: { duration: 0.2 },
}} }}
className="absolute inset-x-0 top-0 z-0 origin-top rounded-b-2xl bg-gray-900 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-gray-50 px-6 pt-32 pb-6 shadow-2xl shadow-gray-900/20"
> >
<div className="mt-6 flex flex-col gap-4"> <div className="mt-6 flex flex-col gap-4">
<Button href="https://threefold.info/mycelium_network/docs/" variant="outline" target="_blank" rel="noopener noreferrer"> <Button href="https://threefold.info/mycelium_network/docs/" variant="outline" target="_blank" rel="noopener noreferrer">

View File

@@ -103,16 +103,16 @@ export function Hero() {
<Container> <Container>
<div className="flex flex-col-reverse gap-y-16 lg:grid lg:grid-cols-12 lg:gap-x-8 lg:gap-y-20"> <div className="flex flex-col-reverse gap-y-16 lg:grid lg:grid-cols-12 lg:gap-x-8 lg:gap-y-20">
<div className="relative z-10 mx-auto max-w-2xl lg:col-span-7 lg:max-w-none lg:pt-6 xl:col-span-6"> <div className="relative z-10 mx-auto max-w-2xl lg:col-span-7 lg:max-w-none lg:pt-6 xl:col-span-6">
<h1 className="text-4xl lg:text-6xl font-medium tracking-tight text-gray-100"> <h1 className="text-4xl lg:text-6xl font-medium tracking-tight text-gray-900">
Mycelium Mycelium
</h1> </h1>
<h2 className="mt-6 lg:text-2xl text-xl tracking-tight leading-normal text-gray-300"> <h2 className="mt-6 lg:text-2xl text-xl tracking-tight leading-normal text-gray-600">
Unleashing the Power of Decentralized Networks Unleashing the Power of Decentralized Networks
</h2> </h2>
<p className="mt-6 lg:text-xl text-lg text-gray-400 lg:leading-normal leading-tight"> <p className="mt-6 lg:text-xl text-lg text-gray-600 lg:leading-normal leading-tight">
Discover Mycelium, an end-to-end encrypted IPv6 overlay network. The future of secure, efficient, and scalable networking. Discover Mycelium, an end-to-end encrypted IPv6 overlay network. The future of secure, efficient, and scalable networking.
</p> </p>
<p className="mt-6 text-lg text-gray-400 "> <p className="mt-6 text-lg text-gray-600 ">
Coming Soon: New Decentralized Features Coming Soon: New Decentralized Features
</p> </p>
<div className="mt-8 flex flex-wrap gap-x-6 gap-y-4"> <div className="mt-8 flex flex-wrap gap-x-6 gap-y-4">