Skip to content

Commit

Permalink
fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
gamer7860 committed Jan 26, 2025
1 parent 0b38f6b commit 314dd6a
Show file tree
Hide file tree
Showing 7 changed files with 63 additions and 123 deletions.
9 changes: 5 additions & 4 deletions src/frontend/src/api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -122,16 +122,18 @@ export const ApiGenerator = (
console.error(err);
});

const icrc_canisters: Map<string, IcrcLedgerCanister> = new Map();
const agentCache: Map<string, IcrcLedgerCanister> = new Map();
const getIcrcCanister = (canisterId: string) => {
const canisterAgent = icrc_canisters.get(canisterId);
const canisterAgent = agentCache.get(canisterId);
if (canisterAgent) {
return canisterAgent;
}
return IcrcLedgerCanister.create({
const canister = IcrcLedgerCanister.create({
canisterId: Principal.from(canisterId),
agent,
});
agentCache.set(canisterId, canister);
return canister;
};

const query_raw = async (
Expand Down Expand Up @@ -509,7 +511,6 @@ export const ApiGenerator = (
icrc_metadata: async (canisterId: string) => {
try {
const canister = getIcrcCanister(canisterId);
// console.log(canister.metadata)
const meta = await canister.metadata({
certified: false,
});
Expand Down
19 changes: 19 additions & 0 deletions src/frontend/src/common.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -1120,3 +1120,22 @@ export const SeedPhraseForm = ({
export const restartApp = async () => {
location.reload();
};

export function bucket_image_url(
bucket_id: string,
offset: number,
len: number,
) {
// Fall back to the mainnet if the local config doesn't contain the bucket.
let fallback_to_mainnet = !window.backendCache.stats?.buckets?.find(
([id, _y]) => id == bucket_id,
);
let host =
MAINNET_MODE || fallback_to_mainnet
? `https://${bucket_id}.raw.icp0.io`
: `http://127.0.0.1:8080`;
return (
`${host}/image?offset=${offset}&len=${len}` +
(MAINNET_MODE ? "" : `&canisterId=${bucket_id}`)
);
}
110 changes: 37 additions & 73 deletions src/frontend/src/icrc1-tokens-wallet.tsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
import * as React from "react";
import { ButtonWithLoading, CopyToClipboard } from "./common";
import { ButtonWithLoading, bucket_image_url } from "./common";
import { Principal } from "@dfinity/principal";
import { Icrc1Canister } from "./types";
import { bucket_image_url } from "./util";
import { Repost } from "./icons";

export const Icrc1TokensWallet = () => {
Expand Down Expand Up @@ -140,86 +139,51 @@ export const Icrc1TokensWallet = () => {

return (
<>
<div style={{ marginBottom: 4 }}>
<div className="vcentered bottom_spaced">
<h2 className="max_width_col">ICRC1 TOKENS</h2>
<ButtonWithLoading
onClick={addIcrc1CanisterPrompt}
label={"Add token"}
></ButtonWithLoading>
<ButtonWithLoading
onClick={() => loadIcrc1CanisterBalances(undefined, true)}
label={"Refresh balances"}
label={<Repost />}
></ButtonWithLoading>
</div>
{icrc1Canisters.length > 0 && (
<table className="icrc1-canisters">
<tbody>
{icrc1Canisters.map(([canisterId, info]) => (
<tr key={canisterId}>
<td className="monospace">{info.symbol}</td>
<td>
<img
style={{
height: 32,
width: 32,
verticalAlign: "middle",
}}
src={
info.logo_params
? bucket_image_url(
...info.logo_params,
)
: info.logo
}
/>
</td>
<td className="hide-mobile">
<a
href={`https://dashboard.internetcomputer.org/canister/${canisterId}`}
target="_blank"
>
{canisterId}
</a>
</td>

<td
style={{ textAlign: "right", width: "99%" }}
>
<ButtonWithLoading
classNameArg="send"
onClick={() =>
loadIcrc1CanisterBalances(
canisterId,
true,
)
}
label={<Repost></Repost>}
></ButtonWithLoading>
</td>
<td>
<ButtonWithLoading
classNameArg="send"
onClick={() =>
icrcTransferPrompts(
canisterId,
info,
)
}
label={"Send"}
></ButtonWithLoading>
</td>
<td>
<span className="monospace">{`${(+canisterBalances[canisterId] / Math.pow(10, info.decimals))?.toFixed(info.decimals)}`}</span>
</td>
<td>
<CopyToClipboard
value={user.principal}
displayMap={() => `Receive`}
></CopyToClipboard>
</td>
</tr>
))}
</tbody>
</table>
<div className="column_container">
{icrc1Canisters.map(([canisterId, info]) => (
<div className="vcentered" key={canisterId}>
<img
style={{
height: 32,
width: 32,
verticalAlign: "middle",
}}
src={
info.logo_params
? bucket_image_url(...info.logo_params)
: info.logo
}
/>
<span className="monospace">{info.symbol}</span>
<div className="max_width_col"></div>
<code className="right_spaced">
{(
Number(canisterBalances[canisterId]) /
Math.pow(10, info.decimals)
)?.toFixed(info.decimals)}
</code>
<ButtonWithLoading
classNameArg="send"
onClick={() =>
icrcTransferPrompts(canisterId, info)
}
label={"Send"}
></ButtonWithLoading>
</div>
))}
</div>
)}
</>
);
Expand Down
2 changes: 1 addition & 1 deletion src/frontend/src/post.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import {
FlagButton,
ReportBanner,
tokens,
bucket_image_url,
currentRealm,
parseNumber,
noiseControlBanner,
Expand All @@ -45,7 +46,6 @@ import {
import { ProposalView } from "./proposals";
import { Feature, Post, PostId, Realm, UserId } from "./types";
import { UserLink, UserList, populateUserNameCache } from "./user_resolve";
import { bucket_image_url } from "./util";

export const PostView = ({
id,
Expand Down
23 changes: 0 additions & 23 deletions src/frontend/src/style.css
Original file line number Diff line number Diff line change
Expand Up @@ -1139,10 +1139,6 @@ label svg {
.prime h1 {
font-size: 200%;
}

.hide-mobile {
display: none;
}
}

.bottom_spaced {
Expand Down Expand Up @@ -1171,22 +1167,3 @@ div.thumbnails {
margin-top: 0.4em;
padding: 0.1em 0 0.1em 0;
}

.icrc1-canisters {
display: table;
width: 100%;
margin: 0;
}

.icrc1-canisters td {
padding: 0 0.25rem 0.125rem 0;
white-space: nowrap;
}
.icrc1-canisters td:last-of-type {
padding: 0;
}

.icrc1-canisters button.send {
padding-top: 0.4em;
padding-bottom: 0.4em;
}
20 changes: 0 additions & 20 deletions src/frontend/src/util.ts

This file was deleted.

3 changes: 1 addition & 2 deletions src/frontend/src/wallet.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -311,8 +311,7 @@ export const Wallet = () => {
</div>
)}
<hr />
<h2>ICRC1 Tokens</h2>
<Icrc1TokensWallet></Icrc1TokensWallet>
<Icrc1TokensWallet />
</>
);
};
Expand Down

0 comments on commit 314dd6a

Please sign in to comment.