/juice-interface

🧃 An app for using the JBX protocol.

Primary LanguageCSSMIT LicenseMIT

juice-juicehoue

Juicebox frontend application.

Usage

  1. Clone the respository:
git clone https://github.com/jbx-protocol/juice-juicehouse.git
cd juice-juicehouse
  1. Create an .env file in the root directory which mirrors the .sample.env file.

  2. Install dependencies and start the app:

yarn install
yarn start

Web3 Providers:

The frontend has two different providers that provide different levels of access to different chains:

  • readProvider: used to read from contracts on network of injected provider (.env file points you at testnet or mainnet)
  • signingProvider: your personal wallet, connected to via Blocknative.

Deployment

Frontend application(s) are deployment automatically on pushes to main using Fleek.

Theme

The app uses the SemanticTheme pattern defined in src/models/semantic-theme, which allows mapping style properties to any number of enumerated ThemeOptions. These properties are defined in src/constants/theme. Theme styles can be accessed via ThemeContext defined in src/contexts/themeContext and instantiated in src/hooks/JuiceTheme, or via CSS root variables.

The app also relies on antd components. To make Antd compatible with SemanticTheme, overrides are defined in src/styles/antd-overrides.