SYMBOL INDEX (110 symbols across 44 files) FILE: src/app/about/page.tsx function AboutPage (line 21) | function AboutPage() { FILE: src/app/addons/page.tsx function AddonsPage (line 20) | function AddonsPage() { FILE: src/app/layout.tsx function RootLayout (line 108) | function RootLayout({ FILE: src/app/page.tsx type Step (line 34) | type Step = 'basic' | 'links' | 'social' | 'skills' | 'preview'; function GeneratorPage (line 44) | function GeneratorPage() { FILE: src/app/robots.ts function robots (line 5) | function robots(): MetadataRoute.Robots { FILE: src/app/sitemap.ts function sitemap (line 5) | function sitemap(): MetadataRoute.Sitemap { FILE: src/app/support/page.tsx function SupportPage (line 20) | function SupportPage() { FILE: src/components/analytics/conditional-analytics.tsx function ConditionalAnalytics (line 11) | function ConditionalAnalytics() { FILE: src/components/forms/form-checkbox.tsx type FormCheckboxProps (line 6) | interface FormCheckboxProps extends Omit { FILE: src/components/forms/form-select.tsx type FormSelectProps (line 6) | interface FormSelectProps { FILE: src/components/forms/form-textarea.tsx type FormTextareaProps (line 6) | interface FormTextareaProps extends TextareaHTMLAttributes(key: string, initialValue: T) { FILE: src/hooks/use-theme.ts function useTheme (line 7) | function useTheme() { FILE: src/lib/analytics.ts type Window (line 7) | interface Window { function hasAnalyticsConsent (line 15) | function hasAnalyticsConsent(): boolean { function trackEvent (line 29) | function trackEvent(eventName: string, parameters?: Record): string { FILE: src/lib/storage.ts type SavedFormData (line 3) | interface SavedFormData { constant STORAGE_KEY (line 12) | const STORAGE_KEY = 'github-profile-generator'; function saveFormData (line 14) | function saveFormData(data: SavedFormData): void { function loadFormData (line 30) | function loadFormData(): SavedFormData | null { function clearFormData (line 47) | function clearFormData(): void { function hasFormData (line 55) | function hasFormData(): boolean { FILE: src/lib/store.ts type ThemeState (line 5) | interface ThemeState { FILE: src/lib/validations.ts type ProfileFormData (line 115) | type ProfileFormData = z.infer; type LinksFormData (line 116) | type LinksFormData = z.infer; type SocialFormData (line 117) | type SocialFormData = z.infer; type SupportFormData (line 118) | type SupportFormData = z.infer; type CompleteFormData (line 119) | type CompleteFormData = z.infer; FILE: src/types/profile.ts type ProfilePrefix (line 2) | interface ProfilePrefix { type GithubStatsOptions (line 16) | interface GithubStatsOptions { type TopLanguagesOptions (line 26) | interface TopLanguagesOptions { type StreakStatsOptions (line 36) | interface StreakStatsOptions { type ProfileData (line 40) | interface ProfileData { type ProfileLinks (line 66) | interface ProfileLinks { type SocialLinks (line 75) | interface SocialLinks { type SupportLinks (line 102) | interface SupportLinks { type Skills (line 106) | interface Skills { FILE: src/types/skills.ts type SkillCategory (line 1) | interface SkillCategory { type CategorizedSkills (line 6) | interface CategorizedSkills { type SkillIcons (line 10) | interface SkillIcons { type SkillWebsites (line 14) | interface SkillWebsites { type SkillState (line 18) | type SkillState = Record; FILE: src/types/theme.ts type ThemeMode (line 1) | type ThemeMode = 'light' | 'dark' | 'system'; type ResolvedTheme (line 2) | type ResolvedTheme = 'light' | 'dark'; type AccessibilitySettings (line 4) | interface AccessibilitySettings {