2020-07-02 12:35:58 +03:00
|
|
|
import * as React from "react";
|
|
|
|
import * as System from "~/components/system";
|
2020-04-09 00:29:13 +03:00
|
|
|
|
2020-07-02 12:35:58 +03:00
|
|
|
import SystemPage from "~/components/system/SystemPage";
|
2020-07-21 03:56:14 +03:00
|
|
|
import CodeBlock from "~/components/system/CodeBlock";
|
2020-04-09 00:29:13 +03:00
|
|
|
|
|
|
|
export default class SystemPageRoot extends React.Component {
|
|
|
|
render() {
|
|
|
|
return (
|
|
|
|
<SystemPage
|
2020-07-21 05:18:16 +03:00
|
|
|
title="Slate Design System 0.0.6"
|
|
|
|
description="We built a design system you can use while we built Slate."
|
2020-07-21 02:48:10 +03:00
|
|
|
url="https://slate.host/system"
|
2020-07-02 12:35:58 +03:00
|
|
|
>
|
2020-07-11 00:02:10 +03:00
|
|
|
<img
|
|
|
|
src="/public/static/social.jpg"
|
|
|
|
style={{
|
|
|
|
display: "inline-flex",
|
|
|
|
width: "312px",
|
|
|
|
height: "312px",
|
2020-07-21 04:45:21 +03:00
|
|
|
borderRadius: "4px",
|
2020-07-11 00:02:10 +03:00
|
|
|
marginBottom: 48,
|
2020-07-21 04:45:21 +03:00
|
|
|
boxShadow: '0 1px 4px rgba(0, 0, 0, 0.09)'
|
2020-07-11 00:02:10 +03:00
|
|
|
}}
|
|
|
|
/>
|
2020-07-21 05:18:16 +03:00
|
|
|
<System.H1>SDS 0.0.6</System.H1>
|
2020-04-09 00:29:13 +03:00
|
|
|
<br />
|
|
|
|
<System.P>
|
2020-07-02 12:35:58 +03:00
|
|
|
The <strong>Slate Design System</strong> is an open source resource
|
|
|
|
with examples of components, constants, and experiences. Any code
|
|
|
|
changes made to the components in the Design System will change the
|
|
|
|
appearance and function of the{" "}
|
|
|
|
<a href="https://github.com/filecoin-project/slate" target="_blank">
|
|
|
|
Slate
|
|
|
|
</a>{" "}
|
|
|
|
in production. <br />
|
|
|
|
<br />
|
|
|
|
We wanted to build product out in the open, so other Filecoin & IPFS
|
|
|
|
developers could freely use the code to make their own applications on
|
|
|
|
top of the <a href="https://filecoin.io">Filecoin Network</a>. A lot
|
|
|
|
of the functionality of Slate is made possible by{" "}
|
|
|
|
<a
|
|
|
|
href="https://github.com/textileio/js-powergate-client"
|
|
|
|
target="_blank"
|
|
|
|
>
|
|
|
|
Textile's Powergate
|
|
|
|
</a>{" "}
|
|
|
|
and{" "}
|
|
|
|
<a href="https://github.com/textileio/js-hub" target="_blank">
|
|
|
|
Textile's Hub
|
|
|
|
</a>
|
|
|
|
.
|
2020-04-09 00:29:13 +03:00
|
|
|
</System.P>
|
|
|
|
<br /> <br />
|
2020-07-02 12:35:58 +03:00
|
|
|
<br />
|
|
|
|
<System.H2>slate-react-system</System.H2>
|
|
|
|
<br />
|
|
|
|
<System.P>
|
|
|
|
You can use these components, experiences, and constants in your own
|
|
|
|
React projects. First, install the{" "}
|
|
|
|
<a
|
|
|
|
href="https://github.com/filecoin-project/slate-react-system"
|
|
|
|
target="_blank"
|
|
|
|
>
|
|
|
|
npm module
|
|
|
|
</a>
|
|
|
|
:
|
|
|
|
<br />
|
|
|
|
<br />
|
2020-07-21 03:56:14 +03:00
|
|
|
<CodeBlock>{`npm install --save slate-react-system`}</CodeBlock>
|
2020-07-02 12:35:58 +03:00
|
|
|
<br />
|
|
|
|
<br />
|
|
|
|
Now you can import React components: <br />
|
|
|
|
<br />
|
2020-07-21 03:56:14 +03:00
|
|
|
<CodeBlock>
|
2020-07-09 10:05:51 +03:00
|
|
|
{`import { ButtonPrimary } from 'slate-react-system'
|
|
|
|
|
|
|
|
const Component = () => <ButtonPrimary>Hello World</ButtonPrimary>`}
|
2020-07-21 03:56:14 +03:00
|
|
|
</CodeBlock>
|
2020-07-16 20:41:49 +03:00
|
|
|
<br />
|
|
|
|
<br />
|
|
|
|
And easily integrate Powergate <br />
|
|
|
|
<br />
|
2020-07-21 03:56:14 +03:00
|
|
|
<CodeBlock>
|
2020-07-16 20:41:49 +03:00
|
|
|
{`import * as React from 'react';
|
|
|
|
import * as System from 'slate-react-system';
|
|
|
|
import { createPow } from "@textile/powergate-client";
|
|
|
|
|
|
|
|
class Example extends React.Component {
|
|
|
|
_PG = null;
|
|
|
|
|
|
|
|
state = {
|
|
|
|
token: null
|
|
|
|
}
|
|
|
|
|
|
|
|
_handleCreateToken = () => {
|
|
|
|
this._PG = createPow({ host: 'http://0.0.0.0:6002' });
|
|
|
|
const FFS = await this._PG.ffs.create();
|
|
|
|
const token = FFS.token ? FFS.token : null;
|
|
|
|
PowerGate.setToken(token);
|
|
|
|
this.setState({ token });
|
|
|
|
}
|
|
|
|
|
|
|
|
render() {
|
|
|
|
return (
|
2020-07-21 03:56:14 +03:00
|
|
|
<System.CreateToken
|
|
|
|
token={this.state.token}
|
2020-07-16 20:41:49 +03:00
|
|
|
onClick={this._handleCreateToken} />
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
`}
|
2020-07-21 03:56:14 +03:00
|
|
|
</CodeBlock>
|
2020-07-02 12:35:58 +03:00
|
|
|
<br />
|
|
|
|
<br />
|
|
|
|
Whats next?
|
|
|
|
</System.P>
|
|
|
|
<System.UL>
|
|
|
|
<System.LI>
|
|
|
|
Try using some components or experiences in your React projects.
|
|
|
|
</System.LI>
|
|
|
|
<System.LI>
|
|
|
|
Start a new project using an{" "}
|
|
|
|
<a
|
|
|
|
href="https://github.com/filecoin-project/slate-react-system/tree/master/example"
|
|
|
|
target="_blank"
|
|
|
|
>
|
|
|
|
example
|
|
|
|
</a>
|
|
|
|
.
|
|
|
|
</System.LI>
|
|
|
|
<System.LI>
|
|
|
|
Try using slate-react-system in a{" "}
|
|
|
|
<a
|
|
|
|
href="https://github.com/jimmylee/next-express-emotion"
|
|
|
|
target="_blank"
|
|
|
|
>
|
|
|
|
starter React boilerplate
|
|
|
|
</a>
|
|
|
|
.
|
|
|
|
</System.LI>
|
|
|
|
</System.UL>
|
2020-07-16 20:41:49 +03:00
|
|
|
<br /> <br />
|
2020-04-09 00:29:13 +03:00
|
|
|
</SystemPage>
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|