your personal website on atproto - mirror blento.app

add umami

Florian d9710eac ed5d0781

+11 -6
+6 -1
src/app.html
··· 4 <meta charset="utf-8" /> 5 <meta name="viewport" content="width=device-width, initial-scale=1" /> 6 %sveltekit.head% 7 - 8 </head> 9 <body data-sveltekit-preload-data="hover" class="bg-base-100 dark:bg-base-950"> 10 <div style="display: contents">%sveltekit.body%</div>
··· 4 <meta charset="utf-8" /> 5 <meta name="viewport" content="width=device-width, initial-scale=1" /> 6 %sveltekit.head% 7 + 8 + <script 9 + defer 10 + src="https://umami-wispy-dream-8048.fly.dev/script.js" 11 + data-website-id="c55efa23-9abe-4a7e-b8fd-81b9fa7e8052" 12 + ></script> 13 </head> 14 <body data-sveltekit-preload-data="hover" class="bg-base-100 dark:bg-base-950"> 15 <div style="display: contents">%sveltekit.body%</div>
+2 -2
src/lib/cards/ImageCard/index.ts
··· 1 - import { uploadImage } from '$lib/website/utils'; 2 import type { CardDefinition } from '../types'; 3 import CreateImageCardModal from './CreateImageCardModal.svelte'; 4 import EditingImageCard from './EditingImageCard.svelte'; ··· 20 creationModalComponent: CreateImageCardModal, 21 upload: async (item) => { 22 if (item.cardData.blob) { 23 - item.cardData.image = await uploadImage(item.cardData.blob); 24 25 delete item.cardData.blob; 26 }
··· 1 + import { uploadBlob } from '$lib/website/utils'; 2 import type { CardDefinition } from '../types'; 3 import CreateImageCardModal from './CreateImageCardModal.svelte'; 4 import EditingImageCard from './EditingImageCard.svelte'; ··· 20 creationModalComponent: CreateImageCardModal, 21 upload: async (item) => { 22 if (item.cardData.blob) { 23 + item.cardData.image = await uploadBlob(item.cardData.blob); 24 25 delete item.cardData.blob; 26 }
+2 -2
src/lib/website/utils.ts
··· 85 return { did, data: JSON.parse(JSON.stringify(downloadedData)) as DownloadedData, recentRecords }; 86 } 87 88 - export async function uploadImage(image: Blob) { 89 if (!client.profile) throw new Error('No profile'); 90 91 // atcute version ··· 95 params: { 96 repo: client.profile.did 97 }, 98 - data: image 99 }); 100 101 return blobResponse?.data.blob as {
··· 85 return { did, data: JSON.parse(JSON.stringify(downloadedData)) as DownloadedData, recentRecords }; 86 } 87 88 + export async function uploadBlob(blob: Blob) { 89 if (!client.profile) throw new Error('No profile'); 90 91 // atcute version ··· 95 params: { 96 repo: client.profile.did 97 }, 98 + data: blob 99 }); 100 101 return blobResponse?.data.blob as {
+1 -1
todo.md
··· 15 - cartoons: aka https://www.opendoodles.com/ 16 - excalidraw 17 - map 18 - - youtube video 19 - youtube channel 20 - guestbook 21
··· 15 - cartoons: aka https://www.opendoodles.com/ 16 - excalidraw 17 - map 18 + - [x] youtube video 19 - youtube channel 20 - guestbook 21