tangled
alpha
login
or
join now
flo-bit.dev
/
blento
your personal website on atproto - mirror
blento.app
20
fork
atom
overview
issues
pulls
pipelines
edits
unbedenklich
2 weeks ago
708fd34a
46564bb0
+9
-4
2 changed files
expand all
collapse all
unified
split
src
lib
cards
index.ts
website
EditableWebsite.svelte
+2
src/lib/cards/index.ts
···
19
import { BlueskyProfileCardDefinition } from './BlueskyProfileCard';
20
import { GithubProfileCardDefitition } from './GitHubProfileCard';
21
import { FluidTextCardDefinition } from './FluidTextCard';
0
22
import { PopfeedReviewsCardDefinition } from './PopfeedReviews';
23
import { TealFMPlaysCardDefinition } from './TealFMPlaysCard';
24
import { PhotoGalleryCardDefinition } from './PhotoGalleryCard';
···
46
GithubProfileCardDefitition,
47
TetrisCardDefinition,
48
FluidTextCardDefinition,
0
49
PopfeedReviewsCardDefinition,
50
TealFMPlaysCardDefinition,
51
PhotoGalleryCardDefinition,
···
19
import { BlueskyProfileCardDefinition } from './BlueskyProfileCard';
20
import { GithubProfileCardDefitition } from './GitHubProfileCard';
21
import { FluidTextCardDefinition } from './FluidTextCard';
22
+
import { GifCardDefinition } from './GIFCard';
23
import { PopfeedReviewsCardDefinition } from './PopfeedReviews';
24
import { TealFMPlaysCardDefinition } from './TealFMPlaysCard';
25
import { PhotoGalleryCardDefinition } from './PhotoGalleryCard';
···
47
GithubProfileCardDefitition,
48
TetrisCardDefinition,
49
FluidTextCardDefinition,
50
+
GifCardDefinition,
51
PopfeedReviewsCardDefinition,
52
TealFMPlaysCardDefinition,
53
PhotoGalleryCardDefinition,
+7
-4
src/lib/website/EditableWebsite.svelte
···
324
}
325
326
async function processImageFile(file: File, gridX?: number, gridY?: number) {
327
-
const compressedFile = await compressImage(file);
328
-
const objectUrl = URL.createObjectURL(compressedFile);
0
0
0
329
330
let item = createEmptyCard(data.page);
331
332
-
item.cardType = 'image';
333
item.cardData = {
334
-
blob: compressedFile,
335
objectUrl
336
};
337
···
324
}
325
326
async function processImageFile(file: File, gridX?: number, gridY?: number) {
327
+
const isGif = file.type === 'image/gif';
328
+
329
+
// Don't compress GIFs to preserve animation
330
+
const processedFile = isGif ? file : await compressImage(file);
331
+
const objectUrl = URL.createObjectURL(processedFile);
332
333
let item = createEmptyCard(data.page);
334
335
+
item.cardType = isGif ? 'gif' : 'image';
336
item.cardData = {
337
+
blob: processedFile,
338
objectUrl
339
};
340