ethereumTokenBalancesmain.tsx2 matches
1import { alchemyFetch } from "https://esm.town/v/jamiedubs/alchemyClient";
23export async function getBalances(address: string) {
4const [tokens, eth] = await Promise.all([
5alchemyFetch(`getTokenBalances?address=${address}`),
9}
1011export default async function ethereumTokenBalances(req: Request): Promise<Response> {
12const searchParams = new URL(req.url).searchParams;
13const address = searchParams.get("address");
8const PASSWORD_HASH = "75699634e8d0a66d4c9e0c8f4a5a4e02c3a1d0a13b3a5e9c7b3a1d0a13b3a5e9c";
910function App() {
11const [view, setView] = useState("home");
12const [bio, setBio] = useState("");
202}
203204function client() {
205createRoot(document.getElementById("root")).render(<App />);
206}
208if (typeof document !== "undefined") { client(); }
209210async function server(request: Request): Promise<Response> {
211const { blob } = await import("https://esm.town/v/std/blob");
212const url = new URL(request.url);
variableIvoryEgretmain.tsx1 match
1export default async function(req: Request): Promise<Response> {
2let params = new URLSearchParams(req.url);
3let name = params.get("https://monu_shaw-variableivoryegret.web.val.run/?passcode");
ThumbMakermain.tsx7 matches
2* This application creates a thumbnail maker using Hono for server-side routing and client-side JavaScript for image processing.
3* It allows users to upload images, specify output options, and generate a composite thumbnail image.
4* The app uses the HTML5 Canvas API for image manipulation and supports drag-and-drop functionality.
5*
6* The process is divided into two steps:
18import { Hono } from 'npm:hono';
1920function html() {
21/*
22<!DOCTYPE html>
81}
8283function css() {
84/*
85body {
216}
217218function js() {
219/*
220const fileInput = document.getElementById('fileInput');
240let thumbnailMetadata;
241242function updateUI() {
243generateBtn.disabled = files.length === 0;
244thumbWidth.disabled = keepAspectRatio.checked;
245}
246247function resetToStep1() {
248thumbnailOptions.style.display = 'block';
249renderOptions.style.display = 'none';
375});
376377function getImage(file) {
378return new Promise((resolve) => {
379const url = URL.createObjectURL(file);
7const SLACK_VERIFICATION_TOKEN = env.get("SLACK_VERIFICATION_TOKEN");
89async function message(channel: string, text: string, thread_ts?: string) {
10return await fetchJSON(
11"https://slack.com/api/chat.postMessage",
18}
1920async function reaction(channel: string, timestamp: string, name: string = "thumbsup") {
21return await fetchJSON(
22"https://slack.com/api/reactions.add",
slackScoutmain.tsx10 matches
15}
1617export default async function(interval: Interval): Promise<void> {
18try {
19await createTable();
3839// Create an SQLite table
40async function createTable(): Promise<void> {
41await sqlite.execute(`
42CREATE TABLE IF NOT EXISTS ${TABLE_NAME} (
5051// Fetch Hacker news, Twitter, and Reddit results
52async function fetchHackerNewsResults(topic: string): Promise<Website[]> {
53return hackerNewsSearch({
54query: topic,
58}
5960// async function fetchTwitterResults(topic: string): Promise<Website[]> {
61// return twitterSearch({
62// query: topic,
67// }
6869async function fetchRedditResults(topic: string): Promise<Website[]> {
70return redditSearch({ query: topic });
71}
7273function formatSlackMessage(website: Website): string {
74const displayTitle = website.title || website.url;
75return `*<${website.url}|${displayTitle}>*
78}
7980async function sendSlackMessage(message: string): Promise<Response> {
81const slackWebhookUrl = Deno.env.get("SLACK_WEBHOOK_URL");
82if (!slackWebhookUrl) {
104}
105106async function isURLInTable(url: string): Promise<boolean> {
107const result = await sqlite.execute({
108sql: `SELECT 1 FROM ${TABLE_NAME} WHERE url = :url LIMIT 1`,
112}
113114async function addWebsiteToTable(website: Website): Promise<void> {
115await sqlite.execute({
116sql: `INSERT INTO ${TABLE_NAME} (source, url, title, date_published)
120}
121122async function processResults(results: Website[]): Promise<void> {
123for (const website of results) {
124if (!(await isURLInTable(website.url))) {
1// Custom error logger
2function logError(error, errorType) {
3var errorMessage = error.message || error.toString();
4var errorSource = error.fileName || error.sourceURL || error.src || "unknown";
1920// Catch general JavaScript errors
21window.addEventListener("error", function(event) {
22// Check if the error is a script loading error
23if (event.target && event.target.tagName === "SCRIPT") {
3334// Handle unhandled promise rejections
35window.addEventListener("unhandledrejection", function(event) {
36logError(event.reason, "unhandledRejection");
37});
3839// Catch and log any errors that occur during script execution
40document.addEventListener("error", function(event) {
41if (event.target && event.target.tagName === "SCRIPT") {
42logError({
49// Override createElement to catch dynamic script loading errors
50var originalCreateElement = document.createElement;
51document.createElement = function() {
52var element = originalCreateElement.apply(this, arguments);
53if (arguments[0].toLowerCase() === "script") {
54element.addEventListener("error", function(event) {
55logError({
56message: "Failed to load dynamically added script",
linkInBioTemplatemain.tsx1 match
12import { renderToString } from "npm:react-dom/server";
1314export default async function(req: Request) {
15return new Response(
16renderToString(
snakeclonemain.tsx5 matches
7const CELL_SIZE = CANVAS_SIZE / GRID_SIZE;
89function ChatRoom() {
10const [messages, setMessages] = useState([]);
11const [inputMessage, setInputMessage] = useState('');
46}
4748function SnakeGame() {
49const [snake, setSnake] = useState([{ x: 10, y: 10 }]);
50const [food, setFood] = useState({ x: 15, y: 15 });
127}
128129function App() {
130const [currentView, setCurrentView] = useState('menu');
131157}
158159function mountApp() {
160const root = document.getElementById("root");
161if (root) {
166}
167168async function server(request: Request): Promise<Response> {
169return new Response(`
170<html>
missingRosePonymain.tsx1 match
4import { currency } from "https://esm.town/v/stevekrouse/currency";
56export default async function btcPriceAlert() {
7const lastBtcPrice: number = await blob.getJSON("lastBtcPrice");
8let btcPrice = await currency("usd", "btc");