npm package: @multifarm/widget-demo
Description: Miltifarm.fi widget
Author: Andriy Halushka
Latest version: 0.0.4

# Multifarm Treasury Dashboard Widget

### [Multifarm.fi](https://www.multifarm.fi)

### [Multifarm.fi launch App](https://dev.app.multifarm.fi)

A collection of Multifarm Treasury Dashboard Widget components.

## 💡 Currently supported components set

- `<MultifarmProvider />`
- `<Dashboard />`
- `<PortfolioTable />`
- `<AssetsChartCard />`
- `<BlockchainChartCard />`
- `<RiskChartCard />`
- `<YieldTypeChartCard />`
- `<AprChartCard />`
- `<HighlightsChartCard />`
- `<DailyChartCard />`

## 👩‍🏫 Install

1. Install `@multifarm/widget` and it's peer dependencies via `npm` or `yarn`

by using `npm`:

```bash
$ npm install @multifarm/widget recharts clsx
```

by using `yarn`:

```bash
$ yarn add @multifarm/widget recharts clsx
```

## 👀 Usage

1. Register an account on [Multifarm.fi](https://dev.app.multifarm.fi);

2. Go to your [Account](https://dev.app.multifarm.fi/account) page, API section; Find out an API Key;

3. In addition to previous step, you should be able to register an allowed URL domains, that are going to use the widget. Please note, even with valid API Key, you won't be able to access API if you don't set up allowed domains. It can be set up on [Account](https://dev.app.multifarm.fi/account) page, API section;\
   \
   In order you miss API token, or it's invalid, or URLs on Account page and your site mismatch - components won't be rendered\
   \
   ![fail setup](./src/assets/docs/invalid-setup.png)

4. Import a Provider component and wrap your app, or just the peace of code, you are going to use Multifarm, with `<MultifarmProvider>` component, and provide a required `token` option, from step 2;

```jsx
import { MultifarmProvider } from '@multifarm/widget'

export default function App() {
  return (
    <MultifarmProvider token={API_KEY}>
      {/* Your app code here */}
    </MultifarmProvider>
  )
}
```

5. That's it ✅. You should be able to use other components from `@multifarm/widget` package, inside `MultifarmProvider` component;

## 📚 Components description

| Component           | Description                                                                                                                                                                                                                                                                              |
| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `MultifarmProvider` | A root component, that should wrap all components from this package.                                                                                                                                                                                                                     |
| `Dashboard`         | a "page" component, that includes all other components into a single "Dashboard" page. Recommended if you don't plan to build your own components structure and pages. No configuration is needed. UI reference - https://cln.sh/IHNRP9 , https://cln.sh/lHYwhQ , https://cln.sh/PoJ1yt; |

**All other components are small parts of Dashboard, that can be used standalone, in order you wish to build your own components structure.**

| Component             | Description                                                                                  |
| --------------------- | -------------------------------------------------------------------------------------------- |
| `PortfolioTable`      | a single table of strategies. UI reference - https://cln.sh/pyIdPN;                          |
| `AssetsChartCard`     | a single pie chart card for strategies. UI reference - https://cln.sh/AJfRMp;                |
| `BlockchainChartCard` | a single pie chart card for strategies blockchains. UI reference - https://cln.sh/k5H7VE;    |
| `RiskChartCard`       | a single pie chart card for strategies risk. UI reference - https://cln.sh/Cdkjjc;           |
| `YieldTypeChartCard`  | a single pie chart card for strategies yield types. UI reference - https://cln.sh/REvqJw;    |
| `AprChartCard`        | a single line chart card for strategies APR (y). UI reference - https://cln.sh/U376xp;       |
| `HighlightsChartCard` | a single line chart card for strategies highlights. UI reference - https://cln.sh/RUKEZi;    |
| `DailyChartCard`      | a single bar chart card for strategies daily earnings. UI reference - https://cln.sh/nqke6x; |

## 👩 Support

Contact `widget@multifarm.fi` for any feature request or bug. Also, feel free to create a new issue in GitHub repo.

## 🔮 Future features

⭐️ - in progress
✅ - done

1. 🧪 ⭐️ New standalone components from `Dashboard`
2. 🧪 ✅ Ability to customization
3. 🧪 ✅️ Mobile UI
4. 🧪 TypeScript support