setup contentful blog and refactor to next app directory

This commit is contained in:
saml33 2023-11-28 22:50:57 +11:00
parent 181754af28
commit 56814a45bf
94 changed files with 1800 additions and 22642 deletions

View File

@ -73,4 +73,4 @@ jobs:
needs: ['lint', 'sast', 'sca']
runs-on: ubuntu-latest
steps:
- run: echo ok
- run: echo ok

View File

@ -0,0 +1,10 @@
import { draftMode } from 'next/headers'
import { redirect } from 'next/navigation'
export async function GET(request: Request) {
const { searchParams } = new URL(request.url)
draftMode().disable()
redirect(searchParams.get('redirect') || '/')
}

14
api/draft/route.ts Normal file
View File

@ -0,0 +1,14 @@
import { draftMode } from 'next/headers'
import { redirect } from 'next/navigation'
const { CONTENTFUL_PREVIEW_SECRET } = process.env
export async function GET(request: Request) {
const { searchParams } = new URL(request.url)
if (searchParams.get('previewSecret') !== CONTENTFUL_PREVIEW_SECRET) {
return new Response('Invalid token', { status: 401 })
}
draftMode().enable()
redirect(searchParams.get('redirect') || '/')
}

View File

@ -0,0 +1,86 @@
import { Metadata } from 'next'
import { draftMode } from 'next/headers'
import { notFound } from 'next/navigation'
import Link from 'next/link'
import { fetchBlogPost, fetchBlogPosts } from '../../../contentful/blogPost'
import RichText from '../../../contentful/RichText'
interface BlogPostPageParams {
slug: string
}
interface BlogPostPageProps {
params: BlogPostPageParams
}
// Tell Next.js about all our blog posts so
// they can be statically generated at build time.
export async function generateStaticParams(): Promise<BlogPostPageParams[]> {
const blogPosts = await fetchBlogPosts({ preview: false })
return blogPosts.map((post) => ({ slug: post.slug }))
}
// For each blog post, tell Next.js which metadata
// (e.g. page title) to display.
export async function generateMetadata(
{ params }: BlogPostPageProps,
// parent: ResolvingMetadata,
): Promise<Metadata> {
const blogPost = await fetchBlogPost({
slug: params.slug,
preview: draftMode().isEnabled,
})
if (!blogPost) {
return notFound()
}
return {
title: blogPost.postTitle,
}
}
// The actual BlogPostPage component.
async function BlogPostPage({ params }: BlogPostPageProps) {
// Fetch a single blog post by slug,
// using the content preview if draft mode is enabled:
const blogPost = await fetchBlogPost({
slug: params.slug,
preview: draftMode().isEnabled,
})
if (!blogPost) {
// If a blog post can't be found,
// tell Next.js to render a 404 page.
return notFound()
}
return (
<main className="p-[6vw]">
<Link href="/"> Posts</Link>
<div className="prose mt-8 border-t pt-8">
{/* Render the blog post image */}
{blogPost.postHeroImage && (
<img
src={blogPost.postHeroImage.src}
// Use the Contentful Images API to render
// responsive images. No next/image required:
srcSet={`${blogPost.postHeroImage.src}?w=300 1x, ${blogPost.postHeroImage.src} 2x`}
width={300}
height={300}
alt={blogPost.postHeroImage.alt}
/>
)}
{/* Render the blog post title */}
<h1>{blogPost.postTitle}</h1>
{/* Render the blog post body */}
<RichText document={blogPost.postContent} />
</div>
</main>
)
}
export default BlogPostPage

26
app/(pages)/blog/page.tsx Normal file
View File

@ -0,0 +1,26 @@
import { draftMode } from 'next/headers'
import Link from 'next/link'
import { fetchBlogPosts } from '../../contentful/blogPost'
async function BlogPage() {
// Fetch blog posts using the content preview
// if draft mode is enabled:
const blogPosts = await fetchBlogPosts({ preview: draftMode().isEnabled })
return (
<div>
<h1>My Contentful Blog</h1>
<ul>
{blogPosts.map((blogPost) => {
return (
<li key={blogPost.slug}>
<Link href={`/${blogPost.slug}`}>{blogPost.postTitle}</Link>
</li>
)
})}
</ul>
</div>
)
}
export default BlogPage

10
app/(pages)/page.tsx Normal file
View File

@ -0,0 +1,10 @@
import { Metadata } from 'next'
import HomePage from '../components/home/HomePage'
export const metadata: Metadata = {
title: 'My Page Title',
}
export default function Page() {
return <HomePage />
}

View File

@ -0,0 +1,10 @@
import { draftMode } from 'next/headers'
import { redirect } from 'next/navigation'
export async function GET(request: Request) {
const { searchParams } = new URL(request.url)
draftMode().disable()
redirect(searchParams.get('redirect') || '/')
}

14
app/api/draft/route.ts Normal file
View File

@ -0,0 +1,14 @@
import { draftMode } from 'next/headers'
import { redirect } from 'next/navigation'
const { CONTENTFUL_PREVIEW_SECRET } = process.env
export async function GET(request: Request) {
const { searchParams } = new URL(request.url)
if (searchParams.get('previewSecret') !== CONTENTFUL_PREVIEW_SECRET) {
return new Response('Invalid token', { status: 401 })
}
draftMode().enable()
redirect(searchParams.get('redirect') || '/')
}

View File

@ -0,0 +1,15 @@
'use client'
import { usePathname } from 'next/navigation'
import React from 'react'
function ExitDraftModeLink(props: React.HTMLProps<HTMLAnchorElement>) {
const pathname = usePathname()
return (
<a href={`/api/disable-draft?redirect=${pathname}`} {...props}>
Exit
</a>
)
}
export default ExitDraftModeLink

View File

@ -0,0 +1,46 @@
'use client'
import { ThemeProvider } from 'next-themes'
import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
import PlausibleProvider from 'next-plausible'
import { ttCommons, ttCommonsExpanded, ttCommonsMono } from '../utils/fonts'
import TopNavigation from './navigation/TopNavigation'
import Footer from './footer/Footer'
// init react-query
export const queryClient = new QueryClient({
defaultOptions: {
queries: {
gcTime: 1000 * 60 * 10,
staleTime: 1000 * 60,
retry: 3,
refetchOnWindowFocus: false,
},
},
})
function LayoutWrapper({ children }) {
return (
<>
<QueryClientProvider client={queryClient}>
<ThemeProvider defaultTheme="Mango">
<PlausibleProvider
domain="mango.markets"
customDomain="https://pl.mngo.cloud"
selfHosted={true}
trackOutboundLinks={true}
>
<main
className={`bg-th-bkg-1 ${ttCommons.variable} ${ttCommonsExpanded.variable} ${ttCommonsMono.variable} font-sans`}
>
<TopNavigation />
{children}
<Footer />
</main>
</PlausibleProvider>
</ThemeProvider>
</QueryClientProvider>
</>
)
}
export default LayoutWrapper

View File

@ -1,3 +1,4 @@
'use client'
import {
ArrowPathRoundedSquareIcon,
BoltIcon,
@ -69,11 +70,11 @@ const HomePage = () => {
queryFn: fetchAppData,
})
const topSection = useRef()
const callouts = useRef()
const swapPanel = useRef()
const coreFeatures = useRef()
const build = useRef()
const topSection = useRef<HTMLDivElement>(null)
const callouts = useRef<HTMLDivElement>(null)
const swapPanel = useRef<HTMLDivElement>(null)
const coreFeatures = useRef<HTMLDivElement>(null)
const build = useRef<HTMLDivElement>(null)
const tabsWithCount: [string, number][] = useMemo(() => {
const perpMarketsNumber =
@ -91,7 +92,11 @@ const HomePage = () => {
if (!marketData?.spotData || !Object.keys(marketData?.spotData)?.length)
return []
const data = Object.entries(marketData.spotData)
.sort((a, b) => b[1][0].quote_volume_24h - a[1][0].quote_volume_24h)
.sort((a, b) => {
const aVolume = a[1][0]?.quote_volume_24h || 0
const bVolume = b[1][0]?.quote_volume_24h || 0
return bVolume - aVolume
})
.map(([key, value]) => {
const data = value[0]
return { name: key, data }
@ -103,7 +108,11 @@ const HomePage = () => {
if (!marketData?.perpData || !Object.keys(marketData?.perpData)?.length)
return []
const data = Object.entries(marketData.perpData)
.sort((a, b) => b[1][0].quote_volume_24h - a[1][0].quote_volume_24h)
.sort((a, b) => {
const aVolume = a[1][0]?.quote_volume_24h || 0
const bVolume = b[1][0]?.quote_volume_24h || 0
return bVolume - aVolume
})
.map(([key, value]) => {
const data = value[0]
return { name: key, data }
@ -133,96 +142,104 @@ const HomePage = () => {
useLayoutEffect(() => {
const ctx = gsap.context((self) => {
const boxes = self.selector('.highlight-features')
boxes.forEach((box) => {
gsap.to(box, {
opacity: 1,
y: -40,
ease: 'power3.inOut',
scrollTrigger: {
trigger: box,
end: 'top 40%',
scrub: true,
},
if (self?.selector) {
const boxes = self.selector('.highlight-features')
boxes.forEach((box) => {
gsap.to(box, {
opacity: 1,
y: -40,
ease: 'power3.inOut',
scrollTrigger: {
trigger: box,
end: 'top 40%',
scrub: true,
},
})
})
})
}
}, callouts) // <- Scope!
return () => ctx.revert() // <- Cleanup!
}, [])
useLayoutEffect(() => {
const ctx = gsap.context((self) => {
const icons = self.selector('.token-icon')
icons.forEach((icon, i) => {
gsap.to(icon, {
y: i % 2 ? 100 : -100,
rotateZ: i % 2 ? 45 : -45,
scrollTrigger: {
trigger: icon,
scrub: true,
},
})
})
gsap
.timeline({
scrollTrigger: {
trigger: '#swap-desktop',
scrub: true,
},
})
.from('#swap-desktop', {
rotateX: -45,
if (self?.selector) {
const icons = self.selector('.token-icon')
icons.forEach((icon, i) => {
gsap.to(icon, {
y: i % 2 ? 100 : -100,
rotateZ: i % 2 ? 45 : -45,
scrollTrigger: {
trigger: icon,
scrub: true,
},
})
})
gsap
.timeline({
scrollTrigger: {
trigger: '#swap-desktop',
scrub: true,
},
})
.from('#swap-desktop', {
rotateX: -45,
})
}
}, swapPanel) // <- Scope!
return () => ctx.revert() // <- Cleanup!
}, [])
useLayoutEffect(() => {
const ctx = gsap.context((self) => {
const features = self.selector('.core-feature')
const text = self.selector('.core-text')
const image = self.selector('.core-image')
features.forEach((feature, i) => {
gsap.from(text[i], {
opacity: 0.4,
y: 60,
ease: 'power3.inOut',
scrollTrigger: {
start: 'top 60%',
end: 'top 20%',
trigger: feature,
scrub: true,
},
if (self?.selector) {
const features = self.selector('.core-feature')
const text = self.selector('.core-text')
const image = self.selector('.core-image')
features.forEach((feature, i) => {
gsap.from(text[i], {
opacity: 0.4,
y: 60,
ease: 'power3.inOut',
scrollTrigger: {
start: 'top 60%',
end: 'top 20%',
trigger: feature,
scrub: true,
},
})
gsap.from(image[i], {
opacity: 0.4,
scale: 0.9,
ease: 'power3.inOut',
scrollTrigger: {
start: 'top 60%',
end: 'top 20%',
trigger: feature,
scrub: true,
},
})
})
gsap.from(image[i], {
opacity: 0.4,
scale: 0.9,
ease: 'power3.inOut',
scrollTrigger: {
start: 'top 60%',
end: 'top 20%',
trigger: feature,
scrub: true,
},
})
})
}
}, coreFeatures) // <- Scope!
return () => ctx.revert() // <- Cleanup!
}, [])
useLayoutEffect(() => {
const ctx = gsap.context((self) => {
const spheres = self.selector('.sphere')
spheres.forEach((sphere, i) => {
gsap.to(sphere, {
y: i % 2 ? -150 : 100,
scrollTrigger: {
trigger: sphere,
start: i % 2 ? 'bottom bottom' : 'center center',
scrub: true,
},
if (self?.selector) {
const spheres = self.selector('.sphere')
spheres.forEach((sphere, i) => {
gsap.to(sphere, {
y: i % 2 ? -150 : 100,
scrollTrigger: {
trigger: sphere,
start: i % 2 ? 'bottom bottom' : 'center center',
scrub: true,
},
})
})
})
}
}, topSection) // <- Scope!
return () => ctx.revert() // <- Cleanup!
}, [])

View File

@ -19,34 +19,6 @@ const DesktopNavigation = () => {
return (
<div className="hidden lg:flex lg:items-center space-x-8">
{/* <NavigationItem title={t('navigation:about')}>
<NavigationItemPanel>
<NavigationItemLink
path="/mango-dao"
title={t('navigation:mango-dao')}
/>
<NavigationItemLink path="/mngo" title={t('navigation:mngo-token')} />
<NavigationItemLink
path="#"
isExternal
title={t('navigation:v4-stats')}
/>
<NavigationItemLink path="/brand" title={t('navigation:brand')} />
</NavigationItemPanel>
</NavigationItem> */}
{/* <NavigationItem title={t('navigation:products')}>
<NavigationItemPanel>
<NavigationItemLink
path="https://app.mango.markets"
isExternal
title={t('navigation:mango-v4')}
/>
<NavigationItemLink
path="/mobile-app"
title={t('navigation:mobile-app')}
/>
</NavigationItemPanel>
</NavigationItem> */}
<NavigationItem title={t('navigation:developers')}>
<NavigationItemPanel>
<NavigationItemLink
@ -131,13 +103,24 @@ const NavigationItem = ({
const [isOpen, setIsOpen] = useState(false)
const [isTouchInput, setIsTouchInput] = useState(false)
const [hasClicked, setHasClicked] = useState(false)
const button = useRef(null)
const button = useRef<HTMLButtonElement>(null)
useLayoutEffect(() => {
if (isOpen && !isOverButton && !isOverList && !isTouchInput) {
if (
isOpen &&
!isOverButton &&
!isOverList &&
!isTouchInput &&
button?.current
) {
button.current.click()
setIsOpen(false)
} else if (!isOpen && (isOverButton || isOverList) && !isTouchInput) {
} else if (
!isOpen &&
(isOverButton || isOverList) &&
!isTouchInput &&
button?.current
) {
button.current.click()
setIsOpen(true)
}

View File

@ -35,8 +35,8 @@ const Button: FunctionComponent<ButtonCombinedProps> = ({
size === 'medium'
? 'h-10 px-4'
: size === 'large'
? 'h-12 px-6'
: 'h-8 px-3'
? 'h-12 px-6'
: 'h-8 px-3'
} default-transition font-display text-th-fgd-1
} focus:outline-none disabled:cursor-not-allowed disabled:opacity-60 disabled:hover:brightness-100 ${className}`}
{...props}
@ -70,10 +70,10 @@ export const IconButton: FunctionComponent<IconButtonCombinedProps> = ({
size === 'large'
? 'h-12 w-12'
: size === 'small'
? 'h-8 w-8'
: size === 'medium'
? 'h-10 w-10'
: ''
? 'h-8 w-8'
: size === 'medium'
? 'h-10 w-10'
: ''
} default-transition items-center justify-center rounded-full ${
hideBg
? 'md:hover:text-th-active'

View File

@ -25,8 +25,8 @@ const ButtonLink: FunctionComponent<ButtonLinkProps> = ({
size === 'medium'
? 'h-10 px-4 text-sm'
: size === 'large'
? 'h-12 px-6'
: 'h-8 px-3'
? 'h-12 px-6'
: 'h-8 px-3'
} default-transition font-display focus:outline-none text-th-fgd-1 ${className}`}
href={path}
rel="noopener noreferrer"

View File

@ -30,8 +30,8 @@ const Change = ({
change > 0
? 'text-th-up'
: change < 0
? 'text-th-down'
: 'text-th-fgd-4'
? 'text-th-down'
: 'text-th-fgd-4'
}`}
>
{prefix ? prefix : ''}

View File

@ -0,0 +1,16 @@
import { Document as RichTextDocument } from '@contentful/rich-text-types'
import { documentToReactComponents } from '@contentful/rich-text-react-renderer'
type RichTextProps = {
document: RichTextDocument | null
}
function RichText({ document }: RichTextProps) {
if (!document) {
return null
}
return <>{documentToReactComponents(document)}</>
}
export default RichText

View File

@ -0,0 +1,79 @@
import { TypeBlogPostSkeleton } from './types'
import { Entry } from 'contentful'
import { Document as RichTextDocument } from '@contentful/rich-text-types'
import contentfulClient from './contentfulClient'
import { ContentImage, parseContentfulContentImage } from './contentImage'
type BlogPostEntry = Entry<TypeBlogPostSkeleton, undefined, string>
// Our simplified version of a BlogPost.
// We don't need all the data that Contentful gives us.
export interface BlogPost {
postTitle: string
postDescription: string
postContent: RichTextDocument | null
postHeroImage: ContentImage | null
slug: string
}
// A function to transform a Contentful blog post
// into our own BlogPost object.
export function parseContentfulBlogPost(
blogPostEntry?: BlogPostEntry,
): BlogPost | null {
if (!blogPostEntry) {
return null
}
return {
postTitle: blogPostEntry.fields.postTitle || '',
postDescription: blogPostEntry.fields.postDescription,
postContent: blogPostEntry.fields.postContent || null,
postHeroImage: parseContentfulContentImage(
blogPostEntry.fields.postHeroImage,
),
slug: blogPostEntry.fields.slug,
}
}
// A function to fetch all blog posts.
// Optionally uses the Contentful content preview.
interface FetchBlogPostsOptions {
preview: boolean
}
export async function fetchBlogPosts({
preview,
}: FetchBlogPostsOptions): Promise<BlogPost[]> {
const contentful = contentfulClient({ preview })
const blogPostsResult = await contentful.getEntries<TypeBlogPostSkeleton>({
content_type: 'blogPost',
include: 2,
order: ['fields.postTitle'],
})
return blogPostsResult.items.map(
(blogPostEntry) => parseContentfulBlogPost(blogPostEntry) as BlogPost,
)
}
// A function to fetch a single blog post by its slug.
// Optionally uses the Contentful content preview.
interface FetchBlogPostOptions {
slug: string
preview: boolean
}
export async function fetchBlogPost({
slug,
preview,
}: FetchBlogPostOptions): Promise<BlogPost | null> {
const contentful = contentfulClient({ preview })
const blogPostsResult = await contentful.getEntries<TypeBlogPostSkeleton>({
content_type: 'blogPost',
'fields.slug': slug,
include: 2,
})
return parseContentfulBlogPost(blogPostsResult.items[0])
}

View File

@ -0,0 +1,31 @@
import { Asset, AssetLink } from 'contentful'
// Our simplified version of an image asset.
// We don't need all the data that Contentful gives us.
export interface ContentImage {
src: string
alt: string
width: number
height: number
}
// A function to transform a Contentful image asset
// into our own ContentImage object.
export function parseContentfulContentImage(
asset?: Asset<undefined, string> | { sys: AssetLink },
): ContentImage | null {
if (!asset) {
return null
}
if (!('fields' in asset)) {
return null
}
return {
src: asset.fields.file?.url || '',
alt: asset.fields.description || '',
width: asset.fields.file?.details.image?.width || 0,
height: asset.fields.file?.details.image?.height || 0,
}
}

View File

@ -0,0 +1,26 @@
import { createClient } from 'contentful'
// This is the standard Contentful client. It fetches
// content that has been published.
const client = createClient({
space: process.env.NEXT_PUBLIC_CONTENTFUL_SPACE_ID!,
accessToken: process.env.NEXT_PUBLIC_CONTENTFUL_ACCESS_TOKEN!,
})
// This is a Contentful client that's been configured
// to fetch drafts and unpublished content.
const previewClient = createClient({
space: process.env.NEXT_PUBLIC_CONTENTFUL_SPACE_ID!,
accessToken: process.env.NEXT_PUBLIC_CONTENTFUL_PREVIEW_ACCESS_TOKEN!,
host: 'preview.contentful.com',
})
// This little helper will let us switch between the two
// clients easily:
export default function contentfulClient({ preview = false }) {
if (preview) {
return previewClient
}
return client
}

View File

@ -0,0 +1,24 @@
import type {
ChainModifiers,
Entry,
EntryFieldTypes,
EntrySkeletonType,
LocaleCode,
} from 'contentful'
export interface TypeBlogPostFields {
postTitle: EntryFieldTypes.Symbol
postDescription: EntryFieldTypes.Text
postHeroImage: EntryFieldTypes.AssetLink
postContent: EntryFieldTypes.RichText
slug: EntryFieldTypes.Symbol
}
export type TypeBlogPostSkeleton = EntrySkeletonType<
TypeBlogPostFields,
'blogPost'
>
export type TypeBlogPost<
Modifiers extends ChainModifiers,
Locales extends LocaleCode,
> = Entry<TypeBlogPostSkeleton, Modifiers, Locales>

View File

@ -0,0 +1,5 @@
export type {
TypeBlogPost,
TypeBlogPostFields,
TypeBlogPostSkeleton,
} from './TypeBlogPost'

View File

@ -4,7 +4,7 @@ const localStorageListeners = {}
export function useLocalStorageStringState(
key: string,
defaultState: string | null = null
defaultState: string | null = null,
): [string | null, (newState: string | null) => void] {
const state =
typeof window !== 'undefined'
@ -20,7 +20,7 @@ export function useLocalStorageStringState(
localStorageListeners[key].push(notify)
return () => {
localStorageListeners[key] = localStorageListeners[key].filter(
(listener) => listener !== notify
(listener) => listener !== notify,
)
if (localStorageListeners[key].length === 0) {
delete localStorageListeners[key]
@ -44,10 +44,10 @@ export function useLocalStorageStringState(
localStorage.setItem(key, newState)
}
localStorageListeners[key].forEach((listener) =>
listener(key + '\n' + newState)
listener(key + '\n' + newState),
)
},
[state, key]
[state, key],
)
return [state, setState]
@ -55,11 +55,11 @@ export function useLocalStorageStringState(
export default function useLocalStorageState<T = any>(
key: string,
defaultState: T | null = null
defaultState: T | null = null,
): [T, (newState: T) => void] {
const [stringState, setStringState] = useLocalStorageStringState(
key,
JSON.stringify(defaultState)
JSON.stringify(defaultState),
)
return [

View File

@ -1,5 +1,6 @@
import { useQuery } from '@tanstack/react-query'
import { MANGO_DATA_API_URL } from '../utils/constants'
import { MarketData } from '../types'
const fetchMarketData = async () => {
const promises = [
@ -8,8 +9,8 @@ const fetchMarketData = async () => {
]
try {
const data = await Promise.all(promises)
const perpData = await data[0].json()
const spotData = await data[1].json()
const perpData: MarketData = await data[0].json()
const spotData: MarketData = await data[1].json()
return { perpData, spotData }
} catch (e) {
console.error('Failed to fetch market data', e)

16
app/layout.tsx Normal file
View File

@ -0,0 +1,16 @@
import './styles/global.css'
import LayoutWrapper from './components/LayoutWrapper'
export default function RootLayout({
children,
}: {
children: React.ReactNode
}) {
return (
<html lang="en">
<body>
<LayoutWrapper>{children}</LayoutWrapper>
</body>
</html>
)
}

View File

@ -3,7 +3,7 @@ import Decimal from 'decimal.js'
export const formatNumericValue = (
value: number | string | Decimal,
decimals?: number,
roundUp?: boolean
roundUp?: boolean,
): string => {
const numberValue = Number(value)
let formattedValue
@ -33,7 +33,7 @@ export const formatNumericValue = (
export const formatCurrencyValue = (
value: number | string | Decimal,
decimals?: number
decimals?: number,
): string => {
const numberValue = Number(value)
let formattedValue
@ -61,7 +61,7 @@ export const formatCurrencyValue = (
const roundValue = (
value: number | string | Decimal,
decimals: number,
roundUp?: boolean
roundUp?: boolean,
): string => {
const decimalValue = value instanceof Decimal ? value : new Decimal(value)
const roundMode = roundUp ? Decimal.ROUND_UP : Decimal.ROUND_FLOOR
@ -99,7 +99,7 @@ export const numberFormat = new Intl.NumberFormat('en', {
export const floorToDecimal = (
value: number | string | Decimal,
decimals: number
decimals: number,
): Decimal => {
const decimal = value instanceof Decimal ? value : new Decimal(value)
return decimal.toDecimalPlaces(decimals, Decimal.ROUND_FLOOR)

View File

@ -1,28 +0,0 @@
import { ReactNode, useEffect, useState } from 'react'
import Footer from '../footer/Footer'
import TopNavigation from '../navigation/TopNavigation'
import { ttCommons, ttCommonsExpanded, ttCommonsMono } from '../../utils/fonts'
const LayoutWrapper = ({ children }: { children: ReactNode }) => {
const [mounted, setMounted] = useState(false)
useEffect(() => {
setMounted(true)
}, [])
if (!mounted) {
return null
}
return (
<main
className={`bg-th-bkg-1 ${ttCommons.variable} ${ttCommonsExpanded.variable} ${ttCommonsMono.variable} font-sans`}
>
<TopNavigation />
<div>{children}</div>
<Footer />
</main>
)
}
export default LayoutWrapper

View File

@ -22,7 +22,7 @@ const nextConfig = {
'process.env': {
BUILD_ID: JSON.stringify(opts.buildId),
},
})
}),
)
return config

View File

@ -13,7 +13,8 @@
"format": "prettier --write .",
"lint": "eslint . --ext ts --ext tsx --ext js --ext jsx",
"test": "jest",
"test-all": "yarn lint && yarn type-check && yarn test"
"test-all": "yarn lint && yarn type-check && yarn test",
"types:contentful": "export $(cat .env.local | awk '!/^\\s*#/' | awk '!/^\\s*$/'); npx cf-content-types-generator --spaceId $NEXT_PUBLIC_CONTENTFUL_SPACE_ID --token $NEXT_PUBLIC_CONTENTFUL_MANAGEMENT_TOKEN -o contentful/types -X && prettier --write contentful/types"
},
"engines": {
"node": ">=18.x"
@ -24,13 +25,16 @@
]
},
"dependencies": {
"@contentful/rich-text-react-renderer": "^15.19.0",
"@headlessui/react": "^1.7.17",
"@heroicons/react": "^2.0.18",
"@tanstack/react-query": "^5.8.4",
"@tippyjs/react": "^4.2.6",
"contentful": "^10.6.12",
"decimal.js": "^10.4.3",
"gsap": "^3.12.2",
"i18next": "^23.7.6",
"i18next-resources-to-backend": "^1.2.0",
"immer": "^10.0.3",
"next": "^14.0.3",
"next-i18next": "^15.0.0",
@ -49,6 +53,7 @@
"@typescript-eslint/eslint-plugin": "^6.11.0",
"@typescript-eslint/parser": "^6.11.0",
"babel-jest": "^29.7.0",
"cf-content-types-generator": "^2.12.9",
"eslint": "^8.54.0",
"eslint-config-prettier": "^9.0.0",
"eslint-plugin-react": "^7.33.2",
@ -62,7 +67,6 @@
"postcss-preset-env": "^9.3.0",
"prettier": "^3.1.0",
"tailwindcss": "^3.3.5",
"twin.macro": "^3.4.0",
"typescript": "5.2.2"
}
}

View File

@ -1,40 +0,0 @@
import { serverSideTranslations } from 'next-i18next/serverSideTranslations'
import { useTranslation } from 'next-i18next'
import Link from 'next/link'
export async function getStaticProps({ locale }: { locale: string }) {
return {
props: {
...(await serverSideTranslations(locale, [
'common',
'home',
'footer',
'navigation',
])),
// Will be passed to the page component as props
},
}
}
export default function Custom404() {
const { t } = useTranslation('common')
return (
<div className="bg-[url('/images/new/cube-bg.png')] bg-repeat">
<div
className="mx-auto flex max-w-xl flex-col items-center justify-center text-center px-6"
style={{ height: 'calc(100vh - 80px)' }}
>
<h1 className="mt-1 text-3xl text-th-fgd-1 sm:text-4xl">
404: {t('404-heading')}
</h1>
<Link
className="text-th-fgd-4 md:hover:text-th-fgd-2 default-transition mt-3"
href="/"
shallow={true}
>
<span className="text-lg">{t('404-link')}</span>
</Link>
</div>
</div>
)
}

View File

@ -1,67 +0,0 @@
import Head from 'next/head'
import { ThemeProvider } from 'next-themes'
import '../styles/index.css'
import LayoutWrapper from '../components/layout/LayoutWrapper'
import { appWithTranslation } from 'next-i18next'
import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
import PlausibleProvider from 'next-plausible'
const metaTitle = 'Mango Markets Safer. Smarter. Faster.'
const metaDescription =
'A magical new way to interact with DeFi. Groundbreaking safety features designed to keep your funds secure. The easiest way to margin trade any token pair. All powered by flashloans.'
const keywords =
'Mango Markets, DEFI, Decentralized Finance, Decentralized Finance, Crypto, ERC20, Ethereum, Solana, SOL, SPL, Cross-Chain, Trading, Fastest, Fast, SPL Tokens'
// init react-query
export const queryClient = new QueryClient({
defaultOptions: {
queries: {
gcTime: 1000 * 60 * 10,
staleTime: 1000 * 60,
retry: 3,
refetchOnWindowFocus: false,
},
},
})
function App({ Component, pageProps }) {
return (
<>
<Head>
<title>Mango Markets</title>
<link rel="preconnect" href="https://fonts.gstatic.com" />
<link rel="icon" href="/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="keywords" content={keywords} />
<meta property="og:title" content={metaTitle} />
<meta name="description" content={metaDescription} />
<link rel="apple-touch-icon" href="/apple-touch-icon.png" />
<meta name="msapplication-TileColor" content="#da532c" />
<meta name="theme-color" content="#ffffff" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content={metaTitle} />
<meta name="twitter:description" content={metaDescription} />
<meta
name="twitter:image"
content="https://mango.markets/twitter-card.png?123456789"
/>
</Head>
<QueryClientProvider client={queryClient}>
<ThemeProvider defaultTheme="Mango">
<PlausibleProvider
domain="mango.markets"
customDomain="https://pl.mngo.cloud"
selfHosted={true}
trackOutboundLinks={true}
>
<LayoutWrapper>
<Component {...pageProps} />
</LayoutWrapper>
</PlausibleProvider>
</ThemeProvider>
</QueryClientProvider>
</>
)
}
export default appWithTranslation(App)

View File

@ -1,23 +0,0 @@
import { serverSideTranslations } from 'next-i18next/serverSideTranslations'
import { NextPage } from 'next'
import HomePage from '../components/home/HomePage'
export async function getStaticProps({ locale }: { locale: string }) {
return {
props: {
...(await serverSideTranslations(locale, [
'common',
'home',
'footer',
'navigation',
])),
// Will be passed to the page component as props
},
}
}
const Index: NextPage = () => {
return <HomePage />
}
export default Index

View File

@ -1,4 +0,0 @@
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M22 11C22 17.0751 17.0751 22 11 22C4.92487 22 0 17.0751 0 11C0 4.92487 4.92487 0 11 0C17.0751 0 22 4.92487 22 11Z" fill="#F29500"/>
<path d="M15.9496 9.625C16.1559 8.18125 15.0559 7.425 13.5434 6.875L14.0246 4.95L12.8559 4.675L12.3746 6.53125C12.0309 6.4625 11.7559 6.39375 11.4121 6.325L11.8934 4.4L10.7246 4.125L10.2434 6.05C9.96836 5.98125 9.76211 5.9125 9.48711 5.84375L7.83711 5.5L7.49336 6.7375L8.38711 6.94375C8.86836 7.08125 8.93711 7.35625 8.93711 7.63125L8.38711 9.83125C8.38711 9.83125 8.45586 9.83125 8.52461 9.9H8.38711L7.63086 12.9937C7.56211 13.1312 7.42461 13.3375 7.08086 13.2687L6.18711 13.0625L5.56836 14.4375L7.08086 14.85C7.35586 14.9187 7.63086 14.9875 7.90586 15.0562L7.42461 17.05L8.59336 17.325L9.07461 15.4C9.41836 15.4688 9.69336 15.5375 10.0371 15.675L9.62461 17.5312L10.7934 17.8062L11.2746 15.8125C13.2684 16.225 14.8496 16.0188 15.4684 14.2313C16.0184 12.7875 15.4684 11.8938 14.3684 11.3438C15.1934 11.2063 15.8121 10.725 15.9496 9.625ZM13.1996 13.475C12.8559 14.9187 10.3809 14.1625 9.55586 13.9562L10.1746 11.3438C10.9996 11.4812 13.6121 11.8938 13.1996 13.475ZM13.6121 9.625C13.2684 11 11.2059 10.3125 10.5184 10.1062L11.1371 7.76875C11.7559 7.90625 13.9559 8.25 13.6121 9.625Z" fill="white"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -1,9 +0,0 @@
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M22 11C22 17.0751 17.0751 22 11 22C4.92487 22 0 17.0751 0 11C0 4.92487 4.92487 0 11 0C17.0751 0 22 4.92487 22 11Z" fill="#5E6FA5"/>
<path d="M11.3438 2.75V8.86875L16.5 11.1375L11.3438 2.75Z" fill="white" fill-opacity="0.602"/>
<path d="M11.3438 2.75L6.1875 11.1375L11.3438 8.8V2.75Z" fill="white"/>
<path d="M11.3438 15.125V19.25L16.5 12.1L11.3438 15.125Z" fill="white" fill-opacity="0.602"/>
<path d="M11.3438 19.25V15.125L6.1875 12.1L11.3438 19.25Z" fill="white"/>
<path d="M11.3438 14.1625L16.5 11.1375L11.3438 8.86877V14.1625Z" fill="white" fill-opacity="0.2"/>
<path d="M6.1875 11.1375L11.3438 14.1625V8.86877L6.1875 11.1375Z" fill="white" fill-opacity="0.602"/>
</svg>

Before

Width:  |  Height:  |  Size: 780 B

View File

@ -1,31 +0,0 @@
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M10.9522 21.9043C17.0009 21.9043 21.9043 17.0009 21.9043 10.9522C21.9043 4.90345 17.0009 0 10.9522 0C4.90345 0 0 4.90345 0 10.9522C0 17.0009 4.90345 21.9043 10.9522 21.9043Z" fill="white"/>
<path d="M15.1787 8.44884H5.08332C4.61377 8.44884 4.61377 7.93679 4.84855 7.68076L6.49198 5.88859L6.72675 5.63257H16.8221C17.2917 5.63257 17.2917 6.14462 17.0569 6.40064L15.4134 8.19281L15.1787 8.44884Z" fill="url(#paint0_linear)"/>
<path d="M15.1787 15.9589H5.08332C4.61377 15.9589 4.61377 15.5037 4.84855 15.2761L6.49198 13.6831L6.72675 13.4555H16.8221C17.2917 13.4555 17.2917 13.9107 17.0569 14.1382L15.4134 15.7313L15.1787 15.9589Z" fill="url(#paint1_linear)"/>
<path d="M6.72675 12.2039H16.8221C17.2917 12.2039 17.2917 11.7032 17.0569 11.4528L15.4134 9.7005H5.08332C4.61377 9.7005 4.61377 10.2012 4.84855 10.4515L6.49198 12.2039H6.72675Z" fill="url(#paint2_linear)"/>
<defs>
<linearGradient id="paint0_linear" x1="1.51474" y1="14.7982" x2="19.1264" y2="2.64581" gradientUnits="userSpaceOnUse">
<stop stop-color="#FA62FC"/>
<stop offset="0.1" stop-color="#BE84E8"/>
<stop offset="0.4" stop-color="#79ABD2"/>
<stop offset="0.5" stop-color="#68B5CD"/>
<stop offset="0.6" stop-color="#38D0BD"/>
<stop offset="0.8" stop-color="#1DD79B"/>
</linearGradient>
<linearGradient id="paint1_linear" x1="7.43108" y1="19.9642" x2="14.5067" y2="8.72539" gradientUnits="userSpaceOnUse">
<stop offset="0.2" stop-color="#C947E7"/>
<stop offset="0.6" stop-color="#9775D8"/>
<stop offset="0.9" stop-color="#7397CE"/>
<stop offset="1" stop-color="#1DD79B"/>
</linearGradient>
<linearGradient id="paint2_linear" x1="10.3188" y1="14.1314" x2="12.3885" y2="5.02335" gradientUnits="userSpaceOnUse">
<stop stop-color="#9677D8"/>
<stop offset="0.1" stop-color="#8C80D5"/>
<stop offset="0.3" stop-color="#8388D3"/>
<stop offset="0.4" stop-color="#6B9ECB"/>
<stop offset="0.6" stop-color="#57B0C5"/>
<stop offset="0.8" stop-color="#4DBAC3"/>
<stop offset="1" stop-color="#49BEC2"/>
</linearGradient>
</defs>
</svg>

Before

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -1,20 +0,0 @@
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M10.7517 21.5035C16.6898 21.5035 21.5035 16.6898 21.5035 10.7517C21.5035 4.81372 16.6898 0 10.7517 0C4.81372 0 0 4.81372 0 10.7517C0 16.6898 4.81372 21.5035 10.7517 21.5035Z" fill="#EFF4F4"/>
<path d="M10.7514 15.9932C8.28743 15.9932 6.27148 13.9773 6.27148 11.5133C6.27148 9.09421 10.3034 4.88311 10.4826 4.70391L10.7066 4.47992L10.9306 4.70391C11.1098 4.88311 15.2313 9.09421 15.2313 11.5133C15.2313 14.0221 13.2153 15.9932 10.7514 15.9932ZM10.7066 5.3759C10.3482 5.77909 9.5866 6.58547 8.86982 7.57104C7.57065 9.3182 6.85387 10.6622 6.85387 11.5581C6.85387 13.7085 8.60103 15.4109 10.7066 15.4109C12.8121 15.4109 14.5593 13.6637 14.5593 11.5581C14.5593 10.6622 13.8425 9.3182 12.5433 7.57104C11.8265 6.58547 11.065 5.77909 10.7066 5.3759Z" fill="url(#paint0_linear)"/>
<path d="M10.7504 17.4268C7.48005 17.4268 4.83691 14.7837 4.83691 11.5134C4.83691 8.33264 9.27201 3.89755 9.4512 3.71835C9.5856 3.58395 9.76479 3.58395 9.85439 3.71835C9.98879 3.85275 9.98879 4.03194 9.85439 4.12154C9.80959 4.16634 5.4193 8.55663 5.4193 11.5134C5.4193 14.4253 7.79364 16.7996 10.7056 16.7996C13.6175 16.7996 15.9918 14.4253 15.9918 11.5134C15.9918 10.3038 15.2303 8.64623 13.7519 6.71988C12.6319 5.24151 11.4672 4.07674 11.4672 4.07674C11.3328 3.94235 11.3328 3.76315 11.4672 3.67355C11.6015 3.53915 11.7807 3.53915 11.8703 3.67355C12.0495 3.85275 16.5742 8.37744 16.5742 11.5582C16.6638 14.7837 14.0207 17.4268 10.7504 17.4268Z" fill="url(#paint1_linear)"/>
<path d="M10.7518 18.8604C6.80951 18.8604 3.58398 15.6348 3.58398 11.6925C3.58398 10.035 4.39036 8.01902 6.04792 5.68948C7.25749 3.98712 8.42227 2.73275 8.46706 2.68796C8.60146 2.55356 8.78066 2.55356 8.87025 2.68796C8.95985 2.82235 8.95985 3.00155 8.87025 3.13594C8.87025 3.13594 7.66068 4.39031 6.49591 6.04787C4.97275 8.24302 4.16637 10.1694 4.16637 11.6925C4.16637 15.3212 7.1231 18.278 10.7518 18.278C14.3805 18.278 17.3372 15.3212 17.3372 11.6925C17.3372 10.2142 16.5309 8.24302 14.9629 6.04787C13.7981 4.39031 12.6334 3.13594 12.5886 3.13594C12.4542 3.00155 12.4542 2.82235 12.5886 2.73275C12.723 2.64316 12.9022 2.59836 12.9918 2.73275C13.2157 2.91195 17.9196 7.79503 17.9196 11.6925C17.9196 15.6348 14.6941 18.8604 10.7518 18.8604Z" fill="url(#paint2_linear)"/>
<defs>
<linearGradient id="paint0_linear" x1="10.7514" y1="16.0138" x2="10.7514" y2="4.51034" gradientUnits="userSpaceOnUse">
<stop stop-color="#05AAC5"/>
<stop offset="1" stop-color="#71E0EC"/>
</linearGradient>
<linearGradient id="paint1_linear" x1="10.7561" y1="17.4446" x2="10.7561" y2="3.57889" gradientUnits="userSpaceOnUse">
<stop stop-color="#05AAC5"/>
<stop offset="1" stop-color="#71E0EC"/>
</linearGradient>
<linearGradient id="paint2_linear" x1="10.7518" y1="18.8754" x2="10.7518" y2="2.6281" gradientUnits="userSpaceOnUse">
<stop stop-color="#05AAC5"/>
<stop offset="1" stop-color="#71E0EC"/>
</linearGradient>
</defs>
</svg>

Before

Width:  |  Height:  |  Size: 2.9 KiB

View File

@ -1,5 +0,0 @@
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M10.9522 22C17.0215 22 21.9043 17.1172 21.9043 11.0479C21.9043 4.97851 17.0215 0.0957031 10.9522 0.0957031C4.8828 0.0957031 0 4.97851 0 11.0479C0 17.1172 4.8828 22 10.9522 22Z" fill="#2775CA"/>
<path d="M13.9636 12.7816C13.9636 11.1845 13.0052 10.6369 11.0886 10.4087C9.71959 10.2262 9.44579 9.86112 9.44579 9.22217C9.44579 8.58322 9.90216 8.17263 10.8148 8.17263C11.6362 8.17263 12.0926 8.44643 12.3207 9.13094C12.3664 9.26784 12.5033 9.35907 12.6402 9.35907H13.3703C13.5528 9.35907 13.6897 9.22217 13.6897 9.03971V8.99404C13.5072 7.99005 12.6858 7.21431 11.6362 7.12308V6.02786C11.6362 5.84529 11.4993 5.70839 11.2712 5.66272H10.5867C10.4041 5.66272 10.2672 5.79962 10.2215 6.02786V7.07741C8.85251 7.25998 7.98553 8.17263 7.98553 9.31351C7.98553 10.8194 8.89818 11.4126 10.8148 11.6408C12.0926 11.869 12.5033 12.1428 12.5033 12.873C12.5033 13.6031 11.8644 14.1051 10.9974 14.1051C9.81082 14.1051 9.40012 13.603 9.26321 12.9185C9.21765 12.7361 9.08075 12.6447 8.94385 12.6447H8.168C7.98554 12.6447 7.84863 12.7816 7.84863 12.9642V13.0099C8.0311 14.1506 8.76128 14.9721 10.2672 15.2003V16.2955C10.2672 16.478 10.4041 16.6149 10.6322 16.6606H11.3167C11.4993 16.6606 11.6362 16.5237 11.6819 16.2955V15.2003C13.0509 14.9721 13.9636 14.0137 13.9636 12.7816Z" fill="white"/>
<path d="M8.62586 17.5734C5.06641 16.2957 3.24102 12.3256 4.56447 8.81168C5.24898 6.89505 6.75491 5.4348 8.62586 4.75029C8.80844 4.65906 8.89967 4.52216 8.89967 4.29391V3.65507C8.89967 3.4725 8.80844 3.3356 8.62586 3.29004C8.58019 3.29004 8.48896 3.29004 8.44329 3.3356C4.1081 4.70462 1.73509 9.31373 3.10411 13.6489C3.92552 16.2044 5.88782 18.1667 8.44329 18.9881C8.62586 19.0793 8.80844 18.9881 8.854 18.8055C8.89967 18.76 8.89967 18.7143 8.89967 18.6231V17.9841C8.89967 17.8472 8.76277 17.6647 8.62586 17.5734ZM13.4631 3.3356C13.2805 3.24437 13.098 3.3356 13.0524 3.51817C13.0067 3.56384 13.0067 3.6094 13.0067 3.70075V4.33958C13.0067 4.52216 13.1436 4.70462 13.2805 4.79596C16.84 6.07364 18.6654 10.0438 17.3419 13.5577C16.6574 15.4743 15.1515 16.9346 13.2805 17.6191C13.098 17.7103 13.0067 17.8472 13.0067 18.0755V18.7143C13.0067 18.8969 13.098 19.0338 13.2805 19.0793C13.3262 19.0793 13.4174 19.0793 13.4631 19.0338C17.7983 17.6647 20.1713 13.0556 18.8023 8.72045C17.9809 6.11931 15.9729 4.15701 13.4631 3.3356Z" fill="white"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.4 KiB

View File

@ -1,3 +0,0 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M30.1669 29.1499L18.9712 2.08213C18.3397 0.682666 17.4011 0 16.1637 0H15.1739C13.9365 0 12.9979 0.682666 12.3664 2.08213L7.49386 13.8752H3.80746C2.70666 13.8837 1.81067 14.7712 1.80213 15.8805V15.9061C1.81067 17.0069 2.70666 17.9029 3.80746 17.9115H5.7872L1.13653 29.1499C1.0512 29.3973 1 29.6533 1 29.9179C1 30.5493 1.19627 31.0443 1.54613 31.4283C1.896 31.8123 2.39947 32 3.03093 32C3.44906 31.9915 3.85013 31.8635 4.18293 31.616C4.54133 31.3685 4.7888 31.0101 4.98506 30.6005L10.1051 17.9029H13.6549C14.7557 17.8944 15.6517 17.0069 15.6602 15.8976V15.8464C15.6517 14.7456 14.7557 13.8496 13.6549 13.8411H11.7605L15.6688 4.10453L26.3184 30.592C26.5146 31.0016 26.7621 31.36 27.1205 31.6075C27.4533 31.8549 27.8629 31.9829 28.2725 31.9915C28.904 31.9915 29.3989 31.8037 29.7573 31.4197C30.1157 31.0357 30.3034 30.5408 30.3034 29.9093C30.312 29.6533 30.2693 29.3888 30.1669 29.1499Z" fill="white"/>
</svg>

Before

Width:  |  Height:  |  Size: 1011 B

View File

@ -1,3 +0,0 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M28.1127 12.8648C28.6164 9.50263 26.0546 7.69482 22.5545 6.48855L23.6902 1.93293L20.9183 1.24317L19.8115 5.67848C19.0833 5.49561 18.3358 5.32558 17.5899 5.15555L18.7047 0.691363L15.9328 0L14.7971 4.55401C14.194 4.41606 13.6005 4.28132 13.0262 4.13695L13.0294 4.12251L9.20528 3.16808L8.46739 6.12923C8.46739 6.12923 10.5254 6.60083 10.4821 6.62971C11.605 6.91042 11.8071 7.65312 11.7734 8.24342L10.4805 13.4327C10.5575 13.4519 10.657 13.4808 10.7693 13.5241L10.4757 13.4519L8.66309 20.7216C8.52514 21.0617 8.17705 21.5734 7.39105 21.3793C7.41992 21.4194 5.37631 20.8772 5.37631 20.8772L4 24.0501L7.6092 24.95C8.27971 25.1185 8.93739 25.2949 9.58384 25.4601L8.43692 30.0671L11.2072 30.7568L12.3429 26.2012C13.1 26.4049 13.8347 26.5942 14.5533 26.7739L13.4208 31.3102L16.1927 32L17.3396 27.4027C22.0685 28.2978 25.6231 27.9368 27.1198 23.6603C28.326 20.218 27.0604 18.2305 24.5725 16.936C26.3851 16.5189 27.7486 15.3271 28.1127 12.8648ZM21.7765 21.7483C20.9216 25.1922 15.1228 23.3299 13.2428 22.8631L14.7667 16.7595C16.6467 17.2295 22.6732 18.1583 21.7765 21.7483ZM22.6347 12.8151C21.8535 15.9479 17.0284 14.355 15.4644 13.9652L16.844 8.4311C18.4079 8.82089 23.4496 9.54755 22.6347 12.8151Z" fill="white"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -1,3 +0,0 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M16 32C24.8366 32 32 24.8366 32 16C32 7.16344 24.8366 0 16 0C7.16344 0 0 7.16344 0 16C0 24.8366 7.16344 32 16 32ZM10 18C11.1046 18 12 17.1046 12 16C12 14.8954 11.1046 14 10 14C8.89543 14 8 14.8954 8 16C8 17.1046 8.89543 18 10 18ZM18 16C18 17.1046 17.1046 18 16 18C14.8954 18 14 17.1046 14 16C14 14.8954 14.8954 14 16 14C17.1046 14 18 14.8954 18 16ZM22 18C23.1046 18 24 17.1046 24 16C24 14.8954 23.1046 14 22 14C20.8954 14 20 14.8954 20 16C20 17.1046 20.8954 18 22 18Z" fill="white"/>
</svg>

Before

Width:  |  Height:  |  Size: 636 B

View File

@ -1,4 +0,0 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M19.1393 8C19.1393 8 22.6931 8.68778 24.1307 12.4002C24.1307 12.4002 26.1892 17.2835 23.1392 21.6123C23.1392 21.6123 21.2346 24 18.8586 24H9V20.2254H11.0585V11.7814H9.03927L9.00015 8H19.1393ZM17.2969 20.184C18.1383 20.184 18.9116 19.0683 18.9116 19.0683C20.3607 16.8158 19.4338 13.9803 19.4338 13.9803C18.7346 11.9999 17.7339 11.7907 17.7339 11.7907H15.5739L15.6138 20.184H17.2969Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M32 16C32 24.8366 24.8366 32 16 32C7.16344 32 0 24.8366 0 16C0 7.16344 7.16344 0 16 0C24.8366 0 32 7.16344 32 16ZM30 16C30 23.732 23.732 30 16 30C8.26801 30 2 23.732 2 16C2 8.26801 8.26801 2 16 2C23.732 2 30 8.26801 30 16Z" fill="white"/>
</svg>

Before

Width:  |  Height:  |  Size: 838 B

View File

@ -1,15 +0,0 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0)">
<path d="M15.9995 0V11.8291L25.9976 16.2967L15.9995 0Z" fill="white" fill-opacity="0.602"/>
<path d="M15.9994 0L6 16.2967L15.9994 11.8291V0Z" fill="white"/>
<path d="M15.9995 23.9626V32.0002L26.0043 18.1587L15.9995 23.9626Z" fill="white" fill-opacity="0.602"/>
<path d="M15.9994 32.0002V23.9612L6 18.1587L15.9994 32.0002Z" fill="white"/>
<path d="M15.9995 22.1022L25.9976 16.297L15.9995 11.832V22.1022Z" fill="white" fill-opacity="0.2"/>
<path d="M6 16.297L15.9994 22.1022V11.832L6 16.297Z" fill="white" fill-opacity="0.602"/>
</g>
<defs>
<clipPath id="clip0">
<rect width="32" height="32" fill="white"/>
</clipPath>
</defs>
</svg>

Before

Width:  |  Height:  |  Size: 756 B

View File

@ -1,10 +0,0 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0)">
<path d="M16.896 0.0475557L9.53378 7.40889L0 16.9418L0.0222223 31.9787L15.0591 32.0009L22.4231 24.6364L31.9551 15.1049L32 0L16.896 0.0475557ZM17.428 1.32578L29.808 1.28889L22.7982 8.29867H10.456L17.428 1.32578ZM8.252 10.5018V22.844L1.3 29.7956L1.28089 17.4729L8.252 10.5018ZM14.5289 30.7195L2.20578 30.7027L9.15822 23.7511H21.5L14.5298 30.7209L14.5289 30.72V30.7195ZM9.53333 22.4698V9.57867H22.4231V22.4676H9.53289V22.4698H9.53333ZM23.7031 21.5467V9.20355L30.7129 2.19378L30.6751 14.5738L23.7031 21.5471V21.5467Z" fill="white"/>
</g>
<defs>
<clipPath id="clip0">
<rect width="32" height="32" fill="white"/>
</clipPath>
</defs>
</svg>

Before

Width:  |  Height:  |  Size: 758 B

View File

@ -1,5 +0,0 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M9.04627 2.00176C16.6964 1.99941 24.347 1.99941 31.9981 2.00176C32.0004 4.47459 32.0004 6.94699 31.9981 9.41896C24.3478 9.42131 16.6971 9.42131 9.04627 9.41896C9.04382 6.94613 9.04382 4.47373 9.04627 2.00176Z" fill="white"/>
<path opacity="0.8" d="M0.00959986 12.2093C2.47772 12.1965 4.94627 12.1965 7.41525 12.2093C7.42805 14.6774 7.42805 17.146 7.41525 19.615C4.94638 19.6276 2.47783 19.6279 0.00959986 19.6156C-0.00319995 17.147 -0.00319995 14.6783 0.00959986 12.2093ZM9.05219 12.2093C14.5739 12.1976 20.0953 12.1976 25.6163 12.2093C25.628 14.6774 25.628 17.146 25.6163 19.615C20.0946 19.6265 14.5733 19.6265 9.05219 19.615C9.04066 17.1467 9.04066 14.6782 9.05219 12.2093Z" fill="white"/>
<path opacity="0.6" d="M9.05926 22.4195C11.5232 22.3927 13.9867 22.3927 16.4498 22.4195C16.4754 24.8819 16.4758 27.3454 16.451 29.8102C13.987 29.8345 11.5235 29.8341 9.06054 29.8089C9.03494 27.3467 9.03451 24.8836 9.05926 22.4195Z" fill="white"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -1,29 +0,0 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0)">
<path d="M31.9775 10.2549H31.975L26.8525 5.12745L31.975 0H31.9775V10.2549Z" fill="white"/>
<path d="M32.0029 20.9302L32.0003 20.9327L26.8779 15.8027L32.0003 10.6753L32.0029 10.6778V20.9302Z" fill="white"/>
<path d="M32.0029 31.6075H32.0003L26.8779 26.48L32.0003 21.3525H32.0029V31.6075Z" fill="white"/>
<path opacity="0.8" d="M26.6915 26.2685H26.689V16.0162L26.6915 16.0137L31.8164 21.1411L26.6915 26.2685Z" fill="white"/>
<path opacity="0.8" d="M26.6915 15.5933L26.689 15.5908V5.33838H26.6915L31.8164 10.4658L26.6915 15.5933Z" fill="white"/>
<path d="M26.6888 26.2685L21.5664 21.141L26.6888 16.0161V26.2685Z" fill="white"/>
<path d="M26.6888 15.5908L21.5664 10.4658L26.6888 5.33838V15.5908Z" fill="white"/>
<path d="M26.4928 15.79L26.4978 15.7951L21.3729 20.9225L16.248 15.7951L16.2506 15.79H26.4928Z" fill="white"/>
<path opacity="0.8" d="M16.2506 15.7974L16.248 15.7949L21.3729 10.6675L26.4978 15.7949L26.4928 15.7974H16.2506Z" fill="white"/>
<path d="M16.0469 26.2685V16.0137L21.1718 21.1411L16.0469 26.2685Z" fill="white"/>
<path opacity="0.8" d="M16.0462 26.2685L10.9238 21.1411L16.0462 16.0137V26.2685Z" fill="white"/>
<path d="M15.8254 15.79L15.8279 15.7951L10.703 20.9225L5.58057 15.7951L5.58308 15.79H15.8254Z" fill="white"/>
<path opacity="0.8" d="M5.58308 15.7974L5.58057 15.7949L10.703 10.6675L15.8279 15.7949L15.8254 15.7974H5.58308Z" fill="white"/>
<path d="M5.33594 26.2685V16.0161L10.4584 21.141L5.33594 26.2685Z" fill="white"/>
<path d="M5.33594 15.5908V5.33838L10.4584 10.4658L5.33594 15.5908Z" fill="white"/>
<path opacity="0.8" d="M5.33634 26.2685H5.33383L0.211426 21.1411L5.33383 16.0137L5.33634 16.0162V26.2685Z" fill="white"/>
<path opacity="0.8" d="M5.33634 15.5908L5.33383 15.5933L0.211426 10.4658L5.33383 5.33838H5.33634V15.5908Z" fill="white"/>
<path d="M0 31.6075V21.3525L5.12493 26.48L0 31.6075Z" fill="white"/>
<path d="M0 20.9327V10.6753L5.12493 15.8027L0 20.9327Z" fill="white"/>
<path d="M0 10.2549V0L5.12493 5.12745L0 10.2549Z" fill="white"/>
</g>
<defs>
<clipPath id="clip0">
<rect width="32" height="32" fill="white"/>
</clipPath>
</defs>
</svg>

Before

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -1,4 +0,0 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M14.5678 15.1015L2.45423 7.84666C1.88467 7.50536 1.37954 7.01974 0.971605 6.4211C0.563671 5.82245 0.262138 5.12403 0.0865205 4.37185L0 4L0.00846786 4.00626L12.083 11.1326C12.7192 11.5081 13.2752 12.0626 13.7067 12.7518C14.1382 13.441 14.4331 14.2458 14.5678 15.1015ZM12.5072 27.2736L6.03212 23.4947C5.50306 23.1861 5.03291 22.7421 4.65295 22.1925C4.27263 21.6424 3.99098 20.9996 3.82641 20.3048L3.69828 19.7655L3.74357 19.7912V19.7931L12.8617 25.1132C13.0174 25.2041 13.1905 25.2398 13.3617 25.2162C13.5393 25.1894 13.7038 25.1066 13.8311 24.9799C13.9666 24.8488 14.0704 24.6739 14.1304 24.4744C14.1909 24.2717 14.205 24.0581 14.1717 23.8492C14.0483 23.0742 13.7799 22.3456 13.3882 21.7212C12.9968 21.0971 12.4924 20.595 11.9162 20.2548L4.18353 15.6905C3.66331 15.3831 3.20052 14.9446 2.82498 14.4031C2.44945 13.8618 2.16927 13.2293 2.00249 12.5464C1.94836 12.3251 1.89829 12.1185 1.85779 11.947L1.8924 11.9661L12.2789 18.0977C13.2174 18.6518 14.038 19.4695 14.6757 20.4856C15.3134 21.5018 15.7504 22.688 15.9514 23.9501C16.039 24.499 16.0022 25.0605 15.8435 25.5933C15.6852 26.1179 15.4128 26.5781 15.0556 26.9227C14.6985 27.2673 14.2714 27.4823 13.8215 27.5442C13.3716 27.6064 12.9166 27.5125 12.5072 27.2736ZM17.4322 15.1015L29.5458 7.84666C30.1153 7.50536 30.6205 7.01974 31.0284 6.4211C31.4363 5.82245 31.7379 5.12403 31.9135 4.37185L32 4L31.9915 4.00626L19.917 11.1326C19.2808 11.5081 18.7248 12.0626 18.2933 12.7518C17.8618 13.441 17.5669 14.2458 17.4322 15.1015Z" fill="white"/>
<path d="M19.4927 27.2739L25.9678 23.495C26.4968 23.1864 26.967 22.7424 27.3469 22.1927C27.7272 21.6427 28.0089 20.9999 28.1735 20.3051L28.3012 19.7658L28.2563 19.7915V19.7934L19.1382 25.1135C18.9879 25.2033 18.8117 25.2396 18.6382 25.2165C18.4605 25.1898 18.2961 25.1069 18.1688 24.9802C18.0275 24.84 17.9243 24.666 17.8691 24.4747C17.8088 24.272 17.7948 24.0583 17.8282 23.8495C17.9516 23.0745 18.22 22.3455 18.6117 21.7215C19.0031 21.0974 19.5071 20.5953 20.0836 20.2551L27.816 15.6905C28.3366 15.383 28.799 14.9449 29.1749 14.4033C29.5504 13.8621 29.8306 13.2296 29.9974 12.5466C30.0515 12.3254 30.1016 12.1188 30.1421 11.9473L30.1075 11.9664L19.721 18.0979C18.7825 18.652 17.9619 19.4697 17.3242 20.4859C16.6865 21.5021 16.2495 22.6883 16.0485 23.9504C15.9607 24.4992 15.9974 25.0608 16.156 25.5936C16.3143 26.1182 16.5867 26.5784 16.9439 26.923C17.301 27.2676 17.7281 27.4826 18.178 27.5449C18.6283 27.6067 19.0833 27.5128 19.4924 27.2739H19.4927Z" fill="white"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.5 KiB

View File

@ -1,16 +0,0 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0)">
<path opacity="0.9" d="M19.0212 21.5435C17.4632 25.2678 14.4719 27.7339 10.8478 28.1074C10.7699 28.1178 9.77798 28.1961 9.23047 28.1556C13.529 31.2983 18.6002 31.8232 18.6002 31.8232C19.6859 31.9345 20.9149 32.0257 22.1483 31.9935C22.5826 30.8595 22.8271 29.5612 22.757 28.0881C22.5941 24.6669 24.5779 22.9105 26.7261 22.0094C25.6251 20.3072 24.8035 18.2455 24.2408 16.3154C22.5633 16.7617 20.433 18.165 19.0212 21.5435Z" fill="white"/>
<path d="M22.6894 28.0638C22.7599 29.5368 22.4646 30.8659 22.0303 31.9999C25.2148 31.9161 28.547 31.0069 29.3976 27.5467C29.5779 26.8126 29.6009 26.0147 29.3011 25.321C29.0088 24.6452 28.4454 24.134 27.9453 23.5932C27.4775 23.0764 27.0534 22.5218 26.6771 21.9351C24.5308 22.8365 22.5266 24.643 22.6894 28.0638Z" fill="white"/>
<path d="M24.1304 15.9341C23.6411 14.6246 23.2245 13.3137 22.5913 12.0944C22.3796 11.683 22.1402 11.2864 21.8747 10.9074C21.2344 10.0001 20.553 9.11648 19.734 8.3642C18.3244 8.36828 16.8513 8.13162 15.5052 7.44092C14.1416 9.37503 12.5814 12.656 14.0095 16.4011C16.1184 21.9319 11.8388 25.7118 9.09229 28.0521L9.23102 28.1552C9.74596 28.1954 10.2635 28.188 10.7771 28.133C14.4009 27.7591 17.5654 25.2337 19.1234 21.5097C20.5356 18.1312 22.5899 16.8477 24.265 16.4011C24.2178 16.2453 24.1729 16.0896 24.1304 15.9341Z" fill="white"/>
<path d="M6.1692 8.56934C4.06965 10.8692 2.96275 14.1035 3.00096 17.2599C3.02284 19.0964 3.50618 20.8243 4.29927 22.4116C4.41823 22.6497 4.54435 22.8846 4.67763 23.1164C9.09151 18.6858 7.49682 12.084 6.1692 8.56934Z" fill="white"/>
<path opacity="0.9" d="M14.0839 16.4014C12.6558 12.6549 14.1811 9.3954 15.5428 7.46167C14.6448 6.99936 13.8459 6.3659 13.1911 5.59693C12.1301 5.57656 11.0734 5.73803 10.067 6.07433C8.4615 6.6059 7.10533 7.53957 6.02031 8.72807C7.31862 12.1656 8.87882 18.6234 4.5625 22.9568C5.38229 24.3886 6.45432 25.6929 7.65915 26.8428C8.13437 27.2958 8.63789 27.7182 9.16667 28.1074C11.9131 25.7682 16.1927 21.9322 14.0839 16.4014Z" fill="white"/>
<path d="M19.409 3.46675C22.3977 4.64598 24.4909 4.96536 26.0085 4.91974L26.0522 4.89155C20.3983 -4.75303 13.0054 2.84022 13.0054 2.84022L13.0161 2.85914C14.6108 2.57648 16.9285 2.48856 19.409 3.46675Z" fill="white"/>
<path opacity="0.9" d="M19.4456 3.40024C16.9666 2.42354 14.6356 2.46064 13.0142 2.8594C17.2656 10.3132 25.3455 5.34474 26.0065 4.92001C24.4879 4.96563 22.4343 4.57948 19.4456 3.40024Z" fill="white"/>
</g>
<defs>
<clipPath id="clip0">
<rect width="32" height="32" fill="white"/>
</clipPath>
</defs>
</svg>

Before

Width:  |  Height:  |  Size: 2.5 KiB

View File

@ -1,6 +0,0 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M27.6636 12.0095V23.1677L15.5385 30.3318L3.4066 23.1677V8.83236L15.5385 1.66127L24.8572 7.1711L26.2637 6.34047L15.5385 0L2 8.00173V23.9983L15.5385 32L29.077 23.9983V11.1789L27.6636 12.0095Z" fill="white"/>
<path d="M12.144 23.1747H10.1152V16.2113H16.8777C17.5175 16.204 18.1287 15.9393 18.5794 15.4742C19.0298 15.0092 19.2833 14.3813 19.2851 13.7263C19.2889 13.4025 19.2278 13.0813 19.1056 12.7825C18.9836 12.4837 18.8029 12.2137 18.5751 11.9889C18.3546 11.757 18.0906 11.5731 17.7988 11.4482C17.5072 11.3233 17.1939 11.26 16.8777 11.2622H10.1152V9.14404H16.8845C18.0695 9.1513 19.2041 9.63642 20.0422 10.4942C20.8801 11.352 21.3542 12.5133 21.3612 13.7263C21.3684 14.6549 21.0918 15.5625 20.57 16.3221C20.0898 17.0488 19.413 17.6165 18.6224 17.9557C17.8397 18.2097 17.0226 18.3359 16.2015 18.3294H12.144V23.1747Z" fill="white"/>
<path d="M21.3133 23.0015H18.9465L17.1206 19.7412C17.8429 19.696 18.5555 19.5469 19.2373 19.2983L21.3133 23.0015Z" fill="white"/>
<path d="M26.25 9.69088L27.6499 10.4869L29.0497 9.69088V8.00886L27.6499 7.17822L26.25 8.00886V9.69088Z" fill="white"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -1,3 +0,0 @@
<svg width="195" height="195" viewBox="0 0 195 195" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M195 9.75001C195 4.36523 190.634 0.000208411 185.25 0.000208411L38.6397 0C32.2331 0 26.6275 0.929205 21.8225 2.7878C17.0177 4.78929 13.0135 7.43396 9.81027 10.7221C6.47343 14.1533 4.00442 18.0132 2.40282 22.3021C0.801012 26.7339 0.00020841 31.3087 0.00020841 36.0265V57.6362C0.00020841 68.8824 9.11747 77.9999 20.3642 77.9999H136.5L78.0005 39.0001H185.25C190.634 39.0001 195 34.6348 195 29.25V9.75001ZM0 185.25C0 190.636 4.36521 195 9.74996 195H156.36C162.766 195 168.373 194.071 173.176 192.212C177.982 190.211 181.987 187.566 185.189 184.277C188.526 180.848 190.995 176.988 192.596 172.699C194.197 168.265 195 163.691 195 158.973V137.364C195 126.117 185.883 117 174.634 117H58.4997L117 156H9.74996C4.36521 156 0 160.364 0 165.75V185.25Z" fill="white"/>
</svg>

Before

Width:  |  Height:  |  Size: 911 B

View File

@ -1,12 +0,0 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0)">
<path d="M5.19951 22.1422C5.39263 21.9491 5.65815 21.8364 5.93977 21.8364H31.4786C31.9453 21.8364 32.1787 22.3997 31.8488 22.7296L26.8038 27.7746C26.6107 27.9677 26.3451 28.0804 26.0635 28.0804H0.52463C0.0579459 28.0804 -0.175396 27.5171 0.154501 27.1872L5.19951 22.1422Z" fill="white"/>
<path d="M5.19951 3.30576C5.40067 3.11265 5.6662 3 5.93977 3H31.4786C31.9453 3 32.1787 3.56324 31.8488 3.89314L26.8038 8.93814C26.6107 9.13125 26.3451 9.2439 26.0635 9.2439H0.52463C0.0579459 9.2439 -0.175396 8.68066 0.154501 8.35077L5.19951 3.30576Z" fill="white"/>
<path d="M26.8038 12.6637C26.6107 12.4706 26.3451 12.3579 26.0635 12.3579H0.52463C0.0579459 12.3579 -0.175396 12.9211 0.154501 13.251L5.19951 18.2961C5.39263 18.4892 5.65815 18.6018 5.93977 18.6018H31.4786C31.9453 18.6018 32.1787 18.0386 31.8488 17.7087L26.8038 12.6637Z" fill="white"/>
</g>
<defs>
<clipPath id="clip0">
<rect width="32" height="32" fill="white"/>
</clipPath>
</defs>
</svg>

Before

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -1,5 +0,0 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M16.0422 26.2825C11.2198 26.2825 7.30371 22.3664 7.30371 17.544C7.30371 12.8559 15.2142 4.57619 15.5499 4.22933L15.9639 3.79297L16.389 4.21814C16.7359 4.565 24.7806 12.8447 24.7806 17.5328C24.7806 22.3664 20.8645 26.2825 16.0422 26.2825ZM15.975 5.48248C15.2813 6.23213 13.8268 7.85451 12.3834 9.75661C9.82119 13.1356 8.46735 15.8209 8.46735 17.5328C8.46735 21.7063 11.8687 25.1077 16.0422 25.1077C20.2156 25.1077 23.617 21.7063 23.617 17.5328C23.617 15.8209 22.2408 13.1356 19.6338 9.75661C18.168 7.8657 16.6799 6.23213 15.975 5.48248Z" fill="white"/>
<path d="M16.042 29.0799C9.67558 29.0799 4.50635 23.8994 4.50635 17.5442C4.50635 11.3232 13.1889 2.6407 13.5581 2.28266C13.7819 2.05888 14.1623 2.05888 14.3861 2.28266C14.6098 2.50643 14.6098 2.88685 14.3861 3.11063C14.2966 3.20014 5.68117 11.8155 5.68117 17.5442C5.68117 23.2617 10.3357 27.9162 16.0532 27.9162C21.7707 27.9162 26.4252 23.2617 26.4252 17.5442C26.4252 15.1945 24.9036 11.9498 22.0168 8.13441C19.8015 5.21413 17.5749 2.99874 17.5525 2.97636C17.3175 2.75259 17.3175 2.38336 17.5525 2.14839C17.7763 1.91343 18.1455 1.91343 18.3805 2.14839C18.7609 2.51762 27.6001 11.312 27.6001 17.5442C27.5777 23.8994 22.4084 29.0799 16.042 29.0799Z" fill="white"/>
<path d="M16.042 31.8769C8.2993 31.8769 2 25.5776 2 17.835C2 14.635 3.61119 10.6965 6.77762 6.14268C9.11608 2.78603 11.4098 0.391629 11.5105 0.290929C11.7343 0.0559642 12.1035 0.0559642 12.3385 0.27974C12.5734 0.503517 12.5734 0.872747 12.3497 1.10771C12.3273 1.13009 10.0112 3.54687 7.72867 6.8252C4.74126 11.1105 3.16364 14.9147 3.16364 17.835C3.16364 24.9287 8.93706 30.7133 16.042 30.7133C23.1469 30.7133 28.9203 24.9399 28.9203 17.835C28.9203 14.9147 27.3315 11.1105 24.3217 6.8252C22.0168 3.54687 19.6783 1.13009 19.6559 1.10771C19.4322 0.872747 19.4322 0.503517 19.6671 0.27974C19.9021 0.0559642 20.2713 0.0559642 20.4951 0.290929C20.8867 0.693726 30.0839 10.249 30.0839 17.835C30.0839 25.5776 23.7846 31.8769 16.042 31.8769Z" fill="white"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -1,10 +0,0 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path opacity="0.4" d="M1.99121 8.03896L11.1807 2.68066V8.00879L6.60254 10.6807V16.0377L1.99121 18.6494V8.03896Z" fill="white"/>
<path d="M15.7631 0L29.5118 7.99871L24.9294 10.6649L11.1807 2.66624L15.7631 0Z" fill="white"/>
<path opacity="0.6" d="M24.919 10.6605V15.9934L11.1714 7.99351V2.66064L24.919 10.6605Z" fill="white"/>
<path d="M11.161 8.00098L24.9098 15.9997L20.3274 18.6659L6.57861 10.6672L11.1614 8.00098H11.161Z" fill="white"/>
<path opacity="0.6" d="M20.3266 18.6649V23.9978L6.57861 15.9979V10.665L20.3262 18.6649H20.3266Z" fill="white"/>
<path d="M6.59247 16.002L20.3412 24.0007L15.758 26.6669L2.00928 18.6682L6.59247 16.002Z" fill="white"/>
<path opacity="0.6" d="M15.748 26.6628V31.9957L2 23.9954V18.6621L15.748 26.6624V26.6628Z" fill="white"/>
<path opacity="0.8" d="M15.7402 26.6643L20.2812 24.0466V18.7188L24.875 16V10.6875L29.4844 7.98438V24.0466L15.7402 31.997V26.6643Z" fill="white"/>
</svg>

Before

Width:  |  Height:  |  Size: 1010 B

View File

@ -1,19 +0,0 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0)">
<path fill-rule="evenodd" clip-rule="evenodd" d="M12.1872 2.45254C10.104 2.28588 8.49309 2.79966 7.65982 3.96624L1.92428 11.9658C1.09101 13.1323 1.11868 14.8266 1.95195 16.7431C3.10464 19.3818 5.77117 22.5067 9.43758 25.1176C13.0901 27.7424 16.9093 29.27 19.7841 29.52C21.8533 29.6866 23.4782 29.1729 24.3114 28.0063L30.0331 20.0068C30.8664 18.8402 30.8388 17.1459 30.0055 15.2294C28.8667 12.5907 26.1862 9.46588 22.5337 6.84106C18.8673 4.23014 15.062 2.68863 12.1872 2.45254ZM29.1166 15.6182C29.7693 17.1459 29.9083 18.507 29.2416 19.4236L29.1999 19.493C28.5194 20.368 27.2278 20.6596 25.589 20.5346C22.8531 20.3124 19.2286 18.8263 15.7427 16.3265C12.2569 13.8267 9.68761 10.8685 8.59047 8.34093C7.93774 6.84104 7.7987 5.52168 8.42365 4.5912L8.45159 4.53573C9.11821 3.60524 10.4374 3.29965 12.1039 3.43853C14.8399 3.66073 18.4646 5.14671 21.9505 7.64653C25.4503 10.1464 28.0195 13.1045 29.1166 15.6182ZM23.9086 13.9101C23.367 12.6463 22.0756 11.1603 20.3257 9.91037C18.5897 8.66046 16.7704 7.92437 15.4094 7.79938C14.6316 7.74383 14.0066 7.86877 13.701 8.29929C13.3955 8.72982 13.4788 9.3548 13.7843 10.0631C14.3259 11.3269 15.6176 12.799 17.3675 14.0489C19.1174 15.2989 20.9228 16.0488 22.2977 16.1599C23.0615 16.2294 23.6864 16.1044 23.9919 15.6739C24.3113 15.2433 24.2281 14.6183 23.9086 13.9101ZM7.29195 6.82462C7.28714 6.70967 7.19006 6.62038 7.0751 6.62519C6.96015 6.62999 6.87087 6.72708 6.87567 6.84203L6.88937 7.06823C6.89845 7.18292 6.99878 7.26854 7.11347 7.25946C6.99972 7.27668 6.92407 7.40408 6.94129 7.51784C7.20579 9.26492 8.18307 10.9449 9.40447 12.4567C9.47677 12.5462 9.60793 12.5601 9.69743 12.4878C9.78692 12.4155 9.80086 12.2844 9.72856 12.1949C8.52755 10.7083 7.60178 9.09714 7.35323 7.45547C7.33669 7.34622 7.23569 7.25014 7.12695 7.25796C7.23479 7.24242 7.31343 7.14551 7.30471 7.03536L7.29195 6.82462ZM7.12695 7.25796C7.1225 7.2586 7.11801 7.2591 7.11347 7.25946C7.11798 7.25878 7.12247 7.25828 7.12695 7.25796ZM13.5676 16.0328C13.4804 15.9577 13.3489 15.9676 13.2739 16.0548C13.1988 16.142 13.2087 16.2735 13.2959 16.3486L13.4622 16.4911L13.6738 16.6687C13.7625 16.742 13.8938 16.7295 13.9671 16.6408C14.0404 16.5521 14.0279 16.4208 13.9392 16.3475L13.7324 16.174L13.5676 16.0328ZM14.3621 16.6869C14.2713 16.6161 14.1404 16.6323 14.0697 16.7231C13.999 16.8138 14.0152 16.9447 14.1059 17.0154C15.8562 18.38 17.9809 19.572 20.0896 20.4245C20.1963 20.4676 20.3177 20.4161 20.3609 20.3095C20.404 20.2028 20.3525 20.0814 20.2458 20.0383C18.1692 19.1987 16.0788 18.0253 14.3621 16.6869ZM27.1295 21.7185C27.2431 21.7003 27.3204 21.5934 27.3022 21.4798C27.2839 21.3662 27.177 21.2889 27.0634 21.3072L26.8028 21.3426C26.6884 21.3554 26.6061 21.4585 26.6189 21.5728C26.6318 21.6871 26.7348 21.7694 26.8492 21.7566L27.1295 21.7185Z" fill="white"/>
<g clip-path="url(#clip1)">
<path fill-rule="evenodd" clip-rule="evenodd" d="M11.9507 18.6337L11.7713 18.8837C11.7431 18.9234 11.6883 18.9426 11.6172 18.9367C11.5254 18.9291 11.4037 18.8806 11.287 18.7969C11.1704 18.7132 11.0853 18.6135 11.0482 18.5291C11.02 18.4636 11.0204 18.4058 11.0491 18.3661L11.2281 18.116C11.2567 18.0763 11.3114 18.0572 11.3822 18.063C11.474 18.0706 11.5961 18.1192 11.7128 18.2029C11.8294 18.2865 11.9145 18.3863 11.9511 18.4707C11.9798 18.5361 11.9789 18.594 11.9507 18.6337ZM11.2761 18.1504C11.2946 18.1247 11.3317 18.118 11.3776 18.1218C11.4614 18.1287 11.5717 18.1744 11.6782 18.2508C11.7848 18.3271 11.8635 18.4171 11.8972 18.4942C11.9153 18.5364 11.9212 18.5737 11.9027 18.5993L11.9267 18.6165L11.9027 18.5993L11.7233 18.8494C11.7052 18.8751 11.6681 18.8817 11.6222 18.8779C11.5384 18.8711 11.4277 18.8254 11.3211 18.749C11.2146 18.6726 11.1358 18.5826 11.1026 18.5056C11.084 18.4633 11.0786 18.4261 11.0971 18.4005L11.2761 18.1504Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M11.2524 18.1394C11.3109 18.0577 11.5093 18.0996 11.6954 18.233C11.8815 18.3663 11.9851 18.541 11.9266 18.6227L11.7476 18.8727C11.6891 18.9544 11.4903 18.9125 11.3042 18.7791C11.118 18.6457 11.0145 18.4711 11.073 18.3894L11.2524 18.1394Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M11.2394 18.1239C11.2654 18.0875 11.3157 18.0714 11.3808 18.0766C11.4707 18.084 11.5896 18.1322 11.7042 18.2138C11.8183 18.2958 11.9021 18.3935 11.9377 18.4759C11.9637 18.5358 11.9646 18.5888 11.9385 18.6252L11.7597 18.8752C11.7337 18.9117 11.6829 18.9277 11.6182 18.9225C11.5284 18.9147 11.4091 18.867 11.2949 18.7849C11.1803 18.7033 11.097 18.6057 11.061 18.5232C11.0349 18.4633 11.0341 18.4104 11.0601 18.3739L11.2394 18.1239ZM11.9138 18.6074V18.607C11.9346 18.5783 11.9303 18.5358 11.9099 18.4881C11.8756 18.4095 11.7953 18.3171 11.6859 18.239C11.577 18.1608 11.4637 18.1144 11.3782 18.1075C11.3262 18.1031 11.2849 18.1127 11.2641 18.1417L11.2632 18.1435C11.2437 18.1726 11.248 18.2138 11.2684 18.2607C11.3027 18.3396 11.383 18.4321 11.4919 18.5102C11.6009 18.5883 11.7141 18.6348 11.7996 18.6417C11.8509 18.6456 11.8912 18.6365 11.9125 18.6092L11.9138 18.607V18.6074ZM11.6352 18.3097C11.6898 18.3488 11.7302 18.3952 11.7471 18.4347C11.7571 18.4568 11.7597 18.4764 11.7497 18.4898C11.7402 18.5033 11.7207 18.5072 11.6968 18.505C11.6538 18.5015 11.5974 18.4781 11.5427 18.439C11.488 18.4 11.4477 18.354 11.4307 18.3145C11.4212 18.2923 11.4186 18.2728 11.4281 18.2594C11.4377 18.2459 11.4572 18.242 11.4815 18.2437C11.5241 18.2476 11.5809 18.2706 11.6352 18.3097Z" fill="#0E0F23"/>
<path d="M11.2217 18.2134C11.2265 18.3275 11.3389 18.4365 11.4252 18.5102C11.5454 18.6127 11.739 18.6895 11.8471 18.6721" stroke="white" stroke-width="0.0130199" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="0.03 0.03 0.33 0.33"/>
</g>
</g>
<defs>
<clipPath id="clip0">
<rect width="32" height="32" fill="white"/>
</clipPath>
<clipPath id="clip1">
<rect width="1" height="1" fill="white" transform="translate(11 18)"/>
</clipPath>
</defs>
</svg>

Before

Width:  |  Height:  |  Size: 5.8 KiB

View File

@ -1,18 +0,0 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0)">
<path d="M12.8988 7.28182C12.552 7.23228 12.5355 7.21577 12.7006 7.19926C13.0143 7.14972 13.7409 7.21577 14.2527 7.33135C15.4416 7.61205 16.5149 8.33858 17.6542 9.60999L17.9514 9.95674L18.3807 9.89069C20.2135 9.59348 22.0959 9.82465 23.6645 10.5512C24.0938 10.7493 24.7708 11.1456 24.8534 11.2447C24.8864 11.2777 24.9359 11.4923 24.9689 11.707C25.0845 12.4831 25.035 13.061 24.7873 13.5068C24.6552 13.7545 24.6552 13.8205 24.7378 14.0352C24.8038 14.2003 25.002 14.3159 25.1836 14.3159C25.5799 14.3159 25.9927 13.6884 26.1908 12.8133L26.2734 12.4665L26.422 12.6317C27.2641 13.5728 27.9246 14.8773 28.0236 15.8019L28.0567 16.0496L27.908 15.835C27.6604 15.4552 27.4292 15.2075 27.1155 14.9929C26.5541 14.6131 25.9596 14.4975 24.391 14.415C22.971 14.3324 22.1619 14.2168 21.3693 13.9526C20.0154 13.5068 19.3219 12.9289 17.7202 10.7988C17.0102 9.85767 16.5644 9.3458 16.1186 8.91649C15.1444 7.97532 14.1702 7.47996 12.8988 7.28182Z" fill="white"/>
<path d="M25.2003 9.37895C25.2333 8.75149 25.3159 8.3387 25.4975 7.95892C25.5635 7.81032 25.6296 7.67822 25.6461 7.67822C25.6626 7.67822 25.6296 7.79381 25.5801 7.9259C25.448 8.28916 25.4315 8.80103 25.514 9.37895C25.6296 10.122 25.6791 10.2211 26.4717 11.0301C26.835 11.4099 27.2643 11.8888 27.4294 12.0869L27.7101 12.4502L27.4294 12.186C27.0826 11.8557 26.2901 11.2283 26.1084 11.1457C25.9929 11.0797 25.9763 11.0797 25.8938 11.1622C25.8277 11.2283 25.8112 11.3273 25.8112 11.8062C25.7947 12.5492 25.6956 13.0116 25.448 13.4904C25.3159 13.7381 25.2994 13.6885 25.4149 13.4078C25.4975 13.1932 25.514 13.0941 25.514 12.3841C25.514 10.9476 25.3489 10.6008 24.3417 10.0229C24.094 9.8743 23.6647 9.65965 23.417 9.54406C23.1528 9.42848 22.9547 9.32941 22.9712 9.32941C23.0042 9.29639 23.9784 9.57709 24.3582 9.74221C24.9361 9.97337 25.0352 9.98989 25.1012 9.97337C25.1507 9.92384 25.1838 9.79174 25.2003 9.37895Z" fill="white"/>
<path d="M13.576 11.8387C12.8825 10.881 12.4366 9.39494 12.5357 8.28864L12.5687 7.94189L12.7339 7.97492C13.0311 8.02445 13.5429 8.2226 13.7906 8.3712C14.4511 8.76749 14.7483 9.31238 15.029 10.6664C15.1116 11.0626 15.2271 11.525 15.2767 11.6736C15.3592 11.9213 15.673 12.4992 15.9372 12.8624C16.1188 13.1266 16.0032 13.2587 15.5904 13.2257C14.963 13.1596 14.1209 12.5817 13.576 11.8387Z" fill="white"/>
<path d="M24.3578 19.0217C21.0884 17.7008 19.9326 16.5614 19.9326 14.6295C19.9326 14.3488 19.9491 14.1177 19.9491 14.1177C19.9656 14.1177 20.0812 14.2167 20.2298 14.3323C20.8903 14.8607 21.6333 15.0919 23.6973 15.3891C24.9027 15.5707 25.5962 15.7028 26.2236 15.9175C28.2216 16.5779 29.46 17.9319 29.7572 19.7647C29.8397 20.2931 29.7902 21.3003 29.6581 21.8287C29.5425 22.2415 29.2123 23.0011 29.1297 23.0176C29.1132 23.0176 29.0802 22.935 29.0802 22.8029C29.0472 22.1094 28.7004 21.4489 28.1225 20.9371C27.429 20.3426 26.5374 19.8968 24.3578 19.0217Z" fill="white"/>
<path d="M22.0464 19.5667C22.0134 19.319 21.9308 19.0053 21.8813 18.8732L21.7987 18.6255L21.9473 18.8071C22.162 19.0548 22.3271 19.352 22.4757 19.7648C22.5913 20.0785 22.5913 20.1776 22.5913 20.6895C22.5913 21.1848 22.5748 21.3004 22.4757 21.5811C22.3106 22.0269 22.1125 22.3407 21.7822 22.6874C21.1878 23.2983 20.4117 23.6286 19.3054 23.7772C19.1073 23.7937 18.5459 23.8432 18.0505 23.8763C16.8121 23.9423 15.9866 24.0744 15.2435 24.3386C15.1444 24.3716 15.0454 24.4046 15.0289 24.3881C14.9958 24.3551 15.5077 24.0579 15.9205 23.8598C16.4984 23.5791 17.0928 23.4304 18.3973 23.1993C19.0412 23.1002 19.7017 22.9681 19.8668 22.9021C21.5015 22.3902 22.3106 21.1188 22.0464 19.5667Z" fill="white"/>
<path d="M23.5489 22.2253C23.1196 21.2841 23.0206 20.3925 23.2517 19.5504C23.2848 19.4678 23.3178 19.3853 23.3508 19.3853C23.3838 19.3853 23.4829 19.4348 23.582 19.5008C23.7801 19.6329 24.1929 19.8641 25.2497 20.442C26.5871 21.1685 27.3467 21.7299 27.875 22.3739C28.3374 22.9353 28.6181 23.5793 28.7502 24.3718C28.8327 24.8177 28.7832 25.8909 28.6676 26.3367C28.3044 27.7403 27.4788 28.8631 26.2734 29.507C26.0918 29.6061 25.9432 29.6721 25.9266 29.6721C25.9101 29.6721 25.9762 29.507 26.0753 29.3089C26.4715 28.4668 26.5211 27.6577 26.2239 26.7495C26.0422 26.1881 25.6625 25.5112 24.9029 24.3718C23.9948 23.0509 23.7801 22.7041 23.5489 22.2253Z" fill="white"/>
<path d="M11.2476 27.2778C12.4695 26.2541 13.9721 25.5275 15.3591 25.2964C15.9535 25.1973 16.9442 25.2303 17.4891 25.3789C18.3642 25.6101 19.1568 26.1055 19.5696 26.7164C19.9659 27.3108 20.1475 27.8227 20.3292 28.962C20.3952 29.4078 20.4778 29.8702 20.4943 29.9692C20.6264 30.5637 20.8906 31.026 21.2208 31.2737C21.7327 31.6534 22.6243 31.67 23.4994 31.3397C23.648 31.2902 23.7801 31.2406 23.7801 31.2572C23.8132 31.2902 23.3673 31.5874 23.0701 31.736C22.6573 31.9507 22.3271 32.0167 21.8813 32.0167C21.0887 32.0167 20.4117 31.6039 19.8668 30.7783C19.7512 30.6132 19.5201 30.1344 19.3219 29.6885C18.744 28.3511 18.4468 27.9548 17.7698 27.509C17.1754 27.1292 16.4158 27.0466 15.8379 27.3273C15.0784 27.6906 14.8802 28.6648 15.4086 29.2592C15.6233 29.5069 16.0196 29.705 16.3498 29.7546C16.9607 29.8371 17.4891 29.3583 17.4891 28.7474C17.4891 28.3511 17.3405 28.1199 16.9442 27.9383C16.4158 27.7071 15.8379 27.9713 15.8544 28.4832C15.8544 28.6978 15.9535 28.8299 16.1682 28.929C16.3003 28.995 16.3003 28.995 16.2012 28.9785C15.7223 28.8795 15.6068 28.285 15.9865 27.9053C16.4489 27.4429 17.4231 27.6411 17.7533 28.285C17.8854 28.5492 17.9019 29.0776 17.7863 29.4078C17.5056 30.1344 16.7131 30.5141 15.904 30.2995C15.3591 30.1509 15.1279 30.0023 14.4674 29.3253C13.3116 28.1364 12.8658 27.9053 11.2146 27.6576L10.9009 27.608L11.2476 27.2778Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M2.56214 0.71001C6.4094 5.38287 12.3372 12.6481 12.6344 13.0444C12.8821 13.3746 12.783 13.6883 12.3702 13.9195C12.139 14.0516 11.6602 14.1837 11.429 14.1837C11.1648 14.1837 10.8511 14.0516 10.6364 13.8369C10.4878 13.6883 9.84387 12.7472 8.39083 10.485C7.28453 8.75129 6.34336 7.31476 6.32684 7.29825C6.2608 7.26522 6.2608 7.26522 8.27524 10.8648C9.54666 13.1269 9.95946 13.936 9.95946 14.0351C9.95946 14.2497 9.89341 14.3653 9.62922 14.6625C9.1834 15.1579 8.98525 15.7193 8.83665 16.8916C8.67153 18.1961 8.22571 19.1207 6.95429 20.6894C6.21126 21.614 6.09568 21.7792 5.91405 22.1589C5.68288 22.6213 5.61683 22.8854 5.58381 23.4799C5.55079 24.1073 5.61683 24.5036 5.79846 25.098C5.96358 25.6264 6.14521 25.9732 6.59103 26.6502C6.97081 27.2446 7.20197 27.6904 7.20197 27.8555C7.20197 27.9876 7.235 27.9876 7.82942 27.8555C9.24944 27.5253 10.4218 26.9639 11.0658 26.2704C11.462 25.8411 11.5611 25.6099 11.5611 25.0155C11.5611 24.6357 11.5446 24.5531 11.4455 24.322C11.2804 23.9587 10.9667 23.6615 10.2897 23.1992C9.39805 22.5882 9.01828 22.0929 8.91921 21.4324C8.83665 20.871 8.93572 20.4912 9.43108 19.451C9.94294 18.3777 10.075 17.9319 10.1576 16.8421C10.2071 16.1486 10.2897 15.8679 10.4878 15.6533C10.7025 15.4221 10.8841 15.3395 11.396 15.2735C12.2381 15.1579 12.783 14.9432 13.2123 14.5304C13.5921 14.1837 13.7572 13.8369 13.7737 13.3251L13.7902 12.9453L13.5756 12.7141C12.7995 11.8225 2.05027 0 2.00073 0C1.98422 0 2.24841 0.313726 2.56214 0.71001ZM7.63128 24.1899C7.81291 23.8762 7.71384 23.4799 7.41663 23.2817C7.13593 23.1001 6.70662 23.1827 6.70662 23.4303C6.70662 23.4964 6.73964 23.5624 6.83871 23.5955C6.98732 23.678 7.00383 23.7606 6.88825 23.9422C6.77266 24.1238 6.77266 24.289 6.92127 24.4045C7.15244 24.5862 7.46616 24.4871 7.63128 24.1899Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M14.3189 15.5042C13.9226 15.6198 13.5428 16.0491 13.4272 16.4784C13.3612 16.7426 13.3942 17.2215 13.5098 17.3701C13.6914 17.6012 13.8565 17.6673 14.3189 17.6673C15.227 17.6673 16.0031 17.271 16.0856 16.7922C16.1682 16.3959 15.8214 15.851 15.3426 15.6033C15.0949 15.4712 14.583 15.4217 14.3189 15.5042ZM15.3756 16.3298C15.5077 16.1317 15.4582 15.917 15.2105 15.7684C14.7647 15.4877 14.0877 15.7189 14.0877 16.1482C14.0877 16.3628 14.4344 16.594 14.7647 16.594C14.9793 16.594 15.2765 16.4619 15.3756 16.3298Z" fill="white"/>
</g>
<defs>
<clipPath id="clip0">
<rect width="32" height="32" fill="white"/>
</clipPath>
</defs>
</svg>

Before

Width:  |  Height:  |  Size: 8.0 KiB

View File

@ -1,3 +0,0 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M32 16C32 24.8667 24.8667 32 16 32C7.13328 32 0 24.8667 0 16C0 7.13328 7.13328 0 16 0C24.8667 0 32 7.13328 32 16ZM6.66656 12.7336C4.73312 17.867 7.39984 23.667 12.5998 25.5336C12.7998 25.667 12.9998 25.9336 12.9998 26.1336V27.067C12.9998 27.2003 12.9998 27.267 12.9331 27.3336C12.8666 27.6003 12.5998 27.7336 12.3331 27.6003C8.59984 26.4003 5.73312 23.5336 4.53311 19.8003C2.53311 13.467 5.99984 6.73355 12.3331 4.73355C12.3998 4.66699 12.5331 4.66699 12.5998 4.66699C12.8666 4.73355 12.9998 4.93355 12.9998 5.20027V6.13355C12.9998 6.46699 12.8666 6.66699 12.5998 6.80027C9.86656 7.80027 7.66656 9.93355 6.66656 12.7336ZM19.0666 5.00027C19.1331 4.73355 19.3998 4.60027 19.6666 4.73355C23.3331 5.93355 26.2666 8.80027 27.4666 12.6003C29.4666 18.9336 25.9998 25.667 19.6666 27.667C19.5998 27.7336 19.4666 27.7336 19.3998 27.7336C19.1331 27.667 18.9998 27.467 18.9998 27.2003V26.267C18.9998 25.9336 19.1331 25.7336 19.3998 25.6003C22.1331 24.6003 24.3331 22.467 25.3331 19.667C27.2666 14.5336 24.5998 8.73355 19.3998 6.86699C19.1998 6.73355 18.9998 6.46699 18.9998 6.20027V5.26699C18.9998 5.13355 18.9998 5.06699 19.0666 5.00027ZM20.4 18.5333C20.4 16.2 19 15.4 16.2 15.0668C14.2001 14.8 13.8001 14.2668 13.8001 13.3333C13.8001 12.3999 14.4668 11.8 15.8 11.8C17 11.8 17.6668 12.2 18 13.2C18.0668 13.4 18.2668 13.5333 18.4668 13.5333H19.5333C19.8 13.5333 20 13.3333 20 13.0667V13C19.7333 11.5333 18.5333 10.4 17 10.2667V8.66674C17 8.40002 16.8 8.20002 16.4668 8.1333H15.4668C15.2001 8.1333 15.0001 8.3333 14.9333 8.66674V10.2C12.9333 10.4667 11.6668 11.8 11.6668 13.4668C11.6668 15.6668 13.0001 16.5333 15.8 16.8668C17.6668 17.2 18.2668 17.6 18.2668 18.6668C18.2668 19.7335 17.3333 20.4668 16.0668 20.4668C14.3333 20.4668 13.7333 19.7333 13.5333 18.7333C13.4668 18.4668 13.2668 18.3333 13.0668 18.3333H11.9334C11.6668 18.3333 11.4668 18.5333 11.4668 18.8V18.8668C11.7334 20.5333 12.8001 21.7333 15.0001 22.0668V23.6668C15.0001 23.9333 15.2001 24.1333 15.5333 24.2001H16.5333C16.8 24.2001 17 24.0001 17.0668 23.6668V22.0668C19.0667 21.7333 20.4 20.3333 20.4 18.5333Z" fill="white"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -1,3 +0,0 @@
<svg width="212" height="195" viewBox="0 0 212 195" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M127.08 104.57C125.88 104.66 119.68 105.03 105.85 105.03C94.85 105.03 87.04 104.7 84.3 104.57C41.79 102.7 10.06 95.3 10.06 86.44C10.06 77.58 41.79 70.19 84.3 68.29V97.2C87.08 97.4 95.04 97.87 106.04 97.87C119.24 97.87 125.85 97.32 127.04 97.21V68.31C169.46 70.2 201.12 77.6 201.12 86.44C201.12 95.28 169.47 102.68 127.04 104.56L127.08 104.57ZM127.08 65.32V39.45H186.28V0H25.1V39.45H84.29V65.31C36.18 67.52 0 77.05 0 88.47C0 99.89 36.18 109.41 84.29 111.63V194.53H127.07V111.6C175.07 109.39 211.19 99.87 211.19 88.46C211.19 77.05 175.1 67.53 127.07 65.31L127.08 65.32Z" fill="white"/>
</svg>

Before

Width:  |  Height:  |  Size: 740 B

View File

@ -1,8 +1,5 @@
module.exports = {
content: [
'./pages/**/*.{js,ts,jsx,tsx}',
'./components/**/*.{js,ts,jsx,tsx}',
],
content: ['./app/**/*.{js,ts,jsx,tsx}'],
theme: {
fontFamily: {
display: ['var(--font-display)'],

View File

@ -16,8 +16,20 @@
"incremental": true,
"paths": {
"react": ["./node_modules/@types/react"]
}
},
"plugins": [
{
"name": "next"
}
],
"strictNullChecks": true
},
"exclude": ["node_modules", ".next", "out"],
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", "**/*.js"]
"include": [
"next-env.d.ts",
"**/*.ts",
"**/*.tsx",
"**/*.js",
".next/types/**/*.ts"
]
}

File diff suppressed because one or more lines are too long

1303
yarn.lock

File diff suppressed because it is too large Load Diff