Gemini-Image-Banana-01package.json2 matches
1{
2"name": "gemini-flash-image-api",
3"version": "1.0.0",
4"description": "Gemini Flash image generation API for Poe.com integration",
5"main": "index.ts",
6"scripts": {
2import fcsdk from 'https://esm.sh/@farcaster/frame-sdk'
3import { useInfiniteQuery } from 'https://esm.sh/@tanstack/react-query@5'
4import { Heart, MessageCircle, Repeat, Images, Copy } from 'https://esm.sh/lucide-react@0.510.0'
5import { useState } from 'https://esm.sh/react@19'
6import { useNavigate } from 'https://esm.sh/react-router@7'
4950function PostMedia({ cast }) {
51const images = cast.embeds?.filter((embed) => !!embed?.metadata?.image)
52const videos = cast.embeds?.filter((embed) => !!embed?.metadata?.video)
5354const [selectedImage, setSelectedImage] = useState(null)
5556if (!images?.length && !videos?.length) {
57return null
58}
60return (
61<div className="flex flex-col gap-2">
62{images?.length > 0 && (
63<div className="flex flex-row gap-1 flex-wrap items-start">
64{images.map((image, i) => (
65<div
66key={i}
67className={`rounded-lg overflow-hidden max-w-lg cursor-pointer ${
68images.length > 1 ? 'w-[48%]' : 'w-[100%]'
69}`}
70onClick={(e) => {
71e.preventDefault()
72e.stopPropagation()
73setSelectedImage(image?.url)
74}}
75>
76<img src={image?.url} />
77</div>
78))}
80)}
8182{selectedImage && (
83<div
84className="fixed inset-0 w-screen h-screen z-50 object-contain bg-black/90"
85onClick={() => setSelectedImage(null)}
86>
87<div className="w-full h-full">
88<img src={selectedImage} className="w-full h-full object-contain" />
89</div>
90</div>
248const navigate = useNavigate()
249const [isFullscreen, setIsFullscreen] = useState(false)
250const images = cast?.embeds?.filter((embed) => !!embed?.metadata?.image)
251if (!images || !images.length) return null
252253const toggleFullscreen = (e) => {
260return (
261<div className="w-full relative">
262{images?.slice(0, 1)?.map((image) => (
263<img
264key={image.cid}
265src={image?.url}
266onClick={toggleFullscreen}
267className={`cursor-pointer ${
272/>
273))}
274<div className="absolute top-0 right-0 p-2">{images?.length > 1 && <Images className="size-4 " />}</div>
275</div>
276)
178179- **Redirects:** Use `return new Response(null, { status: 302, headers: { Location: "/place/to/redirect" }})` instead of `Response.redirect` which is broken
180- **Images:** Avoid external images or base64 images. Use emojis, unicode symbols, or icon fonts/libraries instead
181- **AI Image:** To inline generate an AI image use: `<img src="https://maxm-imggenurl.web.val.run/the-description-of-your-image" />`
182- **Storage:** DO NOT use the Deno KV module for storage
183- **Browser APIs:** DO NOT use the `alert()`, `prompt()`, or `confirm()` methods
2title: "ElevenLabs Dialogue Tester"
3description: "A simple Val Town app to test ElevenLabs text-to-dialogue with script-style input. Paste your API key, type dialogue lines, and generate playable audio."
4imageUrl: "https://imagedelivery.net/iHX6Ovru0O7AjmyT5yZRoA/b8e649e1-5494-417a-2fea-44bf0f035e00/public"
5url: "https://dcm31--8c571770907b11f0b5510224a6c84d84.web.val.run"
6author: "dcm31"
elevenLabsDialogueTesterimages.md0 matches
24- **Accessible Color Palette**: WCAG 2.2 AA compliant purple/pink theme
25- **Card-based UI**: Consistent hover and interaction states
26- **Thumbnails**: App icons and book cover images
2728### ♿ **Full Accessibility**
tijs_orgCHANGELOG.md2 matches
21- PDS (Personal Data Server) resolution via Slingshot service
22- Address record resolution for check-in locations
23- Book cover image fetching via blob URLs
24- **Responsive Design**:
25- CSS Grid layouts (3 columns desktop, 1 column mobile)
30- Purple/pink color palette with section-specific themes
31- Consistent visual hierarchy and spacing
32- **Thumbnails**: App icons and book cover images
33- **External Links**: Clickable links to detailed pages on respective platforms
34- **Server-side Caching**: 1-hour cache for all external API calls
tijs_orgBookSection.tsx3 matches
42};
4344const getCoverImageUrl = (book: Book): string | null => {
45if (!book.value.cover?.ref || !pdsUrl) {
46return null;
267<div className="book-card">
268<div className="book-content">
269{getCoverImageUrl(book) && (
270<img
271src={getCoverImageUrl(book)!}
272alt={`Cover of ${book.value.title}`}
273className="book-cover"
tijs_orgProfileHeader.tsx2 matches
12}
1314.profile-image {
15width: 120px;
16height: 120px;
56src="https://github.com/tijs.png"
57alt="Tijs Teulings"
58className="profile-image"
59/>
60<h1 className="profile-name">Tijs Teulings</h1>
tijs_orgAppsSection.tsx3 matches
9description: "Track your (rehab) exercises on iOS",
10icon:
11"https://is1-ssl.mzstatic.com/image/thumb/Purple221/v4/85/75/bf/8575bf1c-7522-db8d-44bf-26f4cc5fdd18/AppIcon-0-0-1x_U007ephone-0-1-85-220.jpeg/540x540bb.jpg",
12},
13{
17description: "Estimate the charging time for your EVs on iOS",
18icon:
19"https://is1-ssl.mzstatic.com/image/thumb/Purple221/v4/d0/9e/a3/d09ea387-6f70-63e3-7c55-57a286dd8c74/AppIcon-0-0-1x_U007epad-0-1-85-220.png/540x540bb.jpg",
20},
21{
26label: "alpha",
27icon:
28"https://res.cloudinary.com/dru3aznlk/image/upload/v1754747200/anchor-logo-transparent_nrw70y.png",
29},
30];