New team page (#229)
* Wrote blog * feat: implement new team page * refactor: reusable link comp * chore: update images * perf: compress images * refactor: update link * refactor: update icons, remove white border in favor or rounded corners, add investors * changes to roles * team changes * refactor: add a few changes * style: slightly better styling * update team images paths * use proper image element * update haris to match team style + keep constant * improve team member styling * use vite import pattern * team tweaks * fix brendan crop * fix text and gradient color to match brand colors * engineer not developer!!! * add annoucement banner since this can not be merged until post annoucement anyway * fade in stuff * better copy * better haris.jpg * style: slight update to styling * Update apps/landing/src/pages/team.tsx * update my image * chore: remove unused log * Update team.tsx * use incorp'd name everywhere * update team credits * hoist headings in credits * consistent marketing copy in cargo * fix types * style tweaks * blog updates * blog title tweaks * fix demo * jj said lets round it up Co-authored-by: Lu Hill <email@lewie.me> Co-authored-by: Jamie Pine <ijamespine@me.com> Co-authored-by: maxichrome <maxichrome@users.noreply.github.com> Co-authored-by: xPolar <50601857+xPolar@users.noreply.github.com>
|
@ -60,7 +60,7 @@ representative at an online or offline event.
|
||||||
|
|
||||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
||||||
reported to the community leaders responsible for enforcement at
|
reported to the community leaders responsible for enforcement at
|
||||||
[hello@jamiepine.com](mailto:hello@jamiepine.com).
|
[jamie@spacedrive.com](mailto:jamie@spacedrive.com).
|
||||||
All complaints will be reviewed and investigated promptly and fairly.
|
All complaints will be reviewed and investigated promptly and fairly.
|
||||||
|
|
||||||
All community leaders are obligated to respect the privacy and security of the
|
All community leaders are obligated to respect the privacy and security of the
|
||||||
|
|
2
LICENSE
|
@ -1,4 +1,4 @@
|
||||||
Copyright (c) 2021-present Jamie Pine.
|
Copyright (c) 2021-present Spacedrive Technology Inc.
|
||||||
|
|
||||||
GNU GENERAL PUBLIC LICENSE
|
GNU GENERAL PUBLIC LICENSE
|
||||||
Version 3, 29 June 2007
|
Version 3, 29 June 2007
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
[package]
|
[package]
|
||||||
name = "spacedrive"
|
name = "spacedrive"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
description = "The next gen private virtual filesystem."
|
description = "The universal file manager."
|
||||||
authors = ["Jamie Pine"]
|
authors = ["Spacedrive Technology Inc."]
|
||||||
license = ""
|
license = ""
|
||||||
repository = "https://github.com/spacedriveapp/spacedrive"
|
repository = "https://github.com/spacedriveapp/spacedrive"
|
||||||
default-run = "spacedrive"
|
default-run = "spacedrive"
|
||||||
|
|
|
@ -24,9 +24,9 @@
|
||||||
],
|
],
|
||||||
"resources": [],
|
"resources": [],
|
||||||
"externalBin": [],
|
"externalBin": [],
|
||||||
"copyright": "Jamie Pine",
|
"copyright": "Spacedrive Technology Inc.",
|
||||||
"shortDescription": "The Universal File Explorer",
|
"shortDescription": "The universal file manager.",
|
||||||
"longDescription": "A cross-platform file explorer, powered by an open source virtual distributed filesystem.",
|
"longDescription": "A cross-platform universal file explorer, powered by an open-source virtual distributed filesystem.",
|
||||||
"deb": {
|
"deb": {
|
||||||
"depends": []
|
"depends": []
|
||||||
},
|
},
|
||||||
|
|
|
@ -17,9 +17,9 @@
|
||||||
"icon": ["icons/icon.icns"],
|
"icon": ["icons/icon.icns"],
|
||||||
"resources": [],
|
"resources": [],
|
||||||
"externalBin": [],
|
"externalBin": [],
|
||||||
"copyright": "Jamie Pine",
|
"copyright": "Spacedrive Technology Inc.",
|
||||||
"shortDescription": "Your personal virtual cloud.",
|
"shortDescription": "The universal file manager.",
|
||||||
"longDescription": "Spacedrive is an open source virtual filesystem, a personal cloud powered by your everyday devices. Feature-rich benefits of the cloud, only its owned and hosted by you with security, privacy and ownership as a foundation. Spacedrive makes it possible to create a limitless directory of your digital life that will stand the test of time.",
|
"longDescription": "A cross-platform universal file explorer, powered by an open-source virtual distributed filesystem.",
|
||||||
"deb": {
|
"deb": {
|
||||||
"depends": []
|
"depends": []
|
||||||
},
|
},
|
||||||
|
|
3
apps/landing/.gitignore
vendored
|
@ -22,3 +22,6 @@ dist-ssr
|
||||||
*.njsproj
|
*.njsproj
|
||||||
*.sln
|
*.sln
|
||||||
*.sw?
|
*.sw?
|
||||||
|
|
||||||
|
# Env
|
||||||
|
.env
|
|
@ -18,7 +18,7 @@
|
||||||
name="keywords"
|
name="keywords"
|
||||||
content="files,file manager,spacedrive,file explorer,vdfs,distributed filesystem,cas,content addressable storage,virtual filesystem,photos app, video organizer,video encoder,tags,tag based filesystem"
|
content="files,file manager,spacedrive,file explorer,vdfs,distributed filesystem,cas,content addressable storage,virtual filesystem,photos app, video organizer,video encoder,tags,tag based filesystem"
|
||||||
/>
|
/>
|
||||||
<meta name="author" content="Jamie Pine" />
|
<meta name="author" content="Spacedrive Technology Inc." />
|
||||||
<meta name="robots" content="index, follow" />
|
<meta name="robots" content="index, follow" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
|
@ -17,6 +17,7 @@
|
||||||
"@sd/interface": "workspace:*",
|
"@sd/interface": "workspace:*",
|
||||||
"@sd/ui": "workspace:*",
|
"@sd/ui": "workspace:*",
|
||||||
"@tailwindcss/typography": "^0.5.2",
|
"@tailwindcss/typography": "^0.5.2",
|
||||||
|
"@tryghost/content-api": "^1.11.0",
|
||||||
"@types/compression": "^1.7.2",
|
"@types/compression": "^1.7.2",
|
||||||
"@types/express": "^4.17.13",
|
"@types/express": "^4.17.13",
|
||||||
"clsx": "^1.1.1",
|
"clsx": "^1.1.1",
|
||||||
|
@ -37,12 +38,14 @@
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/preset-react": "^7.17.12",
|
"@babel/preset-react": "^7.17.12",
|
||||||
|
"@tailwindcss/line-clamp": "^0.4.0",
|
||||||
"@types/lodash": "^4.14.182",
|
"@types/lodash": "^4.14.182",
|
||||||
"@types/node": "^17.0.36",
|
"@types/node": "^17.0.36",
|
||||||
"@types/prismjs": "^1.26.0",
|
"@types/prismjs": "^1.26.0",
|
||||||
"@types/react": "^18.0.9",
|
"@types/react": "^18.0.9",
|
||||||
"@types/react-dom": "^18.0.5",
|
"@types/react-dom": "^18.0.5",
|
||||||
"@types/react-helmet": "^6.1.5",
|
"@types/react-helmet": "^6.1.5",
|
||||||
|
"@types/tryghost__content-api": "^1.3.10",
|
||||||
"@vitejs/plugin-react": "^1.3.2",
|
"@vitejs/plugin-react": "^1.3.2",
|
||||||
"autoprefixer": "^10.4.7",
|
"autoprefixer": "^10.4.7",
|
||||||
"nodemon": "^2.0.16",
|
"nodemon": "^2.0.16",
|
||||||
|
|
BIN
apps/landing/src/assets/images/investors/TOM.jpg
Normal file
After Width: | Height: | Size: 139 KiB |
BIN
apps/landing/src/assets/images/investors/augusto.jpg
Normal file
After Width: | Height: | Size: 150 KiB |
BIN
apps/landing/src/assets/images/investors/austen.jpg
Normal file
After Width: | Height: | Size: 1.9 MiB |
BIN
apps/landing/src/assets/images/investors/davidmytton.jpg
Normal file
After Width: | Height: | Size: 224 KiB |
BIN
apps/landing/src/assets/images/investors/guillermo.jpg
Normal file
After Width: | Height: | Size: 133 KiB |
BIN
apps/landing/src/assets/images/investors/haoyuan.jpg
Normal file
After Width: | Height: | Size: 112 KiB |
BIN
apps/landing/src/assets/images/investors/josephjacks.jpg
Normal file
After Width: | Height: | Size: 129 KiB |
BIN
apps/landing/src/assets/images/investors/justinhoffman.jpg
Normal file
After Width: | Height: | Size: 91 KiB |
BIN
apps/landing/src/assets/images/investors/lesterlee.jpg
Normal file
After Width: | Height: | Size: 128 KiB |
BIN
apps/landing/src/assets/images/investors/naval.jpg
Normal file
After Width: | Height: | Size: 39 KiB |
BIN
apps/landing/src/assets/images/investors/naveen.jpg
Normal file
After Width: | Height: | Size: 100 KiB |
BIN
apps/landing/src/assets/images/investors/neha.jpg
Normal file
After Width: | Height: | Size: 111 KiB |
BIN
apps/landing/src/assets/images/investors/peer.jpg
Normal file
After Width: | Height: | Size: 129 KiB |
BIN
apps/landing/src/assets/images/investors/rywalker.jpg
Normal file
After Width: | Height: | Size: 121 KiB |
BIN
apps/landing/src/assets/images/investors/sanjay.jpg
Normal file
After Width: | Height: | Size: 170 KiB |
BIN
apps/landing/src/assets/images/investors/sharma.jpg
Normal file
After Width: | Height: | Size: 161 KiB |
BIN
apps/landing/src/assets/images/investors/tobiaslutke.jpg
Normal file
After Width: | Height: | Size: 137 KiB |
BIN
apps/landing/src/assets/images/investors/zacharysmith.jpg
Normal file
After Width: | Height: | Size: 147 KiB |
BIN
apps/landing/src/assets/images/team/benja.jpg
Normal file
After Width: | Height: | Size: 196 KiB |
BIN
apps/landing/src/assets/images/team/brendan.jpg
Normal file
After Width: | Height: | Size: 211 KiB |
BIN
apps/landing/src/assets/images/team/haden.jpg
Normal file
After Width: | Height: | Size: 299 KiB |
BIN
apps/landing/src/assets/images/team/haris.jpg
Normal file
After Width: | Height: | Size: 497 KiB |
BIN
apps/landing/src/assets/images/team/jamie.jpg
Normal file
After Width: | Height: | Size: 150 KiB |
BIN
apps/landing/src/assets/images/team/oscar.jpg
Normal file
After Width: | Height: | Size: 160 KiB |
21
apps/landing/src/components/BlogTag.tsx
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
import { Tag } from '@tryghost/content-api';
|
||||||
|
import clsx from 'clsx';
|
||||||
|
import React from 'react';
|
||||||
|
|
||||||
|
export interface BlogTagProps {
|
||||||
|
tag: Tag;
|
||||||
|
}
|
||||||
|
|
||||||
|
export const BlogTag = (props: BlogTagProps) => {
|
||||||
|
return (
|
||||||
|
<span
|
||||||
|
className={`px-2 py-0.5 rounded-md text-gray-500 text-sm bg-gray-550`}
|
||||||
|
style={{
|
||||||
|
backgroundColor: props.tag.accent_color + '' ?? '',
|
||||||
|
color: parseInt(props.tag.accent_color?.slice(1) ?? '', 16) > 0xffffff / 2 ? '#000' : '#fff'
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{props.tag.name}
|
||||||
|
</span>
|
||||||
|
);
|
||||||
|
};
|
|
@ -26,7 +26,7 @@ export function Footer() {
|
||||||
<AppLogo className="w-10 h-10 mb-5" />
|
<AppLogo className="w-10 h-10 mb-5" />
|
||||||
|
|
||||||
<h3 className="mb-1 text-xl font-bold">Spacedrive</h3>
|
<h3 className="mb-1 text-xl font-bold">Spacedrive</h3>
|
||||||
<p className="text-sm text-gray-350">© Copyright 2022 Jamie Pine</p>
|
<p className="text-sm text-gray-350">© Copyright 2022 Spacedrive Technology Inc.</p>
|
||||||
<div className="flex flex-row mt-6 mb-10 space-x-3">
|
<div className="flex flex-row mt-6 mb-10 space-x-3">
|
||||||
<FooterLink link="https://twitter.com/spacedriveapp">
|
<FooterLink link="https://twitter.com/spacedriveapp">
|
||||||
<Twitter />
|
<Twitter />
|
||||||
|
@ -58,7 +58,7 @@ export function Footer() {
|
||||||
Mission
|
Mission
|
||||||
</FooterLink>
|
</FooterLink>
|
||||||
<FooterLink link="/changelog">Changelog</FooterLink>
|
<FooterLink link="/changelog">Changelog</FooterLink>
|
||||||
<FooterLink link="https://blog.spacedrive.com">Blog</FooterLink>
|
<FooterLink link="/blog">Blog</FooterLink>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex flex-col col-span-1 space-y-2 pointer-events-none">
|
<div className="flex flex-col col-span-1 space-y-2 pointer-events-none">
|
||||||
<h3 className="mb-1 text-xs font-bold uppercase">Downloads</h3>
|
<h3 className="mb-1 text-xs font-bold uppercase">Downloads</h3>
|
||||||
|
|
|
@ -13,7 +13,7 @@ function MarkdownPage(props: MarkdownPageProps) {
|
||||||
Prism.highlightAll();
|
Prism.highlightAll();
|
||||||
}, []);
|
}, []);
|
||||||
return (
|
return (
|
||||||
<div className="container max-w-4xl p-4 mt-32 mb-20">
|
<div className="sm:container max-w-4xl p-4 mt-32 mb-20">
|
||||||
<article id="content" className="m-auto prose lg:prose-xs dark:prose-invert">
|
<article id="content" className="m-auto prose lg:prose-xs dark:prose-invert">
|
||||||
{props.children}
|
{props.children}
|
||||||
</article>
|
</article>
|
||||||
|
|
|
@ -9,7 +9,7 @@ import {
|
||||||
import { Discord, Github } from '@icons-pack/react-simple-icons';
|
import { Discord, Github } from '@icons-pack/react-simple-icons';
|
||||||
import { Button, Dropdown } from '@sd/ui';
|
import { Button, Dropdown } from '@sd/ui';
|
||||||
import clsx from 'clsx';
|
import clsx from 'clsx';
|
||||||
import { Link, List, MapPin, Question } from 'phosphor-react';
|
import { BookmarkSimple, Link, List, MapPin } from 'phosphor-react';
|
||||||
import React, { useEffect, useState } from 'react';
|
import React, { useEffect, useState } from 'react';
|
||||||
|
|
||||||
import { ReactComponent as AppLogo } from '../assets/app-logo.svg';
|
import { ReactComponent as AppLogo } from '../assets/app-logo.svg';
|
||||||
|
@ -48,7 +48,7 @@ export default function NavBar() {
|
||||||
: 'border-gray-550 bg-gray-750 bg-opacity-80 backdrop-blur'
|
: 'border-gray-550 bg-gray-750 bg-opacity-80 backdrop-blur'
|
||||||
)}
|
)}
|
||||||
>
|
>
|
||||||
<div className="container relative flex items-center h-full px-5 m-auto">
|
<div className="relative flex items-center h-full px-5 m-auto sm:container">
|
||||||
<a href="/" className="absolute flex flex-row items-center">
|
<a href="/" className="absolute flex flex-row items-center">
|
||||||
<AppLogo className="z-30 w-8 h-8 mr-3" />
|
<AppLogo className="z-30 w-8 h-8 mr-3" />
|
||||||
<h3 className="text-xl font-bold text-white">
|
<h3 className="text-xl font-bold text-white">
|
||||||
|
@ -61,9 +61,8 @@ export default function NavBar() {
|
||||||
<NavLink link="/roadmap">Roadmap</NavLink>
|
<NavLink link="/roadmap">Roadmap</NavLink>
|
||||||
<NavLink link="/faq">FAQ</NavLink>
|
<NavLink link="/faq">FAQ</NavLink>
|
||||||
<NavLink link="/team">Team</NavLink>
|
<NavLink link="/team">Team</NavLink>
|
||||||
<NavLink link="https://spacedrive.hashnode.dev">Blog</NavLink>
|
<NavLink link="/blog">Blog</NavLink>
|
||||||
{/* <NavLink link="/change-log">Changelog</NavLink>
|
{/* <NavLink link="/jobs">Jobs</NavLink> */}
|
||||||
<NavLink link="/privacy">Privacy</NavLink> */}
|
|
||||||
</div>
|
</div>
|
||||||
<Dropdown
|
<Dropdown
|
||||||
className="absolute block h-6 w-44 top-2 right-4 lg:hidden"
|
className="absolute block h-6 w-44 top-2 right-4 lg:hidden"
|
||||||
|
@ -82,6 +81,12 @@ export default function NavBar() {
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
|
{
|
||||||
|
name: 'Blog',
|
||||||
|
icon: BookmarkSimple,
|
||||||
|
onPress: () => (window.location.href = '/blog'),
|
||||||
|
selected: window.location.href.includes('/blog')
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: 'Roadmap',
|
name: 'Roadmap',
|
||||||
icon: MapIcon,
|
icon: MapIcon,
|
||||||
|
|
93
apps/landing/src/components/TeamMember.tsx
Normal file
|
@ -0,0 +1,93 @@
|
||||||
|
import { Github, Twitch, Twitter } from '@icons-pack/react-simple-icons';
|
||||||
|
import clsx from 'clsx';
|
||||||
|
import React from 'react';
|
||||||
|
|
||||||
|
export interface TeamMemberProps {
|
||||||
|
// Name of team member
|
||||||
|
name: string;
|
||||||
|
|
||||||
|
// Member's role
|
||||||
|
role: string;
|
||||||
|
|
||||||
|
// Member's avatar
|
||||||
|
image: string;
|
||||||
|
|
||||||
|
// Socials
|
||||||
|
socials?: {
|
||||||
|
twitter?: string;
|
||||||
|
twitch?: string;
|
||||||
|
github?: string;
|
||||||
|
};
|
||||||
|
|
||||||
|
// Which round an investor joined at
|
||||||
|
investmentRound?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface LinkProps {
|
||||||
|
// Elements inside anchor tag
|
||||||
|
children: React.ReactNode;
|
||||||
|
|
||||||
|
// Anchor href
|
||||||
|
href: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
function Link(props: LinkProps) {
|
||||||
|
return (
|
||||||
|
<a
|
||||||
|
className="duration-300 hover:scale-105 hover:opacity-80"
|
||||||
|
href={props.href}
|
||||||
|
rel="noreferer"
|
||||||
|
target="_blank"
|
||||||
|
>
|
||||||
|
{props.children}
|
||||||
|
</a>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export function TeamMember(props: TeamMemberProps) {
|
||||||
|
const size = props.investmentRound ? 144 : 111;
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div className="flex flex-col">
|
||||||
|
<img
|
||||||
|
src={new URL(`../assets/images/${props.image}`, import.meta.url).href}
|
||||||
|
role="img"
|
||||||
|
alt={`Portrait of ${props.name}`}
|
||||||
|
width={size}
|
||||||
|
height={size}
|
||||||
|
className={clsx('inline-flex m-0 rounded-md', {
|
||||||
|
'w-32 h-32 !xs:w-36 !xs:h-36 !sm:w-40 !sm:h-40': !props.investmentRound,
|
||||||
|
'lg:w-28 lg:h-28': props.investmentRound
|
||||||
|
})}
|
||||||
|
/>
|
||||||
|
<h3 className="mt-4 mb-0 text-base">{props.name}</h3>
|
||||||
|
<p
|
||||||
|
className={clsx('text-xs', {
|
||||||
|
'mb-0': props.investmentRound
|
||||||
|
})}
|
||||||
|
>
|
||||||
|
{props.role}
|
||||||
|
</p>
|
||||||
|
{props.investmentRound && (
|
||||||
|
<p className="mt-0 mb-0 text-sm font-semibold text-gray-450">{props.investmentRound}</p>
|
||||||
|
)}
|
||||||
|
<div className="flex flex-row mt-3 space-x-2">
|
||||||
|
{props.socials?.twitter && (
|
||||||
|
<Link href={props.socials.twitter}>
|
||||||
|
<Twitter className="w-[20px] h-[20px]" />
|
||||||
|
</Link>
|
||||||
|
)}
|
||||||
|
{props.socials?.github && (
|
||||||
|
<Link href={props.socials.github}>
|
||||||
|
<Github className="w-[20px] h-[20px]" />
|
||||||
|
</Link>
|
||||||
|
)}
|
||||||
|
{props.socials?.twitch && (
|
||||||
|
<Link href={props.socials.twitch}>
|
||||||
|
<Twitch className="w-[20px] h-[20px]" />
|
||||||
|
</Link>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
|
@ -23,7 +23,7 @@ function App() {
|
||||||
</Button>
|
</Button>
|
||||||
|
|
||||||
<NavBar />
|
<NavBar />
|
||||||
<div className="container z-10 flex flex-col items-center px-4 mx-auto overflow-x-hidden sm:overflow-x-visible ">
|
<div className="sm:container w-full z-10 flex flex-col items-center px-4 mx-auto overflow-x-hidden sm:overflow-x-visible ">
|
||||||
{useRoutes(routes)}
|
{useRoutes(routes)}
|
||||||
<Footer />
|
<Footer />
|
||||||
</div>
|
</div>
|
||||||
|
|
60
apps/landing/src/pages/blog/[slug].tsx
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
import { PostOrPage, Tag } from '@tryghost/content-api';
|
||||||
|
import Prism from 'prismjs';
|
||||||
|
import 'prismjs/components/prism-rust';
|
||||||
|
import React, { useEffect, useState } from 'react';
|
||||||
|
|
||||||
|
import '../../atom-one.css';
|
||||||
|
import { BlogTag } from '../../components/BlogTag';
|
||||||
|
import { getPost } from './posts';
|
||||||
|
|
||||||
|
function MarkdownPage() {
|
||||||
|
const [post, setPost] = useState<PostOrPage | null>(null);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
const get = async () => {
|
||||||
|
let slug = window.location.pathname.split('/blog/')[1];
|
||||||
|
const post = await getPost(slug);
|
||||||
|
setPost(post);
|
||||||
|
};
|
||||||
|
get();
|
||||||
|
Prism.highlightAll();
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div className="container max-w-4xl p-4 m-auto mt-8 mb-20 prose lg:prose-xs dark:prose-invert">
|
||||||
|
{post && (
|
||||||
|
<>
|
||||||
|
<figure>
|
||||||
|
<figcaption
|
||||||
|
dangerouslySetInnerHTML={{ __html: post.feature_image_caption as any }}
|
||||||
|
></figcaption>
|
||||||
|
<img src={post?.feature_image as string} alt="" className="rounded-xl" />
|
||||||
|
</figure>
|
||||||
|
<section className="flex flex-wrap gap-4 px-8 -mx-8 rounded-xl">
|
||||||
|
<div className="flex-grow">
|
||||||
|
<h1 className="m-0 text-2xl leading-snug sm:leading-normal sm:text-4xl">
|
||||||
|
{post?.title}
|
||||||
|
</h1>
|
||||||
|
<p className="m-0 mt-2">
|
||||||
|
by <b>{post?.primary_author?.name}</b> ·{' '}
|
||||||
|
{new Date(post?.published_at ?? '').toLocaleDateString()}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div className="flex flex-wrap gap-2">
|
||||||
|
{post?.tags?.map((tag: Tag) => {
|
||||||
|
return <BlogTag tag={tag} />;
|
||||||
|
})}
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<article
|
||||||
|
id="content"
|
||||||
|
className="text-lg"
|
||||||
|
dangerouslySetInnerHTML={{ __html: post.html as string }}
|
||||||
|
></article>
|
||||||
|
</>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default MarkdownPage;
|
67
apps/landing/src/pages/blog/index.tsx
Normal file
|
@ -0,0 +1,67 @@
|
||||||
|
import { PostOrPage, PostsOrPages, Tag } from '@tryghost/content-api';
|
||||||
|
import React, { useEffect, useState } from 'react';
|
||||||
|
|
||||||
|
import { BlogTag } from '../../components/BlogTag';
|
||||||
|
import { blogEnabled, getPosts } from './posts';
|
||||||
|
|
||||||
|
function Page() {
|
||||||
|
if (!blogEnabled) {
|
||||||
|
window.location.href = '/';
|
||||||
|
return <></>;
|
||||||
|
}
|
||||||
|
|
||||||
|
const [posts, setPosts] = useState<PostsOrPages | never[]>([]);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
const get = async () => {
|
||||||
|
const posts: PostsOrPages | never[] = await getPosts();
|
||||||
|
setPosts(posts);
|
||||||
|
};
|
||||||
|
get();
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div className="container flex flex-col max-w-4xl gap-20 p-4 m-auto mt-32 mb-20 prose lg:prose-xs dark:prose-invert">
|
||||||
|
<section>
|
||||||
|
<h1 className="m-0">Blog</h1>
|
||||||
|
<p className="">Get the latest from Spacedrive.</p>
|
||||||
|
</section>
|
||||||
|
<section className="grid grid-cols-1 gap-4 sm:grid-cols-1 lg:grid-cols-1">
|
||||||
|
{posts.map((post: PostOrPage) => {
|
||||||
|
return (
|
||||||
|
<div
|
||||||
|
onClick={() => {
|
||||||
|
window.location.href = `/blog/${post.slug}`;
|
||||||
|
}}
|
||||||
|
className="relative z-0 flex flex-col gap-2 mb-8 overflow-hidden transition-colors border border-gray-500 cursor-pointer rounded-xl"
|
||||||
|
>
|
||||||
|
{post.feature_image && (
|
||||||
|
<img
|
||||||
|
src={post.feature_image}
|
||||||
|
alt=""
|
||||||
|
className="inset-0 object-cover w-full m-0 h-96 -z-10 rounded-t-xl"
|
||||||
|
/>
|
||||||
|
)}
|
||||||
|
<div className="p-8">
|
||||||
|
<h2 className="m-0 text-4xl">{post.title}</h2>
|
||||||
|
<small className="m-0">{post.reading_time} minute read.</small>
|
||||||
|
<p className="my-2 line-clamp-3">{post.excerpt}</p>
|
||||||
|
<p className="m-0 text-white">
|
||||||
|
by {post.primary_author?.name} ·{' '}
|
||||||
|
{new Date(post.published_at ?? '').toLocaleDateString()}
|
||||||
|
</p>
|
||||||
|
<div className="flex flex-wrap gap-2 mt-4">
|
||||||
|
{post.tags?.map((tag: Tag) => {
|
||||||
|
return <BlogTag tag={tag} />;
|
||||||
|
})}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
})}
|
||||||
|
</section>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Page;
|
41
apps/landing/src/pages/blog/posts.ts
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
import GhostContentAPI from '@tryghost/content-api';
|
||||||
|
|
||||||
|
// Ghost key is a public key
|
||||||
|
const ghostKey = import.meta.env.VITE_CONTENT_API_KEY;
|
||||||
|
const ghostURL = import.meta.env.VITE_API_URL;
|
||||||
|
|
||||||
|
export const blogEnabled = ghostURL && ghostKey;
|
||||||
|
|
||||||
|
export const api = blogEnabled
|
||||||
|
? new GhostContentAPI({
|
||||||
|
url: ghostURL,
|
||||||
|
key: ghostKey,
|
||||||
|
version: 'v4'
|
||||||
|
})
|
||||||
|
: null;
|
||||||
|
|
||||||
|
export async function getPosts() {
|
||||||
|
if (!api) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
const posts = await api.posts
|
||||||
|
.browse({
|
||||||
|
include: ['tags', 'authors']
|
||||||
|
})
|
||||||
|
.catch(() => []);
|
||||||
|
return posts;
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function getPost(slug: string) {
|
||||||
|
if (!api) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return await api.posts
|
||||||
|
.read(
|
||||||
|
{ slug },
|
||||||
|
{
|
||||||
|
include: ['tags', 'authors']
|
||||||
|
}
|
||||||
|
)
|
||||||
|
.catch(() => null);
|
||||||
|
}
|
|
@ -6,6 +6,7 @@ import { ReactComponent as Info } from '../../../../packages/interface/src/asset
|
||||||
import AppEmbed from '../components/AppEmbed';
|
import AppEmbed from '../components/AppEmbed';
|
||||||
import { Bubbles } from '../components/Bubbles';
|
import { Bubbles } from '../components/Bubbles';
|
||||||
import HomeCTA from '../components/HomeCTA';
|
import HomeCTA from '../components/HomeCTA';
|
||||||
|
import NewBanner from '../components/NewBanner';
|
||||||
|
|
||||||
interface SectionProps {
|
interface SectionProps {
|
||||||
orientation: 'left' | 'right';
|
orientation: 'left' | 'right';
|
||||||
|
@ -78,18 +79,18 @@ function Page() {
|
||||||
<>
|
<>
|
||||||
<div className="mt-22 lg:mt-28" id="content" aria-hidden="true" />
|
<div className="mt-22 lg:mt-28" id="content" aria-hidden="true" />
|
||||||
<div className="mt-24 lg:mt-5" />
|
<div className="mt-24 lg:mt-5" />
|
||||||
{/* <NewBanner
|
<NewBanner
|
||||||
headline="Spacedrive raises $1.9M led by OSS Capital"
|
headline="Spacedrive raises $2M led by OSS Capital"
|
||||||
href="https://spacedrive.hashnode.dev/spacedrive-funding-announcement"
|
href="https://spacedrive.com/blog/spacedrive-funding-announcement"
|
||||||
link="Read post"
|
link="Read post"
|
||||||
/> */}
|
/>
|
||||||
{unsubscribedFromWaitlist && (
|
{unsubscribedFromWaitlist && (
|
||||||
<div
|
<div
|
||||||
className={
|
className={
|
||||||
'-mt-8 flex flex-row items-center bg-opacity-20 border-2 my-2 px-2 rounded-md bg-green-800 border-green-900'
|
'-mt-8 flex flex-row items-center bg-opacity-20 border-2 my-2 px-2 rounded-md bg-green-800 border-green-900'
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
<Info className="fill-green-500 w-5 mr-1" />
|
<Info className="w-5 mr-1 fill-green-500" />
|
||||||
<p className={'text-sm text-green-500'}>You have been unsubscribed from the waitlist</p>
|
<p className={'text-sm text-green-500'}>You have been unsubscribed from the waitlist</p>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|
|
@ -1,8 +1,183 @@
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { Helmet } from 'react-helmet';
|
import { Helmet } from 'react-helmet';
|
||||||
import { ReactComponent as Content } from '~/docs/product/credits.md';
|
|
||||||
|
|
||||||
|
import { ReactComponent as ArrowRight } from '../../../../packages/interface/src/assets/svg/arrow-right.svg';
|
||||||
import Markdown from '../components/Markdown';
|
import Markdown from '../components/Markdown';
|
||||||
|
import { TeamMember, TeamMemberProps } from '../components/TeamMember';
|
||||||
|
|
||||||
|
const teamMembers: Array<TeamMemberProps> = [
|
||||||
|
{
|
||||||
|
name: 'Jamie Pine',
|
||||||
|
role: 'Founder, Engineer & Designer',
|
||||||
|
image: 'team/jamie.jpg',
|
||||||
|
socials: {
|
||||||
|
twitter: 'https://twitter.com/jamiepine',
|
||||||
|
twitch: 'https://twitch.tv/jamiepinelive',
|
||||||
|
github: 'https://github.com/jamiepine'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Brendan Allan',
|
||||||
|
role: 'Rust Backend Engineer',
|
||||||
|
image: 'team/brendan.jpg',
|
||||||
|
socials: {
|
||||||
|
twitter: 'https://twitter.com/brendonovichdev',
|
||||||
|
twitch: 'https://twitch.tv/brendonovich',
|
||||||
|
github: 'https://github.com/brendonovich'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Oscar Beaumont',
|
||||||
|
role: 'Rust Backend Engineer',
|
||||||
|
image: 'team/oscar.jpg',
|
||||||
|
socials: {
|
||||||
|
twitter: 'https://twitter.com/oscartbeaumont',
|
||||||
|
twitch: 'https://twitch.tv/oscartbeaumont',
|
||||||
|
github: 'https://github.com/oscartbeaumont'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Haden Fletcher',
|
||||||
|
role: 'Engineer & Designer',
|
||||||
|
image: 'team/haden.jpg',
|
||||||
|
socials: {
|
||||||
|
twitter: 'https://twitter.com/heymaxichrome',
|
||||||
|
twitch: 'https://twitch.tv/maxichrome',
|
||||||
|
github: 'https://github.com/maxichrome'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Benjamin Akar',
|
||||||
|
role: 'Engineer & Designer',
|
||||||
|
image: 'team/benja.jpg',
|
||||||
|
socials: {
|
||||||
|
twitter: 'https://twitter.com/benjaminakar',
|
||||||
|
twitch: 'https://twitch.tv/akawr',
|
||||||
|
github: 'https://github.com/benja'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Haris Mehrzad',
|
||||||
|
role: 'Engineer Intern',
|
||||||
|
image: 'team/haris.jpg',
|
||||||
|
socials: {
|
||||||
|
twitter: 'https://twitter.com/xPolarrr',
|
||||||
|
twitch: 'https://twitch.tv/polar_dev',
|
||||||
|
github: 'https://github.com/xPolar'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
const investors: Array<TeamMemberProps> = [
|
||||||
|
{
|
||||||
|
name: 'Joseph Jacks',
|
||||||
|
role: 'Founder, OSSC',
|
||||||
|
investmentRound: 'Lead Seed',
|
||||||
|
image: 'investors/josephjacks.jpg'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Guillermo Rauch',
|
||||||
|
role: 'CEO, Vercel',
|
||||||
|
investmentRound: 'Co-Lead Seed',
|
||||||
|
image: 'investors/guillermo.jpg'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Naval Ravikant',
|
||||||
|
role: 'Founder, AngelList',
|
||||||
|
investmentRound: 'Co-Lead Seed',
|
||||||
|
image: 'investors/naval.jpg'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Neha Narkhede',
|
||||||
|
role: 'Confluent, Apache Kafka',
|
||||||
|
investmentRound: 'Seed',
|
||||||
|
image: 'investors/neha.jpg'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Austen Allred',
|
||||||
|
role: 'CEO, Bloom Institute of Technology',
|
||||||
|
investmentRound: 'Seed',
|
||||||
|
image: 'investors/austen.jpg'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Tom Preston-Werner',
|
||||||
|
role: 'Founder, GitHub',
|
||||||
|
investmentRound: 'Seed',
|
||||||
|
image: 'investors/TOM.jpg'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Tobias Lütke',
|
||||||
|
role: 'CEO, Shopify',
|
||||||
|
investmentRound: 'Seed',
|
||||||
|
image: 'investors/tobiaslutke.jpg'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Justin Hoffman',
|
||||||
|
role: 'Former VP Sales, Elasticsearch',
|
||||||
|
investmentRound: 'Seed',
|
||||||
|
image: 'investors/justinhoffman.jpg'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Ry Walker',
|
||||||
|
role: 'Founder, Astronomer',
|
||||||
|
investmentRound: 'Seed',
|
||||||
|
image: 'investors/rywalker.jpg'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Zachary Smith',
|
||||||
|
role: 'Head of Edge Infrastructure, Equinix',
|
||||||
|
investmentRound: 'Seed',
|
||||||
|
image: 'investors/zacharysmith.jpg'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Sanjay Poonen',
|
||||||
|
role: 'Former COO, VMware',
|
||||||
|
investmentRound: 'Seed',
|
||||||
|
image: 'investors/sanjay.jpg'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'David Mytton',
|
||||||
|
role: 'CEO, console.dev',
|
||||||
|
investmentRound: 'Seed',
|
||||||
|
image: 'investors/davidmytton.jpg'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Peer Richelsen',
|
||||||
|
role: 'CEO, Cal.com',
|
||||||
|
investmentRound: 'Seed',
|
||||||
|
image: 'investors/peer.jpg'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Lester Lee',
|
||||||
|
role: 'Founder, Slapdash',
|
||||||
|
investmentRound: 'Seed',
|
||||||
|
image: 'investors/lesterlee.jpg'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Haoyuan Li',
|
||||||
|
role: 'Founder, Alluxio',
|
||||||
|
investmentRound: 'Seed',
|
||||||
|
image: 'investors/haoyuan.jpg'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Augusto Marietti',
|
||||||
|
role: 'CEO, Kong',
|
||||||
|
investmentRound: 'Seed',
|
||||||
|
image: 'investors/augusto.jpg'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Vijay Sharma',
|
||||||
|
role: 'CEO, Belong',
|
||||||
|
investmentRound: 'Seed',
|
||||||
|
image: 'investors/sharma.jpg'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Naveen R',
|
||||||
|
role: 'Founder, NocoDB',
|
||||||
|
investmentRound: 'Seed',
|
||||||
|
image: 'investors/naveen.jpg'
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
function Page() {
|
function Page() {
|
||||||
return (
|
return (
|
||||||
|
@ -11,8 +186,66 @@ function Page() {
|
||||||
<title>Our Team - Spacedrive</title>
|
<title>Our Team - Spacedrive</title>
|
||||||
<meta name="description" content="Who's behind Spacedrive?" />
|
<meta name="description" content="Who's behind Spacedrive?" />
|
||||||
</Helmet>
|
</Helmet>
|
||||||
<div className="team-page">
|
<div className="relative team-page">
|
||||||
<Content />
|
<div
|
||||||
|
className="absolute -top-60 -right-[400px] opacity-60 w-[1000px] h-[800px] fade-in"
|
||||||
|
style={{
|
||||||
|
background:
|
||||||
|
'linear-gradient(180deg, rgba(180, 180, 180, 0.76) 0%, rgba(19, 4, 168, 0.41) 95.73%)',
|
||||||
|
filter: 'blur(300px)',
|
||||||
|
transform: 'rotate(56.81deg)'
|
||||||
|
}}
|
||||||
|
></div>
|
||||||
|
<div className="relative z-10">
|
||||||
|
<h1 className="text-5xl leading-snug fade-in-heading ">
|
||||||
|
We believe file management should be <span className="title-gradient">universal</span>.
|
||||||
|
</h1>
|
||||||
|
<p className="text-gray-400 animation-delay-2 fade-in-heading ">
|
||||||
|
Your priceless personal data shouldn't be stuck in a device ecosystem. It should be OS
|
||||||
|
agnostic, permanent and owned by you.
|
||||||
|
</p>
|
||||||
|
<p className="text-gray-400 animation-delay-2 fade-in-heading ">
|
||||||
|
The data we create daily is our legacy—that will long outlive us. Open source technology
|
||||||
|
is the only way to ensure we retain absolute control over the files that define our
|
||||||
|
lives, at unlimited scale.
|
||||||
|
</p>
|
||||||
|
<a
|
||||||
|
href="/faq"
|
||||||
|
className="flex flex-row items-center text-gray-400 duration-150 animation-delay-3 fade-in-heading hover:text-white text-underline underline-offset-4"
|
||||||
|
>
|
||||||
|
<ArrowRight className="mr-2" />
|
||||||
|
Read more
|
||||||
|
</a>
|
||||||
|
<div className="fade-in-heading animation-delay-5">
|
||||||
|
<h2 className="mt-10 text-2xl leading-relaxed sm:mt-20 ">Meet the team</h2>
|
||||||
|
<div className="grid grid-cols-2 my-10 xs:grid-cols-3 sm:grid-cols-4 gap-x-5 gap-y-10">
|
||||||
|
{teamMembers.map((member) => (
|
||||||
|
<TeamMember key={member.name} {...member} />
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
<p className="text-sm text-gray-400">
|
||||||
|
... and all the awesome{' '}
|
||||||
|
<a
|
||||||
|
href="https://github.com/spacedriveapp/spacedrive/graphs/contributors"
|
||||||
|
target="_blank"
|
||||||
|
rel="noreferer"
|
||||||
|
className="duration-200 oss-credit-gradient hover:opacity-75"
|
||||||
|
>
|
||||||
|
open source contributors
|
||||||
|
</a>{' '}
|
||||||
|
on GitHub.
|
||||||
|
</p>
|
||||||
|
<h2 className="mt-10 mb-2 text-2xl leading-relaxed sm:mt-20 ">Our investors</h2>
|
||||||
|
<p className="text-sm text-gray-400 ">
|
||||||
|
We're backed by some of the greatest leaders in the technology industry.
|
||||||
|
</p>
|
||||||
|
<div className="grid grid-cols-3 my-10 sm:grid-cols-5 gap-x-5 gap-y-10">
|
||||||
|
{investors.map((investor) => (
|
||||||
|
<TeamMember key={investor.name + investor.investmentRound} {...investor} />
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</Markdown>
|
</Markdown>
|
||||||
);
|
);
|
||||||
|
|
|
@ -7,6 +7,20 @@ html {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.title-gradient {
|
||||||
|
background: linear-gradient(94.79deg, #e86aff 33.64%, #53afff 68.78%), #ffffff;
|
||||||
|
-webkit-background-clip: text;
|
||||||
|
-webkit-text-fill-color: transparent;
|
||||||
|
background-clip: text;
|
||||||
|
}
|
||||||
|
|
||||||
|
.oss-credit-gradient {
|
||||||
|
background: linear-gradient(90.85deg, #ffffff 8.44%, #d1d1d1 21.35%);
|
||||||
|
-webkit-background-clip: text;
|
||||||
|
-webkit-text-fill-color: transparent;
|
||||||
|
background-clip: text;
|
||||||
|
}
|
||||||
|
|
||||||
.landing-img {
|
.landing-img {
|
||||||
background-image: url('/app.png');
|
background-image: url('/app.png');
|
||||||
background-size: contain;
|
background-size: contain;
|
||||||
|
@ -47,6 +61,12 @@ html {
|
||||||
.animation-delay-3 {
|
.animation-delay-3 {
|
||||||
animation-delay: 700ms;
|
animation-delay: 700ms;
|
||||||
}
|
}
|
||||||
|
.animation-delay-4 {
|
||||||
|
animation-delay: 1000ms;
|
||||||
|
}
|
||||||
|
.animation-delay-5 {
|
||||||
|
animation-delay: 1200ms;
|
||||||
|
}
|
||||||
|
|
||||||
@keyframes fadeInDown {
|
@keyframes fadeInDown {
|
||||||
from {
|
from {
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
[package]
|
[package]
|
||||||
name = "sdcore"
|
name = "sdcore"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
description = "A virtual distributed filesystem."
|
description = "Virtual distributed filesystem engine that powers Spacedrive."
|
||||||
authors = ["Jamie Pine"]
|
authors = ["Spacedrive Technology Inc."]
|
||||||
license = "GNU GENERAL PUBLIC LICENSE"
|
license = "GNU GENERAL PUBLIC LICENSE"
|
||||||
repository = "https://github.com/spacedriveapp/spacedrive"
|
repository = "https://github.com/spacedriveapp/spacedrive"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
|
@ -1,16 +1,16 @@
|
||||||
## Spacedrive
|
# Spacedrive
|
||||||
|
|
||||||
_© Copyright 2022-Present Jamie Pine_
|
Copyright © 2022-present Spacedrive Technology Inc.
|
||||||
|
|
||||||
### Business contact
|
## Business contact
|
||||||
|
|
||||||
hello@jamiepine.com
|
jamie@spacedrive.com
|
||||||
|
|
||||||
### Developers
|
## Developers
|
||||||
|
|
||||||
Jamie Pine, Brendonovich, Oscar Beaumont
|
Jamie Pine, Brendan Allan, Oscar Beaumont, Haden Fletcher, Benjamin Akar, Haris Mehrzad, and all other contributors displayed below!
|
||||||
|
|
||||||
### Contributors
|
## Contributors
|
||||||
|
|
||||||
<a href="https://github.com/spacedriveapp/spacedrive/graphs/contributors">
|
<a href="https://github.com/spacedriveapp/spacedrive/graphs/contributors">
|
||||||
<img
|
<img
|
||||||
|
|
4
packages/interface/src/assets/svg/arrow-right.svg
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M2.5 8H13.5" stroke="#979BAE" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<path d="M9 3.5L13.5 8L9 12.5" stroke="#979BAE" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 288 B |
|
@ -109,9 +109,12 @@ export const Sidebar: React.FC<SidebarProps> = (props) => {
|
||||||
variant: 'gray'
|
variant: 'gray'
|
||||||
}}
|
}}
|
||||||
// buttonIcon={<Book weight="bold" className="w-4 h-4 mt-0.5 mr-1" />}
|
// buttonIcon={<Book weight="bold" className="w-4 h-4 mt-0.5 mr-1" />}
|
||||||
buttonText={clientState?.node_name || 'Loading...'}
|
buttonText={clientState?.node_name || 'My Library'}
|
||||||
items={[
|
items={[
|
||||||
[{ name: clientState?.node_name || '', selected: true }, { name: 'Private Library' }],
|
[
|
||||||
|
{ name: clientState?.node_name || 'My Library', selected: true },
|
||||||
|
{ name: 'Private Library' }
|
||||||
|
],
|
||||||
[
|
[
|
||||||
{ name: 'Library Settings', icon: CogIcon },
|
{ name: 'Library Settings', icon: CogIcon },
|
||||||
{ name: 'Add Library', icon: PlusIcon },
|
{ name: 'Add Library', icon: PlusIcon },
|
||||||
|
|
|
@ -206,19 +206,19 @@ export const OverviewScreen = () => {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex flex-col pb-4 space-y-4">
|
<div className="flex flex-col pb-4 space-y-4">
|
||||||
{nodeState && (
|
<Device
|
||||||
<Device
|
name={`James' MacBook Pro`}
|
||||||
name={nodeState?.node_name ?? 'This Device'}
|
size="1TB"
|
||||||
size="1.4TB"
|
locations={[
|
||||||
runningJob={{ amount: 65, task: 'Generating preview media' }}
|
{ name: 'Documents', folder: true },
|
||||||
locations={[
|
{ name: 'Movies', folder: true },
|
||||||
{ name: 'Pictures', folder: true },
|
{ name: 'Downloads', folder: true },
|
||||||
{ name: 'Downloads', folder: true },
|
{ name: 'Minecraft', folder: true },
|
||||||
{ name: 'Minecraft', folder: true }
|
{ name: 'Projects', folder: true },
|
||||||
]}
|
{ name: 'Notes', folder: true }
|
||||||
type="laptop"
|
]}
|
||||||
/>
|
type="desktop"
|
||||||
)}
|
/>
|
||||||
<Device
|
<Device
|
||||||
name={`James' iPhone 12`}
|
name={`James' iPhone 12`}
|
||||||
size="47.7GB"
|
size="47.7GB"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
// const colors = require('tailwindcss/colors');
|
// const colors = require('tailwindcss/colors');
|
||||||
// const plugin = require('tailwindcss/plugin');
|
// const plugin = require('tailwindcss/plugin');
|
||||||
// const defaultTheme = require('tailwindcss/defaultTheme');
|
const defaultTheme = require('tailwindcss/defaultTheme');
|
||||||
|
|
||||||
module.exports = function (app, options) {
|
module.exports = function (app, options) {
|
||||||
let config = {
|
let config = {
|
||||||
|
@ -11,6 +11,10 @@ module.exports = function (app, options) {
|
||||||
darkMode: app == 'landing' ? 'class' : 'class',
|
darkMode: app == 'landing' ? 'class' : 'class',
|
||||||
mode: 'jit',
|
mode: 'jit',
|
||||||
theme: {
|
theme: {
|
||||||
|
screens: {
|
||||||
|
xs: '475px',
|
||||||
|
...defaultTheme.screens
|
||||||
|
},
|
||||||
// fontFamily: {
|
// fontFamily: {
|
||||||
// sans: ['Inter', 'ui-sans-serif', 'system-ui'],
|
// sans: ['Inter', 'ui-sans-serif', 'system-ui'],
|
||||||
// serif: ['Inter', 'ui-serif', 'Georgia'],
|
// serif: ['Inter', 'ui-serif', 'Georgia'],
|
||||||
|
@ -120,6 +124,7 @@ module.exports = function (app, options) {
|
||||||
};
|
};
|
||||||
if (app === 'landing') {
|
if (app === 'landing') {
|
||||||
config.plugins.push(require('@tailwindcss/typography'));
|
config.plugins.push(require('@tailwindcss/typography'));
|
||||||
|
config.plugins.push(require('@tailwindcss/line-clamp'));
|
||||||
}
|
}
|
||||||
return config;
|
return config;
|
||||||
};
|
};
|
||||||
|
|
147
pnpm-lock.yaml
|
@ -76,7 +76,9 @@ importers:
|
||||||
'@sd/core': workspace:*
|
'@sd/core': workspace:*
|
||||||
'@sd/interface': workspace:*
|
'@sd/interface': workspace:*
|
||||||
'@sd/ui': workspace:*
|
'@sd/ui': workspace:*
|
||||||
|
'@tailwindcss/line-clamp': ^0.4.0
|
||||||
'@tailwindcss/typography': ^0.5.2
|
'@tailwindcss/typography': ^0.5.2
|
||||||
|
'@tryghost/content-api': ^1.11.0
|
||||||
'@types/compression': ^1.7.2
|
'@types/compression': ^1.7.2
|
||||||
'@types/express': ^4.17.13
|
'@types/express': ^4.17.13
|
||||||
'@types/lodash': ^4.14.182
|
'@types/lodash': ^4.14.182
|
||||||
|
@ -85,6 +87,7 @@ importers:
|
||||||
'@types/react': ^18.0.9
|
'@types/react': ^18.0.9
|
||||||
'@types/react-dom': ^18.0.5
|
'@types/react-dom': ^18.0.5
|
||||||
'@types/react-helmet': ^6.1.5
|
'@types/react-helmet': ^6.1.5
|
||||||
|
'@types/tryghost__content-api': ^1.3.10
|
||||||
'@vitejs/plugin-react': ^1.3.2
|
'@vitejs/plugin-react': ^1.3.2
|
||||||
autoprefixer: ^10.4.7
|
autoprefixer: ^10.4.7
|
||||||
clsx: ^1.1.1
|
clsx: ^1.1.1
|
||||||
|
@ -125,6 +128,7 @@ importers:
|
||||||
'@sd/interface': link:../../packages/interface
|
'@sd/interface': link:../../packages/interface
|
||||||
'@sd/ui': link:../../packages/ui
|
'@sd/ui': link:../../packages/ui
|
||||||
'@tailwindcss/typography': 0.5.2
|
'@tailwindcss/typography': 0.5.2
|
||||||
|
'@tryghost/content-api': 1.11.0
|
||||||
'@types/compression': 1.7.2
|
'@types/compression': 1.7.2
|
||||||
'@types/express': 4.17.13
|
'@types/express': 4.17.13
|
||||||
clsx: 1.1.1
|
clsx: 1.1.1
|
||||||
|
@ -137,19 +141,21 @@ importers:
|
||||||
react-device-detect: 2.2.2_ef5jwxihqo6n7gxfmzogljlgcm
|
react-device-detect: 2.2.2_ef5jwxihqo6n7gxfmzogljlgcm
|
||||||
react-dom: 18.1.0_react@18.1.0
|
react-dom: 18.1.0_react@18.1.0
|
||||||
react-helmet: 6.1.0_react@18.1.0
|
react-helmet: 6.1.0_react@18.1.0
|
||||||
react-hook-form: 7.31.3_react@18.1.0
|
react-hook-form: 7.32.0_react@18.1.0
|
||||||
react-router-dom: 6.3.0_ef5jwxihqo6n7gxfmzogljlgcm
|
react-router-dom: 6.3.0_ef5jwxihqo6n7gxfmzogljlgcm
|
||||||
react-tsparticles: 2.0.6_react@18.1.0
|
react-tsparticles: 2.0.6_react@18.1.0
|
||||||
simple-icons: 7.0.0
|
simple-icons: 7.0.0
|
||||||
tsparticles: 2.0.6
|
tsparticles: 2.0.6
|
||||||
devDependencies:
|
devDependencies:
|
||||||
'@babel/preset-react': 7.17.12
|
'@babel/preset-react': 7.17.12
|
||||||
|
'@tailwindcss/line-clamp': 0.4.0
|
||||||
'@types/lodash': 4.14.182
|
'@types/lodash': 4.14.182
|
||||||
'@types/node': 17.0.36
|
'@types/node': 17.0.36
|
||||||
'@types/prismjs': 1.26.0
|
'@types/prismjs': 1.26.0
|
||||||
'@types/react': 18.0.9
|
'@types/react': 18.0.9
|
||||||
'@types/react-dom': 18.0.5
|
'@types/react-dom': 18.0.5
|
||||||
'@types/react-helmet': 6.1.5
|
'@types/react-helmet': 6.1.5
|
||||||
|
'@types/tryghost__content-api': 1.3.10
|
||||||
'@vitejs/plugin-react': 1.3.2
|
'@vitejs/plugin-react': 1.3.2
|
||||||
autoprefixer: 10.4.7_postcss@8.4.14
|
autoprefixer: 10.4.7_postcss@8.4.14
|
||||||
nodemon: 2.0.16
|
nodemon: 2.0.16
|
||||||
|
@ -4835,6 +4841,12 @@ packages:
|
||||||
defer-to-connect: 2.0.1
|
defer-to-connect: 2.0.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/@tailwindcss/line-clamp/0.4.0:
|
||||||
|
resolution: {integrity: sha512-HQZo6gfx1D0+DU3nWlNLD5iA6Ef4JAXh0LeD8lOGrJwEDBwwJNKQza6WoXhhY1uQrxOuU8ROxV7CqiQV4CoiLw==}
|
||||||
|
peerDependencies:
|
||||||
|
tailwindcss: '>=2.0.0 || >=3.0.0 || >=3.0.0-alpha.1'
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@tailwindcss/typography/0.5.2:
|
/@tailwindcss/typography/0.5.2:
|
||||||
resolution: {integrity: sha512-coq8DBABRPFcVhVIk6IbKyyHUt7YTEC/C992tatFB+yEx5WGBQrCgsSFjxHUr8AWXphWckadVJbominEduYBqw==}
|
resolution: {integrity: sha512-coq8DBABRPFcVhVIk6IbKyyHUt7YTEC/C992tatFB+yEx5WGBQrCgsSFjxHUr8AWXphWckadVJbominEduYBqw==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
|
@ -4994,6 +5006,14 @@ packages:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/@tryghost/content-api/1.11.0:
|
||||||
|
resolution: {integrity: sha512-0JTlp5Ln4BfCJzCYuT2X3MC9ZupIkRtzZaHpf9KZw7O8uOsRnO9RwjItN+lwvkoLIesMzfgrZd/tBJ4BAzeBrg==}
|
||||||
|
dependencies:
|
||||||
|
axios: 0.27.2
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- debug
|
||||||
|
dev: false
|
||||||
|
|
||||||
/@tsconfig/node10/1.0.8:
|
/@tsconfig/node10/1.0.8:
|
||||||
resolution: {integrity: sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==}
|
resolution: {integrity: sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==}
|
||||||
dev: true
|
dev: true
|
||||||
|
@ -5383,6 +5403,10 @@ packages:
|
||||||
resolution: {integrity: sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ==}
|
resolution: {integrity: sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/@types/tryghost__content-api/1.3.10:
|
||||||
|
resolution: {integrity: sha512-aHEqp9IVTcVQKJwjWrUW0UzCkziUzJSIUF0E9IjPc5DIGakZHRPin2jh9SPuJfBXawlJmVVjJn71wyiRhha1Iw==}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@types/uglify-js/3.13.2:
|
/@types/uglify-js/3.13.2:
|
||||||
resolution: {integrity: sha512-/xFrPIo+4zOeNGtVMbf9rUm0N+i4pDf1ynExomqtokIJmVzR3962lJ1UE+MmexMkA0cmN9oTzg5Xcbwge0Ij2Q==}
|
resolution: {integrity: sha512-/xFrPIo+4zOeNGtVMbf9rUm0N+i4pDf1ynExomqtokIJmVzR3962lJ1UE+MmexMkA0cmN9oTzg5Xcbwge0Ij2Q==}
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -6200,7 +6224,6 @@ packages:
|
||||||
|
|
||||||
/asynckit/0.4.0:
|
/asynckit/0.4.0:
|
||||||
resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
|
resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/at-least-node/1.0.0:
|
/at-least-node/1.0.0:
|
||||||
resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==}
|
resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==}
|
||||||
|
@ -6267,6 +6290,15 @@ packages:
|
||||||
engines: {node: '>= 0.4'}
|
engines: {node: '>= 0.4'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/axios/0.27.2:
|
||||||
|
resolution: {integrity: sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==}
|
||||||
|
dependencies:
|
||||||
|
follow-redirects: 1.15.1
|
||||||
|
form-data: 4.0.0
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- debug
|
||||||
|
dev: false
|
||||||
|
|
||||||
/babel-loader/8.2.5_@babel+core@7.18.2:
|
/babel-loader/8.2.5_@babel+core@7.18.2:
|
||||||
resolution: {integrity: sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==}
|
resolution: {integrity: sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==}
|
||||||
engines: {node: '>= 8.9'}
|
engines: {node: '>= 8.9'}
|
||||||
|
@ -6796,7 +6828,7 @@ packages:
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/buffer-equal/0.0.1:
|
/buffer-equal/0.0.1:
|
||||||
resolution: {integrity: sha512-RgSV6InVQ9ODPdLWJ5UAqBqJBOg370Nz6ZQtRzpt6nUjc8v0St97uJ4PYC6NztqIScrAXafKM3mZPMygSe1ggA==}
|
resolution: {integrity: sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=}
|
||||||
engines: {node: '>=0.4.0'}
|
engines: {node: '>=0.4.0'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
@ -7346,7 +7378,6 @@ packages:
|
||||||
engines: {node: '>= 0.8'}
|
engines: {node: '>= 0.8'}
|
||||||
dependencies:
|
dependencies:
|
||||||
delayed-stream: 1.0.0
|
delayed-stream: 1.0.0
|
||||||
dev: true
|
|
||||||
|
|
||||||
/comma-separated-tokens/1.0.8:
|
/comma-separated-tokens/1.0.8:
|
||||||
resolution: {integrity: sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==}
|
resolution: {integrity: sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==}
|
||||||
|
@ -8096,7 +8127,6 @@ packages:
|
||||||
/delayed-stream/1.0.0:
|
/delayed-stream/1.0.0:
|
||||||
resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
|
resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
|
||||||
engines: {node: '>=0.4.0'}
|
engines: {node: '>=0.4.0'}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/delegates/1.0.0:
|
/delegates/1.0.0:
|
||||||
resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==}
|
resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==}
|
||||||
|
@ -9441,6 +9471,16 @@ packages:
|
||||||
tslib: 1.14.1
|
tslib: 1.14.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/follow-redirects/1.15.1:
|
||||||
|
resolution: {integrity: sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==}
|
||||||
|
engines: {node: '>=4.0'}
|
||||||
|
peerDependencies:
|
||||||
|
debug: '*'
|
||||||
|
peerDependenciesMeta:
|
||||||
|
debug:
|
||||||
|
optional: true
|
||||||
|
dev: false
|
||||||
|
|
||||||
/for-each/0.3.3:
|
/for-each/0.3.3:
|
||||||
resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
|
resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -9562,6 +9602,15 @@ packages:
|
||||||
mime-types: 2.1.35
|
mime-types: 2.1.35
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/form-data/4.0.0:
|
||||||
|
resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==}
|
||||||
|
engines: {node: '>= 6'}
|
||||||
|
dependencies:
|
||||||
|
asynckit: 0.4.0
|
||||||
|
combined-stream: 1.0.8
|
||||||
|
mime-types: 2.1.35
|
||||||
|
dev: false
|
||||||
|
|
||||||
/format/0.2.2:
|
/format/0.2.2:
|
||||||
resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==}
|
resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==}
|
||||||
engines: {node: '>=0.4.x'}
|
engines: {node: '>=0.4.x'}
|
||||||
|
@ -9807,7 +9856,7 @@ packages:
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/github-from-package/0.0.0:
|
/github-from-package/0.0.0:
|
||||||
resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==}
|
resolution: {integrity: sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/github-slugger/1.4.0:
|
/github-slugger/1.4.0:
|
||||||
|
@ -12650,7 +12699,7 @@ packages:
|
||||||
engines: {node: '>= 0.8'}
|
engines: {node: '>= 0.8'}
|
||||||
|
|
||||||
/once/1.4.0:
|
/once/1.4.0:
|
||||||
resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=}
|
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
|
||||||
dependencies:
|
dependencies:
|
||||||
wrappy: 1.0.2
|
wrappy: 1.0.2
|
||||||
|
|
||||||
|
@ -13077,7 +13126,7 @@ packages:
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/path-is-absolute/1.0.1:
|
/path-is-absolute/1.0.1:
|
||||||
resolution: {integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=}
|
resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
|
|
||||||
/path-key/2.0.1:
|
/path-key/2.0.1:
|
||||||
|
@ -13488,7 +13537,7 @@ packages:
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/prepend-http/2.0.0:
|
/prepend-http/2.0.0:
|
||||||
resolution: {integrity: sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=}
|
resolution: {integrity: sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==}
|
||||||
engines: {node: '>=4'}
|
engines: {node: '>=4'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
@ -13957,8 +14006,8 @@ packages:
|
||||||
react-side-effect: 2.1.1_react@18.1.0
|
react-side-effect: 2.1.1_react@18.1.0
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/react-hook-form/7.31.3_react@18.1.0:
|
/react-hook-form/7.32.0_react@18.1.0:
|
||||||
resolution: {integrity: sha512-NVZdCWViIWXXXlQ3jxVQH0NuNfwPf8A/0KvuCxrM9qxtP1qYosfR2ZudarziFrVOC7eTUbWbm1T4OyYCwv9oSQ==}
|
resolution: {integrity: sha512-AFUwl9MwVVnZZsFZW7Egc8PVyWem6c6/9FBq29Acsikm+8ecJCkqOn2Tl48GApFnXBgoBBEHC3zosjYvPfsGNg==}
|
||||||
engines: {node: '>=12.22.0'}
|
engines: {node: '>=12.22.0'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
react: ^16.8.0 || ^17 || ^18
|
react: ^16.8.0 || ^17 || ^18
|
||||||
|
@ -14272,7 +14321,7 @@ packages:
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/read-pkg-up/1.0.1:
|
/read-pkg-up/1.0.1:
|
||||||
resolution: {integrity: sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=}
|
resolution: {integrity: sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
dependencies:
|
dependencies:
|
||||||
find-up: 1.1.2
|
find-up: 1.1.2
|
||||||
|
@ -14289,7 +14338,7 @@ packages:
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/read-pkg/1.1.0:
|
/read-pkg/1.1.0:
|
||||||
resolution: {integrity: sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=}
|
resolution: {integrity: sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
dependencies:
|
dependencies:
|
||||||
load-json-file: 1.1.0
|
load-json-file: 1.1.0
|
||||||
|
@ -14363,7 +14412,7 @@ packages:
|
||||||
picomatch: 2.3.1
|
picomatch: 2.3.1
|
||||||
|
|
||||||
/redent/1.0.0:
|
/redent/1.0.0:
|
||||||
resolution: {integrity: sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=}
|
resolution: {integrity: sha512-qtW5hKzGQZqKoh6JNSD+4lfitfPKGz42e6QwiRmPM5mmKtR0N41AbJRYu0xJi7nhOJ4WDgRkKvAk6tw4WIwR4g==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
dependencies:
|
dependencies:
|
||||||
indent-string: 2.1.0
|
indent-string: 2.1.0
|
||||||
|
@ -14568,7 +14617,7 @@ packages:
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/repeating/2.0.1:
|
/repeating/2.0.1:
|
||||||
resolution: {integrity: sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=}
|
resolution: {integrity: sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
dependencies:
|
dependencies:
|
||||||
is-finite: 1.1.0
|
is-finite: 1.1.0
|
||||||
|
@ -14612,7 +14661,7 @@ packages:
|
||||||
supports-preserve-symlinks-flag: 1.0.0
|
supports-preserve-symlinks-flag: 1.0.0
|
||||||
|
|
||||||
/responselike/1.0.2:
|
/responselike/1.0.2:
|
||||||
resolution: {integrity: sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=}
|
resolution: {integrity: sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==}
|
||||||
dependencies:
|
dependencies:
|
||||||
lowercase-keys: 1.0.1
|
lowercase-keys: 1.0.1
|
||||||
dev: true
|
dev: true
|
||||||
|
@ -14870,7 +14919,7 @@ packages:
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/semver-compare/1.0.0:
|
/semver-compare/1.0.0:
|
||||||
resolution: {integrity: sha1-De4hahyUGrN+nvsXiPavxf9VN/w=}
|
resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/semver-diff/3.1.1:
|
/semver-diff/3.1.1:
|
||||||
|
@ -14886,7 +14935,7 @@ packages:
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/semver-truncate/1.1.2:
|
/semver-truncate/1.1.2:
|
||||||
resolution: {integrity: sha1-V/Qd5pcHpicJp+AQS6IRcQnqR+g=}
|
resolution: {integrity: sha512-V1fGg9i4CL3qesB6U0L6XAm4xOJiHmt4QAacazumuasc03BvtFGIMCduv01JWQ69Nv+JST9TqhSCiJoxoY031w==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
dependencies:
|
dependencies:
|
||||||
semver: 5.7.1
|
semver: 5.7.1
|
||||||
|
@ -15073,7 +15122,7 @@ packages:
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/shebang-command/1.2.0:
|
/shebang-command/1.2.0:
|
||||||
resolution: {integrity: sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=}
|
resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
dependencies:
|
dependencies:
|
||||||
shebang-regex: 1.0.0
|
shebang-regex: 1.0.0
|
||||||
|
@ -15087,7 +15136,7 @@ packages:
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/shebang-regex/1.0.0:
|
/shebang-regex/1.0.0:
|
||||||
resolution: {integrity: sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=}
|
resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
@ -15129,7 +15178,7 @@ packages:
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/simple-swizzle/0.2.2:
|
/simple-swizzle/0.2.2:
|
||||||
resolution: {integrity: sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=}
|
resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==}
|
||||||
dependencies:
|
dependencies:
|
||||||
is-arrayish: 0.3.2
|
is-arrayish: 0.3.2
|
||||||
dev: true
|
dev: true
|
||||||
|
@ -15186,21 +15235,21 @@ packages:
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/sort-keys-length/1.0.1:
|
/sort-keys-length/1.0.1:
|
||||||
resolution: {integrity: sha1-nLb09OnkgVWmqgZx7dM2/xR5oYg=}
|
resolution: {integrity: sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
dependencies:
|
dependencies:
|
||||||
sort-keys: 1.1.2
|
sort-keys: 1.1.2
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/sort-keys/1.1.2:
|
/sort-keys/1.1.2:
|
||||||
resolution: {integrity: sha1-RBttTTRnmPG05J6JIK37oOVD+a0=}
|
resolution: {integrity: sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
dependencies:
|
dependencies:
|
||||||
is-plain-obj: 1.1.0
|
is-plain-obj: 1.1.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/sort-keys/2.0.0:
|
/sort-keys/2.0.0:
|
||||||
resolution: {integrity: sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=}
|
resolution: {integrity: sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==}
|
||||||
engines: {node: '>=4'}
|
engines: {node: '>=4'}
|
||||||
dependencies:
|
dependencies:
|
||||||
is-plain-obj: 1.1.0
|
is-plain-obj: 1.1.0
|
||||||
|
@ -15311,7 +15360,7 @@ packages:
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/squeak/1.3.0:
|
/squeak/1.3.0:
|
||||||
resolution: {integrity: sha1-MwRQN7ZDiLVnZ0uEMiplIQc5FsM=}
|
resolution: {integrity: sha512-YQL1ulInM+ev8nXX7vfXsCsDh6IqXlrremc1hzi77776BtpWgYJUMto3UM05GSAaGzJgWekszjoKDrVNB5XG+A==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
dependencies:
|
dependencies:
|
||||||
chalk: 1.1.3
|
chalk: 1.1.3
|
||||||
|
@ -15429,12 +15478,12 @@ packages:
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/strict-uri-encode/1.1.0:
|
/strict-uri-encode/1.1.0:
|
||||||
resolution: {integrity: sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=}
|
resolution: {integrity: sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/string-width/1.0.2:
|
/string-width/1.0.2:
|
||||||
resolution: {integrity: sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=}
|
resolution: {integrity: sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
dependencies:
|
dependencies:
|
||||||
code-point-at: 1.1.0
|
code-point-at: 1.1.0
|
||||||
|
@ -15524,7 +15573,7 @@ packages:
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/strip-ansi/3.0.1:
|
/strip-ansi/3.0.1:
|
||||||
resolution: {integrity: sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=}
|
resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
dependencies:
|
dependencies:
|
||||||
ansi-regex: 2.1.1
|
ansi-regex: 2.1.1
|
||||||
|
@ -15543,7 +15592,7 @@ packages:
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/strip-bom/2.0.0:
|
/strip-bom/2.0.0:
|
||||||
resolution: {integrity: sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=}
|
resolution: {integrity: sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
dependencies:
|
dependencies:
|
||||||
is-utf8: 0.2.1
|
is-utf8: 0.2.1
|
||||||
|
@ -15561,7 +15610,7 @@ packages:
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/strip-eof/1.0.0:
|
/strip-eof/1.0.0:
|
||||||
resolution: {integrity: sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=}
|
resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
@ -15571,7 +15620,7 @@ packages:
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/strip-indent/1.0.1:
|
/strip-indent/1.0.1:
|
||||||
resolution: {integrity: sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=}
|
resolution: {integrity: sha512-I5iQq6aFMM62fBEAIB/hXzwJD6EEZ0xEGCX2t7oXqaKPIRgt4WruAQ285BISgdkP+HLGWyeGmNJcpIwFeRYRUA==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -15586,7 +15635,7 @@ packages:
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/strip-json-comments/2.0.1:
|
/strip-json-comments/2.0.1:
|
||||||
resolution: {integrity: sha1-PFMZQukIwml8DsNEhYwobHygpgo=}
|
resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
@ -15651,7 +15700,7 @@ packages:
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/supports-color/2.0.0:
|
/supports-color/2.0.0:
|
||||||
resolution: {integrity: sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=}
|
resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==}
|
||||||
engines: {node: '>=0.8.0'}
|
engines: {node: '>=0.8.0'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
@ -15837,12 +15886,12 @@ packages:
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/temp-dir/1.0.0:
|
/temp-dir/1.0.0:
|
||||||
resolution: {integrity: sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=}
|
resolution: {integrity: sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==}
|
||||||
engines: {node: '>=4'}
|
engines: {node: '>=4'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/tempfile/2.0.0:
|
/tempfile/2.0.0:
|
||||||
resolution: {integrity: sha1-awRGhWqbERTRhW/8vlCczLCXcmU=}
|
resolution: {integrity: sha512-ZOn6nJUgvgC09+doCEF3oB+r3ag7kUvlsXEGX069QRD60p+P3uP7XG9N2/at+EyIRGSN//ZY3LyEotA1YpmjuA==}
|
||||||
engines: {node: '>=4'}
|
engines: {node: '>=4'}
|
||||||
dependencies:
|
dependencies:
|
||||||
temp-dir: 1.0.0
|
temp-dir: 1.0.0
|
||||||
|
@ -15947,7 +15996,7 @@ packages:
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/through/2.3.8:
|
/through/2.3.8:
|
||||||
resolution: {integrity: sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=}
|
resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/through2/2.0.5:
|
/through2/2.0.5:
|
||||||
|
@ -15958,7 +16007,7 @@ packages:
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/timed-out/4.0.1:
|
/timed-out/4.0.1:
|
||||||
resolution: {integrity: sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=}
|
resolution: {integrity: sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
@ -16074,12 +16123,12 @@ packages:
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/trim-newlines/1.0.0:
|
/trim-newlines/1.0.0:
|
||||||
resolution: {integrity: sha1-WIeWa7WCpFA6QetST301ARgVphM=}
|
resolution: {integrity: sha512-Nm4cF79FhSTzrLKGDMi3I4utBtFv8qKy4sq1enftf2gMdpqI8oVQTAfySkTz5r49giVzDj88SVZXP4CeYQwjaw==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/trim-repeated/1.0.0:
|
/trim-repeated/1.0.0:
|
||||||
resolution: {integrity: sha1-42RqLqTokTEr9+rObPsFOAvAHCE=}
|
resolution: {integrity: sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
dependencies:
|
dependencies:
|
||||||
escape-string-regexp: 1.0.5
|
escape-string-regexp: 1.0.5
|
||||||
|
@ -16454,7 +16503,7 @@ packages:
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/tunnel-agent/0.6.0:
|
/tunnel-agent/0.6.0:
|
||||||
resolution: {integrity: sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=}
|
resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==}
|
||||||
dependencies:
|
dependencies:
|
||||||
safe-buffer: 5.2.1
|
safe-buffer: 5.2.1
|
||||||
dev: true
|
dev: true
|
||||||
|
@ -16906,21 +16955,21 @@ packages:
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/url-parse-lax/1.0.0:
|
/url-parse-lax/1.0.0:
|
||||||
resolution: {integrity: sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=}
|
resolution: {integrity: sha512-BVA4lR5PIviy2PMseNd2jbFQ+jwSwQGdJejf5ctd1rEXt0Ypd7yanUK9+lYechVlN5VaTJGsu2U/3MDDu6KgBA==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
dependencies:
|
dependencies:
|
||||||
prepend-http: 1.0.4
|
prepend-http: 1.0.4
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/url-parse-lax/3.0.0:
|
/url-parse-lax/3.0.0:
|
||||||
resolution: {integrity: sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=}
|
resolution: {integrity: sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==}
|
||||||
engines: {node: '>=4'}
|
engines: {node: '>=4'}
|
||||||
dependencies:
|
dependencies:
|
||||||
prepend-http: 2.0.0
|
prepend-http: 2.0.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/url-to-options/1.0.1:
|
/url-to-options/1.0.1:
|
||||||
resolution: {integrity: sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=}
|
resolution: {integrity: sha512-0kQLIzG4fdk/G5NONku64rSH/x32NOA39LVQqlK8Le6lvTF6GGRJpqaQFGgU+CLwySIqBSMdwYM0sYcW9f6P4A==}
|
||||||
engines: {node: '>= 4'}
|
engines: {node: '>= 4'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
@ -17213,7 +17262,7 @@ packages:
|
||||||
vite: ^2.6.0
|
vite: ^2.6.0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@svgr/core': 6.2.1
|
'@svgr/core': 6.2.1
|
||||||
vite: 2.9.9_sass@1.52.1
|
vite: 2.9.9
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
@ -17319,7 +17368,7 @@ packages:
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/wcwidth/1.0.1:
|
/wcwidth/1.0.1:
|
||||||
resolution: {integrity: sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=}
|
resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==}
|
||||||
dependencies:
|
dependencies:
|
||||||
defaults: 1.0.3
|
defaults: 1.0.3
|
||||||
dev: true
|
dev: true
|
||||||
|
@ -17598,7 +17647,7 @@ packages:
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/wrappy/1.0.2:
|
/wrappy/1.0.2:
|
||||||
resolution: {integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=}
|
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
|
||||||
|
|
||||||
/write-file-atomic/3.0.3:
|
/write-file-atomic/3.0.3:
|
||||||
resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==}
|
resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==}
|
||||||
|
@ -17658,7 +17707,7 @@ packages:
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/xml-parse-from-string/1.0.1:
|
/xml-parse-from-string/1.0.1:
|
||||||
resolution: {integrity: sha1-qQKekp09vN7RafPG4oI42VpdWig=}
|
resolution: {integrity: sha512-ErcKwJTF54uRzzNMXq2X5sMIy88zJvfN2DmdoQvy7PAFJ+tPRU6ydWuOKNMyfmOjdyBQTFREi60s0Y0SyI0G0g==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/xml2js/0.4.23:
|
/xml2js/0.4.23:
|
||||||
|
@ -17688,7 +17737,7 @@ packages:
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/yallist/2.1.2:
|
/yallist/2.1.2:
|
||||||
resolution: {integrity: sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=}
|
resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/yallist/3.1.1:
|
/yallist/3.1.1:
|
||||||
|
@ -17745,7 +17794,7 @@ packages:
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/yauzl/2.10.0:
|
/yauzl/2.10.0:
|
||||||
resolution: {integrity: sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=}
|
resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==}
|
||||||
dependencies:
|
dependencies:
|
||||||
buffer-crc32: 0.2.13
|
buffer-crc32: 0.2.13
|
||||||
fd-slicer: 1.1.0
|
fd-slicer: 1.1.0
|
||||||
|
|