feat(frontend): enhance API credentials system and build configuration

Add real API support in demo mode with credential checking, implement build-time version injection from package.json, and refactor update checking with 24-hour caching. Migrate landing page from Vue to Astro with comprehensive UI components including Hero, Features, Benefits, and Tech Stack sections. Update CI/CD workflow with expanded cache paths and security scanner version pinned.
This commit is contained in:
Tomas Dvorak
2026-02-10 16:25:57 +01:00
parent d27cf14110
commit b083dac3f0
95 changed files with 17610 additions and 2692 deletions
+5 -8
View File
@@ -25,7 +25,7 @@ type WebsiteMetadata struct {
// FetchWebsiteMetadata extracts metadata from a URL
func FetchWebsiteMetadata(targetURL string) (*WebsiteMetadata, error) {
// Parse URL to ensure it's valid
parsedURL, err := url.Parse(targetURL)
_, err := url.Parse(targetURL)
if err != nil {
return nil, fmt.Errorf("invalid URL: %w", err)
}
@@ -69,14 +69,11 @@ func FetchWebsiteMetadata(targetURL string) (*WebsiteMetadata, error) {
metadata = extractTwitterMetadata(content, metadata)
metadata = extractBasicHTMLMetadata(content, metadata)
// Extract favicon
// Extract favicon using enhanced fetcher
if metadata.Favicon == "" {
metadata.Favicon = extractFavicon(content, parsedURL)
}
// If still no favicon, try default locations
if metadata.Favicon == "" {
metadata.Favicon = getDefaultFavicon(parsedURL)
if favicon, err := GetFavicon(targetURL); err == nil && favicon != "" {
metadata.Favicon = favicon
}
}
return metadata, nil