Style: Update brand colors (#12258)

* style: update brand colors

* chore: upgrade react-component deps

* add new downloads page

* chore: upgrades react-tabs

* chore: update deps

* style: home page color updates

* style: fix vmware background

* chore: upgrade body text color components

* style: adds body-copy color override

* feat: updates favicon

* content(home): swap trusted by logo image

* content(home): updates parity svg

* chore: updates product download page

* chore: updates product download page to stable

* style: fix sticky footer for downloads page

* chore: update favicon path

Co-authored-by: Jeff Escalante <jescalan@users.noreply.github.com>
This commit is contained in:
Kendall Strautman 2021-05-03 11:40:28 -07:00 committed by GitHub
parent da87420f57
commit 8173a57904
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
25 changed files with 24892 additions and 5797 deletions

View File

@ -1,28 +0,0 @@
import Search from '@hashicorp/react-search'
export default function SearchBar() {
return (
<Search
renderHitContent={({ hit, Highlight }) => (
<>
<span className="name">
<Highlight attribute="page_title" hit={hit} tagName="span" />
</span>
<span className="description">
<Highlight attribute="description" hit={hit} tagName="span" />
</span>
</>
)}
resolveHitLink={(hit) => ({
href: {
pathname: `/${transformIdtoUrl(hit.objectID)}`,
},
})}
placeholder="Search Vagrant documentation"
/>
)
}
function transformIdtoUrl(id) {
return id.replace(/\/index$/, '')
}

View File

@ -1,8 +0,0 @@
.g-search {
width: calc(100% - 2rem);
max-width: 600px;
& .c-hits .ais-Highlight-highlighted {
/* Insert custom background color applied to highlighted hits */
}
}

View File

@ -11,7 +11,7 @@
}
& button {
background: #1563ff;
background: var(--brand, #2e71e5);
border: none;
border-radius: 0;
box-shadow: 3px 4px 0 rgba(0, 0, 0, 0.1);

2
website/next-env.d.ts vendored Normal file
View File

@ -0,0 +1,2 @@
/// <reference types="next" />
/// <reference types="next/types/global" />

30410
website/package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -4,25 +4,28 @@
"version": "1.0.0",
"author": "HashiCorp",
"dependencies": {
"@hashicorp/mktg-global-styles": "2.1.0",
"@hashicorp/nextjs-scripts": "16.3.0",
"@hashicorp/react-button": "4.0.0",
"@hashicorp/react-code-block": "3.0.3",
"@hashicorp/react-docs-page": "12.0.0",
"@hashicorp/react-hashi-stack-menu": "1.2.1-canary.0",
"@hashicorp/react-head": "1.1.6",
"@hashicorp/mktg-global-styles": "^3.0.1",
"@hashicorp/nextjs-scripts": "18.1.0",
"@hashicorp/react-button": "^5.0.1",
"@hashicorp/react-code-block": "^4.0.1",
"@hashicorp/react-docs-page": "^13.1.4",
"@hashicorp/react-hashi-stack-menu": "2.0.3",
"@hashicorp/react-head": "^3.0.2",
"@hashicorp/react-product-downloader": "4.1.5",
"@hashicorp/react-search": "^3.0.0",
"@hashicorp/react-section-header": "4.0.0",
"@hashicorp/react-subnav": "7.1.0",
"@hashicorp/react-vertical-text-block-list": "4.0.1",
"next": "10.0.6",
"next-mdx-remote": "2.1.3",
"next-remote-watch": "^0.3.0",
"@hashicorp/react-product-downloads-page": "2.0.2",
"@hashicorp/react-search": "^5.0.2",
"@hashicorp/react-section-header": "5.0.2",
"@hashicorp/react-subnav": "^8.1.0",
"@hashicorp/react-tabs": "6.0.1",
"@hashicorp/react-vertical-text-block-list": "6.0.2",
"next": "10.1.3",
"next-mdx-remote": "2.1.4",
"next-remote-watch": "^1.0.0",
"react": "16.13.1",
"react-dom": "16.13.1"
},
"devDependencies": {
"@types/react": "^17.0.3",
"dart-linkcheck": "2.0.15",
"husky": "4.3.6",
"prettier": "2.2.1"

View File

@ -10,7 +10,9 @@ export default class MyDocument extends Document {
render() {
return (
<Html>
<HashiHead is={Head} />
<Head>
<HashiHead />
</Head>
<body>
<Main />
<NextScript />

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="178" height="48" viewBox="0 0 178 48" fill="none" role="img"><path d="M79.91 11.272h5.024l-7.637 25.6h-7.134l-7.637-25.6h5.025L73.726 32.6l6.183-21.328zM98.906 36.872h-3.835l-.343-1.272a10.213 10.213 0 01-5.592 1.656c-3.419 0-4.873-2.344-4.873-5.6 0-3.808 1.654-5.264 5.448-5.264h4.49v-1.936c0-2.072-.575-2.808-3.571-2.808-1.743.018-3.48.211-5.184.576l-.576-3.576a24.358 24.358 0 016.391-.888c5.871 0 7.597 2.072 7.597 6.768l.048 12.344zM94.225 29.8h-3.451c-1.534 0-1.957.424-1.957 1.848 0 1.424.423 1.88 1.877 1.88a7.364 7.364 0 003.53-.96V29.8zM107.845 31.832a2.02 2.02 0 00-1.111 1.496c0 .496.304.728 1.039.8 2.069.232 3.195.344 5.408.576 3.036.344 3.994 1.848 3.994 4.536 0 4-1.462 5.6-8.443 5.6a27.17 27.17 0 01-7.19-.96l.575-3.496a25.92 25.92 0 006.295.8c3.723 0 4.45-.272 4.45-1.496s-.344-1.344-1.766-1.496c-2.149-.232-3.035-.344-5.408-.616-2.644-.304-3.683-1.192-3.683-3.576a4.007 4.007 0 011.958-3.2c-1.726-1.04-2.533-2.768-2.533-5.032v-1.776c.08-3.88 2.109-6.224 7.525-6.224 1.077-.008 2.151.12 3.196.384h5.759v2.344c-.655.192-1.422.384-2.069.576.446.908.67 1.908.655 2.92v1.768c0 3.808-2.3 6.112-7.525 6.112a9.682 9.682 0 01-1.126-.04zm1.07-10.304c-2.3 0-3.107.848-3.107 2.616v1.448c0 1.848.918 2.536 3.107 2.536s3.148-.728 3.148-2.536v-1.448c.008-1.752-.799-2.608-3.14-2.608l-.008-.008zM129.605 22.072a36.678 36.678 0 00-4.945 2.72v12.08h-4.713v-18.72h3.994l.304 2.072a20.943 20.943 0 014.913-2.456l.447 4.304zM145.262 36.872h-3.834l-.344-1.272a10.208 10.208 0 01-5.591 1.656c-3.419 0-4.873-2.344-4.873-5.6 0-3.808 1.653-5.264 5.448-5.264h4.489v-1.936c0-2.072-.575-2.808-3.571-2.808a26.081 26.081 0 00-5.184.576l-.575-3.576a24.35 24.35 0 016.39-.888c5.872 0 7.597 2.072 7.597 6.768l.048 12.344zm-4.681-7.072h-3.451c-1.534 0-1.957.424-1.957 1.848 0 1.424.423 1.88 1.877 1.88a7.365 7.365 0 003.531-.96V29.8zM159.194 36.872V23.8c0-1-.423-1.496-1.493-1.496a12.895 12.895 0 00-4.873 1.6v12.968h-4.682v-18.72h3.571l.464 1.6a18.692 18.692 0 017.485-1.96c3.107 0 4.218 2.192 4.218 5.536v13.6l-4.69-.056zM177.656 36.52a12.97 12.97 0 01-4.106.728c-3.419 0-5.145-1.6-5.145-4.96v-10.4h-2.804v-3.736h2.804v-4.648l4.681-.656v5.304h4.793l-.303 3.728h-4.49v9.8a1.488 1.488 0 00.431 1.249 1.47 1.47 0 001.255.407 8.983 8.983 0 002.34-.384l.544 3.568z" fill="#000"></path><path d="M46.478 8.088V3.696L35.94 9.832v3.712l-8.428 18.208-4.218 2.912V48l9.035-5.216L46.478 8.088zM23.295 25.168l-6.318-14.776V6.216l-.04-.016-6.28 3.632v3.712l8.428 19.008 4.21-2.088v-5.296z" fill="#1159CC"></path><path d="M40.159 0L29.63 6.176h-.008v4.216l-6.326 14.776v4.936l-4.21 2.448-8.428-19.008v-3.72l6.327-3.64L6.44 0 .12 3.696v4.528l14.227 34.6L23.295 48V35l4.218-2.448-.056-.032 8.484-18.976v-3.72l10.537-6.128L40.159 0z" fill="#127EFF"></path></svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -1,40 +1,59 @@
import s from './style.module.css'
import { VERSION } from 'data/version.json'
import ProductDownloader from '@hashicorp/react-product-downloader'
import Head from 'next/head'
import HashiHead from '@hashicorp/react-head'
import { VERSION } from 'data/version'
import { productSlug } from 'data/metadata'
import ProductDownloadsPage from '@hashicorp/react-product-downloads-page'
import { generateStaticProps } from '@hashicorp/react-product-downloads-page/server'
import Link from 'next/link'
import s from './style.module.css'
export default function DownloadsPage({ releaseData }) {
export default function DownloadsPage(staticProps) {
return (
<div className={s.root}>
<HashiHead is={Head} title="Downloads | Vagrant by HashiCorp" />
<ProductDownloader
product="Vagrant"
version={VERSION}
releaseData={releaseData}
>
<ProductDownloadsPage
getStartedDescription="Follow step-by-step tutorials on the essentials of Vagrant."
getStartedLinks={[
{
label: 'Quick Start',
href:
'https://learn.hashicorp.com/tutorials/vagrant/getting-started-index',
},
{
label: 'Install and Specify a Box',
href:
'https://learn.hashicorp.com/tutorials/vagrant/getting-started-boxes',
},
{
label: 'Configure the Network',
href:
'https://learn.hashicorp.com/tutorials/vagrant/getting-started-networking',
},
{
label: 'View all Vagrant tutorials',
href: 'https://learn.hashicorp.com/vagrant',
},
]}
logo={
<img
className={s.logo}
alt="Vagrant"
src={require('./img/vagrant-logo.svg')}
/>
}
tutorialLink={{
href: 'https://learn.hashicorp.com/vagrant',
label: 'View Tutorials at HashiCorp Learn',
}}
merchandisingSlot={
<Link href="/vmware/downloads">
<a>&raquo; Download VMware Utility</a>
</Link>
</ProductDownloader>
</div>
}
{...staticProps}
/>
)
}
export async function getStaticProps() {
return fetch(`https://releases.hashicorp.com/vagrant/${VERSION}/index.json`)
.then((res) => res.json())
.then((releaseData) => ({ props: { releaseData } }))
.catch(() => {
throw new Error(
`--------------------------------------------------------
Unable to resolve version ${VERSION} on releases.hashicorp.com from link
<https://releases.hashicorp.com/vagrant/${VERSION}/index.json>. Usually this
means that the specified version has not yet been released. The downloads page
version can only be updated after the new version has been released, to ensure
that it works for all users.
----------------------------------------------------------`
)
})
return generateStaticProps({
product: productSlug,
latestVersion: VERSION,
})
}

View File

@ -1,5 +1,3 @@
.root {
composes: g-container from global;
margin-top: 72px;
margin-bottom: 72px;
.logo {
width: 105px;
}

View File

@ -67,7 +67,7 @@ $ vagrant ssh
}}
reverse={true}
>
<img src="/img/parity.svg" alt="Server Parity Diagram" />
<img src="/img/vagrant_parity.svg" alt="Server Parity Diagram" />
</TextSplit>
</div>
</section>
@ -105,7 +105,7 @@ $ vagrant ssh
</p>
<img
className={s.customerImg}
src="/img/customers.png"
src="/img/vagrant-trusted-by-logos.png"
alt="Logos of Vagrant customers"
/>
</div>

View File

@ -1,5 +1,10 @@
.block {
padding: 100px 0;
/** DEBT: remove when text split body copy color is updated */
& :global(.g-type-body) {
color: var(--gray-2);
}
}
.hero {
@ -29,8 +34,6 @@
.unifiedWorkflow {
composes: block;
background: var(--vagrant);
color: white;
}
/* enforce consistency section */
@ -47,14 +50,12 @@
.crossPlatform {
composes: block;
background: #0d44cc;
color: white;
& img {
max-width: 130px;
min-width: 20px;
height: auto;
fill: #fff;
fill: black;
padding: 0 20px;
}
}
@ -63,8 +64,7 @@
.trustedAtScale {
composes: block;
background: var(--black);
color: white;
background: var(--vagrant-secondary);
& .customerImg {
max-width: 80%;
@ -80,8 +80,8 @@
.tag {
composes: g-type-label from global;
display: inline-block;
background: white;
color: black;
background: black;
color: white;
padding: 6px 8px;
}

View File

@ -20,9 +20,6 @@
@import '~@hashicorp/react-vertical-text-block-list/style.css';
@import '~@hashicorp/react-product-downloader/dist/style.css';
/* Local Components */
@import '../components/search-bar/style.css';
/* Print Styles */
@import './print.css';
@ -49,6 +46,10 @@
}
/* Sticky Footer */
.content {
#p-docs {
min-height: calc(100vh - 260px);
}
.g-type-body {
color: var(--gray-2);
}

View File

@ -89,8 +89,8 @@
.benefits {
composes: block;
background: var(--vagrant);
color: white;
background: var(--vagrant-secondary);
color: var(--black);
& h4 {
margin-top: 20px;
@ -121,19 +121,19 @@
display: block;
& a {
color: white;
color: var(--black);
text-decoration: underline;
}
}
}
.buyNow {
background: #0d44cc;
color: white;
background: var(--vagrant-secondary);
color: var(--black);
composes: block;
& small a {
color: white;
color: var(--black);
text-decoration: underline;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

View File

@ -1,5 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 222.53 60.01">
<path class="text" fill="#000000" d="M82.58 7.86V4.63h-3v3.23h-1.46V.11h1.51v3.25h3V.11h1.51v7.75zm7 0h-1.2l-.11-.38a3.28 3.28 0 0 1-1.7.52c-1.06 0-1.52-.7-1.52-1.66 0-1.14.51-1.57 1.7-1.57h1.4v-.62c0-.62-.18-.84-1.11-.84a8.46 8.46 0 0 0-1.61.17l-.18-1.07a7.89 7.89 0 0 1 2-.26c1.83 0 2.37.62 2.37 2zm-1.43-2.11h-1.08c-.48 0-.61.13-.61.55s.13.56.59.56a2.37 2.37 0 0 0 1.1-.29zM92.66 8a7.12 7.12 0 0 1-2-.32l.2-1.07a6.77 6.77 0 0 0 1.73.24c.65 0 .74-.14.74-.56s-.07-.52-1-.73c-1.42-.33-1.59-.68-1.59-1.76s.51-1.62 2.18-1.62a8 8 0 0 1 1.75.2l-.17 1.08a10.66 10.66 0 0 0-1.6-.16c-.63 0-.74.14-.74.48s0 .48.82.68c1.63.41 1.78.62 1.78 1.77S94.42 8 92.66 8zm6.68-.11V4c0-.3-.13-.45-.47-.45a4.14 4.14 0 0 0-1.52.45v3.86H95.9V0l1.46.22v2.47a5.31 5.31 0 0 1 2.13-.54c1 0 1.32.65 1.32 1.65v4.06zM102 1.48V.11h1.46v1.37zm0 6.38V2.27h1.46v5.59zm2.62-5.54c0-1.4.85-2.22 2.83-2.22a9.37 9.37 0 0 1 2.16.25l-.17 1.25a12.21 12.21 0 0 0-1.95-.2c-1 0-1.37.34-1.37 1.16V5.5c0 .81.33 1.16 1.37 1.16a12.21 12.21 0 0 0 1.95-.2l.17 1.25a9.37 9.37 0 0 1-2.16.25c-2 0-2.83-.81-2.83-2.22zM112.86 8c-2 0-2.53-1.06-2.53-2.2V4.36c0-1.15.54-2.2 2.53-2.2s2.53 1.06 2.53 2.2v1.41c.01 1.15-.53 2.23-2.53 2.23zm0-4.63c-.78 0-1.08.33-1.08 1v1.5c0 .63.3 1 1.08 1s1.08-.33 1.08-1V4.31c0-.63-.3-.96-1.08-.96zm6.64.09a11.57 11.57 0 0 0-1.54.81v3.6h-1.46v-5.6h1.23l.1.62a6.63 6.63 0 0 1 1.53-.73zM125.34 6a1.73 1.73 0 0 1-1.92 2 8.36 8.36 0 0 1-1.55-.16v2.26l-1.46.22v-8h1.16l.14.47a3.15 3.15 0 0 1 1.84-.59c1.17 0 1.79.67 1.79 1.94zm-3.48.63a6.72 6.72 0 0 0 1.29.15c.53 0 .73-.24.73-.75v-2c0-.46-.18-.71-.72-.71a2.11 2.11 0 0 0-1.3.51zM99.88 14.1h6.29l-9.56 32h-8.93l-9.56-32h6.29l7.73 26.66zm23.78 32h-4.8l-.43-1.59a12.8 12.8 0 0 1-7 2.07c-4.28 0-6.1-2.93-6.1-7 0-4.76 2.07-6.58 6.82-6.58h5.62v-2.42c0-2.59-.72-3.51-4.47-3.51a32.69 32.69 0 0 0-6.49.72l-.72-4.47a30.53 30.53 0 0 1 8-1.11c7.35 0 9.51 2.59 9.51 8.46zm-5.86-8.84h-4.32c-1.92 0-2.45.53-2.45 2.31s.53 2.35 2.35 2.35a9.23 9.23 0 0 0 4.42-1.2zm17.05 2.54a2.52 2.52 0 0 0-1.39 1.87c0 .62.38.91 1.3 1 2.59.29 4 .43 6.77.72 3.8.43 5 2.31 5 5.67 0 5-1.83 7-10.57 7a34.06 34.06 0 0 1-9-1.2l.72-4.37a32.49 32.49 0 0 0 7.88 1c4.66 0 5.57-.34 5.57-1.87s-.43-1.68-2.21-1.87c-2.69-.29-3.8-.43-6.77-.77-3.31-.38-4.61-1.49-4.61-4.47a5 5 0 0 1 2.45-4c-2.16-1.3-3.17-3.46-3.17-6.29V30c.1-4.85 2.64-7.78 9.42-7.78a15.9 15.9 0 0 1 4 .48h7.21v2.93c-.82.24-1.78.48-2.59.72a8 8 0 0 1 .82 3.65v2.21c0 4.76-2.88 7.64-9.42 7.64a12.18 12.18 0 0 1-1.41-.05zm1.34-12.88c-2.88 0-3.89 1.06-3.89 3.27V32c0 2.31 1.15 3.17 3.89 3.17s3.94-.91 3.94-3.17v-1.81c.01-2.19-1-3.26-3.93-3.26zm25.9.68a45.87 45.87 0 0 0-6.19 3.4v15.1H150V22.7h5l.38 2.59a26.22 26.22 0 0 1 6.15-3.07zm19.6 18.5h-4.8l-.43-1.59a12.8 12.8 0 0 1-7 2.07c-4.28 0-6.1-2.93-6.1-7 0-4.76 2.07-6.58 6.82-6.58h5.62v-2.42c0-2.59-.72-3.51-4.47-3.51a32.69 32.69 0 0 0-6.49.72l-.72-4.47a30.53 30.53 0 0 1 8-1.11c7.35 0 9.51 2.59 9.51 8.46zm-5.86-8.84h-4.32c-1.92 0-2.45.53-2.45 2.31s.53 2.35 2.35 2.35a9.23 9.23 0 0 0 4.42-1.2zm23.3 8.84V29.76c0-1.25-.53-1.87-1.87-1.87a16.16 16.16 0 0 0-6.1 2V46.1h-5.86V22.7h4.47l.58 2a23.43 23.43 0 0 1 9.37-2.45c3.89 0 5.28 2.74 5.28 6.92v17zm23.11-.44a16.25 16.25 0 0 1-5.14.91c-4.28 0-6.44-2-6.44-6.2v-13h-3.51V22.7h3.51v-5.81l5.86-.82v6.63h6l-.38 4.66h-5.62v12.25a1.85 1.85 0 0 0 2.11 2.07 11.27 11.27 0 0 0 2.93-.48z"/>
<path class="front" fill="#1563FF" d="M58.03 10.12V4.63L44.84 12.3v4.64L34.29 39.7l-5.28 3.64v16.67l11.31-6.52 17.71-43.37zM29.01 31.47L21.1 13V7.78l-.05-.02-7.86 4.54v4.64L23.74 40.7l5.27-2.61v-6.62z"/>
<path class="front" fill="var(--brand, #2e71e5)" d="M58.03 10.12V4.63L44.84 12.3v4.64L34.29 39.7l-5.28 3.64v16.67l11.31-6.52 17.71-43.37zM29.01 31.47L21.1 13V7.78l-.05-.02-7.86 4.54v4.64L23.74 40.7l5.27-2.61v-6.62z"/>
<path class="shadow" fill="#104EB2" d="M50.12.01L36.94 7.73h-.01V13l-7.92 18.47v6.17l-5.27 3.06-10.55-23.76v-4.65l7.92-4.55L7.91.01 0 4.63v5.66l17.81 43.25 11.2 6.47V43.76l5.28-3.06-.07-.04 10.62-23.72v-4.65l13.19-7.66L50.12.01z"/>
</svg>

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

@ -1,5 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 223 60">
<path class="text" fill="#000000" d="M99.88 14.1h6.29l-9.56 32h-8.93l-9.56-32h6.29l7.73 26.66 7.74-26.66zm23.78 32h-4.8l-.43-1.59c-2.083 1.355-4.515 2.074-7 2.07-4.28 0-6.1-2.93-6.1-7 0-4.76 2.07-6.58 6.82-6.58h5.62v-2.42c0-2.59-.72-3.51-4.47-3.51-2.182.023-4.356.264-6.49.72l-.72-4.47c2.606-.723 5.296-1.096 8-1.11 7.35 0 9.51 2.59 9.51 8.46l.06 15.43zm-5.86-8.84h-4.32c-1.92 0-2.45.53-2.45 2.31s.53 2.35 2.35 2.35c1.55-.022 3.07-.435 4.42-1.2v-3.46zm17.05 2.54c-.74.36-1.26 1.057-1.39 1.87 0 .62.38.91 1.3 1 2.59.29 4 .43 6.77.72 3.8.43 5 2.31 5 5.67 0 5-1.83 7-10.57 7-3.04.003-6.067-.4-9-1.2l.72-4.37c2.576.654 5.222.99 7.88 1 4.66 0 5.57-.34 5.57-1.87s-.43-1.68-2.21-1.87c-2.69-.29-3.8-.43-6.77-.77-3.31-.38-4.61-1.49-4.61-4.47.102-1.657 1.02-3.156 2.45-4-2.16-1.3-3.17-3.46-3.17-6.29V30c.1-4.85 2.64-7.78 9.42-7.78 1.348-.01 2.692.15 4 .48h7.21v2.93c-.82.24-1.78.48-2.59.72.558 1.135.84 2.386.82 3.65v2.21c0 4.76-2.88 7.64-9.42 7.64-.47.01-.94-.006-1.41-.05zm1.34-12.88c-2.88 0-3.89 1.06-3.89 3.27V32c0 2.31 1.15 3.17 3.89 3.17s3.94-.91 3.94-3.17v-1.81c.01-2.19-1-3.26-3.93-3.26l-.01-.01zm25.9.68c-2.148.973-4.217 2.11-6.19 3.4v15.1H150V22.7h5l.38 2.59c1.906-1.29 3.974-2.32 6.15-3.07l.56 5.38zm19.6 18.5h-4.8l-.43-1.59c-2.083 1.355-4.515 2.074-7 2.07-4.28 0-6.1-2.93-6.1-7 0-4.76 2.07-6.58 6.82-6.58h5.62v-2.42c0-2.59-.72-3.51-4.47-3.51-2.182.023-4.356.264-6.49.72l-.72-4.47c2.606-.723 5.296-1.096 8-1.11 7.35 0 9.51 2.59 9.51 8.46l.06 15.43zm-5.86-8.84h-4.32c-1.92 0-2.45.53-2.45 2.31s.53 2.35 2.35 2.35c1.55-.022 3.07-.435 4.42-1.2v-3.46zm23.3 8.84V29.76c0-1.25-.53-1.87-1.87-1.87-2.147.252-4.22.932-6.1 2V46.1h-5.86V22.7h4.47l.58 2c2.92-1.46 6.11-2.295 9.37-2.45 3.89 0 5.28 2.74 5.28 6.92v17l-5.87-.07zm23.11-.44c-1.653.578-3.39.886-5.14.91-4.28 0-6.44-2-6.44-6.2v-13h-3.51V22.7h3.51v-5.81l5.86-.82v6.63h6l-.38 4.66h-5.62v12.25c-.076.576.124 1.154.54 1.56.414.408.995.597 1.57.51.994-.03 1.98-.19 2.93-.48l.68 4.46z"/>
<path class="front" fill="#1563FF" d="M58.03 10.12V4.63L44.84 12.3v4.64L34.29 39.7l-5.28 3.64v16.67l11.31-6.52 17.71-43.37zM29.01 31.47L21.1 13V7.78l-.05-.02-7.86 4.54v4.64L23.74 40.7l5.27-2.61v-6.62z"/>
<path class="front" fill="var(--brand, #2e71e5)" d="M58.03 10.12V4.63L44.84 12.3v4.64L34.29 39.7l-5.28 3.64v16.67l11.31-6.52 17.71-43.37zM29.01 31.47L21.1 13V7.78l-.05-.02-7.86 4.54v4.64L23.74 40.7l5.27-2.61v-6.62z"/>
<path class="shadow" fill="#104EB2" d="M50.12.01L36.94 7.73h-.01V13l-7.92 18.47v6.17l-5.27 3.06-10.55-23.76v-4.65l7.92-4.55L7.91.01 0 4.63v5.66l17.81 43.25 11.2 6.47V43.76l5.28-3.06-.07-.04 10.62-23.72v-4.65l13.19-7.66"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@ -1,46 +0,0 @@
<svg viewBox="0 0 811 452" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<rect id="path-1" x="16.8776371" y="0" width="316.455696" height="210.970464"></rect>
<mask id="mask-2" maskContentUnits="userSpaceOnUse" maskUnits="objectBoundingBox" x="0" y="0" width="316.455696" height="210.970464" fill="white">
<use xlink:href="#path-1"></use>
</mask>
<rect id="path-3" x="0" y="0" width="123" height="192"></rect>
<mask id="mask-4" maskContentUnits="userSpaceOnUse" maskUnits="objectBoundingBox" x="0" y="0" width="123" height="192" fill="white">
<use xlink:href="#path-3"></use>
</mask>
<rect id="path-5" x="0" y="0" width="123" height="192"></rect>
<mask id="mask-6" maskContentUnits="userSpaceOnUse" maskUnits="objectBoundingBox" x="0" y="0" width="123" height="192" fill="white">
<use xlink:href="#path-5"></use>
</mask>
</defs>
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="laptop" transform="translate(0.000000, 202.000000)">
<polygon id="Polygon" fill="#555555" points="350.670408 226.793249 254.219409 249.771311 95.9915612 249.771311 0 226.793249"></polygon>
<use id="Rectangle" stroke="#555555" mask="url(#mask-2)" stroke-width="30" xlink:href="#path-1"></use>
</g>
<g id="lines" transform="translate(340.000000, 96.000000)" stroke="#555555" stroke-width="15" stroke-linecap="square">
<path d="M185.5,1.5 L79.5,1.5" id="Line"></path>
<path d="M79.5,209.5 L0.5,209.5" id="Line"></path>
<path d="M79.5,209.5 L79.5,2.98255955" id="Line" transform="translate(79.500000, 106.000000) scale(-1, 1) translate(-79.500000, -106.000000) "></path>
<path d="M343.5,1.5 L318.5,1.5" id="Line"></path>
</g>
<g id="server" transform="translate(528.000000, 0.000000)">
<g>
<use id="Rectangle-2" stroke="#555555" mask="url(#mask-4)" stroke-width="10" xlink:href="#path-3"></use>
<path d="M24.5,25.5 L98.5,25.5" id="Line" stroke="#555555" stroke-width="15" stroke-linecap="square"></path>
<path d="M24.5,49.5 L98.5,49.5" id="Line" stroke="#555555" stroke-width="15" stroke-linecap="square"></path>
<path d="M47.5,74.5 L98.5,74.5" id="Line" stroke="#555555" stroke-width="15" stroke-linecap="square"></path>
<circle id="Oval" fill="#555555" cx="24.5" cy="74.5" r="7.5"></circle>
</g>
</g>
<g id="server" transform="translate(688.000000, 0.000000)">
<g>
<use id="Rectangle-2" stroke="#555555" mask="url(#mask-6)" stroke-width="10" xlink:href="#path-5"></use>
<path d="M24.5,25.5 L98.5,25.5" id="Line" stroke="#555555" stroke-width="15" stroke-linecap="square"></path>
<path d="M24.5,49.5 L98.5,49.5" id="Line" stroke="#555555" stroke-width="15" stroke-linecap="square"></path>
<path d="M47.5,74.5 L98.5,74.5" id="Line" stroke="#555555" stroke-width="15" stroke-linecap="square"></path>
<circle id="Oval" fill="#555555" cx="24.5" cy="74.5" r="7.5"></circle>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -1,3 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 150" fill='#fff'>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 150" fill='#000'>
<path d="M124.47 116.895c-2.268 5.24-4.954 10.064-8.065 14.5-4.24 6.045-7.712 10.23-10.388 12.554-4.148 3.814-8.593 5.768-13.352 5.88-3.416 0-7.536-.973-12.333-2.946-4.81-1.963-9.234-2.935-13.277-2.935-4.24 0-8.79.97-13.653 2.934-4.872 1.973-8.797 3-11.798 3.102-4.564.195-9.113-1.815-13.653-6.037-2.897-2.528-6.522-6.862-10.865-13-4.66-6.556-8.49-14.157-11.49-22.824C2.38 98.766.77 89.7.77 80.926c0-10.053 2.172-18.723 6.523-25.99 3.42-5.835 7.968-10.438 13.662-13.818 5.693-3.38 11.845-5.102 18.47-5.212 3.624 0 8.378 1.122 14.285 3.325 5.89 2.212 9.673 3.333 11.33 3.333 1.24 0 5.443-1.31 12.566-3.924 6.736-2.425 12.42-3.43 17.078-3.034 12.62 1.02 22.1 5.994 28.406 14.956-11.286 6.84-16.87 16.417-16.758 28.705.1 9.57 3.574 17.536 10.397 23.86 3.092 2.935 6.546 5.203 10.388 6.814-.833 2.418-1.713 4.732-2.648 6.955zM95.526 3c0 7.502-2.74 14.506-8.203 20.99-6.592 7.706-14.566 12.16-23.213 11.457-.11-.9-.174-1.847-.174-2.843 0-7.2 3.135-14.908 8.702-21.21 2.78-3.19 6.315-5.844 10.602-7.96C87.517 1.35 91.564.196 95.37 0c.11 1.002.156 2.005.156 3z"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 8.7 KiB

After

Width:  |  Height:  |  Size: 8.7 KiB

View File

@ -1,3 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150" fill='#fff'>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150" fill='#000'>
<path d="M0 21.387l61.34-8.39v59.075H0m68.73-60.24L150 0v71.575H68.73M0 78.322h61.34v59.246L0 129.008M68.73 79.11H150V150l-81.27-11.473"/>
</svg>

Before

Width:  |  Height:  |  Size: 223 B

After

Width:  |  Height:  |  Size: 223 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

View File

@ -0,0 +1 @@
<svg fill="none" height="210" viewBox="0 0 592 210" width="592" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><filter id="a" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse" height="151" width="190" x="113" y="32"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" mode="normal" result="shape"/><feGaussianBlur result="effect1_foregroundBlur" stdDeviation="10"/></filter><path d="m0 0h592v210h-592z" fill="#fff"/><g filter="url(#a)" opacity=".08"><path d="m133 52h150v111h-150z" fill="#000"/></g><path d="m120 39h176v120h-176z" fill="#000"/><path d="m120 39h176v10h-176z" fill="#2e71e5"/><g stroke="#b8d9ff" stroke-width="3"><path d="m140 69.5h36"/><path d="m184 69.5h25"/><path d="m217 69.5h15"/><path d="m140 81.5h69"/><path d="m240 81.5h36"/><path d="m217 81.5h15"/><path d="m140 93.5h36"/><path d="m240 93.5h18"/><path d="m184 93.5h48"/><path d="m140 105.5h36"/><path d="m240 105.5h18"/><path d="m184 105.5h25"/><path d="m217 105.5h15"/><path d="m140 117.5h69"/><path d="m240 117.5h36"/><path d="m217 117.5h15"/><path d="m140 129.5h36"/><path d="m184 129.5h25"/><path d="m217 129.5h15"/></g><rect fill="#000" height="80" rx="2" width="56" x="435" y="129"/><rect fill="#000" height="80" rx="2" width="56" x="435" y="13"/><rect fill="#d2f8fe" height="80" rx="2" width="56" x="421" y="117"/><rect fill="#d6ebff" height="80" rx="2" width="56" x="421" y="1"/><path d="m429 13h40v10h-40z" fill="#000"/><path d="m429 63h26v2h-26z" fill="#000"/><path d="m467 63h2v2h-2z" fill="#000"/><path d="m429 67h26v2h-26z" fill="#000"/><path d="m467 67h2v2h-2z" fill="#000"/><path d="m467 71h2v2h-2z" fill="#000"/><path d="m463 63h2v2h-2z" fill="#000"/><path d="m463 67h2v2h-2z" fill="#000"/><path d="m463 71h2v2h-2z" fill="#000"/><path d="m459 63h2v2h-2z" fill="#000"/><path d="m459 67h2v2h-2z" fill="#000"/><path d="m459 71h2v2h-2z" fill="#000"/><path d="m429 129h40v10h-40z" fill="#000"/><path d="m429 179h40v2h-40z" fill="#000"/><path d="m429 183h40v2h-40z" fill="#000"/><path d="m429 187h40v2h-40z" fill="#000"/><path d="m406 157h-42c-4.418 0-8-3.582-8-8v-21" stroke="#343536" stroke-linejoin="round" stroke-width="2"/><path d="m306 99h42c4.418 0 8 3.582 8 8v21" stroke="#343536" stroke-linejoin="round" stroke-width="2"/><path d="m306 99c0-1.6569 1.343-3 3-3s3 1.3431 3 3c0 1.657-1.343 3-3 3s-3-1.343-3-3z" fill="#fff" stroke="#343536" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/><path d="m407.7 157.002-8.7 5.1v-10.2z" fill="#343536"/><path d="m406 41h-42c-4.418 0-8 3.5817-8 8v21" stroke="#343536" stroke-linejoin="round" stroke-width="2"/><path d="m306 99h42c4.418 0 8-3.5817 8-8v-21" stroke="#343536" stroke-linejoin="round" stroke-width="2"/><path d="m306 99c0 1.657 1.343 3 3 3s3-1.343 3-3c0-1.6569-1.343-3-3-3s-3 1.3431-3 3z" fill="#fff" stroke="#343536" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/><path d="m407.7 40.9984-8.7-5.1v10.2z" fill="#343536"/></svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

20
website/tsconfig.json Normal file
View File

@ -0,0 +1,20 @@
{
"compilerOptions": {
"allowJs": true,
"baseUrl": ".",
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"isolatedModules": true,
"jsx": "preserve",
"lib": ["dom", "dom.iterable", "esnext"],
"module": "esnext",
"moduleResolution": "node",
"noEmit": true,
"resolveJsonModule": true,
"skipLibCheck": true,
"strict": false,
"target": "es5"
},
"exclude": ["node_modules"],
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"]
}