aboutsummaryrefslogtreecommitdiff
path: root/extension/src/Bookmark.tsx
blob: c555ffb737940c3aeff7212c16ad6b035bc73a87 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import BookmarkTreeNode = chrome.bookmarks.BookmarkTreeNode;

function Bookmark(props: {data: BookmarkTreeNode}) {
    return(
        <a className="bookmark" href={props.data.url}>
            <img alt="Bookmark icon" src={faviconURL(props.data.url)}></img>
            <span>{props.data.title}</span>
        </a>
    );
}

function faviconURL(u: string | undefined) {
    if (!u) return "";
    u = new URL(u).origin.toString();
    const url = new URL(chrome.runtime.getURL("/_favicon/"));
    url.searchParams.set("pageUrl", u);
    url.searchParams.set("size", "32");
    return url.toString();
}

export default Bookmark;