Merge pull request #157 from LaconicNetwork/zach/modifications

major website content update
This commit is contained in:
Zach 2023-12-21 09:41:52 -05:00 committed by GitHub
commit c2b5d93898
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
25 changed files with 149 additions and 554 deletions

View File

@ -3,13 +3,13 @@
"aboutPage": {
"heroCtaLabel": "",
"heroCtaLink": "",
"heroDescB01": "For blockchain technology to achieve true decentralization and wider adoption, we need to expand data access, verifiability, and control for developers and end users around the world.",
"heroDescB02": "Led by a globally renowned team of architects and core contributors across Ethereum, IPLD / IPFS, and Cosmos SDK, our mission is to accelerate blockchain development, interoperability, and adoption by providing decentralized application (DApp) developers and users with greater access to verifiable data.",
"heroHeading": "Accelerating Web3",
"heroTitle": "Were materializing a decentralized and interoperable future, <b>now</b>",
"heroDescB01": "Today, nearly all applications front ends are centrally hosted. Users and service providers are beholden to the laws of countries that do not apply to them.",
"heroDescB02": "The Laconic suite of tooling allows applications to gradually reduce their dependency on centrally hosted services. Service providers can publish their jurisdiction specific deployments to the Laconic Network Registry. Users can interact with web3 applications safely, while respecting the laws of the jurisdictions that apply to them.",
"heroHeading": "Robust Solutions for Web3",
"heroTitle": "We help Web3 applications achieve jurisdictional diversity",
"teamHeading": "Team",
"teamDescB01": "Five years in development, Laconic is built by platform experts and core contributors across Ethereum, IPLD / IPFS, and Cosmos SDK. ",
"teamDescB02": "Our project teams include Ethereum architects and developers who co-authored EIP-1559, and technology veterans who have launched products used by billions of people.",
"teamDescB01": "Over six years in development, Laconic is built by platform experts and core contributors across Ethereum, IPLD / IPFS, and Cosmos SDK.",
"teamDescB02": "Our project teams include Ethereum architects and developers who co-authored EIP-1559...this stuff isn't displayed...",
"whitepaperCtaLink": "",
"whitepaperCtaText": "",
"whitepaperHeading": "Whitepaper",
@ -53,4 +53,4 @@
}
}
}
}
}

View File

@ -2,13 +2,14 @@
"data": {
"communityPage": {
"heroButton01": "JOIN US",
"heroButton02": "GET STARTED",
"heroDescription": "Join us to accelerate Web3 development, interoperability, and adoption.",
"heroButton02": "DOWNLOAD",
"heroDescription01": "Join us to accelerate Web3 development, interoperability, and adoption.",
"heroDescription02": "Download the latest Stack Orchestrator.",
"heroHeading": "Laconic Community",
"heroB01Link": "https://discord.com/invite/ukhbBemyxY",
"heroB02Link": "https://github.com/cerc-io/stack-orchestrator",
"heroB02Link": "https://github.com/cerc-io/stack-orchestrator/releases/latest/download/laconic-so",
"eventsHeading": "Events",
"eventsDescription": "Wed love to meet you in person. Find us at an event near you:",
"eventsDescription": "Wed love to meet you in person. Find us at an event near you.",
"socialsHeading": "Connect with Us",
"socialsHeadingAlt": "Join Our Community",
"socialsLine": "GET IN TOUCH",
@ -21,11 +22,7 @@
"socialsTwitter": "https://twitter.com/laconicnetwork",
"socialsDiscord": "https://discord.com/invite/ukhbBemyxY",
"socialsYoutube": "https://www.youtube.com/@Laconic-Network",
"socialsReddit": "https://www.reddit.com/r/LaconicNetwork/",
"socialsTelegram": "https://t.me/laconicnetwork",
"socialsLinkedin": "https://www.linkedin.com/company/laconic-network/",
"socialsFacebook": "https://www.facebook.com/laconicnetwork",
"socialsInstagram": "https://instagram.com/laconicnetwork"
"socialsTelegram": "https://t.me/laconicnetwork"
}
}
}
}

View File

@ -1,44 +1,28 @@
{
"data": {
"footer": {
"productsLinks": [
{
"title": "Products",
"href": "/products"
}
],
"partnersLinks": [
{
"title": "Partners",
"href": "/partners"
}
],
"aboutLinks": [
{
"href": "/about",
"title": "About"
},
{
"href": "/about",
"title": "Vision"
},
{
"href": "/about#team",
"title": "Team"
},
{
"href": "/partners",
"title": "Partners"
},
{
"href": "/careers",
"title": "Careers"
},
{
"href": "/contact",
"title": "Contact"
},
{
"href": "/assets/laconic-logo-assets.zip",
"title": "Brand"
}
],
"communityLinks": [
{
"href": "/community",
"title": "Community"
},
{
"href": "/community#events",
"title": "Events"
}
],
"connectLinks": [
@ -54,70 +38,11 @@
"href": "https://www.youtube.com/@Laconic-Network",
"title": "Youtube"
},
{
"href": "https://www.reddit.com/r/LaconicNetwork/",
"title": "Reddit"
},
{
"href": "https://t.me/laconicnetwork",
"title": "Telegram"
},
{
"href": "https://www.linkedin.com/company/laconic-network/",
"title": "Linkedin"
},
{
"href": "https://www.facebook.com/laconicnetwork",
"title": "Facebook"
},
{
"href": "https://instagram.com/laconicnetwork",
"title": "Instagram"
}
],
"developerLinks": [
{
"title": "Developers"
},
{
"href": "https://github.com/LaconicNetwork",
"title": "Github"
},
{
"href": "/about/#roadmap",
"title": "Roadmap"
},
{
"href": "https://discord.com/invite/ukhbBemyxY",
"title": "Chat"
}
],
"productsLinks": [
{
"title": "Products",
"href": "/products"
},
{
"href": "/products/#laconicwatchers",
"title": "Watchers (SDK)"
},
{
"href": "/products/#laconicstack",
"title": "Laconic Stack"
},
{
"href": "/products/#laconicnetwork",
"title": "Laconic Network"
},
{
"href": "/products/#laconicapp",
"title": "Laconic App"
},
{
"href": "/products/#laconictoken",
"title": "(LNT) Token"
}
]
}
}
}
}

View File

@ -2,111 +2,20 @@
"data": {
"header": {
"navMenu": [
{
"href": null,
"title": "Developers",
"content": [
{
"href": "https://github.com/LaconicNetwork",
"title": "GitHub"
},
{
"href": "/about#roadmap",
"title": "Roadmap"
},
{
"href": "https://discord.com/invite/ukhbBemyxY",
"title": "Chat"
}
]
},
{
"href": "/products",
"title": "Products",
"content": [
{
"href": "/products#laconicwatchers",
"title": "Watchers (SDK)"
},
{
"href": "/products#laconicstack",
"title": "Stack"
},
{
"href": "/products#laconicnetwork",
"title": "Network"
},
{
"href": "/products#laconicapp",
"title": "App"
},
{
"href": "/products#laconictoken",
"title": "Network Token (LNT)"
}
]
"content": []
},
{
"href": "/partners",
"title": "Partners",
"content": [
{
"href": "/partners#validators",
"title": "Member Validators"
},
{
"href": "/partners#providers",
"title": "Service Providers"
},
{
"href": "/partners#developers",
"title": "Developers"
},
{
"href": "/partners#investors",
"title": "Investors"
},
{
"href": "/partners#testnet",
"title": "Incentivized Testnet"
}
]
},
{
"href": "/about",
"title": "About",
"content": [
{
"href": "/about",
"title": "Vision"
},
{
"href": "/about#team",
"title": "Team"
},
{
"href": "/careers",
"title": "Careers"
},
{
"href": "/contact",
"title": "Contact"
},
{
"href": "/assets/laconic-logo-assets.zip",
"title": "Brand"
}
]
"content": []
},
{
"href": "/community",
"title": "Community",
"content": [
{
"href": "/community#events",
"title": "Events"
}
]
"content": []
},
{
"href": "/blog",
@ -116,4 +25,4 @@
]
}
}
}
}

View File

@ -1,34 +1,34 @@
{
"data": {
"homePage": {
"heroHeading": "Build a <br class=\"hide-on-desktop\" /> <span class=\"highlight\">Fast, Frictionless, <br /> & Verifiable</span> Web3",
"heroButton01": "JOIN US",
"heroB01Link": "https://discord.com/invite/ukhbBemyxY",
"heroHeading": "<span class=\"highlight\">Robust Web3 Hosting</span>",
"heroButton01": "GET STARTED",
"heroB01Link": "https://github.com/cerc-io/stack-orchestrator",
"heroButton02": "LEARN MORE",
"heroB02Link": "https://laconic.com/blog",
"heroSlogan": "<p>From months to minutes. <br />Laconic&rsquo;s multi-chain verifiable data marketplace accelerates<br />development, interoperability, and adoption.</p>",
"benefitsDesc": "<p><span>Developed over five years by core Ethereum, IPLD / IPFS, and Cosmos SDK contributors, Laconic is <strong>a next generation data availability and verifiability layer with cryptographic proofs.<br /><br />Combined with the world's first peer-to-peer data marketplace, Laconic makes internet-scale Web3 applications and light clients possible.</strong></span></p>",
"heroSlogan": "<p>Turnkey offshore hosting.<br />Laconic provides technical solutions to facilitate the<br />jurisdictional diversity of your application and organization.</p>",
"benefitsDesc": "<p><span>Developed over five years by core Ethereum, IPLD / IPFS, and Cosmos SDK contributors, Laconic is an infrastructure layer for serving applications to a broad user base.<br /><br />For developers, service providers, investors, and end users, this provides opportunities and experiences otherwise not available in the web3 ecosystem.</span></p>",
"benefitsHeading": "Why Laconic?",
"benefitsS01Desc": "Build blockchain applications faster, more efficiently, and at lower cost.",
"benefitsS01Desc": "Deploy across many jurisdictions and outsource hosting responsibilities to service providers.",
"benefitsS01Heading": "For Developers",
"benefitsS01Item01": "Only solution with cryptographic proofs",
"benefitsS01Item02": "Composable, supports broad uses",
"benefitsS01Item01": "Plug and play solution",
"benefitsS01Item02": "Kubernetes support",
"benefitsS01Item03": "Quick automated setup",
"benefitsS01Item04": "Broad cross-chain compatibility",
"benefitsS01Item05": "Flexibility for all hash-linked data",
"benefitsS01Item06": "Lower development and data costs",
"benefitsS02Desc": "Experience unprecedented control, privacy, and usability.",
"benefitsS01Item04": "Deploy across other ecosystems",
"benefitsS01Item05": "Register apps and data on chain",
"benefitsS01Item06": "Support broad user base",
"benefitsS02Desc": "Improved service and customization",
"benefitsS02Heading": "For App Users",
"benefitsS02Item01": "Greater data access and control",
"benefitsS02Item02": "In-browser local cache",
"benefitsS02Item03": "Optimal control of privacy levels",
"benefitsS02Item04": "Self-verify data accuracy",
"benefitsS02Item05": "Higher quality of service and uptime",
"benefitsS02Item06": "LNT rewards for network participation",
"benefitsS02Item01": "Applications custom to your jurisdiction",
"benefitsS02Item02": "Easily host your own up-to-date version",
"benefitsS02Item03": "Sane privacy settings",
"benefitsS02Item04": "Higher quality service and uptime",
"benefitsS02Item05": "Verifiable data accuray",
"benefitsS02Item06": "Ability to exit with your data",
"benefitsButton": "Join Us",
"benefitsButtonLink": "https://discord.com/invite/ukhbBemyxY",
"othersHeading": "What Others Say",
"latestHeading": "Latest News"
}
}
}
}

View File

@ -1,54 +1,27 @@
{
"data": {
"partnersPage": {
"heroHeading": "Join Us to Build Web3",
"heroParagraph01": "Laconic is ushering in a new era of internet-scale Web3 applications. Were solving the hardest problems in Web3 by expanding access to verifiable data, and building a global incentivized peer-to-peer data marketplace.",
"heroParagraph02": "Interested in participating in the network? Individuals and organizations around the world with different levels of technical expertise can get involved:",
"oportunitiesDesc01": "Our Tendermint proof-of-stake (PoS) blockchain matches data consumers with service providers, and registers all of the available Laconic Watchers. In addition, the Laconic Network governance is all executed on-chain. Help us maintain the security of the blockchain and the Network by becoming a Laconic Member Validator.\n<br /> <br /> \n• Participate in the Incentivized Testnet<br /> \n• Run a Laconic Full-Index Node<br /> \n• Help index blockchain data<br /> \n• Host Watchers as a Service Provider",
"oportunitiesDesc02": "True internet-scale Web3 applications demand a robust and scalable data layer. Laconic Service Providers operate this layer by hosting Laconic Watchers that serve blockchain data to DApps. Earn by running the programs that provide DApp developers with their API endpoints.\n<br /> <br /> \n• Operate data-serving APIs<br /> \n• Receive payments from data consumers<br /> \n• Build the global cache of blockchain data",
"oportunitiesDesc03": "No longer will Web3 developers struggle with data queries and transformations when building ambitious DApps. The power of Laconic Watchers to specify, transform, and cache blockchain data, and to create custom APIs tailored to individual DApps, will transform Web3 development.\n<br /> <br /> \n• “Watch” any aspect of blockchain data<br /> \n• Transform that data programmatically<br /> \n• Build and expand on prior work - Watchers are composable<br /> \n• Verify your data cryptographically",
"oportunitiesDesc04": "Help us solve the fundamental problems of blockchain adoption and scalability by creating a novel network of indexers and data providers. Whether your interest lies in joining the network as a Member, or helping us build a new generation of Web3 products on the Laconic Network, there is an opportunity for you.<br /> <br /> \n\n• Become a Laconic Member through auctions<br /> \n• Pair with operators to run the Laconic Stack<br /> \n• Invest in the next generation of data-enabled Web3 apps",
"oportunitiesDesc05": "We are building the data scalability layer of all blockchains. This project requires professional operators who can manage hardware at scale. By participating in Laconic's Incentivized Testnet, you'll find out if you have what it takes to successfully run the Laconic Stack and meet our reliability and service quality standards. Completing the Incentivized Testnet is a prerequisite for bidding to become a Laconic Member.\n<br /> <br /> \n• Run the Laconic Stack<br /> \n• Complete challenges and improve the quality of the network<br /> \n• Earn rewards<br /> \n• Participate in Member auctions",
"oportunitiesHeading01": "Member Validators",
"oportunitiesHeading02": "Service Providers",
"oportunitiesHeading03": "Developers",
"oportunitiesHeading04": "Investors",
"oportunitiesHeading05": "Incentivized Testnet",
"heroHeading": "Web3 Hosting Made Easy",
"heroParagraph01": "Today, the majority of Web3 is deployed via standard DevOps practices, using an entirely centralized tech stack. With the Laconic Stack, Service Providers in any jurisdiction can run software in accordance with both parties' local laws.",
"heroParagraph02": "For the developer, this eliminates the responsibility of hosting the application and, for example, geo blocking users.",
"oportunitiesDesc01": "Service Providers can focus on providing service and serving markets in their chosen jurisdictions, while remaining compliant with all relevant jurisdictional requirements.",
"oportunitiesDesc02": "Developers can focus on writing code instead of wrangling with DevOps deployments and relying on external entities, such as Vercel.",
"oportunitiesHeading01": "Service Providers",
"oportunitiesHeading02": "Developers",
"oportunitiesImage01": {
"url": "/images/site_content/partnersPage/oportunitiesImage01.png"
},
"oportunitiesImage01Light": {
"url": "/images/site_content/partnersPage/oportunitiesImage01Light.png"
},
"oportunitiesImage02": {
"url": "/images/site_content/partnersPage/oportunitiesImage02.png"
},
"oportunitiesImage02Light": {
"oportunitiesImage01Light": {
"url": "/images/site_content/partnersPage/oportunitiesImage02Light.png"
},
"oportunitiesImage03": {
"url": "/images/site_content/partnersPage/oportunitiesImage03.png"
"oportunitiesImage02": {
"url": "/images/site_content/partnersPage/oportunitiesImage01.png"
},
"oportunitiesImage03Light": {
"url": "/images/site_content/partnersPage/oportunitiesImage03Light.png"
},
"oportunitiesImage04": {
"url": "/images/site_content/partnersPage/oportunitiesImage04.png"
},
"oportunitiesImage04Light": {
"url": "/images/site_content/partnersPage/oportunitiesImage04Light.png"
},
"oportunitiesImage05": {
"url": "/images/site_content/partnersPage/oportunitiesImage05.png"
},
"oportunitiesImage05Light": {
"url": "/images/site_content/partnersPage/oportunitiesImage05Light.png"
"oportunitiesImage02Light": {
"url": "/images/site_content/partnersPage/oportunitiesImage01Light.png"
},
"oportunitiesItem01Links": null,
"oportunitiesItem02Links": null,
"oportunitiesItem03Links": null,
"oportunitiesItem04Links": null,
"oportunitiesItem05Links": null
"oportunitiesItem02Links": null
}
}
}

View File

@ -1,8 +1,8 @@
{
"data": {
"productsPage": {
"appDescription": "Your front-end to Laconic Network. Preview, monitor and manage your DApps Watcher usage. Participate in network governance. Then chart a path to deeper participation in the growth & stability of the network.<br/><br/>\n• In-browser IPFS payment channels<br/>\n• Private self-custodied account data<br/>\n• Access to member auctions & resources",
"appHeading": "Laconic App",
"appDescription": "The Laconic Console allows developers to browse the Laconic Registry. Service Providers publish applications and deployment records, making it easy for developers to find different versions of their favorite Web3 applications, hosted by various Service Providers.",
"appHeading": "Laconic Console",
"appImg": {
"url": "/images/site_content/productsPage/appImg.png"
},
@ -15,18 +15,18 @@
"appMobileImgLight": {
"url": "/images/site_content/productsPage/appMobileImgLight.jpg"
},
"heroDescription": "Developed over five years with cutting-edge data-caching engineering, Laconic's technology stack and marketplace powers internet-scale Web3 applications.",
"heroDescription": "Laconic's products enhance the resilience of your Web3 application. Laconic facilitates offshore hosting, providing jurisdictional diversity across each level of the Web3 stack. For developers, the burden of hosting their application and maintaining a DevOps workflow is reduced.",
"heroHeading": "Products",
"heroItem01": "Laconic Watchers (SDK)",
"heroItem02": "Laconic Stack",
"heroItem03": "Laconic Network",
"heroItem04": "Laconic App",
"heroItem05": "Laconic Network Token (LNT)",
"heroS01Desc": "Laconic enables simple and efficient DApp development, and the most flexible views of the Ethereum state.",
"heroS01Heading": "DeFi",
"heroS02Desc": "Laconic exposes cross-chain history and metadata associated with an NFT, enabling provably accurate data for DApps and Marketplaces.",
"heroS02Heading": "NFTs",
"networkDesc": "Laconic Network is an open, interoperable, verifiable data marketplace and ecosystem of service providers, DApp operators, and data consumers providing low-cost, decentralized, and disintermediated horizontal scaling solutions for projects leveraging Laconic Stack.",
"heroItem01": "Offshore Hosting",
"heroItem02": "RPC Acceleration",
"heroItem03": "Subgraph support",
"heroItem04": "Indexing L1, L2, and NFTs",
"heroItem05": "Payment channels",
"heroS01Desc": "Jurisdictionally diverse (offshore) hosting solutions provide resilience for your Web3 applications. Easy, seamless developer experience.",
"heroS01Heading": "Devs",
"heroS02Desc": "Improved service and reliability of your favorite Web3 applications, at a reduced cost. No more geo-blocking.",
"heroS02Heading": "Users",
"networkDesc": "The Laconic Network has a registry, whose records point to hosted application deployments. This provides a fault-tolerant database of information that matches users with service providers in the relevant jurisdictions. By publishing their applications to the Laconic Registry, developers are no longer burdened with the responsibility of hosting applications themselves.",
"networkHeading": "Laconic Network",
"networkImg": {
"url": "/images/site_content/productsPage/networkImg.jpg"
@ -34,16 +34,16 @@
"networkImgLight": {
"url": "/images/site_content/productsPage/networkImgLight.jpg"
},
"networkListItem01": "Seamlessly connects DApps and bridges with data service providers",
"networkListItem02": "Leverages state-channel-based payment infrastructure",
"networkListItem03": "Provides highest quality services at the lowest prices via marketplace model",
"networkListItem01": "Register your applications on-chain for others to find and use.",
"networkListItem02": "Provide jurisdictional diversity for offshore hosting your apps.",
"networkListItem03": "Facilitate availability to the broadest possible user base.",
"networkMobileImg": {
"url": "/images/site_content/productsPage/networkMobileImg.jpg"
},
"networkMobileImgLight": {
"url": "/images/site_content/productsPage/networkMobileImgLight.jpg"
},
"stackDescription": "Laconic Stack is a set of essential and verifiable technologies and services that significantly simplify DApp development and make DApps accessible to a wider audience of developers.",
"stackDescription": "The Laconic Stack provides tooling to facilitate serving Web3 applications to all users, no matter the jurisdiction.",
"stackHeading": "Laconic Stack",
"stackImage": {
"url": "/images/site_content/productsPage/stackImage.png"
@ -54,24 +54,16 @@
"stackListData": {
"stackData": [
{
"title": "Core",
"content": "Ethereum node, ipld-eth-server, and relational database"
"title": "Indexing Service",
"content": "Lightweight and developer friendly; leverages our 'state diff' service."
},
{
"title": "Watcher Service",
"content": "Allows services or browsers to subscribe to data"
"title": "Stack Orchestrator",
"content": "Batteries included build and deployment workflow tool."
},
{
"title": "Tracing Service",
"content": "Generates and caches traces"
},
{
"title": "Eth State Diff Service",
"content": "Serves state diffs from an offline Geth database"
},
{
"title": "Pending Transaction Service",
"content": "Provides real-time transaction pool data"
"title": "Legal Framework",
"content": "The Laconic Stack is highly modular, and enables legal compliance in any jurisdiction."
}
]
},
@ -98,25 +90,25 @@
"tokenMobileImgLight": {
"url": "/images/site_content/productsPage/tokenMobileImgLight.jpg"
},
"watchersHeading": "Laconic<br /> Watchers<br /> (SDK)",
"watchersHeading": "Offshore Hosting",
"watchersImage": {
"url": "/images/site_content/productsPage/watchersImage.jpg"
},
"watchersImageLight": {
"url": "/images/site_content/productsPage/watchersImageLight.jpg"
},
"watchersItem01": "Query the data a DApp needs",
"watchersItem02": "Make that data consumable to the DApp",
"watchersItem03": "Cache the data for fast and inexpensive access",
"watchersListHead": "A Watcher serves three fundamental purposes:",
"watchersItem01": "Turnkey Setup",
"watchersItem02": "High Availability",
"watchersItem03": "Jurisdictionally Diverse",
"watchersListHead": "",
"watchersMobileImage": {
"url": "/images/site_content/productsPage/watchersMobileImage.jpg"
},
"watchersMobileImageLight": {
"url": "/images/site_content/productsPage/watchersMobileImageLight.jpg"
},
"watchersP01": "Leverage the Laconic SDK to create Watchers. Watchers are customized queries of blockchain data against specific smart contracts. Watchers enable fast and frictionless DApp development. Through Watchers, a DApps data can be fully verifiable with hundreds of megabytes instead of tens of terabytes. Use Watchers to dramatically increase speed and efficiency while lowering costs.",
"watchersP01": "Provide service to a broad range of users by allowing others to host applications.",
"watchersP02": ""
}
}
}
}

View File

@ -259,7 +259,7 @@
display: grid;
align-content: start;
gap: tovw(14px, 'default', 14px);
grid-template-columns: repeat(2, 1fr);
grid-template-columns: repeat(4, 1fr);
grid-template-rows: auto;
padding-top: tovw(3px, 'default', 3px);

View File

@ -21,8 +21,7 @@ export const ProductsLinks = [
{ href: '/products/#laconicwatchers', title: 'Watchers (SDK)' },
{ href: '/products/#laconicstack', title: 'Laconic Stack' },
{ href: '/products/#laconicnetwork', title: 'Laconic Network' },
{ href: '/products/#laconicapp', title: 'Laconic App' },
{ href: '/products/#laconictoken', title: 'Laconic Network Token (LNT)' }
{ href: '/products/#laconicapp', title: 'Laconic App' }
]
export const AboutLinks = [

View File

@ -96,20 +96,6 @@ export const Footer = ({ data }: Props) => {
</Link>
</div>
<nav>
<ul>
{data.developerLinks.map((link) => {
return (
<li key={link.title}>
{link.href && (
<Link href={link.href} variant="nav">
{link.title}
</Link>
)}
{!link.href && <span>{link.title}</span>}
</li>
)
})}
</ul>
<ul>
{data.productsLinks.map((link) => {
return (
@ -125,7 +111,7 @@ export const Footer = ({ data }: Props) => {
})}
</ul>
<ul>
{data.aboutLinks.map((link) => {
{data.partnersLinks.map((link) => {
return (
<li key={link.title}>
{link.href && (
@ -138,6 +124,21 @@ export const Footer = ({ data }: Props) => {
)
})}
</ul>
{// <ul>
// {data.aboutLinks.map((link) => {
// return (
// <li key={link.title}>
// {link.href && (
// <Link href={link.href} variant="nav">
// {link.title}
// </Link>
// )}
// {!link.href && <span>{link.title}</span>}
// </li>
// )
// })}
// </ul>
}
<ul>
{data.communityLinks.map((link) => {
return (
@ -154,7 +155,7 @@ export const Footer = ({ data }: Props) => {
</ul>
<ul className={s['connect__links']}>
<li>
<Link href="/contact#contactform" variant="nav">
<Link href="/community" variant="nav">
Connect
</Link>
</li>
@ -209,7 +210,7 @@ export const Footer = ({ data }: Props) => {
</ul>
<ul className={s['sub__footer__links']}>
<li>
<p>Laconic, The Source of Proof</p>
<p>Laconic: Offshore Hosting Made Easy</p>
</li>
<li>
<Link href="/privacy-policy" variant="nav">

View File

@ -1,3 +1,6 @@
// what does this file do?
// see json/site_content/header.json
// instead
export const defaultHeaderLinks = [
{
href: 'https://docs.laconic.com/',
@ -16,7 +19,6 @@ export const defaultHeaderLinks = [
{ href: '/products#laconicstack', title: 'Stack' },
{ href: '/products#laconicnetwork', title: 'Network' },
{ href: '/products#laconicapp', title: 'App' },
{ href: '/products#laconictoken', title: 'Network Token (LNT)' }
]
},
{

View File

@ -117,9 +117,9 @@ const HeaderMobile = React.forwardRef<
</NavigationMenu.Root>
<ButtonLink
className={s['button']}
href="https://discord.com/invite/ukhbBemyxY"
href="https://github.com/cerc-io/stack-orchestrator"
>
Join Us
Get Started
</ButtonLink>
<div className={s.themer}>
<span>{themeLabel}</span> <Switch theme={theme} setTheme={setTheme} />
@ -135,7 +135,7 @@ const HeaderMobile = React.forwardRef<
</li>
))}
</ul>
<p>Laconic, The Source of Proof</p>
<p>Laconic: Offshore Hosting Made Easy</p>
</div>
)
})
@ -267,11 +267,11 @@ export const Header = ({ data }: Props) => {
</NavigationMenu.List>
<ButtonLink
className="hide-on-mobile"
href="https://discord.com/invite/ukhbBemyxY"
href="https://github.com/cerc-io/stack-orchestrator"
size="small"
variant="default"
>
Join Us
Get Started
</ButtonLink>
<NavigationMenu.Viewport asChild className={s.viewport} />
</NavigationMenu.Root>

View File

@ -80,8 +80,8 @@ const Hero = ({ data }: Props) => {
<Arrow className={s['arrow--mobile']} />
</div>
<div className={s['content']}>
<Arrow className={s['arrow']} />
<p>{data?.heroDescription}</p>
{/*<Arrow className={s['arrow']} />*/}
<p>{data?.heroDescription01}</p>
<div className={s['buttons__container']}>
<ButtonLink
variant="primary"
@ -91,6 +91,10 @@ const Hero = ({ data }: Props) => {
>
{data?.heroButton01}
</ButtonLink>
</div>
{/*<Arrow className={s['arrow']} />*/}
<p>{data?.heroDescription02}</p>
<div className={s['buttons__container']}>
<ButtonLink
variant="primary"
size="large"

View File

@ -82,23 +82,6 @@ const Hero = ({ data }: Props) => {
<div className={s.text__container}>
{data?.heroParagraph01 && <p>{data?.heroParagraph01}</p>}
{data?.heroParagraph01 && <p>{data?.heroParagraph02}</p>}
<ol>
<li>
<Link href="#validators">Validators</Link>
</li>
<li>
<Link href="#providers">Service providers</Link>
</li>
<li>
<Link href="#developers">Developers</Link>
</li>
<li>
<Link href="#investors">Investors</Link>
</li>
<li>
<Link href="#testnet">Testnet</Link>
</li>
</ol>
</div>
</div>
</Container>

View File

@ -22,24 +22,6 @@ interface Props {
label: string
link: string
}[]
oportunitiesHeading03: string
oportunitiesDesc03: string
oportunitiesItem03Links: {
label: string
link: string
}[]
oportunitiesHeading04: string
oportunitiesDesc04: string
oportunitiesItem04Links: {
label: string
link: string
}[]
oportunitiesHeading05: string
oportunitiesDesc05: string
oportunitiesItem05Links: {
label: string
link: string
}[]
oportunitiesImage01: {
url: string
}
@ -52,24 +34,6 @@ interface Props {
oportunitiesImage02Light: {
url: string
}
oportunitiesImage03: {
url: string
}
oportunitiesImage03Light: {
url: string
}
oportunitiesImage04: {
url: string
}
oportunitiesImage04Light: {
url: string
}
oportunitiesImage05: {
url: string
}
oportunitiesImage05Light: {
url: string
}
}
}
@ -78,9 +42,6 @@ const Opportunities = ({ data }: Props) => {
const [oportunity01Image, setOportunity01Image] = useState('')
const [oportunity02Image, setOportunity02Image] = useState('')
const [oportunity03Image, setOportunity03Image] = useState('')
const [oportunity04Image, setOportunity04Image] = useState('')
const [oportunity05Image, setOportunity05Image] = useState('')
useEffect(() => {
setOportunity01Image(
@ -93,31 +54,16 @@ const Opportunities = ({ data }: Props) => {
? data?.oportunitiesImage02?.url
: data?.oportunitiesImage02Light?.url
)
setOportunity03Image(
theme === 'dark'
? data?.oportunitiesImage03?.url
: data?.oportunitiesImage03Light?.url
)
setOportunity04Image(
theme === 'dark'
? data?.oportunitiesImage04?.url
: data?.oportunitiesImage04Light?.url
)
setOportunity05Image(
theme === 'dark'
? data?.oportunitiesImage05?.url
: data?.oportunitiesImage05Light?.url
)
}, [theme, data])
return (
<Section className={s['section']}>
<Container className={s['container']}>
<div className={s.block} id="validators">
<div className={s.block} id="service-providers">
<img
className={s.item_image}
src={oportunity01Image}
alt="validators"
alt="service-providers"
/>
<div>
<div className={s['header']}>
@ -127,7 +73,7 @@ const Opportunities = ({ data }: Props) => {
<img
className={s.item_image__mobile}
src={oportunity01Image}
alt="validators"
alt="service-providers"
/>
</div>
<div className={s.text__container}>
@ -146,11 +92,11 @@ const Opportunities = ({ data }: Props) => {
)}
</div>
</div>
<div className={s.block} id="providers">
<div className={s.block} id="developers">
<img
className={s.item_image}
src={oportunity02Image}
alt="validators"
alt="developers"
/>
<div>
<div className={s['header']}>
@ -160,7 +106,7 @@ const Opportunities = ({ data }: Props) => {
<img
className={s.item_image__mobile}
src={oportunity02Image}
alt="validators"
alt="developers"
/>
</div>
<div className={s.text__container}>
@ -179,105 +125,6 @@ const Opportunities = ({ data }: Props) => {
)}
</div>
</div>
<div className={s.block} id="developers">
<img
className={s.item_image}
src={oportunity03Image}
alt="validators"
/>
<div>
<div className={s['header']}>
<Heading as="h2" variant="md">
{data?.oportunitiesHeading03}
</Heading>
<img
className={s.item_image__mobile}
src={oportunity03Image}
alt="validators"
/>
</div>
<div className={s.text__container}>
<p
dangerouslySetInnerHTML={{ __html: data?.oportunitiesDesc03 }}
/>
</div>
{data?.oportunitiesItem03Links && (
<ul>
{data?.oportunitiesItem03Links?.map((item, i) => (
<li key={i}>
<Link href={item?.link}>{item?.label}</Link>
</li>
))}
</ul>
)}
</div>
</div>
<div className={s.block} id="investors">
<img
className={s.item_image}
src={oportunity04Image}
alt="validators"
/>
<div>
<div className={s['header']}>
<Heading as="h2" variant="md">
{data?.oportunitiesHeading04}
</Heading>{' '}
<img
className={s.item_image__mobile}
src={oportunity04Image}
alt="validators"
/>
</div>
<div className={s.text__container}>
<p
dangerouslySetInnerHTML={{ __html: data?.oportunitiesDesc04 }}
/>
</div>
{data?.oportunitiesItem04Links && (
<ul>
{data?.oportunitiesItem04Links?.map((item, i) => (
<li key={i}>
<Link href={item?.link}>{item?.label}</Link>
</li>
))}
</ul>
)}
</div>
</div>
<div className={s.block} id="testnet">
<img
className={s.item_image}
src={oportunity05Image}
alt="validators"
/>
<div>
<div className={s['header']}>
<Heading as="h2" variant="md">
{data?.oportunitiesHeading05}
</Heading>
<img
className={s.item_image__mobile}
src={oportunity05Image}
alt="validators"
/>
</div>
<div className={s.text__container}>
<p
dangerouslySetInnerHTML={{ __html: data?.oportunitiesDesc05 }}
/>
</div>
{data?.oportunitiesItem05Links && (
<ul>
{data?.oportunitiesItem05Links?.map((item, i) => (
<li key={i}>
<Link href={item?.link}>{item?.label}</Link>
</li>
))}
</ul>
)}
</div>
</div>
</Container>
</Section>
)

View File

@ -84,13 +84,13 @@ const Hero = ({ data }: Props) => {
<div className={s.text__container}>
<p>{data?.heroDescription}</p>
<div>
<ol>
{/*<ol>
<li>{data?.heroItem01}</li>
<li>{data?.heroItem02}</li>
<li>{data?.heroItem03}</li>
<li>{data?.heroItem04}</li>
<li>{data?.heroItem05}</li>
</ol>
</ol>*/}
<div>
<Heading as="h2" variant="sm">
{data?.heroS01Heading}

View File

@ -69,11 +69,11 @@ const Network = ({ data }: Props) => {
<p>{data?.networkListItem01}</p>
</div>
<div>
<img src="/images/products/nw-02.png" alt="" />
<img src="/images/products/nw-01.png" alt="" />
<p>{data?.networkListItem02}</p>
</div>
<div>
<img src="/images/products/nw-03.png" alt="" />
<img src="/images/products/nw-01.png" alt="" />
<p>{data?.networkListItem03}</p>
</div>
</div>

View File

@ -45,10 +45,8 @@ const Stack = ({ data }: Props) => {
if (!stackImgRef.current) return
if (!stackSvgRef.current) return
stackImgRef.current.src =
theme === 'dark' ? data?.stackImage?.url : data?.stackImageLight?.url
stackSvgRef.current.src =
theme === 'dark' ? data?.stackSvgImg?.url : data?.stackSvgImgLight?.url
stackImgRef.current.src = theme === 'dark' ? data?.stackImage?.url : data?.stackImageLight?.url
stackSvgRef.current.src = theme === 'dark' ? data?.stackSvgImg?.url : data?.stackSvgImgLight?.url
}, [theme, data])
return (
@ -58,6 +56,10 @@ const Stack = ({ data }: Props) => {
<Heading as="h2" variant="lg">
{data?.stackHeading}
</Heading>
{/*TODO: fix with CSS*/}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<p>{data?.stackDescription}</p>
</div>
<div>

View File

@ -67,7 +67,7 @@ const Watchers = ({ data }: Props) => {
/>
</div>
<div className={s.features}>
<ol>
{/*<ol>
<li>
<p>{data?.watchersItem01}</p>
<Line className={s['line']} height={45} />
@ -80,7 +80,7 @@ const Watchers = ({ data }: Props) => {
<p>{data?.watchersItem03}</p>
<Line className={s['line']} height={45} />
</li>
</ol>
</ol>*/}
</div>
</div>
<div className={s.heading}>

View File

@ -15,19 +15,10 @@ const PartnersOportunities = {
partnersPage {
oportunitiesDesc01
oportunitiesDesc02
oportunitiesDesc03
oportunitiesDesc04
oportunitiesDesc05
oportunitiesHeading01
oportunitiesHeading02
oportunitiesHeading03
oportunitiesHeading04
oportunitiesHeading05
oportunitiesItem01Links
oportunitiesItem02Links
oportunitiesItem03Links
oportunitiesItem04Links
oportunitiesItem05Links
oportunitiesImage01 {
url
}
@ -40,24 +31,6 @@ const PartnersOportunities = {
oportunitiesImage02Light {
url
}
oportunitiesImage03 {
url
}
oportunitiesImage03Light {
url
}
oportunitiesImage04 {
url
}
oportunitiesImage04Light {
url
}
oportunitiesImage05 {
url
}
oportunitiesImage05Light {
url
}
}
}`
}

View File

@ -109,9 +109,6 @@ const About = ({
<PageLayout footerData={footerData} headerData={headerData}>
<Meta title="About | Laconic Network" />
<Hero data={heroData} />
<Team teamData={teamsData} data={teamsPageData} />
<Whitepaper data={whitepaperData} />
<Roadmap data={roadmapData} />
<Related blogData={initialBlogPosts?.data} reduced={true} />
</PageLayout>
)

View File

@ -112,7 +112,6 @@ const HomePage = ({
<Hero data={heroData} />
<Benefits data={benefitsData} />
<LatestNews blogData={initialBlogPosts?.data} data={latestData} />
<WhatOthersSay data={othersData} testimonialsData={testimonialsData} />
</PageLayout>
)
}

View File

@ -101,7 +101,6 @@ const Careers = ({
<Meta title="Partners | Laconic Network" />
<Hero data={heroData} />
<Opportunities data={optData} />
<WhatOthersSay data={othersData} testimonialsData={testimonialsData} />
</PageLayout>
)
}

View File

@ -23,7 +23,6 @@ import AppSection from '~/components/sections/products/app'
import Hero from '~/components/sections/products/hero'
import Network from '~/components/sections/products/network'
import Stack from '~/components/sections/products/stack'
import Token from '~/components/sections/products/token'
import Watchers from '~/components/sections/products/watchers'
import { FooterQuery } from '~/lib/cms/queries/footer'
import { HeaderQuery } from '~/lib/cms/queries/header'
@ -32,7 +31,6 @@ import {
ProductsHero,
ProductsNetwork,
ProductsStack,
ProductsToken,
ProductsWatchers
} from '~/lib/cms/queries/products'
@ -63,7 +61,6 @@ export const getStaticProps = async () => {
stackData,
networkData,
appData,
tokenData,
footerData,
headerData
] = await Promise.all([
@ -72,7 +69,6 @@ export const getStaticProps = async () => {
request(ProductsStack),
request(ProductsNetwork),
request(ProductsApp),
request(ProductsToken),
request(FooterQuery),
request(HeaderQuery)
])
@ -88,7 +84,6 @@ export const getStaticProps = async () => {
stackData: stackData?.productsPage,
networkData: networkData?.productsPage,
appData: appData?.productsPage,
tokenData: tokenData?.productsPage,
footerData: footerData?.footer,
headerData: headerData?.header,
categories,
@ -108,7 +103,6 @@ const Products = ({
stackData,
networkData,
appData,
tokenData,
footerData,
headerData
}: InferGetStaticPropsType<typeof getStaticProps>) => {
@ -120,7 +114,6 @@ const Products = ({
<Stack data={stackData} />
<Network data={networkData} />
<AppSection data={appData} />
<Token data={tokenData} />
<Related blogData={initialBlogPosts?.data} reduced={true} />
</PageLayout>
)

View File

@ -3781,10 +3781,10 @@ human-signals@^2.1.0:
resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0"
integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==
husky@^7.0.4:
version "7.0.4"
resolved "https://registry.yarnpkg.com/husky/-/husky-7.0.4.tgz#242048245dc49c8fb1bf0cc7cfb98dd722531535"
integrity sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==
husky@^8.0.0:
version "8.0.3"
resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.3.tgz#4936d7212e46d1dea28fef29bb3a108872cd9184"
integrity sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==
iconv-lite@^0.4.24:
version "0.4.24"