1.3.2 • Published 2 years ago

@zeitgeistpm/avatara-react v1.3.2

Weekly downloads
-
License
-
Repository
-
Last release
2 years ago

@zeitgeistpm/avatara-react

This package contains react components and utility hooks for rendering the zeitgeist rmrk2 avatar and managing its equipment.

ZeitgeistAvatar

Render the zeitgeist avatar

import { AvatarContext, ZeitgeistAvatar } from "@zeitgeistpm/avatara-react"

const App = () => (
  <AvatarContext.Provider>
    <Component />
  </AvatarContext.Provider>
)

const Component = () => (
  <ZeitgeistAvatar 
    address={"3H7sh...Dj2jS"}     // optional, will try to use fallback component if empty
    size={44} 
    copy={true}                   // optional, default = true, copy address on click polkadot style.
    zoomed={false}                // optional, default = false, set to true when rendering very small avatar.
    fallback={<GenericAvatar />}  // optional
    loader={<Spinner />}          // optional
    onClick={clickedAvatar}       // optional
  />
)

useInventoryManagement

Hook to manage equipment for the avatar. Can accept items/badges when they are earned, preview items in inventory and commit a new set of equippment.

import { AvatarContext, ZeitgeistAvatar, useInventoryManagement } from "@zeitgeistpm/avatara-react"

const App = () => (
  <AvatarContext.Provider>
    <InventoryManagement />
  </AvatarContext.Provider>
)

const InventoryManagement = () => {

  const sdkContext = useAvatarContext()
  const inventory = useInventoryManagement(selectedAddress)

  return (
    <div>

      <ZeitgeistAvatar 
        address={"3H7sh...Dj2jS"}
        size={196}
        layoutPreview={inventory.layout} // will preview selected items
      />

      <div>
        <h2>Inventory.</h2>
        {
          inventory.items.accepted.map((item) => (
            <Item 
              item={item}
              checked={inventory.hasSelected(item)}
              onCheck={(checked) => {
                if(checked) {
                  inventory.select(item) 
                }
                else {
                  inventory.unselect(item) 
                }
              }} 
              loading={inventory.isAccepting(item)}
            />
          ))
        }
      </div>

      <div>
        <h2>Pending items!</h2>
        {
          inventory.items.pending.map((item) => (
            <PendingItem 
              item={item} 
              onClickAccept={() => inventory.accept(item)} 
              loading={inventory.isAccepting(item)}
            />
          ))
        }
      </div>

      <button 
        onClick={() => {() => inventory.commit()}
        disabled={inventory.comitting}
      >
        Commit equipment changes.
      </button>

    </div>
  )
}
1.3.2

2 years ago

1.3.1

2 years ago

1.3.0

3 years ago

1.2.0

3 years ago

1.1.7

3 years ago

1.1.6

3 years ago

1.1.5

3 years ago

1.1.4

3 years ago

1.1.3

3 years ago

1.1.2

3 years ago

1.1.1

3 years ago

1.1.0

3 years ago

1.0.0

3 years ago

1.0.0-alpha.1

3 years ago

1.0.0-alpha.0

3 years ago

0.3.2-alpha.0

3 years ago

0.3.1

3 years ago

0.3.1-alpha.0

3 years ago

0.3.0-alpha.9

3 years ago

0.3.0-alpha.0

3 years ago

0.2.13-alpha.0

3 years ago

0.2.12-alpha.0

3 years ago

0.2.11-alpha.0

3 years ago

0.2.10-alpha.8

3 years ago

0.2.10-alpha.0

3 years ago

0.2.9-alpha.0

3 years ago

0.2.8-alpha.0

3 years ago

0.2.7-alpha.0

3 years ago

0.2.6

3 years ago

0.2.6-alpha.0

3 years ago

0.2.5-alpha.0

3 years ago

0.2.4-alpha.0

3 years ago

0.2.3-alpha.0

3 years ago

0.2.2

3 years ago

0.2.1

3 years ago

0.2.1-alpha.0

3 years ago

0.2.0

3 years ago

0.2.0-alpha.0

3 years ago

0.1.10

3 years ago

0.1.9

3 years ago

0.1.8

3 years ago

0.1.8-alpha.0

3 years ago

0.1.7-alpha.0

3 years ago

0.1.6

3 years ago

0.1.5

3 years ago

0.1.4

3 years ago

0.1.4-alpha.0

3 years ago

0.1.3

3 years ago

0.1.3-alpha.1

3 years ago

0.1.3-alpha.0

3 years ago

0.1.2

3 years ago

0.1.2-alpha.120

3 years ago

0.1.2-alpha.98

3 years ago

0.1.2-alpha.96

3 years ago

0.1.2-alpha.95

3 years ago

0.1.2-alpha.85

3 years ago

0.1.2-alpha.84

3 years ago

0.1.2-alpha.83

3 years ago

0.1.2-alpha.82

3 years ago

0.1.2-alpha.81

3 years ago

0.1.2-alpha.23

3 years ago

0.1.2-alpha.17

3 years ago

0.1.2-alpha.15

3 years ago

0.1.2-alpha.8

3 years ago

0.1.2-alpha.7

3 years ago

0.1.2-alpha.6

3 years ago

0.1.2-alpha.0

3 years ago

0.1.1-alpha.30

3 years ago

0.1.1-alpha.29

3 years ago

0.1.1-alpha.28

3 years ago

0.1.1-alpha.27

3 years ago

0.1.1-alpha.26

3 years ago

0.1.1-alpha.25

3 years ago

0.1.1-alpha.24

3 years ago

0.1.1-alpha.23

3 years ago

0.1.1-alpha.20

3 years ago

0.1.1-alpha.19

3 years ago

0.1.1-alpha.18

3 years ago

0.1.1-alpha.17

3 years ago

0.1.1-alpha.16

3 years ago

0.1.1-alpha.15

3 years ago

0.1.1-alpha.12

3 years ago

0.1.1-alpha.8

3 years ago

0.1.1-alpha.7

3 years ago

0.1.1-alpha.6

3 years ago

0.1.1-alpha.3

3 years ago

0.1.1-alpha.2

3 years ago

0.1.1-alpha.1

3 years ago

0.1.1-alpha.0

3 years ago

0.1.0-alpha.2

3 years ago

0.1.0-alpha.1

3 years ago

0.1.0-alpha.0

3 years ago

0.0.1-alpha.291

3 years ago

0.0.1-alpha.290

3 years ago

0.0.1-alpha.289

3 years ago

0.0.1-alpha.288

3 years ago

0.0.1-alpha.287

3 years ago

0.0.1-alpha.286

3 years ago

0.0.1-alpha.285

3 years ago

0.0.1-alpha.282

3 years ago

0.0.1-alpha.281

3 years ago

0.0.1-alpha.280

3 years ago

0.0.1-alpha.278

3 years ago

0.0.1-alpha.277

3 years ago

0.0.1-alpha.276

3 years ago

0.0.1-alpha.275

3 years ago

0.0.1-alpha.274

3 years ago