Skip to content

Commit f084b1c

Browse files
fr labs test :3
1 parent 533c853 commit f084b1c

File tree

4 files changed

+70
-0
lines changed

4 files changed

+70
-0
lines changed

components/user/UserProvider.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ const UserProvider: FC = ({ children }) => {
8989
const { getClaimedFUSDRewards, claimedFUSDRewards } = useFUSDChestRewards()
9090

9191
const {
92+
data: beastMarketStuff,
9293
beastsForSale,
9394
getAllBeastsForSale,
9495
purchaseBeast,
@@ -156,6 +157,7 @@ const UserProvider: FC = ({ children }) => {
156157
getUserFUSDBalance,
157158
highestSale,
158159
getHighestSale,
160+
beastMarketStuff,
159161
}}
160162
>
161163
{children}

framework/hooks/use-beast-market.hook.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ export default function useBeastMarket() {
3939
}, [])
4040

4141
const getAllBeasts = async () => {
42+
dispatch({ type: "PROCESSING" })
4243
try {
4344
let res = await query({
4445
cadence: `
@@ -137,7 +138,9 @@ export default function useBeastMarket() {
137138
allBeasts.push(beast)
138139
}
139140
setBeasts(allBeasts)
141+
dispatch({ type: "SUCCESS" })
140142
} catch (error) {
143+
dispatch({ type: "ERROR" })
141144
console.log(error)
142145
}
143146
}

pages/beast-details/[beastID].tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import type { NextPage } from "next"
22
import ProductBeastView from "@components/ui/ProductBeastView"
33
import { useUser } from "@components/user/UserProvider"
44
import { useRouter } from "next/router"
5+
import useBeastMarket from "@framework/hooks/use-beast-market.hook"
56

67
const dummyData = [
78
{
@@ -137,11 +138,14 @@ const dummyData = [
137138
const BeastDetails: NextPage = () => {
138139
const { beasts, hunterData } = useUser()
139140

141+
const { loading } = useBeastMarket()
142+
140143
const router = useRouter()
141144
const { beastID } = router.query
142145

143146
return (
144147
<div>
148+
{loading && <div>LOADING STAY CALM</div>}
145149
{beastID != null && (
146150
<ProductBeastView
147151
beast={beasts?.filter((beasts: any) => beasts.id == beastID)[0]}

test.cdc

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
import HunterScore from 0xfa252d0aa22bf86a
2+
import BasicBeasts from 0xfa252d0aa22bf86a
3+
4+
pub fun main(): [{String:AnyStruct}] {
5+
6+
let addresses = HunterScore.getHunterScores().keys
7+
var beasts: [{String: AnyStruct}] = []
8+
var index = 0
9+
let limit = 10
10+
11+
12+
for address in addresses {
13+
let collectionRef = getAccount(address).getCapability(BasicBeasts.CollectionPublicPath)
14+
.borrow<&{BasicBeasts.BeastCollectionPublic}>()
15+
if (collectionRef != nil) {
16+
let IDs = collectionRef!.getIDs()
17+
var i = 0
18+
while i < IDs.length && index < limit {
19+
let token = collectionRef!.borrowBeast(id: IDs[i])
20+
?? panic("Couldn't borrow a reference to the specified beast")
21+
22+
let beastTemplate = token.getBeastTemplate()
23+
24+
let beast = {
25+
"name" : beastTemplate.name,
26+
"description" : beastTemplate.description,
27+
"nickname" : token.getNickname(),
28+
"serialNumber" : token.serialNumber,
29+
"dexNumber" : beastTemplate.dexNumber,
30+
"skin" : beastTemplate.skin,
31+
"starLevel" : beastTemplate.starLevel,
32+
"elements" : beastTemplate.elements,
33+
"basicSkills" : beastTemplate.basicSkills,
34+
"ultimateSkill" : beastTemplate.ultimateSkill,
35+
"currentOwner" : address,
36+
"firstOwner" : token.getFirstOwner(),
37+
"sex" : token.sex,
38+
"breedingCount" : 0,
39+
"numberOfMintedBeastTemplates" : 100,
40+
"beastTemplateID" : beastTemplate.beastTemplateID,
41+
"id": token.id
42+
}
43+
44+
beasts.append(beast)
45+
index = index + 1
46+
47+
i = i + 1
48+
49+
}
50+
}
51+
}
52+
53+
54+
return beasts
55+
}
56+
57+
// flow scripts execute test.cdc -n=testnet
58+
59+
// a b
60+
// FRLabs join two objects
61+
// let newArray = [...a, ...b]

0 commit comments

Comments
 (0)