Skip to content

Lightweight reusable Web3 UI components for dapps.

License

Notifications You must be signed in to change notification settings

tenfinney/web3uikit

Β 
Β 

Repository files navigation

Web3UIKit

Beautiful and lightweight UI components for web3 developers. This UI library will speed up your dapp development no matter which chain you build on.

CI

Live StoryBook DEMO: https://web3ui.github.io/web3uikit/

Moralis-NFT-Marketplace

⭐️ Star us

If this ui-kit helps you build your dApps faster - please star this project, every star makes us very happy!

🀝 Need help?

If you need help with setting up the boilerplate or have other questions - don't hesitate to write in our community forum and we will check asap. Forum link. The best thing about this boilerplate is the super active community ready to help at any time! We help each other.

πŸš€ Quick Start

πŸ’Ώ Installation

npm install web3uikit

or

yarn add web3uikit

🧰 Usage

import { CryptoCards, Button } from 'web3uikit';

const App = () => (
    <>
        <CryptoCards chain="ethereum" />
        <Button theme="primary" type="button">
            Launch dApp
        </Button>
    </>
);

🧭 Table of contents

β›“ Web3 Components

<ConnectButton />

ConnectBtnNew

The <ConnectButton /> component allows you to make web3 authenticating users in case your server is initialized. When the server is not initialized, or for example, you have <MoralisProvider initializeOnMount={false} > and you don't want to connect your Moralis server to the frontend the smart component will call enableWeb3()

If you want to use this component with the connected server but without adding a user to Moralis Database you can add the moralisAuth prop

The ConnectButton component automatically adds to the local storage info about the connector user used and will automatically call enableWeb3() after rereshing the page. So if user was connected once it will automatically initialize web3 connection(No need anymore to add UseEffect hook for enableWeb3() after refrshing the page)

Try the <ConnectButton /> component in the interactive documentation

πŸ“– UI Components

<Avatar />

avatar

Try the <Avatar /> component in the interactive documentation

<BannerStrip />

BannerStrip

Try the <BannerStrip /> component in the interactive documentation

<Breadcrumbs />

Breadcrumbs

Try the <Breadcrumbs /> component in the interactive documentation

<Card />

Card

Try the <Card /> component in the interactive documentation

<CryptoCards />

CryptoCards

Try the <CryptoCards /> component in the interactive documentation

<Icon />

Icon

Try the <Icon /> component in the interactive documentation

<Illustration />

Illustration

Illustration2

Try the ` component in the interactive documentation

<Information />

Information

Try the <Information /> component in the interactive documentation

<LinkTo />

LinkTo

Try the <LinkTo /> component in the interactive documentation

<Logo />

Logo

Try the <Logo /> component in the interactive documentation

<Notification />

NotificationHook

To call the Notification component use the useNotification() hook. Example:

const App = () => {
    const dispatch = useNotification();

    const handleNewNotification = () => {
        dispatch({
            type: 'info',
            message: 'Somebody messaged you',
            title: 'New Notification',
            icon,
            position: position || 'topR',
        });
    };

    return (
        <>
            <Button
                text="Error"
                onClick={handleNewNotification}
                theme="colored"
                color="red"
                isFullWidth={true}
            />
        </>
    );
};

Requires the application to be within a <NotificationProvider>

Example:

<NotificationProvider>
    <App />
<NotificationProvider>

Try the <Notification /> component in the interactive documentation

<Table />

Table

Try the <Table /> component in the interactive documentation

<Tag />

Tag

Try the <Tag /> component in the interactive documentation

βš™οΈ Interaction Components

<Button />

Button

Try the <Button /> component in the interactive documentation

<Checkbox />

Checkbox

Try the <Checkbox /> component in the interactive documentation

<Form />

Form

Try the <Form /> component in the interactive documentation

<Input />

Input

Try the <Input /> component in the interactive documentation

<Radios />

Radios

Try the <Radios /> component in the interactive documentation

<Select />

Select

Try the <Select /> component in the interactive documentation

<TextArea />

TextArea

Try the <TextArea /> component in the interactive documentation

πŸŽ‰ Popup

<Modal />

Modal2

Try the <Modal /> component in the interactive documentation

<Tooltip />

Tooltip

Try the <Tooltip /> component in the interactive documentation

About

Lightweight reusable Web3 UI components for dapps.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 99.6%
  • Other 0.4%