mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-07-22 23:31:12 +02:00
feat: restore custom homepage and UX improvements
- Replace social media links with Mastodon, Pixelfed, and Bookwyrm - Mastodon: https://kapteinis.lv/@ojars - Pixelfed: https://pixel.kapteinis.lv/ojars - Bookwyrm: https://book.kapteinis.lv/user/ojars - Update hero section tagline to "Let's Start Surfing" - Improve hero description for AI research agent focus - Add "Add Webpage(s)" direct link to navigation for easier crawling access - Fix URL validation to support percent-encoded URLs (Latvian characters) - Add accessibility labels and hover effects to social links 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <code@anthropic.com>
This commit is contained in:
parent
82f8bc2f14
commit
f0db6631c9
4 changed files with 32 additions and 20 deletions
|
|
@ -17,8 +17,8 @@ import {
|
|||
} from "@/components/ui/card";
|
||||
import { Label } from "@/components/ui/label";
|
||||
|
||||
// URL validation regex
|
||||
const urlRegex = /^(https?:\/\/)?([\da-z.-]+)\.([a-z.]{2,6})([/\w .-]*)*\/?$/;
|
||||
// URL validation regex - updated to support percent-encoded URLs (e.g., Latvian characters)
|
||||
const urlRegex = /^https?:\/\/[^\s]+$/;
|
||||
|
||||
export default function WebpageCrawler() {
|
||||
const t = useTranslations("add_webpage");
|
||||
|
|
|
|||
|
|
@ -49,6 +49,10 @@ export default function DashboardLayout({
|
|||
title: "Add Sources",
|
||||
url: `/dashboard/${search_space_id}/sources/add`,
|
||||
},
|
||||
{
|
||||
title: "Add Webpage(s)",
|
||||
url: `/dashboard/${search_space_id}/documents/webpage`,
|
||||
},
|
||||
{
|
||||
title: "Manage Documents",
|
||||
url: `/dashboard/${search_space_id}/documents`,
|
||||
|
|
|
|||
|
|
@ -1,9 +1,8 @@
|
|||
"use client";
|
||||
import {
|
||||
IconBrandDiscord,
|
||||
IconBrandGithub,
|
||||
IconBrandLinkedin,
|
||||
IconBrandTwitter,
|
||||
IconBrandMastodon,
|
||||
IconBook,
|
||||
IconPhoto,
|
||||
} from "@tabler/icons-react";
|
||||
import Link from "next/link";
|
||||
import type React from "react";
|
||||
|
|
@ -48,17 +47,29 @@ export function Footer() {
|
|||
© SurfSense 2025
|
||||
</p>
|
||||
<div className="flex gap-4">
|
||||
<Link href="https://x.com/mod_setter">
|
||||
<IconBrandTwitter className="h-6 w-6 text-neutral-500 dark:text-neutral-300" />
|
||||
<Link
|
||||
href="https://kapteinis.lv/@ojars"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
aria-label="Mastodon"
|
||||
>
|
||||
<IconBrandMastodon className="h-6 w-6 text-neutral-500 dark:text-neutral-300 hover:text-neutral-700 dark:hover:text-neutral-100 transition-colors" />
|
||||
</Link>
|
||||
<Link href="https://www.linkedin.com/in/rohan-verma-sde/">
|
||||
<IconBrandLinkedin className="h-6 w-6 text-neutral-500 dark:text-neutral-300" />
|
||||
<Link
|
||||
href="https://pixel.kapteinis.lv/ojars"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
aria-label="Pixelfed"
|
||||
>
|
||||
<IconPhoto className="h-6 w-6 text-neutral-500 dark:text-neutral-300 hover:text-neutral-700 dark:hover:text-neutral-100 transition-colors" />
|
||||
</Link>
|
||||
<Link href="https://github.com/MODSetter">
|
||||
<IconBrandGithub className="h-6 w-6 text-neutral-500 dark:text-neutral-300" />
|
||||
</Link>
|
||||
<Link href="https://discord.gg/ejRNvftDp9">
|
||||
<IconBrandDiscord className="h-6 w-6 text-neutral-500 dark:text-neutral-300" />
|
||||
<Link
|
||||
href="https://book.kapteinis.lv/user/ojars"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
aria-label="Bookwyrm"
|
||||
>
|
||||
<IconBook className="h-6 w-6 text-neutral-500 dark:text-neutral-300 hover:text-neutral-700 dark:hover:text-neutral-100 transition-colors" />
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -59,18 +59,15 @@ export function HeroSection() {
|
|||
|
||||
<h2 className="relative z-50 mx-auto mb-4 mt-4 max-w-4xl text-balance text-center text-3xl font-semibold tracking-tight text-gray-700 md:text-7xl dark:text-neutral-300">
|
||||
<Balancer>
|
||||
The AI Workspace{" "}
|
||||
<div className="relative mx-auto inline-block w-max [filter:drop-shadow(0px_1px_3px_rgba(27,_37,_80,_0.14))]">
|
||||
<div className="text-black [text-shadow:0_0_rgba(0,0,0,0.1)] dark:text-white">
|
||||
<span className="">Built for Teams</span>
|
||||
<span className="">Let's Start Surfing</span>
|
||||
</div>
|
||||
</div>
|
||||
</Balancer>
|
||||
</h2>
|
||||
{/* // TODO:aCTUAL DESCRITION */}
|
||||
<p className="relative z-50 mx-auto mt-4 max-w-lg px-4 text-center text-base/6 text-gray-600 dark:text-gray-200">
|
||||
Connect any LLM to your internal knowledge sources and chat with it in real time alongside
|
||||
your team.
|
||||
Your AI-powered research agent and personal knowledge base. Connect any LLM to your data sources and explore information like never before.
|
||||
</p>
|
||||
<div className="mb-10 mt-8 flex w-full flex-col items-center justify-center gap-4 px-8 sm:flex-row md:mb-20">
|
||||
<Link
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue