julio01styles.css3 matches
26}
2728/* Image upload */
29.image-upload-container {
30display: flex;
31align-items: center;
33}
3435.image-preview {
36width: 100px;
37height: 50px;
julio01index.html6 matches
16<div id="websiteForm" class="website-form">
17<div class="grid grid-cols-1 md:grid-cols-2 gap-4">
18<!-- Image Selector -->
19<div class="form-group">
20<label for="imageUpload">Website Logo (100x50px)</label>
21<div class="image-upload-container">
22<div id="imagePreview" class="image-preview">
23<img id="previewImg" src="/frontend/placeholder.jpg" alt="Preview" style="max-width: 100px; max-height: 50px;">
24</div>
25<input type="file" id="imageUpload" accept="image/*" class="hidden">
26<button id="selectImageBtn" class="btn btn-primary">Select Image</button>
27</div>
28</div>
70});
7172app.post("/api/upload-image", async c => {
73try {
74const formData = await c.req.formData();
75const file = formData.get("image") as File;
76
77if (!file) {
78return c.json({ success: false, error: "No image provided" }, 400);
79}
80
83const buffer = new Uint8Array(arrayBuffer);
84
85// Generate a unique key for the image
86const key = `website_image_${Date.now()}`;
87
88// Store the image in blob storage
89await blob.set(key, buffer);
90
91return c.json({ success: true, key });
92} catch (error) {
93console.error("Error uploading image:", error);
94return c.json({ success: false, error: error.message }, 500);
95}
96});
9798app.get("/api/image/:key", async c => {
99try {
100const key = c.req.param("key");
101const image = await blob.get(key);
102
103if (!image) {
104return c.json({ success: false, error: "Image not found" }, 404);
105}
106
107return new Response(image, {
108headers: {
109"Content-Type": "image/jpeg"
110}
111});
112} catch (error) {
113console.error("Error getting image:", error);
114return c.json({ success: false, error: error.message }, 500);
115}
122CREATE TABLE IF NOT EXISTS websites (
123id INTEGER PRIMARY KEY AUTOINCREMENT,
124image_key TEXT,
125url TEXT,
126is_active INTEGER DEFAULT 1,
178await sqlite.execute(`
179UPDATE websites
180SET image_key = ?, url = ?, is_active = ?, user_id = ?
181WHERE id = ?
182`, [data.image_key, data.url, data.is_active ? 1 : 0, data.user_id, data.id]);
183return { id: data.id };
184} else {
185// Insert new website
186const result = await sqlite.execute(`
187INSERT INTO websites (image_key, url, is_active, user_id)
188VALUES (?, ?, ?, ?)
189`, [data.image_key, data.url, data.is_active ? 1 : 0, data.user_id]);
190
191return { id: result.lastInsertId };
Pulse2index.html6 matches
968bio: "Founded a successful bakery business in Buea. Passionate about helping young people start small businesses.",
969expertise: ["Entrepreneurship", "Food Business", "Marketing"],
970image: "👩🏾💼"
971},
972{
976bio: "Works remotely for a tech company. Graduated from University of Buea and wants to mentor aspiring developers.",
977expertise: ["Coding", "Web Development", "Remote Work"],
978image: "👨🏾💻"
979},
980{
984bio: "Leads several community initiatives in Buea. Skilled at bringing people together for positive change.",
985expertise: ["Leadership", "Public Speaking", "Project Management"],
986image: "👩🏾🦱"
987},
988{
992bio: "Guides young people in discovering their purpose. Combines faith with practical career advice.",
993expertise: ["Spiritual Guidance", "Counseling", "Teaching"],
994image: "👨🏾🦲"
995},
996{
1000bio: "Teaches business at University of Buea. Helps students bridge the gap between academics and real-world skills.",
1001expertise: ["Academic Guidance", "Research", "Business Strategy"],
1002image: "👩🏾🏫"
1003}
1004];
1037<div key={mentor.id} className="card flex flex-col md:flex-row">
1038<div className="text-6xl md:text-8xl flex items-center justify-center p-4 md:p-6">
1039{mentor.image}
1040</div>
1041<div className="flex-1">
80const headers = {
81'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36',
82'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
83'Accept-Language': 'en-US,en;q=0.5',
84'Connection': 'keep-alive',
voiceindex.html1 match
6<title>VoiceSync - Real-time Indian English Transcription</title>
7<meta name="description" content="Real-time speech transcription optimized for Indian English accents">
8<link rel="icon" href="/frontend/favicon.svg" type="image/svg+xml">
9<script src="https://cdn.twind.style" crossorigin></script>
10<script src="https://esm.town/v/std/catch"></script>
Pegasusindex.html1 match
5<meta name="viewport" content="width=device-width, initial-scale=1.0">
6<title>DevToolkit - Инструменты для программистов</title>
7<link rel="icon" href="/frontend/favicon.svg" type="image/svg+xml">
8<meta name="description" content="Набор полезных инструментов для программистов: конвертеры форматов, генераторы, редакторы и многое другое">
9<script src="https://cdn.twind.style" crossorigin></script>
TaskWahoindex.html1 match
13
14<!-- Favicon -->
15<link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.9em%22 font-size=%2290%22>✅</text></svg>">
16
17<!-- Custom styles -->
untitled-2401CreateCampaign.tsx6 matches
16hospital_name: "",
17target_amount: 100000,
18image_url: ""
19});
20
220<div className="mb-6">
221<label className="block text-gray-700 font-medium mb-2">
222Campaign Image URL (Optional)
223</label>
224<input
225type="text"
226name="image_url"
227value={formData.image_url}
228onChange={handleChange}
229className="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500"
230placeholder="https://example.com/image.jpg"
231/>
232<p className="text-gray-500 text-sm mt-1">
233Add an image URL to make your campaign more personal (leave empty for a default image)
234</p>
235</div>
untitled-2401CampaignDetail.tsx2 matches
98const progress = calculateProgress(campaign.current_amount, campaign.target_amount);
99const isCreator = isAuthenticated && user?.id === campaign.creator_id;
100const imageUrl = campaign.image_url || "https://maxm-imggenurl.web.val.run/medical-hospital-patient-treatment-illustration";
101
102// Generate WhatsApp share text
111<div className="bg-white rounded-lg shadow-md overflow-hidden">
112<img
113src={imageUrl}
114alt={campaign.title}
115className="w-full h-64 object-cover"