diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index c5791e1..0129ffc 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -4,7 +4,6 @@ on: workflow_dispatch: pull_request: - defaults: run: shell: bash @@ -16,9 +15,19 @@ jobs: steps: - name: Checkout code uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: '18' + cache: 'yarn' - name: Install dependencies - run: yarn + run: yarn install --frozen-lockfile - name: Build docs - run: yarn build \ No newline at end of file + env: + NODE_OPTIONS: '--max-old-space-size=4096' + run: yarn build diff --git a/components/ChooseVM/CollapsibleSection.tsx b/components/ChooseVM/CollapsibleSection.tsx new file mode 100644 index 0000000..115340d --- /dev/null +++ b/components/ChooseVM/CollapsibleSection.tsx @@ -0,0 +1,48 @@ +import React, { useState } from 'react'; +import { Collapse, Button, Box, Text } from '@mantine/core'; +import { IconChevronDown, IconChevronUp } from '@tabler/icons-react'; + +interface CollapsibleSectionProps { + title: string; + children: React.ReactNode; +} + +const CollapsibleSection: React.FC = ({ title, children }) => { + const [opened, setOpened] = useState(false); + + return ( + + + + + + {children} + + + + ); +}; + +export default CollapsibleSection; diff --git a/components/ChooseVM/ToolList.tsx b/components/ChooseVM/ToolList.tsx new file mode 100644 index 0000000..c5a59c7 --- /dev/null +++ b/components/ChooseVM/ToolList.tsx @@ -0,0 +1,72 @@ +import React from 'react'; +import { Card, Text, Group, Badge, List, ThemeIcon } from '@mantine/core'; +import { IconCheck } from '@tabler/icons-react'; + +interface VMCardProps { + title: string; + description: string; + features: string[]; + ecosystemSize?: string; + difficulty?: string; +} + +const VMCard: React.FC = ({ + title, + description, + features, + ecosystemSize, + difficulty, +}) => { + return ( + + + + + {title} + {ecosystemSize && ( + + {ecosystemSize} + + )} + + {difficulty && ( + + {difficulty} + + )} + + + {description} + + + + + + + } + > + {features.map((feature, index) => ( + + {feature} + + ))} + + + ); +}; + +export default VMCard; diff --git a/components/ChooseVM/VMCard.tsx b/components/ChooseVM/VMCard.tsx new file mode 100644 index 0000000..1a33d37 --- /dev/null +++ b/components/ChooseVM/VMCard.tsx @@ -0,0 +1,131 @@ +import React from 'react'; +import { Card, Text, List, ThemeIcon, Group, Badge, Box } from '@mantine/core'; +import { IconCheck, IconAlertTriangle, IconUsersGroup } from '@tabler/icons-react'; + +interface VMCardProps { + title: string; + benefits: string[]; + considerations: string[]; + useCases: string[]; + description?: string; + documentation?: string; + ecosystemSize?: 'Large' | 'Medium' | 'Growing'; +} + +const VMCard: React.FC = ({ + title, + benefits, + considerations, + useCases, + description, + documentation, + ecosystemSize +}) => { + return ( + + + + + {title} + {ecosystemSize && ( + + {ecosystemSize} Ecosystem + + )} + + Virtual Machine + + {description && ( + + {description} + + )} + + + + Key Benefits + + + + } + > + {benefits.map((benefit, index) => ( + {benefit} + ))} + + + + + Important Considerations + + + + } + > + {considerations.map((consideration, index) => ( + {consideration} + ))} + + + + + Ideal Use Cases + + + + } + > + {useCases.map((useCase, index) => ( + {useCase} + ))} + + + + {documentation && ( + + + View Documentation → + + + )} + + ); +}; + +export default VMCard; diff --git a/components/DocCard/DocCardsGrid.tsx b/components/DocCard/DocCardsGrid.tsx index 34f6487..48b44e2 100644 --- a/components/DocCard/DocCardsGrid.tsx +++ b/components/DocCard/DocCardsGrid.tsx @@ -7,8 +7,8 @@ const DocCardsGrid = ({ data = [] }) => { } return ( -
-
+
+
{data.map((doc) => ( ))} diff --git a/components/Homepage/BuildIntro.tsx b/components/Homepage/BuildIntro.tsx new file mode 100644 index 0000000..2a4eded --- /dev/null +++ b/components/Homepage/BuildIntro.tsx @@ -0,0 +1,101 @@ +import React, { useEffect, useState } from 'react'; +import { + Title, + Text, + Button, + useMantineTheme, +} from '@mantine/core'; +import { IconArrowRight, IconChevronDown } from '@tabler/icons-react'; +import v2BannerImg from '../../public/assets/sei-temp-gradient.png'; +import styles from '../../styles/BuildIntro.module.css'; + +interface BuildIntroProps { + onScrollToDocs?: () => void; + title: string; + subtitle: string; + descriptions?: string[]; + primaryButtonText?: string; + primaryButtonLink?: string; + secondaryButtonText?: string; + secondaryButtonLink?: string; + scrollText?: string; +} + +const BuildIntro: React.FC = ({ + onScrollToDocs, + title, + subtitle, + descriptions = [], + primaryButtonText, + primaryButtonLink, + secondaryButtonText, + secondaryButtonLink, + scrollText = "Scroll down", +}) => { + const theme = useMantineTheme(); + const [activeDescription, setActiveDescription] = useState(0); + + useEffect(() => { + if (descriptions.length > 1) { + const interval = setInterval(() => { + setActiveDescription((prev) => (prev + 1) % descriptions.length); + }, 4000); + return () => clearInterval(interval); + } + }, [descriptions]); + + return ( +
+
+
+ + {title} + + {subtitle} + {descriptions.length > 0 && ( + + {descriptions[activeDescription]} + + )} + {(primaryButtonText || secondaryButtonText) && ( +
+ {primaryButtonText && primaryButtonLink && ( + + )} + {secondaryButtonText && secondaryButtonLink && ( + + )} +
+ )} + {onScrollToDocs && ( +
+ {scrollText} + +
+ )} +
+
+ ); +}; + +export default BuildIntro; diff --git a/components/Homepage/LearningPathCard.tsx b/components/Homepage/LearningPathCard.tsx deleted file mode 100644 index a7726d6..0000000 --- a/components/Homepage/LearningPathCard.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import Image from 'next/image'; -import styles from '../../styles/LearningPathCard.module.css'; - -interface LearningPathCardProps { - doc: { - name: string; - logo?: { - url: string; - alt: string; - }; - link: string; - }; -} - -const LearningPathCard: React.FC = ({ doc }) => { - const { name, logo, link } = doc; - - return ( - - {logo && ( -
- {logo.alt} -
- )} -

{name}

-
- ); -}; - -export default LearningPathCard; diff --git a/components/Homepage/LearningPathContainer.tsx b/components/Homepage/LearningPathContainer.tsx deleted file mode 100644 index f15dc67..0000000 --- a/components/Homepage/LearningPathContainer.tsx +++ /dev/null @@ -1,50 +0,0 @@ -import React from 'react'; -import LearningPathIntro from './LearningPathIntro'; -import LearningPathGrid from './LearningPathGrid'; - -interface LearningPathContainerProps { - data: { - beginner: Array<{ - id: number; - name: string; - link: string; - logo: { - url: string; - alt: string; - }; - }>; - intermediate: Array<{ - id: number; - name: string; - link: string; - logo: { - url: string; - alt: string; - }; - }>; - advanced: Array<{ - id: number; - name: string; - link: string; - logo: { - url: string; - alt: string; - }; - }>; - }; -} - -const LearningPathContainer: React.FC = ({ data }) => { - return ( -
- -
- - - -
-
- ); -}; - -export default LearningPathContainer; diff --git a/components/Homepage/LearningPathGrid.tsx b/components/Homepage/LearningPathGrid.tsx deleted file mode 100644 index 4ea0a65..0000000 --- a/components/Homepage/LearningPathGrid.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import React from 'react'; -import LearningPathCard from './LearningPathCard'; - -interface LearningPathGridProps { - title: string; - data: Array<{ - id: number; - name: string; - link: string; - logo: { - url: string; - alt: string; - }; - }>; -} - -const LearningPathGrid: React.FC = ({ title, data }) => { - return ( -
-

{title}

-
- {data.map((doc) => ( - - ))} -
-
- ); -}; - -export default LearningPathGrid; diff --git a/components/Homepage/LearningPathIntro.tsx b/components/Homepage/LearningPathIntro.tsx deleted file mode 100644 index 0ad9b4b..0000000 --- a/components/Homepage/LearningPathIntro.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import React from 'react'; -import { motion } from 'framer-motion'; - -const LearningPathIntro: React.FC = () => { - return ( - -
-

- Developer Learning Paths -

-

- Embark on a journey tailored for your expertise—beginner, intermediate, or advanced. -

-
-
-
-
- ); -}; - -export default LearningPathIntro; diff --git a/data/developerDocsData.ts b/data/developerDocsData.ts new file mode 100644 index 0000000..3216f5b --- /dev/null +++ b/data/developerDocsData.ts @@ -0,0 +1,56 @@ +export const docsData = [ + { + id: 1, + name: "Build", + logo: { + url: "/assets/sei_symbol_gradient.png", + }, + link: "/learn/differences-with-ethereum", + 'short-description': "Discover the key differences between Sei and Ethereum architecture.", + }, + { + id: 2, + name: "Exploring Token Standards", + logo: { + url: "/assets/sei_symbol_gradient.png", + }, + link: "/learn/dev-token-standards", + 'short-description': "Dive into Sei's token standards for seamless integration.", + }, + { + id: 3, + name: "Working with EVM Contracts", + logo: { + url: "/assets/sei_symbol_gradient.png", + }, + link: "/build/evm-general", + 'short-description': "Learn how to interact with and deploy EVM contracts on Sei.", + }, + { + id: 4, + name: "Working with CosmWasm Contracts", + logo: { + url: "/assets/sei_symbol_gradient.png", + }, + link: "/build/cosmwasm-general", + 'short-description': "Master creating and deploying CosmWasm smart contracts on Sei.", + }, + { + id: 5, + name: "Building a Frontend Interface", + logo: { + url: "/assets/sei_symbol_gradient.png", + }, + link: "/build/building-a-frontend", + 'short-description': "Learn to build intuitive and efficient frontend interfaces for dApps.", + }, + { + id: 6, + name: "Achieve Interoperability with IBC", + logo: { + url: "/assets/sei_symbol_gradient.png", + }, + link: "/build/ibc-protocol", + 'short-description': "Explore how to enable seamless interoperability using IBC on Sei.", + }, +]; diff --git a/data/guidesData.ts b/data/guidesData.ts index 6b88dc2..0889f20 100644 --- a/data/guidesData.ts +++ b/data/guidesData.ts @@ -2,109 +2,64 @@ export const guidesData = { beginner: [ { id: 1, - name: "1. Overview", - link: "/start/overview", + name: "1. Install seid CLI", + link: "/build/installing-seid", logo: { url: "/assets/sei_symbol_gradient.png", - alt: "Sei Overview", + alt: "Install seid CLI", }, }, { id: 2, - name: "2. Connect to Sei", - link: "/start/user-quickstart", + name: "2. Interact with Sei EVM", + link: "/build/evm-cli-tutorial", logo: { url: "/assets/sei_symbol_gradient.png", - alt: "Connect to Sei", + alt: "Interact with Sei EVs", }, }, { id: 3, - name: "3. Installing seid CLI", - link: "/build/installing-seid", + name: "3. Create Your First Contract", + link: "/build/evm-general", logo: { url: "/assets/sei_symbol_gradient.png", - alt: "Installing seid CLI", + alt: "Create Your First Contrac", }, }, { id: 4, - name: "4. Setting Up Local Chains", - link: "/start/dev-chains", - logo: { - url: "/assets/sei_symbol_gradient.png", - alt: "Setting Up Local Chains", - }, - }, - { - id: 5, - name: "5. Understanding Token Standards", - link: "/start/dev-token-standards", - logo: { - url: "/assets/sei_symbol_gradient.png", - alt: "Understanding Token Standards", - }, - }, - { - id: 6, - name: "6. Understanding Gas", - link: "/start/dev-gas", + name: "4. Create an NFT", + link: "/build/nft-contract-tutorial", logo: { url: "/assets/sei_symbol_gradient.png", - alt: "Understanding Gas", - }, - }, - { - id: 7, - name: "7. Deploying Your First Smart Contract", - link: "/start/dev-smart-contracts", - logo: { - url: "/assets/sei_symbol_gradient.png", - alt: "Deploying Your First Smart Contract", - }, - }, - { - id: 8, - name: "8. Building a Simple Frontend", - link: "/build/building-a-frontend", - logo: { - url: "/assets/sei_symbol_gradient.png", - alt: "Building a Simple Frontend", - }, - }, - { - id: 9, - name: "9. Testing and Debugging Smart Contracts", - link: "/start/dev-testing-debugging", - logo: { - url: "/assets/sei_symbol_gradient.png", - alt: "Testing and Debugging Smart Contracts", + alt: "Create an NFT", }, }, ], intermediate: [ { id: 1, - name: "1. Working with EVM Contracts", - link: "/build/evm-general", + name: "1. Choose a VM", + link: "/build/dev-smart-contracts", logo: { url: "/assets/sei_symbol_gradient.png", - alt: "EVM Contracts", + alt: "Choose a VM", }, }, { id: 2, - name: "2. Working with CosmWasm Contracts", - link: "/build/cosmwasm-general", + name: "2. Query Chain State", + link: "/build/dev-querying-state", logo: { url: "/assets/sei_symbol_gradient.png", - alt: "CosmWasm Contracts", + alt: "Query Chain State", }, }, { id: 3, - name: "3. Setting Up Multi-Sig Accounts", - link: "/build/multi-sig-accounts", + name: "3. Create a Token ", + link: "/build/tokenfactory-tutorial", logo: { url: "/assets/sei_symbol_gradient.png", alt: "Multi-Sig Accounts", @@ -112,139 +67,49 @@ export const guidesData = { }, { id: 4, - name: "4. Achieving Interoperability Between VMs", - link: "/start/dev-interoperability", - logo: { - url: "/assets/sei_symbol_gradient.png", - alt: "Interoperability Between VMs", - }, - }, - { - id: 5, - name: "5. Interoperability with IBC", - link: "/build/ibc-protocol", - logo: { - url: "/assets/sei_symbol_gradient.png", - alt: "Interoperability with IBC", - }, - }, - { - id: 6, - name: "6. Managing Transactions", - link: "/start/dev-transactions", - logo: { - url: "/assets/sei_symbol_gradient.png", - alt: "Managing Transactions", - }, - }, - { - id: 7, - name: "7. Configuring a Node", - link: "/node/node-configuration", - logo: { - url: "/assets/sei_symbol_gradient.png", - alt: "Configuring a Node", - }, - }, - { - id: 8, - name: "8. Advanced Querying and State Management", - link: "/start/dev-querying-state", - logo: { - url: "/assets/sei_symbol_gradient.png", - alt: "Advanced Querying and State Management", - }, - }, - { - id: 9, - name: "9. Deploying and Testing Smart Contracts", - link: "/build/smart-contract-deployment-testing", + name: "4. Build a Frontend", + link: "/build/building-a-frontend", logo: { url: "/assets/sei_symbol_gradient.png", - alt: "Deploying and Testing Smart Contracts", + alt: "Build a Frontend", }, }, ], advanced: [ { id: 1, - name: "1. Foo", - link: "#", + name: "1. Use Multi-Sig Accounts", + link: "/build/multi-sig-accounts", logo: { url: "/assets/sei_symbol_gradient.png", - alt: "Foo", + alt: "Use Multi-Sig Accounts", }, }, { id: 2, - name: "2. Bar", - link: "#", + name: "2. Deploy Pointer Contracts", + link: "/build/pointer-contracts", logo: { url: "/assets/sei_symbol_gradient.png", - alt: "Bar", + alt: "Deploy Pointer Contracts", }, }, { id: 3, - name: "3. Baz", - link: "#", + name: "3. Interoperate with IBC", + link: "/build/ibc-protocol", logo: { url: "/assets/sei_symbol_gradient.png", - alt: "Baz", + alt: "Interoperate with IBC", }, }, { id: 4, - name: "4. Foo", - link: "#", - logo: { - url: "/assets/sei_symbol_gradient.png", - alt: "Foo", - }, - }, - { - id: 5, - name: "5. Bar", - link: "#", - logo: { - url: "/assets/sei_symbol_gradient.png", - alt: "Bar", - }, - }, - { - id: 6, - name: "6. Baz", - link: "#", - logo: { - url: "/assets/sei_symbol_gradient.png", - alt: "Baz", - }, - }, - { - id: 7, - name: "7. Foo", - link: "#", - logo: { - url: "/assets/sei_symbol_gradient.png", - alt: "Foo", - }, - }, - { - id: 8, - name: "8. Bar", - link: "#", - logo: { - url: "/assets/sei_symbol_gradient.png", - alt: "Bar", - }, - }, - { - id: 9, - name: "9. Baz", - link: "#", + name: "4. Add a Token Allowlist", + link: "/build/tokenfactory-allowlist", logo: { url: "/assets/sei_symbol_gradient.png", - alt: "Baz", + alt: "Add Token Allowlists", }, }, ], diff --git a/package.json b/package.json index e4770b7..90542a4 100644 --- a/package.json +++ b/package.json @@ -27,6 +27,7 @@ "nextra-theme-docs": "^2.13.4", "react": "^18.2.0", "react-dom": "^18.2.0", + "react-icons": "^5.3.0", "react-tsparticles": "^2.12.2", "styled-components": "^6.1.11", "tabler-icons-react": "^1.56.0", diff --git a/pages/_meta.json b/pages/_meta.json index ef16550..d647507 100644 --- a/pages/_meta.json +++ b/pages/_meta.json @@ -3,10 +3,6 @@ "title": "Sei Onboarding", "type": "page" }, - "learn": { - "title": "Technical Education", - "type": "page" - }, "build": { "title": "dApp Development", "type": "page" @@ -16,11 +12,17 @@ "type": "page" }, "reference": { - "title": "Technical Utilities", - "type": "page" - }, - "providers": { - "title": "Service Providers", - "type": "page" + "title": "Reference", + "type": "menu", + "items": { + "reference": { + "title": "Technical Utilities", + "href": "/reference" + }, + "providers": { + "title": "Service Providers", + "href": "/providers" + } + } } -} + } \ No newline at end of file diff --git a/pages/build/_meta.json b/pages/build/_meta.json index b14fd30..c57400e 100644 --- a/pages/build/_meta.json +++ b/pages/build/_meta.json @@ -5,6 +5,7 @@ "title": "Setup and Installation" }, "installing-seid": "Installing seid CLI", + "dev-token-standards": "Token Standards", "-- Frontend Development": { "type": "separator", diff --git a/pages/onboard/dev-token-standards.mdx b/pages/build/dev-token-standards.mdx similarity index 100% rename from pages/onboard/dev-token-standards.mdx rename to pages/build/dev-token-standards.mdx diff --git a/pages/build/index.mdx b/pages/build/index.mdx index 2742adc..fe26476 100644 --- a/pages/build/index.mdx +++ b/pages/build/index.mdx @@ -1,11 +1,24 @@ -import React from 'react'; -import LearningPathContainer from '../../components/Homepage/LearningPathContainer'; -import { guidesData } from '../../data/guidesData'; - -export default function HomePage() { - return ( -
- -
- ); -} +import BuildIntro from '../../components/Homepage/BuildIntro'; +import DocCardsGrid from '../../components/DocCard/DocCardsGrid'; +import { docsData } from '../../data/developerDocsData'; + + + +
+ + + +
+ +
diff --git a/pages/learn/_meta.json b/pages/learn/_meta.json deleted file mode 100644 index 1954ec5..0000000 --- a/pages/learn/_meta.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "-- Introduction": { - "type": "separator", - "title": "Introduction" - }, - "temp": "temp", - "landing": { - "title": "Back to Sei ↗", - "type": "page", - "href": "https://www.sei.io/", - "newWindow": true - } -} diff --git a/pages/learn/temp.mdx b/pages/learn/temp.mdx deleted file mode 100644 index 263462b..0000000 --- a/pages/learn/temp.mdx +++ /dev/null @@ -1 +0,0 @@ -# Section Needs to be Built with Technical Explainers diff --git a/pages/node/_meta.json b/pages/node/_meta.json index 536271d..d7a72d1 100644 --- a/pages/node/_meta.json +++ b/pages/node/_meta.json @@ -1,4 +1,5 @@ { + "index": "Home", "-- Introduction": { "type": "separator", "title": "Introduction" diff --git a/pages/node/index.mdx b/pages/node/index.mdx new file mode 100644 index 0000000..0bc5e23 --- /dev/null +++ b/pages/node/index.mdx @@ -0,0 +1,25 @@ +import React, { useRef } from 'react'; +import BuildIntro from '../../components/Homepage/BuildIntro'; +import DeveloperSurveyCallout from '../../components/DeveloperSurveyCallout/DeveloperSurveyCallout'; +import DocCardsGrid from '../../components/DocCard/DocCardsGrid'; +import { docsData } from '../../data/developerDocsData'; + +export default function DevelopersPage() { + const docsRef = useRef(null); + + const handleScrollToDocs = () => { + docsRef.current?.scrollIntoView({ behavior: 'smooth' }); + }; + + return ( +
+ +
+
+ +
+
+
+
+ ); +} diff --git a/pages/onboard/_meta.json b/pages/onboard/_meta.json index d109c7a..3893c2d 100644 --- a/pages/onboard/_meta.json +++ b/pages/onboard/_meta.json @@ -28,7 +28,6 @@ }, "account-structure": "Account Structure", "hd-path-coin-types": "HD Paths & Coin Types", - "dev-token-standards": "Token Standards", "fee-grants": "Understanding Fee Grants", "-- Staking": { diff --git a/styles/BuildIntro.module.css b/styles/BuildIntro.module.css new file mode 100644 index 0000000..d55e2b1 --- /dev/null +++ b/styles/BuildIntro.module.css @@ -0,0 +1,66 @@ +.container { + position: relative; + padding: 60px 20px; + background-size: cover; + background-repeat: no-repeat; + background-position: center; + color: white; + text-align: center; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + min-height: 50vh; + } + + .overlay { + position: absolute; + inset: 0; + background-color: rgba(0, 0, 0, 0.6); + } + + .content { + position: relative; + z-index: 1; + max-width: 800px; + font-family: 'Satoshi', sans-serif; + } + + .title { + font-size: 2.5rem; + font-weight: 600; + margin-bottom: 10px; + } + + .subtitle { + font-size: 1.25rem; + margin-bottom: 20px; + line-height: 1.5; + } + + .description { + font-size: 1rem; + margin-bottom: 20px; + } + + .buttonContainer { + display: flex; + justify-content: center; + gap: 10px; + margin-top: 20px; + } + + .scroll { + margin-top: 30px; + cursor: pointer; + display: flex; + flex-direction: column; + align-items: center; + color: white; + } + + .scrollText { + font-size: 0.875rem; + margin-bottom: 5px; + } + \ No newline at end of file diff --git a/styles/LearningPathCard.module.css b/styles/LearningPathCard.module.css index 3e729ca..57cbd3b 100644 --- a/styles/LearningPathCard.module.css +++ b/styles/LearningPathCard.module.css @@ -1,16 +1,53 @@ -.learningPathCard { - border-radius: 8px; - padding: 16px; - background: linear-gradient(145deg, #1e293b, #0f172a); - box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2); - transition: transform 0.3s ease, box-shadow 0.3s ease; - display: flex; - align-items: center; - } - - .learningPathCard:hover { - transform: scale(1.02); - box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3); - border-color: #e11d48; - } - \ No newline at end of file +.bg-dark { + background-color:#001B2A; +} + +.text-light { + color:#ECEDEE; +} + +.bg-maroon { + background-color:#780000; +} + +.bg-crimson { + background-color:#9E1F19; +} + +.bg-gray { + background-color:#8CABA9; +} + +a:hover { + transform: translateY(-5px); +} + +.card-hover:hover { + transform: scale(1.02); +} + +.checkmark-animation:hover { + transform: rotate(360deg); +} + +.container { + max-width :1200px; +} + +.mb-6 { margin-bottom :1.5rem;} +.mb-8 { margin-bottom :2rem;} +.mb-16 { margin-bottom :4rem;} + +.py-12 { padding-top :3rem;padding-bottom :3rem;} +.py-16 { padding-top :4rem;padding-bottom :4rem;} + +.text-xl { font-size :1.25rem;} +.text-md { font-size :.875rem;} + +.font-bold { font-weight:bold;} +.font-extrabold{font-weight:bold;} + +.rounded-lg{border-radius :.75rem;} +.rounded-full{border-radius :.9999px;} + +.shadow-lg{box-shadow :.rgba(0 ,0 ,0 ,.25)0px10px15px -3px;} diff --git a/styles/custom.module.css b/styles/custom.module.css index d11533d..319433f 100644 --- a/styles/custom.module.css +++ b/styles/custom.module.css @@ -149,3 +149,4 @@ object-fit: contain; .bg-gradient { background: linear-gradient(145deg, #1e293b, #0f172a); } + diff --git a/theme.config.tsx b/theme.config.tsx index 6e803b8..6c059dc 100644 --- a/theme.config.tsx +++ b/theme.config.tsx @@ -4,20 +4,38 @@ import { Logo } from './components/Logo'; const config: DocsThemeConfig = { logo: , + navigation: true, + primaryHue: { + dark: 0, + light: 0, + }, + search: { + placeholder: 'Search documentation...', + }, project: { link: 'https://github.com/sei-protocol', }, chat: { link: 'https://discord.gg/sei', }, - docsRepositoryBase: 'https://github.com/sei-protocol/sei-docs/tree/main', + navbar: { + extraContent: null, + }, + feedback: { + content: 'Question? Give us feedback →', + useLink: () => 'https://github.com/sei-protocol/sei-docs/issues/new', + }, + editLink: { + text: 'Edit this page', + }, footer: { text: 'Sei Docs © 2024', }, - head: <>, sidebar: { defaultMenuCollapseLevel: 1, + toggleButton: true, }, + darkMode: true, useNextSeoProps() { return { titleTemplate: '%s - Sei Docs', @@ -65,6 +83,7 @@ const config: DocsThemeConfig = { ], }; }, + head: <>, }; -export default config; +export default config; \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index e972190..a272265 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5358,6 +5358,11 @@ react-dom@^18.2.0: loose-envify "^1.1.0" scheduler "^0.23.2" +react-icons@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/react-icons/-/react-icons-5.3.0.tgz#ccad07a30aebd40a89f8cfa7d82e466019203f1c" + integrity sha512-DnUk8aFbTyQPSkCfF8dbX6kQjXA9DktMeJqfjrg6cK9vwQVMxmcA3BfP4QoiztVmEHtwlTgLFsPuH2NskKT6eg== + react-is@^16.7.0: version "16.13.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"