From b7fa177d9416f824d639a682366a178161ed3f5f Mon Sep 17 00:00:00 2001 From: Ryan Freeman Date: Tue, 29 Apr 2025 21:14:06 +0100 Subject: [PATCH] Drop spotify integration --- .env.example | 3 - .env.gpg | Bin 961 -> 788 bytes README.md | 1 - app/api/spotify/currently-playing/route.ts | 54 --------- app/api/spotify/last-played/route.ts | 56 ---------- components/common/Footer.tsx | 6 +- components/ui/SpotifyPlayer.tsx | 124 --------------------- lib/spotify.ts | 55 --------- 8 files changed, 1 insertion(+), 298 deletions(-) delete mode 100644 app/api/spotify/currently-playing/route.ts delete mode 100644 app/api/spotify/last-played/route.ts delete mode 100644 components/ui/SpotifyPlayer.tsx delete mode 100644 lib/spotify.ts diff --git a/.env.example b/.env.example index 3c0509e..9b6c633 100644 --- a/.env.example +++ b/.env.example @@ -1,6 +1,3 @@ -SPOTIFY_CLIENT_ID= -SPOTIFY_CLIENT_SECRET= -SPOTIFY_REFRESH_TOKEN= NEXT_PUBLIC_SITE_URL= GITHUB_ACCESS_TOKEN= GITHUB_USER_ID= diff --git a/.env.gpg b/.env.gpg index 3c65502f29bbd61c971fd277700b6874b9437879..928b9af5465d08bb7faa9d8b8875f168c2f15f0d 100644 GIT binary patch literal 788 zcmV+v1MB>Z4Fm@R0`hZ8nAP5n>*;|bA2rs9%Se;EIy^T8<&%|-HO$KF?i|o0Uk8e|) zgM1VKI2(2!=qOoo7vkxnns?1>xQEOy@?E&5&OUOs_nMenbI*<;0D|e z6q#Dj1#4*OoSEH^AuqMT=0e_`i(}DFP1X)7+t|naH?)N}<|1zCt-KEld$wIoP00@i zb2N!s-ca!PVkK`#m)>kBZHrpQiv#!Z&}fZS$ev1kCl_Nk^&qc8#7`q$Q1G_P-ZHj= zc_09k1i#I_QQE=!BD;z%vC-z^3fgoiVicQ4`9$SFc+~dif<28UgT274@+0mLH>j)!mFos^BF z5X$*G1+oW9{^b&TRr-snRXZ44Ls*RBvMJY?b^Gb865OkQ()O0NNQ&o{>?DH`+$igQ z38|Ajp)kaDyH<`hG*2~!Liy;c4W+$n4u2Wave=F24DO_jf6ijU-7K2v1)n04 zZNt#{s(TYhu+dnMMT$1R4Po4?G3Ba`Q$#4zU&%P{Z? z9E)NMBmbr0?KI*><Jy}D+&~qWLeQrktkatm*x+a4BGQiT~N9eFU zxKdJ*?!fMHVH~aNM3HfyDkoBT@GYm7=-F-_dv#~}(sMwSR4w-vVre2N=6&kvu&ynC z;OUV{h&HdH#gjMbQ@Sx~)kQ3E4EU`*tRa%b9^mF^Bh}Hu%AmwYB&o00K5DD(B2VZO S2UORgkCwhM;KB^1JpNoza*yBu literal 961 zcmV;y13vtW4Fm@R0-JzcD6#;AukzCA0a^OlB}OM*k&#ACdc?IlZ(MD`2-rl=h#deer!Uc_M$m9rT$)B5-*Q zt?9t%cUUq-7d~f4SNat`Krb*Wci-l7(de=1efzP;W8z#V8=ZhCgx7+>Ol9OYe~-0g zJzconD1Sw2vCtK5j`0Yxgn9^CX{c)J)PzolKQ-M6?e#H&OMnUsK77bh>ySo8#Sf8^ zr1+$^`XO%DqA1TI_m4w;JrAZ~o+K(c&+t;t(heK^Tc}9BbGL@(8=~!|A!=1vzy0cS z8#)+JO82=1YJF!jq>!RUw3RAWI;nPH5bMx7(t)sk?y_vlkLG9X;=a<@pCn#S9M*Ju zCu9x8xI#L)ZrO)%xL$E$l)frT%P7nseqsqi6}DQ=9q5(oFrEK3PSR4n(s%0Cw%yg?OdGw z^i%|jX+)OKgS-Q-XxWViu!xL^zuwO9oP^zVP%68oIC^+7H670ayGbex;?$@H{Oqr2 z#$N)<83~{Z&OQsV$B`&%!0z>&aCMS2nDwwMnK}f-p>Q|&@(=HIgWMd->9aFU zS@~H%)@#7}z)hK-wK|+X6}o<#FkSC{9WamqDsx>@6bm*)9|J9kJ_Dt4b6@bW%cyK&v`oH0gQ=NbYU59WTv3g7 zm7WHB1v_xHfnLLq%R1NPHoT{C^OR_}r;q+@fFPZZ>E+eTDZbc_ta^gW< j8?qpZnv&h#(1Uw 400) { - return new Response(JSON.stringify({isPlaying: false}), { - status: 200 - }) - } - - const song = await response.json() as Song - const {item} = song - - const artist = item.artists.map(artist => artist.name).join(', ') - const title = item.name; - const songUrl = item.external_urls.spotify - const album = item.album.name - const albumImageUrl = item.album.images[0].url - const isPlaying = song.is_playing; - - return NextResponse.json({ - artist, - title, - songUrl, - album, - albumImageUrl, - isPlaying - }) -} \ No newline at end of file diff --git a/app/api/spotify/last-played/route.ts b/app/api/spotify/last-played/route.ts deleted file mode 100644 index 4a910af..0000000 --- a/app/api/spotify/last-played/route.ts +++ /dev/null @@ -1,56 +0,0 @@ -import {NextResponse} from 'next/server' -import {getRecentlyPlayed} from '@/lib/spotify' - -type Tracks = { - items: [ - { - track: { - name: string - artists: [ - { - name: string - } - ] - external_urls: { - spotify: string - } - album: { - name: string - images: [ - { - url: string - } - ] - } - } - played_at: string - } - ] -} - -export async function GET(request: Request) { - const response = await getRecentlyPlayed() - - if (response.status > 400) { - return new Response(JSON.stringify({status: response.statusText}), { - status: response.status - }) - } - - const tracks = await response.json() as Tracks - const {track} = tracks.items.reduce((r, a) => r.played_at > a.played_at ? r : a) - - const title = track.name; - const artist = track.artists.map(artist => artist.name).join(', ') - const songUrl = track.external_urls.spotify - const album = track.album.name - const albumImageUrl = track.album.images[0].url - - return NextResponse.json({ - artist, - title, - songUrl, - album, - albumImageUrl - }) -} \ No newline at end of file diff --git a/components/common/Footer.tsx b/components/common/Footer.tsx index 62d2f77..2b24059 100644 --- a/components/common/Footer.tsx +++ b/components/common/Footer.tsx @@ -1,7 +1,6 @@ import React from 'react' import {InnerContainer, OuterContainer} from './Container' import {NavLink} from '@/components/ui/Navigation' -import {SpotifyPlayer} from '@/components/ui/SpotifyPlayer' import {SocialLink} from '@/components/ui/SocialLink' import {GitHubIcon, LinkedInIcon} from '@/components/icons/SocialIcons' @@ -10,11 +9,8 @@ export function Footer() { return (