diff --git a/backend/internal/api/server.go b/backend/internal/api/server.go index deb7384..a2e7038 100644 --- a/backend/internal/api/server.go +++ b/backend/internal/api/server.go @@ -349,7 +349,7 @@ func (s *Server) writeError(w http.ResponseWriter, status int, message string) { // instead of index.html to prevent Soft 404 indexing. func (s *Server) isValidFrontendRoute(cleanPath string) bool { switch cleanPath { - case "", "about", "copyright", "search": + case "", "about", "bookmarks", "copyright", "search": return true } @@ -527,10 +527,10 @@ func (s *Server) serveIndexHTML(w http.ResponseWriter, r *http.Request) { ogImage := ai.GetDynamicOGURL("Search", "Search AI News & Research Archives", "", 0) content = injectSEOTags(content, title, desc, pageURL, ogImage, "website") } else if cleanPath == "bookmarks" { - title := "Saved Transmissions | NeuralWire" + title := "Saved Archives | NeuralWire" desc := "Your saved articles and offline intelligence bookmarks." pageURL := "https://neuralwire.info/bookmarks" - ogImage := ai.GetDynamicOGURL("Bookmarks", "Saved Transmissions & Offline Intelligence", "", 0) + ogImage := ai.GetDynamicOGURL("Bookmarks", "Saved Archives & Offline Intelligence", "", 0) content = injectSEOTags(content, title, desc, pageURL, ogImage, "website") } else if strings.HasPrefix(cleanPath, "category/") { catSlug := strings.TrimPrefix(cleanPath, "category/") diff --git a/frontend/src/routes/+layout.svelte b/frontend/src/routes/+layout.svelte index f679933..2347a51 100644 --- a/frontend/src/routes/+layout.svelte +++ b/frontend/src/routes/+layout.svelte @@ -167,8 +167,8 @@ .url.pathname === '/bookmarks' ? 'border-[#22D3EE]/50 text-[#22D3EE]' : ''}" - aria-label="Saved Transmissions" - title="Saved Transmissions ({bookmarks.count})" + aria-label="Bookmarks" + title="Bookmarks ({bookmarks.count})" > - SAVED ARCHIVES + BOOKMARKS {#if bookmarks.count > 0}
  • SEARCH ARCHIVESEARCH FEED
  • SAVED ARCHIVESBOOKMARKS
  • - ABOUT EDITORIALABOUT +
  • +
  • + COPYRIGHT & DMCA
  • @@ -377,34 +380,18 @@ href="/rss.xml" target="_blank" rel="noopener noreferrer" - class="flex items-center gap-1.5 text-slate-400 transition-colors hover:text-[#22D3EE]" + class="text-slate-400 transition-colors hover:text-white" > - RSS FEED
  • -
  • - COPYRIGHT & DMCA -
  • - SYSTEM STATUS
  • diff --git a/frontend/src/routes/+page.svelte b/frontend/src/routes/+page.svelte index 3afa5bd..dbcb971 100644 --- a/frontend/src/routes/+page.svelte +++ b/frontend/src/routes/+page.svelte @@ -3,7 +3,6 @@ import type { PageData, Snapshot } from './$types'; import type { News } from '$lib/mockData'; import Image from '$lib/Image.svelte'; - import BookmarkButton from '$lib/BookmarkButton.svelte'; import TrendingNews from '$lib/TrendingNews.svelte'; import { getSiteUrl } from '$lib/siteUrl'; import { getNewsPage } from '$lib/api'; @@ -340,13 +339,7 @@ -
    - +
    -
    - {#if post.cluster_count && post.cluster_count > 0} + {#if post.cluster_count && post.cluster_count > 0} +
    +{post.cluster_count} sumber - {/if} - -
    +
    + {/if}
    @@ -577,7 +565,7 @@

    Chronicle Feed

    -

    LATEST TRANSMISSIONS

    +

    LATEST

    @@ -697,9 +685,9 @@ d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z" > - RECEIVING TRANSMISSIONS... + LOADING... {:else} - LOAD MORE TRANSMISSIONS + LOAD MORE - Hide Feed + HIDE {/if} - {:else} + {:else if canCollapse}
    -
    - - ALL {currentFeed.total || visibleFeed.length} TRANSMISSIONS INDEXED -
    - {#if canCollapse} - - {/if} + HIDE +
    {/if} @@ -745,7 +725,7 @@ type="button" onclick={collapseFeed} class="fixed right-6 bottom-6 z-40 flex h-10 cursor-pointer items-center justify-center space-x-2 rounded-full border border-[#E11D48]/40 bg-[#0A0E17]/90 px-4 py-2 font-mono text-[10px] font-bold tracking-widest text-[#E11D48] shadow-[0_0_15px_rgba(225,29,72,0.15)] backdrop-blur-sm transition-all hover:border-[#E11D48] hover:bg-[#E11D48]/10 hover:text-white active:scale-95" - title="Collapse Feed" + title="Collapse" > - COLLAPSE FEED + COLLAPSE {/if} {/if} diff --git a/frontend/src/routes/[slug]/+page.svelte b/frontend/src/routes/[slug]/+page.svelte index 1f8fbf9..51cbb30 100644 --- a/frontend/src/routes/[slug]/+page.svelte +++ b/frontend/src/routes/[slug]/+page.svelte @@ -129,15 +129,6 @@ ); } - function shareOnReddit() { - openShare( - 'https://www.reddit.com/submit?url=' + - encodeURIComponent(shareUrl) + - '&title=' + - encodeURIComponent(article.title) - ); - } - // Feedback Form State let opinion = $state(''); let email = $state(''); @@ -350,7 +341,7 @@ d="M10 19l-7-7m0 0l7-7m-7 7h18" /> - RETURN TO CHRONICLE FEED + BACK @@ -365,6 +356,10 @@ • {formatDate(article.published_at)} • + {getReadingTime(article.summary || article.content)} + • AI DIGEST SUMMARY @@ -392,121 +387,6 @@ SOURCE: {article.source.toUpperCase()} - -
    -
    - - - - {getReadingTime(article.summary || article.content)} - -
    - - -
    - - - - - - - - - -
    -
    @@ -643,36 +523,124 @@
    - +
    -
    - Origin: {article.source} + -
    - Share: + +
    + + + + + + + +
    @@ -767,7 +735,7 @@ {#if related.length > 0}

    - Related Transmissions + Related Feed

    diff --git a/frontend/src/routes/about/+page.svelte b/frontend/src/routes/about/+page.svelte index c4e8a72..4e21fe8 100644 --- a/frontend/src/routes/about/+page.svelte +++ b/frontend/src/routes/about/+page.svelte @@ -85,7 +85,7 @@
    // MISSION & MANIFESTOMISSION & MANIFESTO

    BRIDGING CODE AND HUMANITY @@ -105,7 +105,7 @@
    // EDITORIAL PILLARSEDITORIAL PILLARS
    @@ -159,7 +159,7 @@
    // THE CURATION ENGINETHE CURATION ENGINE

    How NeuralWire Operates @@ -167,7 +167,7 @@
    -
    01 / AGGREGATION
    +
    01 AGGREGATION

    Multi-Source Indexing

    Our automated ingestion pipeline continuously monitors public RSS feeds from leading AI @@ -176,7 +176,7 @@

    -
    02 / DISTILLATION
    +
    02 DISTILLATION

    AI-Assisted Synthesis

    Large language models distill dense findings into concise executive summaries, @@ -185,7 +185,7 @@

    -
    03 / ATTRIBUTION
    +
    03 ATTRIBUTION

    Direct Source Citation

    Every summary provides full credit with an immediate one-click link to the primary source @@ -198,7 +198,7 @@

    // EDITORIAL TRANSPARENCY & FAIR USEEDITORIAL TRANSPARENCY & FAIR USE

    Fair Use & Discovery Commitment @@ -215,17 +215,6 @@ View Copyright & DMCA Takedown Policy → - • - - - System Status & Uptime - → -

    diff --git a/frontend/src/routes/admin/+layout.svelte b/frontend/src/routes/admin/+layout.svelte index 4683653..2c504b1 100644 --- a/frontend/src/routes/admin/+layout.svelte +++ b/frontend/src/routes/admin/+layout.svelte @@ -74,7 +74,7 @@ Neuralwire - / + • Admin Panel v2.0
    diff --git a/frontend/src/routes/bookmarks/+page.svelte b/frontend/src/routes/bookmarks/+page.svelte index fba3910..b15809c 100644 --- a/frontend/src/routes/bookmarks/+page.svelte +++ b/frontend/src/routes/bookmarks/+page.svelte @@ -1,7 +1,6 @@ - Saved Transmissions | NeuralWire Intelligence - + Saved Archives | NeuralWire + @@ -61,11 +57,7 @@ - LOCAL DOSSIER - - - {bookmarks.count} - {bookmarks.count === 1 ? 'TRANSMISSION' : 'TRANSMISSIONS'} STORED + BOOKMARKS

    SAVED ARCHIVES

    @@ -125,7 +117,7 @@ />
    -

    NO SAVED TRANSMISSIONS

    +

    NO SAVED ARCHIVES

    Your personal offline dossier is currently empty. Click the bookmark icon on any article card or story to store it for quick reference. @@ -139,7 +131,7 @@

    {:else if filteredItems.length === 0}
    -

    NO SAVED TRANSMISSIONS MATCHING "{searchQuery}"

    +

    NO SAVED ARCHIVES MATCHING "{searchQuery}"

    {:else}
    @@ -165,13 +157,6 @@ {post.category?.toUpperCase() || 'AI'}
    -
    - -
    diff --git a/frontend/src/routes/category/[slug]/+page.svelte b/frontend/src/routes/category/[slug]/+page.svelte index b6c58f1..c31e147 100644 --- a/frontend/src/routes/category/[slug]/+page.svelte +++ b/frontend/src/routes/category/[slug]/+page.svelte @@ -3,7 +3,6 @@ import type { PageData, Snapshot } from './$types'; import type { News } from '$lib/mockData'; import Image from '$lib/Image.svelte'; - import BookmarkButton from '$lib/BookmarkButton.svelte'; import { getSiteUrl } from '$lib/siteUrl'; import { getNewsPage } from '$lib/api'; import { getOgImageUrl } from '$lib/og'; @@ -182,8 +181,8 @@ alt={post.title} class="h-full w-full object-cover opacity-75 transition-all duration-550 group-hover:scale-105 group-hover:opacity-100" /> -
    - {#if post.cluster_count && post.cluster_count > 0} + {#if post.cluster_count && post.cluster_count > 0} +
    +{post.cluster_count} sumber - {/if} - -
    +
    + {/if} @@ -284,9 +278,9 @@ d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z" > - RECEIVING TRANSMISSIONS... + LOADING... {:else} - LOAD MORE TRANSMISSIONS + LOAD MORE - Hide Feed + HIDE {/if}
    - {:else} + {:else if canCollapse}
    -
    - - ALL {totalItems} TRANSMISSIONS INDEXED -
    - {#if canCollapse} - - {/if} + HIDE +
    {/if} @@ -332,7 +318,7 @@ type="button" onclick={collapseFeed} class="fixed right-6 bottom-6 z-40 flex h-10 cursor-pointer items-center justify-center space-x-2 rounded-full border border-[#E11D48]/40 bg-[#0A0E17]/90 px-4 py-2 font-mono text-[10px] font-bold tracking-widest text-[#E11D48] shadow-[0_0_15px_rgba(225,29,72,0.15)] backdrop-blur-sm transition-all hover:border-[#E11D48] hover:bg-[#E11D48]/10 hover:text-white active:scale-95" - title="Collapse Feed" + title="Collapse" > - COLLAPSE FEED + COLLAPSE {/if} {:else} diff --git a/frontend/src/routes/copyright/+page.svelte b/frontend/src/routes/copyright/+page.svelte index 108608c..f91f049 100644 --- a/frontend/src/routes/copyright/+page.svelte +++ b/frontend/src/routes/copyright/+page.svelte @@ -59,7 +59,7 @@

    // LEGAL_TELEMETRYLEGAL TELEMETRY

    Copyright & DMCA Policy @@ -112,8 +112,8 @@ class="rounded-xl border border-[rgba(34,211,238,0.15)] bg-[#22D3EE]/5 p-6 font-mono text-xs text-slate-300" > Copyright Agent: Neuralwire Media
    - Email Address: stysus@proton.me
    - Subject: Copyright / DMCA Takedown Request + Email Address: neuralwiremedia@gmail.com
    + Subject: Copyright & DMCA Takedown Request [NW-ID]
    Required Details:
      diff --git a/frontend/src/routes/search/+page.svelte b/frontend/src/routes/search/+page.svelte index 4ed4673..bda6f97 100644 --- a/frontend/src/routes/search/+page.svelte +++ b/frontend/src/routes/search/+page.svelte @@ -3,7 +3,6 @@ import type { News } from '$lib/mockData'; import { goto } from '$app/navigation'; import Image from '$lib/Image.svelte'; - import BookmarkButton from '$lib/BookmarkButton.svelte'; import { getSiteUrl } from '$lib/siteUrl'; import { getOgImageUrl } from '$lib/og'; @@ -12,7 +11,7 @@ const searchOgImage = $derived( getOgImageUrl({ title: data.query - ? `Search: "${data.query}" // Neuralwire Archives` + ? `Search: "${data.query}" — Neuralwire Archives` : 'Search AI News & Research Archives', category: 'Search' }) @@ -92,7 +91,7 @@
      SYSTEM // SEARCH_ARCHIVESSEARCH FEED

      INDEX RECONSTRUCTION

      @@ -156,13 +155,6 @@ alt={post.title} class="h-full w-full object-cover opacity-75 transition-all duration-550 group-hover:scale-105 group-hover:opacity-100" /> -
      - -