diff --git a/public/images/ChatGPT Image Oct 31, 2025, 01_46_54 AM.png b/public/images/archive/ChatGPT Image Oct 31, 2025, 01_46_54 AM.png similarity index 100% rename from public/images/ChatGPT Image Oct 31, 2025, 01_46_54 AM.png rename to public/images/archive/ChatGPT Image Oct 31, 2025, 01_46_54 AM.png diff --git a/public/images/agenthero1.webp b/public/images/archive/agenthero1.webp similarity index 100% rename from public/images/agenthero1.webp rename to public/images/archive/agenthero1.webp diff --git a/public/images/agents.png b/public/images/archive/agents.png similarity index 100% rename from public/images/agents.png rename to public/images/archive/agents.png diff --git a/public/images/agentshero.png b/public/images/archive/agentshero.png similarity index 100% rename from public/images/agentshero.png rename to public/images/archive/agentshero.png diff --git a/public/images/benefits/autonomous.webp b/public/images/archive/autonomous.webp similarity index 100% rename from public/images/benefits/autonomous.webp rename to public/images/archive/autonomous.webp diff --git a/public/images/benefits.webp b/public/images/archive/benefits.webp similarity index 100% rename from public/images/benefits.webp rename to public/images/archive/benefits.webp diff --git a/public/images/bento-01-integrations.png b/public/images/archive/bento-01-integrations.png similarity index 100% rename from public/images/bento-01-integrations.png rename to public/images/archive/bento-01-integrations.png diff --git a/public/images/bento-network.webp b/public/images/archive/bento-network.webp similarity index 100% rename from public/images/bento-network.webp rename to public/images/archive/bento-network.webp diff --git a/public/images/bg.jpg b/public/images/archive/bg.jpg similarity index 100% rename from public/images/bg.jpg rename to public/images/archive/bg.jpg diff --git a/public/images/bg2.jpg b/public/images/archive/bg2.jpg similarity index 100% rename from public/images/bg2.jpg rename to public/images/archive/bg2.jpg diff --git a/public/images/cloud/billing.jpg b/public/images/archive/billing.jpg similarity index 100% rename from public/images/cloud/billing.jpg rename to public/images/archive/billing.jpg diff --git a/public/images/branding.png b/public/images/archive/branding.png similarity index 100% rename from public/images/branding.png rename to public/images/archive/branding.png diff --git a/public/images/calendar.png b/public/images/archive/calendar.png similarity index 100% rename from public/images/calendar.png rename to public/images/archive/calendar.png diff --git a/public/images/calk.png b/public/images/archive/calk.png similarity index 100% rename from public/images/calk.png rename to public/images/archive/calk.png diff --git a/public/images/cloudhero.webp b/public/images/archive/cloudhero.webp similarity index 100% rename from public/images/cloudhero.webp rename to public/images/archive/cloudhero.webp diff --git a/public/images/cloudhero2.webp b/public/images/archive/cloudhero2.webp similarity index 100% rename from public/images/cloudhero2.webp rename to public/images/archive/cloudhero2.webp diff --git a/public/images/cloudhero3.webp b/public/images/archive/cloudhero3.webp similarity index 100% rename from public/images/cloudhero3.webp rename to public/images/archive/cloudhero3.webp diff --git a/public/images/cloudhosting.png b/public/images/archive/cloudhosting.png similarity index 100% rename from public/images/cloudhosting.png rename to public/images/archive/cloudhosting.png diff --git a/public/images/cloudimg.png b/public/images/archive/cloudimg.png similarity index 100% rename from public/images/cloudimg.png rename to public/images/archive/cloudimg.png diff --git a/public/images/code.png b/public/images/archive/code.png similarity index 100% rename from public/images/code.png rename to public/images/archive/code.png diff --git a/public/images/computehero.jpg b/public/images/archive/computehero.jpg similarity index 100% rename from public/images/computehero.jpg rename to public/images/archive/computehero.jpg diff --git a/public/images/computehero.png b/public/images/archive/computehero.png similarity index 100% rename from public/images/computehero.png rename to public/images/archive/computehero.png diff --git a/public/images/computehero2.png b/public/images/archive/computehero2.png similarity index 100% rename from public/images/computehero2.png rename to public/images/archive/computehero2.png diff --git a/public/images/computehero3.png b/public/images/archive/computehero3.png similarity index 100% rename from public/images/computehero3.png rename to public/images/archive/computehero3.png diff --git a/public/images/computehero4.png b/public/images/archive/computehero4.png similarity index 100% rename from public/images/computehero4.png rename to public/images/archive/computehero4.png diff --git a/public/images/benefits/cost.webp b/public/images/archive/cost.webp similarity index 100% rename from public/images/benefits/cost.webp rename to public/images/archive/cost.webp diff --git a/public/images/data.png b/public/images/archive/data.png similarity index 100% rename from public/images/data.png rename to public/images/archive/data.png diff --git a/public/images/datasets.png b/public/images/archive/datasets.png similarity index 100% rename from public/images/datasets.png rename to public/images/archive/datasets.png diff --git a/public/images/benefits/energy.webp b/public/images/archive/energy.webp similarity index 100% rename from public/images/benefits/energy.webp rename to public/images/archive/energy.webp diff --git a/public/images/cloud/kubeconfig.jpg b/public/images/archive/kubeconfig.jpg similarity index 100% rename from public/images/cloud/kubeconfig.jpg rename to public/images/archive/kubeconfig.jpg diff --git a/public/images/cloud/reserve.jpg b/public/images/archive/reserve.jpg similarity index 100% rename from public/images/cloud/reserve.jpg rename to public/images/archive/reserve.jpg diff --git a/public/images/benefits/sovereign.webp b/public/images/archive/sovereign.webp similarity index 100% rename from public/images/benefits/sovereign.webp rename to public/images/archive/sovereign.webp diff --git a/src/pages/storage/StorageCoreValue.tsx b/src/pages/storage/StorageCoreValue.tsx new file mode 100644 index 0000000..e95b177 --- /dev/null +++ b/src/pages/storage/StorageCoreValue.tsx @@ -0,0 +1,61 @@ +"use client"; + +import { Container } from "@/components/Container"; +import { H3, P, Eyebrow } from "@/components/Texts"; + +export function StorageCoreValue() { + const logos = [ + { src: '/images/logo/cryptpad.png', href: 'https://cryptpad.fr' }, + { src: '/images/logo/gitea.png', href: 'https://about.gitea.com' }, + { src: '/images/logo/lifekit.png', href: '#' }, // No link available + { src: '/images/logo/matrix.png', href: 'https://matrix.org' }, + { src: '/images/logo/nextcloud.png', href: 'https://nextcloud.com' }, + { src: '/images/logo/stalwart.png', href: 'https://stalw.art' }, + ]; + + return ( +
+ + {/* ✅ Boxed container */} +
+ +
+ Featured Blueprint + +

+ Your Personal Sovereign Cloud Workspace +

+ +

+ Digital Me is an example environment built to demonstrate what’s possible on top of the Mycelium Stack — a full personal cloud you can deploy, customize, or extend. Your files, communication, apps, and optional AI agent, all running privately on infrastructure you choose. +

+
+ + {/* ✅ 3x2 logo grid */} +
+ {logos.map((logo, i) => ( +
+ + {`Logo + +
+ ))} +
+
+
+ + {/* ✅ Bottom line + bottom spacer */} +
+
+
+ ); +} diff --git a/src/pages/storage/animation/Encrypted.tsx b/src/pages/storage/animation/Encrypted.tsx new file mode 100644 index 0000000..0a32774 --- /dev/null +++ b/src/pages/storage/animation/Encrypted.tsx @@ -0,0 +1,193 @@ +"use client"; + +import { motion, useReducedMotion } from "framer-motion"; +import clsx from "clsx"; + +type Props = { + className?: string; + accent?: string; + gridStroke?: string; + stroke?: string; +}; + +const W = 760; +const H = 420; + +export default function Encrypted({ + className, + accent = "#00b8db", + gridStroke = "#e5e7eb", + stroke = "#111111", +}: Props) { + const prefers = useReducedMotion(); + + // positions of storage vaults (cylindrical stack illusion) + const vaults = [ + { x: 200, y: 220 }, + { x: 380, y: 180 }, + { x: 560, y: 220 }, + ]; + + // path representing encrypted data moving across storage nodes + const dataPath = `M ${vaults[0].x + 60} ${vaults[0].y} + C 280 160, 480 160, ${vaults[2].x} ${vaults[2].y}`; + + return ( + + ); +}