@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
import { useEffect, useState } from "react";
|
import { useEffect, useState } from "react";
|
||||||
import { motion } from "framer-motion";
|
import { motion } from "framer-motion";
|
||||||
import { Sparkles } from "lucide-react";
|
import { Paperclip, Sparkles } from "lucide-react";
|
||||||
import WebStuff from "@/components/Web";
|
import WebStuff from "@/components/Web";
|
||||||
import { useParams } from "next/navigation";
|
import { useParams } from "next/navigation";
|
||||||
import { PostPreview } from "@/lib/posts";
|
import { PostPreview } from "@/lib/posts";
|
||||||
@@ -59,11 +59,25 @@ export default function BlogPost() {
|
|||||||
initial="hidden"
|
initial="hidden"
|
||||||
animate="visible"
|
animate="visible"
|
||||||
>
|
>
|
||||||
<motion.div variants={itemVariants} className="mb-4">
|
<motion.div
|
||||||
|
variants={itemVariants}
|
||||||
|
className="mb-4 w-full flex justify-between items-center"
|
||||||
|
>
|
||||||
<span className="inline-flex items-center gap-2 px-4 py-2 bg-purple-500/10 border border-purple-500/20 rounded-full text-purple-400 text-sm">
|
<span className="inline-flex items-center gap-2 px-4 py-2 bg-purple-500/10 border border-purple-500/20 rounded-full text-purple-400 text-sm">
|
||||||
<Sparkles className="w-4 h-4" />
|
<Sparkles className="w-4 h-4" />
|
||||||
{post.meta.category}
|
{post.meta.category}
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
|
<span
|
||||||
|
className="px-3 py-2 bg-slate-500/10 border border-slate-500/20 rounded-full text-slate-400 transition-colors hover:bg-purple-500/10 hover:border-purple-500/20 hover:text-purple-400 text-sm"
|
||||||
|
onClick={() => {
|
||||||
|
navigator.clipboard.writeText(
|
||||||
|
`https://orus-dev.netlify.app${post.meta.url}`
|
||||||
|
);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<Paperclip className="w-4 h-4" />
|
||||||
|
</span>
|
||||||
</motion.div>
|
</motion.div>
|
||||||
|
|
||||||
<motion.h1
|
<motion.h1
|
||||||
|
|||||||
@@ -117,7 +117,7 @@ export default function Blog() {
|
|||||||
{filteredPosts.map((post, i) => (
|
{filteredPosts.map((post, i) => (
|
||||||
<motion.div
|
<motion.div
|
||||||
key={i}
|
key={i}
|
||||||
className="relative group bg-slate-900/80 backdrop-blur border border-slate-700 rounded-2xl p-6 hover:border-purple-500/50 transition-colors"
|
className="relative group bg-slate-900/40 backdrop-blur border border-slate-700/50 rounded-2xl p-6 hover:border-purple-500/50 transition-colors"
|
||||||
whileHover={{ y: -3, transition: { duration: 0.5 } }}
|
whileHover={{ y: -3, transition: { duration: 0.5 } }}
|
||||||
variants={itemVariants}
|
variants={itemVariants}
|
||||||
initial="hidden"
|
initial="hidden"
|
||||||
@@ -136,8 +136,8 @@ export default function Blog() {
|
|||||||
|
|
||||||
<div className="flex-1 flex flex-col justify-between">
|
<div className="flex-1 flex flex-col justify-between">
|
||||||
<div>
|
<div>
|
||||||
<h3 className="text-2xl font-bold mb-2 group-hover:text-purple-400 transition-colors">
|
<h3 className="text-2xl font-bold mb-2 group-hover:text-purple-400 transition-colors cursor-pointer">
|
||||||
{post.title}
|
<a href={post.url}>{post.title}</a>
|
||||||
</h3>
|
</h3>
|
||||||
<p className="text-slate-300 mb-4 line-clamp-3">
|
<p className="text-slate-300 mb-4 line-clamp-3">
|
||||||
{post.description}
|
{post.description}
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ export default function WebStuff({
|
|||||||
animate={{ opacity: 1 }}
|
animate={{ opacity: 1 }}
|
||||||
transition={{ duration: 0.6, delay: 0.1 }}
|
transition={{ duration: 0.6, delay: 0.1 }}
|
||||||
>
|
>
|
||||||
<img src="orus2.svg" alt="Logo" className="h-4" />
|
<img src="/orus2.svg" alt="Logo" className="h-4" />
|
||||||
</motion.a>
|
</motion.a>
|
||||||
|
|
||||||
{/* Menu */}
|
{/* Menu */}
|
||||||
@@ -128,7 +128,7 @@ export default function WebStuff({
|
|||||||
<footer className="relative z-10 px-6 py-12 border-t border-slate-800/50 mt-20">
|
<footer className="relative z-10 px-6 py-12 border-t border-slate-800/50 mt-20">
|
||||||
<div className="max-w-7xl mx-auto">
|
<div className="max-w-7xl mx-auto">
|
||||||
<div className="flex flex-col md:flex-row justify-between items-center gap-6">
|
<div className="flex flex-col md:flex-row justify-between items-center gap-6">
|
||||||
<img src="orus.svg" alt="Logo" className="h-4" />
|
<img src="/orus.svg" alt="Logo" className="h-4" />
|
||||||
|
|
||||||
<div className="text-slate-400 text-center">
|
<div className="text-slate-400 text-center">
|
||||||
© 2025 ORUS. Open source for everyone. Built with 💜 for
|
© 2025 ORUS. Open source for everyone. Built with 💜 for
|
||||||
|
|||||||
Reference in New Issue
Block a user