diff --git a/backend/musicbrainz.go b/backend/musicbrainz.go index 84ab114..2cca4af 100644 --- a/backend/musicbrainz.go +++ b/backend/musicbrainz.go @@ -77,7 +77,7 @@ func FetchMusicBrainzMetadata(isrc, title, artist, album string, useSingleGenre return meta, err } - req.Header.Set("User-Agent", fmt.Sprintf("SpotiFLAC/%s ( support@exyezed.cc )", AppVersion)) + req.Header.Set("User-Agent", fmt.Sprintf("SpotiFLAC/%s ( hi@afkarxyz.qzz.io )", AppVersion)) var resp *http.Response var lastErr error diff --git a/frontend/src/components/AboutPage.tsx b/frontend/src/components/AboutPage.tsx index 3ce9ee1..24e34ff 100644 --- a/frontend/src/components/AboutPage.tsx +++ b/frontend/src/components/AboutPage.tsx @@ -2,7 +2,7 @@ import { useState, useEffect } from "react"; import { Button } from "@/components/ui/button"; import { openExternal } from "@/lib/utils"; import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from "@/components/ui/card"; -import { Star, GitFork, Clock, Download, Blocks, Heart, Copy, CircleCheck } from "lucide-react"; +import { Star, GitFork, Clock, Download, Blocks, Heart, Copy, CircleCheck, Info } from "lucide-react"; import AudioTTSProIcon from "@/assets/audiotts-pro.webp"; import ChatGPTTTSIcon from "@/assets/chatgpt-tts.webp"; import XProIcon from "@/assets/x-pro.webp"; @@ -14,13 +14,14 @@ import KofiLogo from "@/assets/ko-fi.gif"; import KofiSvg from "@/assets/kofi_symbol.svg"; import UsdtBarcode from "@/assets/usdt.jpg"; import { langColors } from "@/assets/github-lang-colors"; + export function AboutPage() { const [activeTab, setActiveTab] = useState<"projects" | "support">("projects"); const [repoStats, setRepoStats] = useState>({}); const [copiedUsdt, setCopiedUsdt] = useState(false); useEffect(() => { const fetchRepoStats = async () => { - const CACHE_KEY = "github_repo_stats"; + const CACHE_KEY = "github_repo_stats_v3"; const CACHE_DURATION = 1000 * 60 * 60; const cached = localStorage.getItem(CACHE_KEY); if (cached) { @@ -55,10 +56,10 @@ export function AboutPage() { } return; } - if (repoRes.ok && releasesRes.ok && langsRes.ok) { + if (repoRes.ok) { const repoData = await repoRes.json(); - const releases = await releasesRes.json(); - const languages = await langsRes.json(); + const releases = releasesRes.ok ? await releasesRes.json() : []; + const languages = langsRes.ok ? await langsRes.json() : {}; let totalDownloads = 0; let latestDownloads = 0; let latestVersion = ""; @@ -79,6 +80,7 @@ export function AboutPage() { stars: repoData.stargazers_count, forks: repoData.forks_count, createdAt: repoData.created_at, + description: repoData.description, totalDownloads, latestDownloads, latestVersion, @@ -128,6 +130,9 @@ export function AboutPage() { const getLangColor = (lang: string): string => { return langColors[lang] || "#858585"; }; + const getRepoDescription = (repoName: string): string => { + return repoStats[repoName]?.description || ""; + }; return (

About

@@ -150,7 +155,7 @@ export function AboutPage() { {activeTab === "projects" && (
- openExternal("https://exyezed.cc/")}> + openExternal("https://exyezed.qzz.io/")}> Browser Extensions & Scripts @@ -185,7 +190,7 @@ export function AboutPage() { SpotiDownloader - Get Spotify tracks in MP3 and FLAC via spotidownloader.com + {getRepoDescription("SpotiDownloader")} {repoStats["SpotiDownloader"] && ( @@ -223,7 +228,7 @@ export function AboutPage() {
)} - openExternal("https://github.com/spotiverse/SpotiFLAC-Next")}> + openExternal("https://github.com/spotiverse/SpotiFLAC-Next")}>
SpotiFLAC Next @@ -235,18 +240,18 @@ export function AboutPage() { SpotiFLAC Next -Get Spotify tracks in true FLAC from Tidal, Qobuz & Amazon Music — no account required. + {getRepoDescription("SpotiFLAC-Next")} - {repoStats["SpotiFLAC-Next"] && ( -
- {repoStats["SpotiFLAC-Next"].languages?.map((lang: string) => ( + {repoStats["SpotiFLAC-Next"].languages?.length > 0 && (
+ {repoStats["SpotiFLAC-Next"].languages.map((lang: string) => ( {lang} ))} -
+
)}
{" "} @@ -261,15 +266,15 @@ Get Spotify tracks in true FLAC from Tidal, Qobuz & Amazon Music — no account {formatTimeAgo(repoStats["SpotiFLAC-Next"].createdAt)}
-
- - TOTAL:{" "} - {formatNumber(repoStats["SpotiFLAC-Next"].totalDownloads)} - - - LATEST:{" "} - {formatNumber(repoStats["SpotiFLAC-Next"].latestDownloads)} - +
+
+ + Note +
+

+ SpotiFLAC Next is a separate project created as a thank-you + to everyone who has supported SpotiFLAC on Ko-fi. +

)} @@ -285,8 +290,7 @@ Get Spotify tracks in true FLAC from Tidal, Qobuz & Amazon Music — no account Twitter/X Media Batch Downloader - A GUI tool to download original-quality images and videos - from Twitter/X accounts, powered by gallery-dl by @mikf + {getRepoDescription("Twitter-X-Media-Batch-Downloader")} {repoStats["Twitter-X-Media-Batch-Downloader"] && ( @@ -345,7 +349,7 @@ Get Spotify tracks in true FLAC from Tidal, Qobuz & Amazon Music — no account
diff --git a/frontend/src/components/Sidebar.tsx b/frontend/src/components/Sidebar.tsx index 4f128a6..8c98a28 100644 --- a/frontend/src/components/Sidebar.tsx +++ b/frontend/src/components/Sidebar.tsx @@ -98,7 +98,7 @@ export function Sidebar({ currentPage, onPageChange }: SidebarProps) {
- diff --git a/wails.json b/wails.json index a412dff..3ea5222 100644 --- a/wails.json +++ b/wails.json @@ -12,7 +12,7 @@ }, "info": { "productName": "SpotiFLAC", - "productVersion": "7.1.1", + "productVersion": "7.1.2", "copyright": "© 2026 afkarxyz" }, "wailsjsdir": "./frontend",