ATlast — you'll never need to find your favorites on another platform again. Find your favs in the ATmosphere.
atproto

remove unused imports and fxns

authored by byarielm.fyi and committed by byarielm.fyi 0dc7e015 c8a672f9

verified
-1
src/App.tsx
··· 53 53 const { 54 54 searchResults, 55 55 setSearchResults, 56 - isSearchingAll, 57 56 searchProgress, 58 57 expandedResults, 59 58 searchAllUsers,
-1
src/components/SearchResultCard.tsx
··· 1 1 import { 2 - Video, 3 2 MessageCircle, 4 3 Check, 5 4 UserPlus,
-24
src/hooks/useSearch.ts
··· 3 3 import { SEARCH_CONFIG } from "../constants/platforms"; 4 4 import type { SearchResult, SearchProgress, AtprotoSession } from "../types"; 5 5 6 - function sortSearchResults(results: SearchResult[]): SearchResult[] { 7 - return [...results].sort((a, b) => { 8 - // 1. Users with matches first 9 - const aHasMatches = a.atprotoMatches.length > 0 ? 0 : 1; 10 - const bHasMatches = b.atprotoMatches.length > 0 ? 0 : 1; 11 - if (aHasMatches !== bHasMatches) return aHasMatches - bHasMatches; 12 - 13 - // 2. For matched users, sort by highest posts count of their top match 14 - if (a.atprotoMatches.length > 0 && b.atprotoMatches.length > 0) { 15 - const aTopPosts = a.atprotoMatches[0]?.postCount || 0; 16 - const bTopPosts = b.atprotoMatches[0]?.postCount || 0; 17 - if (aTopPosts !== bTopPosts) return bTopPosts - aTopPosts; 18 - 19 - // 3. Then by followers count 20 - const aTopFollowers = a.atprotoMatches[0]?.followerCount || 0; 21 - const bTopFollowers = b.atprotoMatches[0]?.followerCount || 0; 22 - if (aTopFollowers !== bTopFollowers) return bTopFollowers - aTopFollowers; 23 - } 24 - 25 - // 4. Username as tiebreaker 26 - return a.sourceUser.username.localeCompare(b.sourceUser.username); 27 - }); 28 - } 29 - 30 6 export function useSearch(session: AtprotoSession | null) { 31 7 const [searchResults, setSearchResults] = useState<SearchResult[]>([]); 32 8 const [isSearchingAll, setIsSearchingAll] = useState(false);
-6
src/lib/apiClient/realApiClient.ts
··· 121 121 return data; 122 122 }, 123 123 124 - async getProfile(): Promise<AtprotoSession> { 125 - // This is now redundant - getSession returns profile data 126 - // Keeping for backwards compatibility but it just calls getSession 127 - return this.getSession(); 128 - }, 129 - 130 124 async logout(): Promise<void> { 131 125 const res = await fetch("/.netlify/functions/logout", { 132 126 method: "POST",
+1 -5
src/lib/fileExtractor.ts
··· 1 1 import JSZip from "jszip"; 2 - import { 3 - ParseRule, 4 - getRulesForPlatform, 5 - FileFormat, 6 - } from "./platformDefinitions"; 2 + import { ParseRule, getRulesForPlatform } from "./platformDefinitions"; 7 3 import { parseContent } from "./parserLogic"; 8 4 9 5 // Type for the final aggregated results
+1 -1
src/lib/parserLogic.ts
··· 1 - import { ParseRule, FileFormat } from "./platformDefinitions"; 1 + import { ParseRule } from "./platformDefinitions"; 2 2 3 3 /** 4 4 * Parses content using a regular expression.
-1
src/pages/Loading.tsx
··· 1 - import { Search, Sparkles } from "lucide-react"; 2 1 import AppHeader from "../components/AppHeader"; 3 2 import { PLATFORMS } from "../constants/platforms"; 4 3
+1 -1
src/pages/Login.tsx
··· 1 1 import { useState } from "react"; 2 - import { Heart, Upload, Search, ArrowRight, Sparkles } from "lucide-react"; 2 + import { Heart, Upload, Search, ArrowRight } from "lucide-react"; 3 3 import FireflyLogo from "../assets/at-firefly-logo.svg?react"; 4 4 5 5 interface LoginPageProps {
+1 -70
src/pages/Settings.tsx
··· 1 - import { 2 - Settings as SettingsIcon, 3 - Sparkles, 4 - Shield, 5 - Trash2, 6 - Download, 7 - ChevronRight, 8 - } from "lucide-react"; 1 + import { Settings as SettingsIcon, ChevronRight } from "lucide-react"; 9 2 import { PLATFORMS } from "../constants/platforms"; 10 3 import { ATPROTO_APPS } from "../constants/atprotoApps"; 11 4 import type { UserSettings, PlatformDestinations } from "../types/settings"; ··· 28 21 [platform]: destination, 29 22 }, 30 23 }); 31 - }; 32 - 33 - const handleExportSettings = () => { 34 - const dataStr = JSON.stringify(userSettings, null, 2); 35 - const dataUri = 36 - "data:application/json;charset=utf-8," + encodeURIComponent(dataStr); 37 - const exportFileDefaultName = "atlast-settings.json"; 38 - 39 - const linkElement = document.createElement("a"); 40 - linkElement.setAttribute("href", dataUri); 41 - linkElement.setAttribute("download", exportFileDefaultName); 42 - linkElement.click(); 43 - }; 44 - 45 - const handleResetSettings = () => { 46 - if ( 47 - confirm( 48 - "Are you sure you want to reset all settings to defaults? This cannot be undone.", 49 - ) 50 - ) { 51 - const { DEFAULT_SETTINGS } = require("../types/settings"); 52 - onSettingsUpdate({ 53 - ...DEFAULT_SETTINGS, 54 - wizardCompleted: true, 55 - }); 56 - } 57 24 }; 58 25 59 26 return ( ··· 275 242 </div> 276 243 )} 277 244 </div> 278 - 279 - {/* Export Settings Button */} 280 - {/*<button 281 - onClick={handleExportSettings} 282 - className="w-full flex items-start space-x-4 p-4 bg-purple-100/20 dark:bg-slate-900/50 hover:bg-purple-100/40 dark:hover:bg-slate-900/70 rounded-xl transition-all text-left border-2 border-orange-650/30 dark:border-amber-400/30 hover:border-orange-500 dark:hover:border-orange-400 shadow-md hover:shadow-lg" 283 - > 284 - <div className="w-12 h-12 bg-gradient-to-r from-gray-400 to-gray-600 rounded-xl flex items-center justify-center flex-shrink-0 shadow-md"> 285 - <Download className="w-6 h-6 text-white" /> 286 - </div> 287 - <div className="flex-1 min-w-0"> 288 - <div className="font-semibold text-purple-950 dark:text-cyan-50 leading-tight mb-1"> 289 - Export Settings 290 - </div> 291 - <p className="text-sm text-purple-750 dark:text-cyan-250 leading-tight"> 292 - Download your settings as a JSON file 293 - </p> 294 - </div> 295 - </button>*/} 296 - 297 - {/* Delete Data Button */} 298 - {/*<button 299 - onClick={handleResetSettings} 300 - className="w-full flex items-start space-x-4 p-4 bg-red-50/50 dark:bg-red-900/20 hover:bg-red-50 dark:hover:bg-red-900/30 rounded-xl transition-all text-left border-2 border-red-200/50 dark:border-red-800/50 hover:border-red-400 dark:hover:border-red-600 shadow-md hover:shadow-lg" 301 - > 302 - <div className="w-12 h-12 bg-gradient-to-r from-red-500 to-red-600 rounded-xl flex items-center justify-center flex-shrink-0 shadow-md"> 303 - <Trash2 className="w-6 h-6 text-white" /> 304 - </div> 305 - <div className="flex-1 min-w-0"> 306 - <div className="font-semibold text-red-700 dark:text-red-400 leading-tight mb-1"> 307 - Reset All Settings 308 - </div> 309 - <p className="text-sm text-red-600 dark:text-red-300 leading-tight"> 310 - Restore all settings to default values 311 - </p> 312 - </div> 313 - </button>*/} 314 245 </div> 315 246 </div> 316 247 </div>