Merge version_2 into main #2
532
src/app/admin/page.tsx
Normal file
532
src/app/admin/page.tsx
Normal file
@@ -0,0 +1,532 @@
|
||||
"use client";
|
||||
|
||||
import { useState } from "react";
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import NavbarStyleApple from "@/components/navbar/NavbarStyleApple/NavbarStyleApple";
|
||||
import FooterBase from "@/components/sections/footer/FooterBase";
|
||||
import { Plus, Edit2, Trash2, Search, Upload, Save, X } from "lucide-react";
|
||||
|
||||
interface Paper {
|
||||
id: string;
|
||||
title: string;
|
||||
authors: string;
|
||||
abstract: string;
|
||||
category: string;
|
||||
content: string;
|
||||
imageSrc?: string;
|
||||
videoSrc?: string;
|
||||
datePublished: string;
|
||||
}
|
||||
|
||||
interface FormData {
|
||||
title: string;
|
||||
authors: string;
|
||||
abstract: string;
|
||||
category: string;
|
||||
content: string;
|
||||
imageSrc: string;
|
||||
videoSrc: string;
|
||||
datePublished: string;
|
||||
}
|
||||
|
||||
const initialFormData: FormData = {
|
||||
title: "", authors: "", abstract: "", category: "", content: "", imageSrc: "", videoSrc: "", datePublished: new Date().toISOString().split("T")[0],
|
||||
};
|
||||
|
||||
export default function AdminPanel() {
|
||||
const [papers, setPapers] = useState<Paper[]>([
|
||||
{
|
||||
id: "1", title: "Understanding Transformer Architectures", authors: "Dr. Sarah Chen", abstract: "A comprehensive guide to transformer models and self-attention mechanisms.", category: "Machine Learning", content: "Full paper content here...", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-visualization-of-transformer-architect-1773067748719-ccd2f4eb.png", datePublished: "2025-01-28"},
|
||||
]);
|
||||
|
||||
const [formData, setFormData] = useState<FormData>(initialFormData);
|
||||
const [editingId, setEditingId] = useState<string | null>(null);
|
||||
const [searchTerm, setSearchTerm] = useState("");
|
||||
const [showForm, setShowForm] = useState(false);
|
||||
const [uploadProgress, setUploadProgress] = useState(0);
|
||||
|
||||
const handleFormChange = (
|
||||
e: React.ChangeEvent<
|
||||
HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement
|
||||
>
|
||||
) => {
|
||||
const { name, value } = e.target;
|
||||
setFormData((prev) => ({
|
||||
...prev,
|
||||
[name]: value,
|
||||
}));
|
||||
};
|
||||
|
||||
const handleFileUpload = (
|
||||
e: React.ChangeEvent<HTMLInputElement>,
|
||||
field: "imageSrc" | "videoSrc"
|
||||
) => {
|
||||
const file = e.target.files?.[0];
|
||||
if (file) {
|
||||
setUploadProgress(0);
|
||||
const interval = setInterval(() => {
|
||||
setUploadProgress((prev) => {
|
||||
if (prev >= 100) {
|
||||
clearInterval(interval);
|
||||
return 100;
|
||||
}
|
||||
return prev + Math.random() * 30;
|
||||
});
|
||||
}, 200);
|
||||
|
||||
setTimeout(() => {
|
||||
const url = URL.createObjectURL(file);
|
||||
setFormData((prev) => ({
|
||||
...prev,
|
||||
[field]: url,
|
||||
}));
|
||||
setUploadProgress(0);
|
||||
}, 1500);
|
||||
}
|
||||
};
|
||||
|
||||
const handleSubmit = (e: React.FormEvent) => {
|
||||
e.preventDefault();
|
||||
|
||||
if (!formData.title || !formData.authors || !formData.abstract) {
|
||||
alert("Please fill in all required fields");
|
||||
return;
|
||||
}
|
||||
|
||||
if (editingId) {
|
||||
setPapers((prev) =>
|
||||
prev.map((paper) =>
|
||||
paper.id === editingId
|
||||
? {
|
||||
...paper,
|
||||
...formData,
|
||||
}
|
||||
: paper
|
||||
)
|
||||
);
|
||||
setEditingId(null);
|
||||
} else {
|
||||
const newPaper: Paper = {
|
||||
id: Date.now().toString(),
|
||||
...formData,
|
||||
};
|
||||
setPapers((prev) => [newPaper, ...prev]);
|
||||
}
|
||||
|
||||
setFormData(initialFormData);
|
||||
setShowForm(false);
|
||||
};
|
||||
|
||||
const handleEdit = (paper: Paper) => {
|
||||
setFormData({
|
||||
title: paper.title,
|
||||
authors: paper.authors,
|
||||
abstract: paper.abstract,
|
||||
category: paper.category,
|
||||
content: paper.content,
|
||||
imageSrc: paper.imageSrc || "", videoSrc: paper.videoSrc || "", datePublished: paper.datePublished,
|
||||
});
|
||||
setEditingId(paper.id);
|
||||
setShowForm(true);
|
||||
};
|
||||
|
||||
const handleDelete = (id: string) => {
|
||||
if (confirm("Are you sure you want to delete this paper?")) {
|
||||
setPapers((prev) => prev.filter((paper) => paper.id !== id));
|
||||
}
|
||||
};
|
||||
|
||||
const filteredPapers = papers.filter(
|
||||
(paper) =>
|
||||
paper.title.toLowerCase().includes(searchTerm.toLowerCase()) ||
|
||||
paper.authors.toLowerCase().includes(searchTerm.toLowerCase()) ||
|
||||
paper.category.toLowerCase().includes(searchTerm.toLowerCase())
|
||||
);
|
||||
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="hover-bubble"
|
||||
defaultTextAnimation="reveal-blur"
|
||||
borderRadius="soft"
|
||||
contentWidth="medium"
|
||||
sizing="largeSizeMediumTitles"
|
||||
background="noise"
|
||||
cardStyle="inset"
|
||||
primaryButtonStyle="flat"
|
||||
secondaryButtonStyle="glass"
|
||||
headingFontWeight="bold"
|
||||
>
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarStyleApple
|
||||
brandName="ResearchViz Admin"
|
||||
navItems={[
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "Papers", id: "papers" },
|
||||
{ name: "Dashboard", id: "dashboard" },
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div className="min-h-screen bg-background">
|
||||
<div className="max-w-7xl mx-auto px-4 py-12">
|
||||
{/* Header */}
|
||||
<div className="mb-8">
|
||||
<h1 className="text-4xl font-bold mb-2">Paper Management</h1>
|
||||
<p className="text-foreground/75">Create, read, update, and delete research papers</p>
|
||||
</div>
|
||||
|
||||
{/* Search and Add Button */}
|
||||
<div className="flex gap-4 mb-8">
|
||||
<div className="flex-1 relative">
|
||||
<Search className="absolute left-3 top-3 text-foreground/50" size={20} />
|
||||
<input
|
||||
type="text"
|
||||
placeholder="Search papers by title, author, or category..."
|
||||
value={searchTerm}
|
||||
onChange={(e) => setSearchTerm(e.target.value)}
|
||||
className="w-full pl-10 pr-4 py-2 rounded-lg border border-card bg-card text-foreground placeholder-foreground/50 focus:outline-none focus:ring-2 focus:ring-primary-cta"
|
||||
/>
|
||||
</div>
|
||||
<button
|
||||
onClick={() => {
|
||||
setFormData(initialFormData);
|
||||
setEditingId(null);
|
||||
setShowForm(true);
|
||||
}}
|
||||
className="flex items-center gap-2 px-4 py-2 bg-primary-cta text-background rounded-lg hover:opacity-90 transition-opacity"
|
||||
>
|
||||
<Plus size={20} />
|
||||
Add Paper
|
||||
</button>
|
||||
</div>
|
||||
|
||||
{/* Form Modal */}
|
||||
{showForm && (
|
||||
<div className="fixed inset-0 bg-black/50 flex items-center justify-center z-50 p-4">
|
||||
<div className="bg-card rounded-lg max-w-2xl w-full max-h-[90vh] overflow-y-auto">
|
||||
<div className="sticky top-0 flex justify-between items-center p-6 border-b border-background">
|
||||
<h2 className="text-2xl font-bold">
|
||||
{editingId ? "Edit Paper" : "Create New Paper"}
|
||||
</h2>
|
||||
<button
|
||||
onClick={() => {
|
||||
setShowForm(false);
|
||||
setEditingId(null);
|
||||
setUploadProgress(0);
|
||||
}}
|
||||
className="p-2 hover:bg-background rounded-lg transition-colors"
|
||||
>
|
||||
<X size={24} />
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<form onSubmit={handleSubmit} className="p-6 space-y-4">
|
||||
{/* Metadata Fields */}
|
||||
<div className="space-y-4">
|
||||
<h3 className="text-lg font-semibold">Paper Metadata</h3>
|
||||
|
||||
<div>
|
||||
<label className="block text-sm font-medium mb-2">
|
||||
Title *
|
||||
</label>
|
||||
<input
|
||||
type="text"
|
||||
name="title"
|
||||
value={formData.title}
|
||||
onChange={handleFormChange}
|
||||
placeholder="Enter paper title"
|
||||
className="w-full px-3 py-2 border border-background rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-cta"
|
||||
required
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label className="block text-sm font-medium mb-2">
|
||||
Authors *
|
||||
</label>
|
||||
<input
|
||||
type="text"
|
||||
name="authors"
|
||||
value={formData.authors}
|
||||
onChange={handleFormChange}
|
||||
placeholder="Enter author names (comma-separated)"
|
||||
className="w-full px-3 py-2 border border-background rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-cta"
|
||||
required
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label className="block text-sm font-medium mb-2">
|
||||
Category
|
||||
</label>
|
||||
<select
|
||||
name="category"
|
||||
value={formData.category}
|
||||
onChange={handleFormChange}
|
||||
className="w-full px-3 py-2 border border-background rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-cta"
|
||||
>
|
||||
<option value="">Select a category</option>
|
||||
<option value="Machine Learning">Machine Learning</option>
|
||||
<option value="Physics">Physics</option>
|
||||
<option value="Mathematics">Mathematics</option>
|
||||
<option value="Computer Science">Computer Science</option>
|
||||
<option value="Quantum Computing">Quantum Computing</option>
|
||||
<option value="Applied Mathematics">
|
||||
Applied Mathematics
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label className="block text-sm font-medium mb-2">
|
||||
Publication Date
|
||||
</label>
|
||||
<input
|
||||
type="date"
|
||||
name="datePublished"
|
||||
value={formData.datePublished}
|
||||
onChange={handleFormChange}
|
||||
className="w-full px-3 py-2 border border-background rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-cta"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Content Editor */}
|
||||
<div className="space-y-4">
|
||||
<h3 className="text-lg font-semibold">Paper Content</h3>
|
||||
|
||||
<div>
|
||||
<label className="block text-sm font-medium mb-2">
|
||||
Abstract *
|
||||
</label>
|
||||
<textarea
|
||||
name="abstract"
|
||||
value={formData.abstract}
|
||||
onChange={handleFormChange}
|
||||
placeholder="Enter paper abstract"
|
||||
rows={4}
|
||||
className="w-full px-3 py-2 border border-background rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-cta"
|
||||
required
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label className="block text-sm font-medium mb-2">
|
||||
Full Content
|
||||
</label>
|
||||
<textarea
|
||||
name="content"
|
||||
value={formData.content}
|
||||
onChange={handleFormChange}
|
||||
placeholder="Enter full paper content (supports markdown and LaTeX)"
|
||||
rows={8}
|
||||
className="w-full px-3 py-2 border border-background rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-cta font-mono text-sm"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Media Upload */}
|
||||
<div className="space-y-4">
|
||||
<h3 className="text-lg font-semibold">Media Upload</h3>
|
||||
|
||||
<div>
|
||||
<label className="block text-sm font-medium mb-2">
|
||||
Featured Image
|
||||
</label>
|
||||
<div className="border-2 border-dashed border-background rounded-lg p-4">
|
||||
<input
|
||||
type="file"
|
||||
accept="image/*"
|
||||
onChange={(e) => handleFileUpload(e, "imageSrc")}
|
||||
className="hidden"
|
||||
id="image-upload"
|
||||
/>
|
||||
<label
|
||||
htmlFor="image-upload"
|
||||
className="flex items-center justify-center gap-2 cursor-pointer p-4 hover:bg-background/50 rounded-lg transition-colors"
|
||||
>
|
||||
<Upload size={20} />
|
||||
<span>Click to upload image or drag and drop</span>
|
||||
</label>
|
||||
{uploadProgress > 0 && uploadProgress < 100 && (
|
||||
<div className="mt-2">
|
||||
<div className="w-full bg-background rounded-full h-2">
|
||||
<div
|
||||
className="bg-primary-cta h-2 rounded-full transition-all"
|
||||
style={{ width: `${uploadProgress}%` }}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
{formData.imageSrc && (
|
||||
<div className="mt-2 text-sm text-foreground/75">
|
||||
Image selected: {formData.imageSrc.split("/").pop()}
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label className="block text-sm font-medium mb-2">
|
||||
Video URL (optional)
|
||||
</label>
|
||||
<input
|
||||
type="text"
|
||||
name="videoSrc"
|
||||
value={formData.videoSrc}
|
||||
onChange={handleFormChange}
|
||||
placeholder="Enter video URL or paste video file"
|
||||
className="w-full px-3 py-2 border border-background rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-cta"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Form Actions */}
|
||||
<div className="flex gap-3 pt-6 border-t border-background">
|
||||
<button
|
||||
type="submit"
|
||||
className="flex items-center gap-2 flex-1 px-4 py-2 bg-primary-cta text-background rounded-lg hover:opacity-90 transition-opacity font-medium"
|
||||
>
|
||||
<Save size={20} />
|
||||
{editingId ? "Update Paper" : "Create Paper"}
|
||||
</button>
|
||||
<button
|
||||
type="button"
|
||||
onClick={() => {
|
||||
setShowForm(false);
|
||||
setEditingId(null);
|
||||
}}
|
||||
className="flex-1 px-4 py-2 bg-background text-foreground rounded-lg hover:bg-background/80 transition-colors font-medium"
|
||||
>
|
||||
Cancel
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
|
||||
{/* Papers Table */}
|
||||
<div className="bg-card rounded-lg overflow-hidden border border-background">
|
||||
<div className="overflow-x-auto">
|
||||
<table className="w-full">
|
||||
<thead>
|
||||
<tr className="border-b border-background bg-background/50">
|
||||
<th className="px-6 py-3 text-left text-sm font-semibold">Title</th>
|
||||
<th className="px-6 py-3 text-left text-sm font-semibold">Authors</th>
|
||||
<th className="px-6 py-3 text-left text-sm font-semibold">
|
||||
Category
|
||||
</th>
|
||||
<th className="px-6 py-3 text-left text-sm font-semibold">Date</th>
|
||||
<th className="px-6 py-3 text-right text-sm font-semibold">
|
||||
Actions
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{filteredPapers.length === 0 ? (
|
||||
<tr>
|
||||
<td
|
||||
colSpan={5}
|
||||
className="px-6 py-8 text-center text-foreground/50"
|
||||
>
|
||||
No papers found. Create your first paper to get started.
|
||||
</td>
|
||||
</tr>
|
||||
) : (
|
||||
filteredPapers.map((paper) => (
|
||||
<tr
|
||||
key={paper.id}
|
||||
className="border-b border-background hover:bg-background/30 transition-colors"
|
||||
>
|
||||
<td className="px-6 py-4 font-medium">{paper.title}</td>
|
||||
<td className="px-6 py-4 text-sm text-foreground/75">
|
||||
{paper.authors}
|
||||
</td>
|
||||
<td className="px-6 py-4 text-sm">
|
||||
<span className="px-2 py-1 bg-primary-cta/20 text-primary-cta rounded">
|
||||
{paper.category}
|
||||
</span>
|
||||
</td>
|
||||
<td className="px-6 py-4 text-sm text-foreground/75">
|
||||
{new Date(paper.datePublished).toLocaleDateString()}
|
||||
</td>
|
||||
<td className="px-6 py-4 text-right">
|
||||
<div className="flex justify-end gap-2">
|
||||
<button
|
||||
onClick={() => handleEdit(paper)}
|
||||
className="p-2 hover:bg-background rounded-lg transition-colors text-primary-cta"
|
||||
title="Edit paper"
|
||||
>
|
||||
<Edit2 size={18} />
|
||||
</button>
|
||||
<button
|
||||
onClick={() => handleDelete(paper.id)}
|
||||
className="p-2 hover:bg-background rounded-lg transition-colors text-accent"
|
||||
title="Delete paper"
|
||||
>
|
||||
<Trash2 size={18} />
|
||||
</button>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
))
|
||||
)}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Stats */}
|
||||
<div className="grid grid-cols-1 md:grid-cols-3 gap-4 mt-8">
|
||||
<div className="bg-card rounded-lg p-6 border border-background">
|
||||
<div className="text-foreground/75 text-sm font-medium">Total Papers</div>
|
||||
<div className="text-3xl font-bold mt-2">{papers.length}</div>
|
||||
</div>
|
||||
<div className="bg-card rounded-lg p-6 border border-background">
|
||||
<div className="text-foreground/75 text-sm font-medium">Categories</div>
|
||||
<div className="text-3xl font-bold mt-2">
|
||||
{new Set(papers.map((p) => p.category)).size}
|
||||
</div>
|
||||
</div>
|
||||
<div className="bg-card rounded-lg p-6 border border-background">
|
||||
<div className="text-foreground/75 text-sm font-medium">
|
||||
Last Updated
|
||||
</div>
|
||||
<div className="text-lg font-bold mt-2">
|
||||
{papers.length > 0
|
||||
? new Date(
|
||||
papers[0].datePublished
|
||||
).toLocaleDateString()
|
||||
: "N/A"}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterBase
|
||||
logoText="ResearchViz Admin"
|
||||
copyrightText="© 2025 ResearchViz Admin Panel. All rights reserved."
|
||||
columns={[
|
||||
{
|
||||
title: "Admin", items: [
|
||||
{ label: "Dashboard", href: "#" },
|
||||
{ label: "Papers", href: "#papers" },
|
||||
{ label: "Settings", href: "#" },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Support", items: [
|
||||
{ label: "Help", href: "#" },
|
||||
{ label: "Documentation", href: "#" },
|
||||
{ label: "Contact", href: "#" },
|
||||
],
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
237
src/app/page.tsx
237
src/app/page.tsx
@@ -66,33 +66,17 @@ export default function HomePage() {
|
||||
tag="Features"
|
||||
features={[
|
||||
{
|
||||
id: "1",
|
||||
title: "Live LaTeX Rendering with MathJax",
|
||||
tags: ["Mathematics", "Rendering"],
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-detailed-view-of-beautifully-rendered--1773067748677-5081a300.png",
|
||||
imageAlt: "Beautiful LaTeX mathematics display",
|
||||
},
|
||||
id: "1", title: "Live LaTeX Rendering with MathJax", tags: ["Mathematics", "Rendering"],
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-detailed-view-of-beautifully-rendered--1773067748677-5081a300.png", imageAlt: "Beautiful LaTeX mathematics display"},
|
||||
{
|
||||
id: "2",
|
||||
title: "Interactive Content Navigation",
|
||||
tags: ["Navigation", "UX"],
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/an-interactive-sidebar-navigation-showin-1773067750108-4fb65381.png",
|
||||
imageAlt: "Responsive sidebar with article structure",
|
||||
},
|
||||
id: "2", title: "Interactive Content Navigation", tags: ["Navigation", "UX"],
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/an-interactive-sidebar-navigation-showin-1773067750108-4fb65381.png", imageAlt: "Responsive sidebar with article structure"},
|
||||
{
|
||||
id: "3",
|
||||
title: "Searchable Paper Database",
|
||||
tags: ["Search", "Discovery"],
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-searchable-paper-database-interface-wi-1773067747898-1e740cb8.png",
|
||||
imageAlt: "Paper search and discovery interface",
|
||||
},
|
||||
id: "3", title: "Searchable Paper Database", tags: ["Search", "Discovery"],
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-searchable-paper-database-interface-wi-1773067747898-1e740cb8.png", imageAlt: "Paper search and discovery interface"},
|
||||
{
|
||||
id: "4",
|
||||
title: "Syntax-Highlighted Code Blocks",
|
||||
tags: ["Code", "Display"],
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/syntax-highlighted-code-blocks-showing-p-1773067750742-d4a25820.png",
|
||||
imageAlt: "Colored and formatted code examples",
|
||||
},
|
||||
id: "4", title: "Syntax-Highlighted Code Blocks", tags: ["Code", "Display"],
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/syntax-highlighted-code-blocks-showing-p-1773067750742-d4a25820.png", imageAlt: "Colored and formatted code examples"},
|
||||
]}
|
||||
animationType="slide-up"
|
||||
textboxLayout="default"
|
||||
@@ -125,71 +109,17 @@ export default function HomePage() {
|
||||
tag="Blog"
|
||||
blogs={[
|
||||
{
|
||||
id: "1",
|
||||
category: "Machine Learning",
|
||||
title: "Understanding Transformer Architectures in Modern NLP",
|
||||
excerpt: "A deep dive into how self-attention mechanisms revolutionized natural language processing and enabled breakthrough results in language models.",
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-visualization-of-transformer-architect-1773067748719-ccd2f4eb.png?_wi=1",
|
||||
imageAlt: "Transformer architecture visualization",
|
||||
authorName: "Dr. Sarah Chen",
|
||||
authorAvatar: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-professional-portrait-photograph-of-an-1773067746832-97e37100.png",
|
||||
date: "Jan 28, 2025",
|
||||
},
|
||||
id: "1", category: "Machine Learning", title: "Understanding Transformer Architectures in Modern NLP", excerpt: "A deep dive into how self-attention mechanisms revolutionized natural language processing and enabled breakthrough results in language models.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-visualization-of-transformer-architect-1773067748719-ccd2f4eb.png?_wi=1", imageAlt: "Transformer architecture visualization", authorName: "Dr. Sarah Chen", authorAvatar: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-professional-portrait-photograph-of-an-1773067746832-97e37100.png", date: "Jan 28, 2025"},
|
||||
{
|
||||
id: "2",
|
||||
category: "Quantum Computing",
|
||||
title: "Quantum Error Correction: Building Reliable Quantum Computers",
|
||||
excerpt: "Examining the latest approaches to quantum error correction and their implications for practical quantum computing systems.",
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-quantum-circuit-diagram-showing-qubits-1773067748308-09965da8.png?_wi=1",
|
||||
imageAlt: "Quantum circuit diagram",
|
||||
authorName: "Prof. Michael Rodriguez",
|
||||
authorAvatar: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-professional-portrait-photograph-of-a--1773067746988-89c06cbd.png",
|
||||
date: "Jan 25, 2025",
|
||||
},
|
||||
id: "2", category: "Quantum Computing", title: "Quantum Error Correction: Building Reliable Quantum Computers", excerpt: "Examining the latest approaches to quantum error correction and their implications for practical quantum computing systems.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-quantum-circuit-diagram-showing-qubits-1773067748308-09965da8.png?_wi=1", imageAlt: "Quantum circuit diagram", authorName: "Prof. Michael Rodriguez", authorAvatar: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-professional-portrait-photograph-of-a--1773067746988-89c06cbd.png", date: "Jan 25, 2025"},
|
||||
{
|
||||
id: "3",
|
||||
category: "Mathematics",
|
||||
title: "Breakthrough in Elliptic Curve Cryptography",
|
||||
excerpt: "Understanding recent advances in elliptic curve mathematics and their impact on modern cryptographic protocols.",
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/an-elliptic-curve-mathematical-visualiza-1773067750423-51479fcc.png?_wi=1",
|
||||
imageAlt: "Elliptic curve mathematical visualization",
|
||||
authorName: "Dr. Emma Thompson",
|
||||
authorAvatar: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-professional-portrait-photograph-of-a--1773067747230-3d0ca46b.png",
|
||||
date: "Jan 22, 2025",
|
||||
},
|
||||
id: "3", category: "Mathematics", title: "Breakthrough in Elliptic Curve Cryptography", excerpt: "Understanding recent advances in elliptic curve mathematics and their impact on modern cryptographic protocols.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/an-elliptic-curve-mathematical-visualiza-1773067750423-51479fcc.png?_wi=1", imageAlt: "Elliptic curve mathematical visualization", authorName: "Dr. Emma Thompson", authorAvatar: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-professional-portrait-photograph-of-a--1773067747230-3d0ca46b.png", date: "Jan 22, 2025"},
|
||||
{
|
||||
id: "4",
|
||||
category: "Physics",
|
||||
title: "Recent Developments in Gravitational Wave Detection",
|
||||
excerpt: "Analyzing new detection methods and their contributions to our understanding of cosmic events and general relativity.",
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-visualization-of-gravitational-wave-de-1773067748460-8e6a18a0.png?_wi=1",
|
||||
imageAlt: "Gravitational wave detector visualization",
|
||||
authorName: "Prof. James Lee",
|
||||
authorAvatar: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-professional-portrait-photograph-of-an-1773067747570-17cfcfba.png",
|
||||
date: "Jan 20, 2025",
|
||||
},
|
||||
id: "4", category: "Physics", title: "Recent Developments in Gravitational Wave Detection", excerpt: "Analyzing new detection methods and their contributions to our understanding of cosmic events and general relativity.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-visualization-of-gravitational-wave-de-1773067748460-8e6a18a0.png?_wi=1", imageAlt: "Gravitational wave detector visualization", authorName: "Prof. James Lee", authorAvatar: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-professional-portrait-photograph-of-an-1773067747570-17cfcfba.png", date: "Jan 20, 2025"},
|
||||
{
|
||||
id: "5",
|
||||
category: "Computer Science",
|
||||
title: "Graph Neural Networks: Theory and Applications",
|
||||
excerpt: "Comprehensive overview of how neural networks can be applied to graph-structured data and real-world use cases.",
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-graph-neural-network-structure-showing-1773067747547-b994da31.png",
|
||||
imageAlt: "Graph neural network structure",
|
||||
authorName: "Dr. Lisa Wang",
|
||||
authorAvatar: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-professional-portrait-photograph-of-a--1773067747496-b6a4736f.png",
|
||||
date: "Jan 18, 2025",
|
||||
},
|
||||
id: "5", category: "Computer Science", title: "Graph Neural Networks: Theory and Applications", excerpt: "Comprehensive overview of how neural networks can be applied to graph-structured data and real-world use cases.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-graph-neural-network-structure-showing-1773067747547-b994da31.png", imageAlt: "Graph neural network structure", authorName: "Dr. Lisa Wang", authorAvatar: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-professional-portrait-photograph-of-a--1773067747496-b6a4736f.png", date: "Jan 18, 2025"},
|
||||
{
|
||||
id: "6",
|
||||
category: "Applied Mathematics",
|
||||
title: "Optimization Algorithms in Modern Machine Learning",
|
||||
excerpt: "Understanding adaptive learning rates, momentum methods, and their theoretical foundations in optimization theory.",
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/an-optimization-landscape-visualization--1773067748187-5eb4381b.png",
|
||||
imageAlt: "Optimization landscape visualization",
|
||||
authorName: "Prof. David Kumar",
|
||||
authorAvatar: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-professional-portrait-photograph-of-a--1773067747025-d7cb82eb.png",
|
||||
date: "Jan 15, 2025",
|
||||
},
|
||||
id: "6", category: "Applied Mathematics", title: "Optimization Algorithms in Modern Machine Learning", excerpt: "Understanding adaptive learning rates, momentum methods, and their theoretical foundations in optimization theory.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/an-optimization-landscape-visualization--1773067748187-5eb4381b.png", imageAlt: "Optimization landscape visualization", authorName: "Prof. David Kumar", authorAvatar: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-professional-portrait-photograph-of-a--1773067747025-d7cb82eb.png", date: "Jan 15, 2025"},
|
||||
]}
|
||||
animationType="slide-up"
|
||||
textboxLayout="default"
|
||||
@@ -207,77 +137,17 @@ export default function HomePage() {
|
||||
tag="Testimonials"
|
||||
testimonials={[
|
||||
{
|
||||
id: "1",
|
||||
name: "Dr. James Mitchell, Professor of Mathematics",
|
||||
date: "Date: Jan 2025",
|
||||
title: "Finally, a platform that respects mathematical notation.",
|
||||
quote: "ResearchViz has transformed how I teach complex mathematical concepts to my students. The LaTeX rendering is pixel-perfect, and the interactive navigation makes it easy to explore papers section by section. My students report significantly better understanding of difficult proofs.",
|
||||
tag: "Academic",
|
||||
avatarSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-professional-portrait-photograph-of-an-1773067746832-97e37100.png",
|
||||
avatarAlt: "Dr. James Mitchell",
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-classroom-setting-with-a-professor-tea-1773067747726-1ec7b290.png?_wi=1",
|
||||
imageAlt: "Mathematics classroom with interactive content",
|
||||
},
|
||||
id: "1", name: "Dr. James Mitchell, Professor of Mathematics", date: "Date: Jan 2025", title: "Finally, a platform that respects mathematical notation.", quote: "ResearchViz has transformed how I teach complex mathematical concepts to my students. The LaTeX rendering is pixel-perfect, and the interactive navigation makes it easy to explore papers section by section. My students report significantly better understanding of difficult proofs.", tag: "Academic", avatarSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-professional-portrait-photograph-of-an-1773067746832-97e37100.png", avatarAlt: "Dr. James Mitchell", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-classroom-setting-with-a-professor-tea-1773067747726-1ec7b290.png?_wi=1", imageAlt: "Mathematics classroom with interactive content"},
|
||||
{
|
||||
id: "2",
|
||||
name: "Dr. Priya Sharma, PhD Candidate, Computer Science",
|
||||
date: "Date: Jan 2025",
|
||||
title: "The research tool I've been waiting for.",
|
||||
quote: "As someone working on machine learning interpretability, I needed a way to study and annotate complex papers. ResearchViz's searchable database and clean interface have cut my research time in half. The syntax highlighting for code blocks is essential for my work.",
|
||||
tag: "Graduate",
|
||||
avatarSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-professional-portrait-photograph-of-a--1773067747496-b6a4736f.png",
|
||||
avatarAlt: "Dr. Priya Sharma",
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-research-workspace-showing-a-computer--1773067747697-c3191657.png?_wi=1",
|
||||
imageAlt: "Computer science research workspace",
|
||||
},
|
||||
id: "2", name: "Dr. Priya Sharma, PhD Candidate, Computer Science", date: "Date: Jan 2025", title: "The research tool I've been waiting for.", quote: "As someone working on machine learning interpretability, I needed a way to study and annotate complex papers. ResearchViz's searchable database and clean interface have cut my research time in half. The syntax highlighting for code blocks is essential for my work.", tag: "Graduate", avatarSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-professional-portrait-photograph-of-a--1773067747496-b6a4736f.png", avatarAlt: "Dr. Priya Sharma", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-research-workspace-showing-a-computer--1773067747697-c3191657.png?_wi=1", imageAlt: "Computer science research workspace"},
|
||||
{
|
||||
id: "3",
|
||||
name: "Marcus Chen, Undergraduate Physics Student",
|
||||
date: "Date: Dec 2024",
|
||||
title: "Makes advanced papers accessible.",
|
||||
quote: "I was intimidated by reading papers in my quantum mechanics class. ResearchViz breaks them down beautifully. The visual exploration tools help me understand the flow of arguments, and seeing equations rendered perfectly removes the formatting friction.",
|
||||
tag: "Student",
|
||||
avatarSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-professional-portrait-photograph-of-an-1773067747570-17cfcfba.png",
|
||||
avatarAlt: "Marcus Chen",
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-young-student-studying-physics-with-in-1773067747804-d477a9ad.png?_wi=1",
|
||||
imageAlt: "Student studying physics with interactive tools",
|
||||
},
|
||||
id: "3", name: "Marcus Chen, Undergraduate Physics Student", date: "Date: Dec 2024", title: "Makes advanced papers accessible.", quote: "I was intimidated by reading papers in my quantum mechanics class. ResearchViz breaks them down beautifully. The visual exploration tools help me understand the flow of arguments, and seeing equations rendered perfectly removes the formatting friction.", tag: "Student", avatarSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-professional-portrait-photograph-of-an-1773067747570-17cfcfba.png", avatarAlt: "Marcus Chen", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-young-student-studying-physics-with-in-1773067747804-d477a9ad.png?_wi=1", imageAlt: "Student studying physics with interactive tools"},
|
||||
{
|
||||
id: "4",
|
||||
name: "Prof. Elena Volkov, Director of Research Institute",
|
||||
date: "Date: Dec 2024",
|
||||
title: "Essential infrastructure for modern research.",
|
||||
quote: "We've adopted ResearchViz across our entire institute for paper dissemination. The platform's admin controls and structured analysis features enable our team to curate and share research effectively. It's become central to our collaborative workflow.",
|
||||
tag: "Institutional",
|
||||
avatarSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-professional-portrait-photograph-of-a--1773067747230-3d0ca46b.png",
|
||||
avatarAlt: "Prof. Elena Volkov",
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-research-institute-meeting-room-with-m-1773067747270-5baf6798.png?_wi=1",
|
||||
imageAlt: "Research institute collaboration",
|
||||
},
|
||||
id: "4", name: "Prof. Elena Volkov, Director of Research Institute", date: "Date: Dec 2024", title: "Essential infrastructure for modern research.", quote: "We've adopted ResearchViz across our entire institute for paper dissemination. The platform's admin controls and structured analysis features enable our team to curate and share research effectively. It's become central to our collaborative workflow.", tag: "Institutional", avatarSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-professional-portrait-photograph-of-a--1773067747230-3d0ca46b.png", avatarAlt: "Prof. Elena Volkov", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-research-institute-meeting-room-with-m-1773067747270-5baf6798.png?_wi=1", imageAlt: "Research institute collaboration"},
|
||||
{
|
||||
id: "5",
|
||||
name: "Dr. Omar Hassan, Postdoctoral Fellow",
|
||||
date: "Date: Dec 2024",
|
||||
title: "Perfect for publishing my research interpretations.",
|
||||
quote: "As a postdoc, I wanted to publish my own analysis of recent papers without wrestling with LaTeX formatting nightmares. ResearchViz made it seamless. The platform handles all the technical complexity so I can focus on the science.",
|
||||
tag: "Postdoc",
|
||||
avatarSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-professional-portrait-photograph-of-a--1773067746988-89c06cbd.png",
|
||||
avatarAlt: "Dr. Omar Hassan",
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-postdoctoral-researcher-presenting-the-1773067748393-efb940b7.png?_wi=1",
|
||||
imageAlt: "Postdoc research presentation",
|
||||
},
|
||||
id: "5", name: "Dr. Omar Hassan, Postdoctoral Fellow", date: "Date: Dec 2024", title: "Perfect for publishing my research interpretations.", quote: "As a postdoc, I wanted to publish my own analysis of recent papers without wrestling with LaTeX formatting nightmares. ResearchViz made it seamless. The platform handles all the technical complexity so I can focus on the science.", tag: "Postdoc", avatarSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-professional-portrait-photograph-of-a--1773067746988-89c06cbd.png", avatarAlt: "Dr. Omar Hassan", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-postdoctoral-researcher-presenting-the-1773067748393-efb940b7.png?_wi=1", imageAlt: "Postdoc research presentation"},
|
||||
{
|
||||
id: "6",
|
||||
name: "Dr. Lisa Woodbury, Neuroscience Researcher",
|
||||
date: "Date: Nov 2024",
|
||||
title: "Game-changer for interdisciplinary collaboration.",
|
||||
quote: "Our lab works across neuroscience, mathematics, and engineering. ResearchViz's clean interface makes it easy for team members with different backgrounds to understand complex papers. The responsive design means I can study papers on any device.",
|
||||
tag: "Research",
|
||||
avatarSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-professional-portrait-photograph-of-a--1773067747025-d7cb82eb.png",
|
||||
avatarAlt: "Dr. Lisa Woodbury",
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-diverse-interdisciplinary-research-tea-1773067748262-f38ac85e.png?_wi=1",
|
||||
imageAlt: "Interdisciplinary research collaboration",
|
||||
},
|
||||
id: "6", name: "Dr. Lisa Woodbury, Neuroscience Researcher", date: "Date: Nov 2024", title: "Game-changer for interdisciplinary collaboration.", quote: "Our lab works across neuroscience, mathematics, and engineering. ResearchViz's clean interface makes it easy for team members with different backgrounds to understand complex papers. The responsive design means I can study papers on any device.", tag: "Research", avatarSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-professional-portrait-photograph-of-a--1773067747025-d7cb82eb.png", avatarAlt: "Dr. Lisa Woodbury", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AiFVBjLIhN4wfw5B7Ckuzx9bEy/a-diverse-interdisciplinary-research-tea-1773067748262-f38ac85e.png?_wi=1", imageAlt: "Interdisciplinary research collaboration"},
|
||||
]}
|
||||
textboxLayout="default"
|
||||
useInvertedBackground={true}
|
||||
@@ -289,53 +159,29 @@ export default function HomePage() {
|
||||
<FaqSplitText
|
||||
faqs={[
|
||||
{
|
||||
id: "1",
|
||||
title: "What LaTeX rendering engine does ResearchViz use?",
|
||||
content:
|
||||
"ResearchViz uses MathJax for beautiful, responsive LaTeX mathematics rendering. This ensures consistent, high-quality equation display across all devices and browsers. MathJax supports both inline and display mathematics with full accessibility features.",
|
||||
},
|
||||
id: "1", title: "What LaTeX rendering engine does ResearchViz use?", content:
|
||||
"ResearchViz uses MathJax for beautiful, responsive LaTeX mathematics rendering. This ensures consistent, high-quality equation display across all devices and browsers. MathJax supports both inline and display mathematics with full accessibility features."},
|
||||
{
|
||||
id: "2",
|
||||
title: "How do I search for papers in the database?",
|
||||
content:
|
||||
"Our searchable database indexes paper titles, authors, abstracts, and key concepts. You can search by topic, author name, publication year, or institution. Advanced search filters allow you to narrow results by field, date range, and relevance.",
|
||||
},
|
||||
id: "2", title: "How do I search for papers in the database?", content:
|
||||
"Our searchable database indexes paper titles, authors, abstracts, and key concepts. You can search by topic, author name, publication year, or institution. Advanced search filters allow you to narrow results by field, date range, and relevance."},
|
||||
{
|
||||
id: "3",
|
||||
title: "Can I contribute my own paper analysis?",
|
||||
content:
|
||||
"Yes! Registered users can publish their own paper breakdowns and analyses. Our intuitive editor handles LaTeX formatting automatically, and you can use our structured analysis templates to organize your content.",
|
||||
},
|
||||
id: "3", title: "Can I contribute my own paper analysis?", content:
|
||||
"Yes! Registered users can publish their own paper breakdowns and analyses. Our intuitive editor handles LaTeX formatting automatically, and you can use our structured analysis templates to organize your content."},
|
||||
{
|
||||
id: "4",
|
||||
title: "Is ResearchViz suitable for undergraduate students?",
|
||||
content:
|
||||
"Absolutely. ResearchViz is designed specifically for STEM undergraduates learning to read research papers. Curated breakdowns explain foundational concepts, visual exploration tools aid understanding, and the clean interface reduces cognitive friction.",
|
||||
},
|
||||
id: "4", title: "Is ResearchViz suitable for undergraduate students?", content:
|
||||
"Absolutely. ResearchViz is designed specifically for STEM undergraduates learning to read research papers. Curated breakdowns explain foundational concepts, visual exploration tools aid understanding, and the clean interface reduces cognitive friction."},
|
||||
{
|
||||
id: "5",
|
||||
title: "Do you offer institutional licenses?",
|
||||
content:
|
||||
"Yes. We offer institutional subscriptions for universities and research institutions with volume discounts. Contact our sales team for custom arrangements, dedicated support, and institutional admin controls.",
|
||||
},
|
||||
id: "5", title: "Do you offer institutional licenses?", content:
|
||||
"Yes. We offer institutional subscriptions for universities and research institutions with volume discounts. Contact our sales team for custom arrangements, dedicated support, and institutional admin controls."},
|
||||
{
|
||||
id: "6",
|
||||
title: "How do you ensure content quality?",
|
||||
content:
|
||||
"All user-contributed content goes through a peer-review process by our academic editorial board. We maintain high standards for accuracy, clarity, and pedagogical value to ensure readers get reliable interpretations.",
|
||||
},
|
||||
id: "6", title: "How do you ensure content quality?", content:
|
||||
"All user-contributed content goes through a peer-review process by our academic editorial board. We maintain high standards for accuracy, clarity, and pedagogical value to ensure readers get reliable interpretations."},
|
||||
{
|
||||
id: "7",
|
||||
title: "Can I export papers or create citations?",
|
||||
content:
|
||||
"Yes. ResearchViz supports exporting papers in PDF format and generating citations in APA, MLA, Chicago, and IEEE formats. One-click citation copying makes it easy to build your bibliography.",
|
||||
},
|
||||
id: "7", title: "Can I export papers or create citations?", content:
|
||||
"Yes. ResearchViz supports exporting papers in PDF format and generating citations in APA, MLA, Chicago, and IEEE formats. One-click citation copying makes it easy to build your bibliography."},
|
||||
{
|
||||
id: "8",
|
||||
title: "Is there an admin panel for managing content?",
|
||||
content:
|
||||
"Yes. Our comprehensive admin control panel allows institutional admins to manage users, curate content, track engagement analytics, and customize platform settings for their organization.",
|
||||
},
|
||||
id: "8", title: "Is there an admin panel for managing content?", content:
|
||||
"Yes. Our comprehensive admin control panel allows institutional admins to manage users, curate content, track engagement analytics, and customize platform settings for their organization."},
|
||||
]}
|
||||
sideTitle="Frequently Asked Questions"
|
||||
sideDescription="Everything you need to know about ResearchViz and how to get the most from the platform."
|
||||
@@ -353,8 +199,7 @@ export default function HomePage() {
|
||||
copyrightText="© 2025 ResearchViz. Making research accessible to everyone."
|
||||
columns={[
|
||||
{
|
||||
title: "Product",
|
||||
items: [
|
||||
title: "Product", items: [
|
||||
{ label: "Features", href: "#features" },
|
||||
{ label: "Papers", href: "/papers" },
|
||||
{ label: "Pricing", href: "#pricing" },
|
||||
@@ -362,8 +207,7 @@ export default function HomePage() {
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Company",
|
||||
items: [
|
||||
title: "Company", items: [
|
||||
{ label: "About Us", href: "/about" },
|
||||
{ label: "Contact", href: "/contact" },
|
||||
{ label: "Careers", href: "#" },
|
||||
@@ -371,8 +215,7 @@ export default function HomePage() {
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Legal",
|
||||
items: [
|
||||
title: "Legal", items: [
|
||||
{ label: "Privacy Policy", href: "#" },
|
||||
{ label: "Terms of Service", href: "#" },
|
||||
{ label: "Cookie Policy", href: "#" },
|
||||
@@ -384,4 +227,4 @@ export default function HomePage() {
|
||||
</div>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user