From f0db6631c9321ea8ec2cf6c0326c3b3d08b1de4b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Oj=C4=81rs=20Kapteinis?=
---
.../documents/webpage/page.tsx | 4 +-
.../dashboard/[search_space_id]/layout.tsx | 4 ++
surfsense_web/components/homepage/footer.tsx | 37 ++++++++++++-------
.../components/homepage/hero-section.tsx | 7 +---
4 files changed, 32 insertions(+), 20 deletions(-)
diff --git a/surfsense_web/app/dashboard/[search_space_id]/documents/webpage/page.tsx b/surfsense_web/app/dashboard/[search_space_id]/documents/webpage/page.tsx
index b24e1dba7..0f78bad7c 100644
--- a/surfsense_web/app/dashboard/[search_space_id]/documents/webpage/page.tsx
+++ b/surfsense_web/app/dashboard/[search_space_id]/documents/webpage/page.tsx
@@ -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");
diff --git a/surfsense_web/app/dashboard/[search_space_id]/layout.tsx b/surfsense_web/app/dashboard/[search_space_id]/layout.tsx
index ea5dc41e2..dc9c73785 100644
--- a/surfsense_web/app/dashboard/[search_space_id]/layout.tsx
+++ b/surfsense_web/app/dashboard/[search_space_id]/layout.tsx
@@ -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`,
diff --git a/surfsense_web/components/homepage/footer.tsx b/surfsense_web/components/homepage/footer.tsx
index 88e640e81..872576679 100644
--- a/surfsense_web/components/homepage/footer.tsx
+++ b/surfsense_web/components/homepage/footer.tsx
@@ -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
- 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.