diff --git a/package-lock.json b/package-lock.json index 4ceee82..232bf17 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,6 +16,7 @@ "astro": "^5.16.7", "astro-embed": "^0.9.0", "astro-icon": "^1.1.5", + "gsap": "^3.14.2", "limax": "4.1.0", "lodash.merge": "^4.6.2", "unpic": "^4.1.3" @@ -3192,9 +3193,9 @@ } }, "node_modules/astro": { - "version": "5.16.7", - "resolved": "https://registry.npmjs.org/astro/-/astro-5.16.7.tgz", - "integrity": "sha512-Kfv7FKisFR+THvmojXWtvJGRCvQ4D9przguE9XdeUtS464ned6hvbgmyFDvPzyaNmDtkHGNpPwAQ9tgFcVqp+Q==", + "version": "5.16.11", + "resolved": "https://registry.npmjs.org/astro/-/astro-5.16.11.tgz", + "integrity": "sha512-Z7kvkTTT5n6Hn5lCm6T3WU6pkxx84Hn25dtQ6dR7ATrBGq9eVa8EuB/h1S8xvaoVyCMZnIESu99Z9RJfdLRLDA==", "license": "MIT", "peer": true, "dependencies": { @@ -3216,8 +3217,8 @@ "cssesc": "^3.0.0", "debug": "^4.4.3", "deterministic-object-hash": "^2.0.2", - "devalue": "^5.6.1", - "diff": "^5.2.0", + "devalue": "^5.6.2", + "diff": "^8.0.3", "dlv": "^1.1.3", "dset": "^3.1.4", "es-module-lexer": "^1.7.0", @@ -4735,9 +4736,9 @@ } }, "node_modules/devalue": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.6.1.tgz", - "integrity": "sha512-jDwizj+IlEZBunHcOuuFVBnIMPAEHvTsJj0BcIp94xYguLRVBcXO853px/MyIJvbVzWdsGvrRweIUWJw8hBP7A==", + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.6.2.tgz", + "integrity": "sha512-nPRkjWzzDQlsejL1WVifk5rvcFi/y1onBRxjaFMjZeR9mFpqu2gmAZ9xUB9/IEanEP/vBtGeGganC/GO1fmufg==", "license": "MIT" }, "node_modules/devlop": { @@ -4761,9 +4762,9 @@ "license": "Apache-2.0" }, "node_modules/diff": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", - "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.3.tgz", + "integrity": "sha512-qejHi7bcSD4hQAZE0tNAawRK1ZtafHDmMTMkrrIGgSLl7hTnQHmKCeB45xAcbfTqK2zowkM3j3bHt/4b/ARbYQ==", "license": "BSD-3-Clause", "engines": { "node": ">=0.3.1" @@ -5805,10 +5806,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/gsap": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/gsap/-/gsap-3.14.2.tgz", + "integrity": "sha512-P8/mMxVLU7o4+55+1TCnQrPmgjPKnwkzkXOK1asnR9Jg2lna4tEY5qBJjMmAaOBDDZWtlRjBXjLa0w53G/uBLA==", + "license": "Standard 'no charge' license: https://gsap.com/standard-license." + }, "node_modules/h3": { - "version": "1.15.4", - "resolved": "https://registry.npmjs.org/h3/-/h3-1.15.4.tgz", - "integrity": "sha512-z5cFQWDffyOe4vQ9xIqNfCZdV4p//vy6fBnr8Q1AWnVZ0teurKMG66rLj++TKwKPUP3u7iMUvrvKaEUiQw2QWQ==", + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/h3/-/h3-1.15.5.tgz", + "integrity": "sha512-xEyq3rSl+dhGX2Lm0+eFQIAzlDN6Fs0EcC4f7BNUmzaRX/PTzeuM+Tr2lHB8FoXggsQIeXLj8EDVgs5ywxyxmg==", "license": "MIT", "dependencies": { "cookie-es": "^1.2.2", @@ -5816,9 +5823,9 @@ "defu": "^6.1.4", "destr": "^2.0.5", "iron-webcrypto": "^1.2.1", - "node-mock-http": "^1.0.2", + "node-mock-http": "^1.0.4", "radix3": "^1.1.2", - "ufo": "^1.6.1", + "ufo": "^1.6.3", "uncrypto": "^0.1.3" } }, @@ -10079,9 +10086,9 @@ } }, "node_modules/tar": { - "version": "7.5.2", - "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.2.tgz", - "integrity": "sha512-7NyxrTE4Anh8km8iEy7o0QYPs+0JKBTj5ZaqHg6B39erLg0qYXN3BijtShwbsNSvQ+LN75+KV+C4QR/f6Gwnpg==", + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.3.tgz", + "integrity": "sha512-ENg5JUHUm2rDD7IvKNFGzyElLXNjachNLp6RaGf4+JOgxXHkqA+gq81ZAMCUmtMtqBsoU62lcp6S27g1LCYGGQ==", "license": "BlueOak-1.0.0", "dependencies": { "@isaacs/fs-minipass": "^4.0.0", @@ -10344,9 +10351,9 @@ } }, "node_modules/ufo": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.2.tgz", - "integrity": "sha512-heMioaxBcG9+Znsda5Q8sQbWnLJSl98AFDXTO80wELWEzX3hordXsTdxrIfMQoO9IY1MEnoGoPjpoKpMj+Yx0Q==", + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.3.tgz", + "integrity": "sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==", "license": "MIT" }, "node_modules/uhyphen": { diff --git a/package.json b/package.json index b7aacfe..e4daa20 100644 --- a/package.json +++ b/package.json @@ -30,6 +30,7 @@ "astro": "^5.16.7", "astro-embed": "^0.9.0", "astro-icon": "^1.1.5", + "gsap": "^3.14.2", "limax": "4.1.0", "lodash.merge": "^4.6.2", "unpic": "^4.1.3" diff --git a/public/images/benefit-bg-light.png b/public/images/benefit-bg-light.png new file mode 100644 index 0000000..3e34c26 Binary files /dev/null and b/public/images/benefit-bg-light.png differ diff --git a/public/images/benefit-bg.jpg b/public/images/benefit-bg.jpg new file mode 100644 index 0000000..ce1f315 Binary files /dev/null and b/public/images/benefit-bg.jpg differ diff --git a/public/images/benefit-bg.png b/public/images/benefit-bg.png new file mode 100644 index 0000000..d4fd631 Binary files /dev/null and b/public/images/benefit-bg.png differ diff --git a/public/images/benefit-mobile-01-light.png b/public/images/benefit-mobile-01-light.png new file mode 100644 index 0000000..569af63 Binary files /dev/null and b/public/images/benefit-mobile-01-light.png differ diff --git a/public/images/benefit-mobile-01.jpg b/public/images/benefit-mobile-01.jpg new file mode 100644 index 0000000..e9b2e25 Binary files /dev/null and b/public/images/benefit-mobile-01.jpg differ diff --git a/public/images/benefit-mobile-02-light.png b/public/images/benefit-mobile-02-light.png new file mode 100644 index 0000000..5ae7699 Binary files /dev/null and b/public/images/benefit-mobile-02-light.png differ diff --git a/public/images/benefit-mobile-02.jpg b/public/images/benefit-mobile-02.jpg new file mode 100644 index 0000000..6a10f32 Binary files /dev/null and b/public/images/benefit-mobile-02.jpg differ diff --git a/src/components/widgets/Footer.astro b/src/components/widgets/Footer.astro index d979d09..15dea2c 100644 --- a/src/components/widgets/Footer.astro +++ b/src/components/widgets/Footer.astro @@ -46,11 +46,7 @@ const socialLinks = [ ))} - - -
- Laconic: Offshore Hosting Made Easy -
+ \ No newline at end of file diff --git a/src/components/widgets/ScrollBallAnimation.astro b/src/components/widgets/ScrollBallAnimation.astro new file mode 100644 index 0000000..230a306 --- /dev/null +++ b/src/components/widgets/ScrollBallAnimation.astro @@ -0,0 +1,183 @@ +--- +// ScrollBallAnimation.astro +// Scroll-triggered animation with glowing ball traveling along SVG path between wireframe hands + +interface Props { + startTrigger?: string; // Default: "#watchers" + endTrigger?: string; // Default: "#deploy" +} + +const { + startTrigger = '#watchers', + endTrigger = '#indexer', +} = Astro.props; +--- + + +
+ + +
+
+
+ + + +
+ + + + diff --git a/src/layouts/PageLayout.astro b/src/layouts/PageLayout.astro index aaa009f..930dbfd 100644 --- a/src/layouts/PageLayout.astro +++ b/src/layouts/PageLayout.astro @@ -15,7 +15,7 @@ const { metadata } = Astro.props; --- -{/* Announcement removed - not needed for Laconic site */} +
diff --git a/src/pages/index.astro b/src/pages/index.astro index 07b0eea..54207e1 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -4,6 +4,7 @@ import VideoHero from '~/components/widgets/VideoHero.astro'; import TextSection from '~/components/widgets/TextSection.astro'; import ButtonWhiteOutline from '~/components/widgets/ButtonWhiteOutline.astro'; import ButtonBlue from '~/components/widgets/ButtonBlue.astro'; +import ScrollBallAnimation from '~/components/widgets/ScrollBallAnimation.astro'; const metadata = { title: 'Laconic Network', @@ -26,7 +27,7 @@ const metadata = { -
+

Laconic is launching our flagship datacenter to participate in the Solana network. Host or co-locate your onchain business with Laconic to streamline development and @@ -51,16 +52,19 @@ const metadata = { -

+

Monitor, Index, and Deploy with
Laconic's Premier Product Suite

+ + + -
+

Watchers

@@ -98,7 +102,7 @@ const metadata = { -
+

Indexer

@@ -136,7 +140,7 @@ const metadata = { -
+

Laconic Deploy