From 1180d6f1e09be10d24539a8489f9eb0ce221537b Mon Sep 17 00:00:00 2001
From: Florian <45694132+flo-bit@users.noreply.github.com>
Date: Sat, 7 Feb 2026 01:29:08 +0100
Subject: [PATCH] lastfm cards
---
src/lib/cards/index.ts | 10 +-
.../LastFMCard/CreateLastFMCardModal.svelte | 60 ++++++
.../media/LastFMCard/LastFMAlbumArt.svelte | 50 +++++
.../LastFMCard/LastFMPeriodSettings.svelte | 36 ++++
.../LastFMProfileCard.svelte | 113 +++++++++++
.../LastFMCard/LastFMProfileCard/index.ts | 40 ++++
.../LastFMRecentTracksCard.svelte | 103 ++++++++++
.../LastFMRecentTracksCard/index.ts | 70 +++++++
.../LastFMTopAlbumsCard.svelte | 103 ++++++++++
.../LastFMTopAlbumsCardSettings.svelte | 63 ++++++
.../LastFMCard/LastFMTopAlbumsCard/index.ts | 47 +++++
.../LastFMTopTracksCard.svelte | 117 ++++++++++++
.../LastFMCard/LastFMTopTracksCard/index.ts | 45 +++++
.../GitHubContributorsCard.svelte | 149 ++-------------
.../NpmxLikesLeaderboardCard.svelte | 2 +-
src/lib/components/ImageGrid.svelte | 180 ++++++++++++++++++
src/lib/website/ThemeScript.svelte | 19 +-
src/routes/+layout.svelte | 5 +-
src/routes/api/lastfm/+server.ts | 89 +++++++++
19 files changed, 1161 insertions(+), 140 deletions(-)
create mode 100644 src/lib/cards/media/LastFMCard/CreateLastFMCardModal.svelte
create mode 100644 src/lib/cards/media/LastFMCard/LastFMAlbumArt.svelte
create mode 100644 src/lib/cards/media/LastFMCard/LastFMPeriodSettings.svelte
create mode 100644 src/lib/cards/media/LastFMCard/LastFMProfileCard/LastFMProfileCard.svelte
create mode 100644 src/lib/cards/media/LastFMCard/LastFMProfileCard/index.ts
create mode 100644 src/lib/cards/media/LastFMCard/LastFMRecentTracksCard/LastFMRecentTracksCard.svelte
create mode 100644 src/lib/cards/media/LastFMCard/LastFMRecentTracksCard/index.ts
create mode 100644 src/lib/cards/media/LastFMCard/LastFMTopAlbumsCard/LastFMTopAlbumsCard.svelte
create mode 100644 src/lib/cards/media/LastFMCard/LastFMTopAlbumsCard/LastFMTopAlbumsCardSettings.svelte
create mode 100644 src/lib/cards/media/LastFMCard/LastFMTopAlbumsCard/index.ts
create mode 100644 src/lib/cards/media/LastFMCard/LastFMTopTracksCard/LastFMTopTracksCard.svelte
create mode 100644 src/lib/cards/media/LastFMCard/LastFMTopTracksCard/index.ts
create mode 100644 src/lib/components/ImageGrid.svelte
create mode 100644 src/routes/api/lastfm/+server.ts
diff --git a/src/lib/cards/index.ts b/src/lib/cards/index.ts
index 7e3b663..5e24deb 100644
--- a/src/lib/cards/index.ts
+++ b/src/lib/cards/index.ts
@@ -42,6 +42,10 @@ import { ProductHuntCardDefinition } from './social/ProductHuntCard';
import { KickstarterCardDefinition } from './social/KickstarterCard';
import { NpmxLikesCardDefinition } from './social/NpmxLikesCard';
import { NpmxLikesLeaderboardCardDefinition } from './social/NpmxLikesLeaderboardCard';
+import { LastFMRecentTracksCardDefinition } from './media/LastFMCard/LastFMRecentTracksCard';
+import { LastFMTopTracksCardDefinition } from './media/LastFMCard/LastFMTopTracksCard';
+import { LastFMTopAlbumsCardDefinition } from './media/LastFMCard/LastFMTopAlbumsCard';
+import { LastFMProfileCardDefinition } from './media/LastFMCard/LastFMProfileCard';
// import { Model3DCardDefinition } from './visual/Model3DCard';
export const AllCardDefinitions = [
@@ -88,7 +92,11 @@ export const AllCardDefinitions = [
ProductHuntCardDefinition,
KickstarterCardDefinition,
NpmxLikesCardDefinition,
- NpmxLikesLeaderboardCardDefinition
+ NpmxLikesLeaderboardCardDefinition,
+ LastFMRecentTracksCardDefinition,
+ LastFMTopTracksCardDefinition,
+ LastFMTopAlbumsCardDefinition,
+ LastFMProfileCardDefinition
] as const;
export const CardDefinitionsByType = AllCardDefinitions.reduce(
diff --git a/src/lib/cards/media/LastFMCard/CreateLastFMCardModal.svelte b/src/lib/cards/media/LastFMCard/CreateLastFMCardModal.svelte
new file mode 100644
index 0000000..1ee2ed2
--- /dev/null
+++ b/src/lib/cards/media/LastFMCard/CreateLastFMCardModal.svelte
@@ -0,0 +1,60 @@
+
+
+