diff --git a/src/style.css b/src/style.css index 49fe466..edb7663 100644 --- a/src/style.css +++ b/src/style.css @@ -96,6 +96,7 @@ fieldset { flex: 1; font-weight: bold; border: none; + min-width: 200px; } label { diff --git a/src/tokenList.ts b/src/tokenList.ts new file mode 100644 index 0000000..9136b65 --- /dev/null +++ b/src/tokenList.ts @@ -0,0 +1,10 @@ +import { displayTokenListItem } from "./TokenListItem"; +import { tokens } from "./tokens"; + +export function tokenList() { + const element = document.createElement("div"); + element.classList.add("test"); + return `
${tokens.map((token) => + displayTokenListItem(token.account, token.secret, element) + )}
`; +} diff --git a/src/tokenListItem.test.ts b/src/tokenListItem.test.ts new file mode 100644 index 0000000..85ee3f1 --- /dev/null +++ b/src/tokenListItem.test.ts @@ -0,0 +1,24 @@ +// @vitest-environment jsdom + +import { expect, test } from "vitest"; +import { displayTokenListItem } from "./tokenListItem"; + +test("displays correct account name", () => { + const div: HTMLDivElement = document.createElement("div"); + displayTokenListItem("Github", "ABCDEFGHIJKLMNOP", div); + expect(div.innerHTML).toContain("Github"); +}); + +test("displays multiple list items", () => { + const div: HTMLDivElement = document.createElement("div"); + displayTokenListItem("Github", "ABCDEFGHIJKLMNOP", div); + displayTokenListItem("Gmail", "ABCDEFGHIJKLMNOP", div); + const tokens = [ + { account: "Github", secret: "blahblahblah" }, + { account: "Gmail", secret: "blahblahblah" }, + ]; + tokens.map((token) => displayTokenListItem(token.account, token.secret, div)); + console.log("dv", div.innerHTML); + expect(div.innerHTML).toContain("Github"); + expect(div.innerHTML).toContain("Gmail"); +}); diff --git a/src/tokenListItem.ts b/src/tokenListItem.ts new file mode 100644 index 0000000..1526524 --- /dev/null +++ b/src/tokenListItem.ts @@ -0,0 +1,14 @@ +import {displayToken} from './token' +export function displayTokenListItem(account: string, secret: string, element: HTMLDivElement){ + + return element.innerHTML = `
+
+ +

${account}

+
+
+ +

${displayToken(secret)}

+
+
`; +} \ No newline at end of file