Merge pull request #2 from yusuf-intern/main
Clean up UI components, remove unnecessary libs, improve navigation &…
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
import { Toaster } from "@/components/ui/toaster";
|
import { Toaster } from "@/components/ui/toaster";
|
||||||
|
import ScrollToTop from './components/ScrollToTop';
|
||||||
import { Toaster as Sonner } from "@/components/ui/sonner";
|
import { Toaster as Sonner } from "@/components/ui/sonner";
|
||||||
import { TooltipProvider } from "@/components/ui/tooltip";
|
import { TooltipProvider } from "@/components/ui/tooltip";
|
||||||
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
|
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
|
||||||
@@ -23,6 +24,7 @@ const App = () => (
|
|||||||
<Toaster />
|
<Toaster />
|
||||||
<Sonner />
|
<Sonner />
|
||||||
<BrowserRouter>
|
<BrowserRouter>
|
||||||
|
<ScrollToTop /> {/* component added to scroll to top of page */}
|
||||||
<Routes>
|
<Routes>
|
||||||
<Route path="/" element={<Index />} />
|
<Route path="/" element={<Index />} />
|
||||||
<Route path="/about" element={<About />} />
|
<Route path="/about" element={<About />} />
|
||||||
|
|||||||
@@ -121,12 +121,12 @@ const Footer = () => {
|
|||||||
info@openxpert.com
|
info@openxpert.com
|
||||||
</span>
|
</span>
|
||||||
</li>
|
</li>
|
||||||
<li className="flex items-start gap-2">
|
{/* <li className="flex items-start gap-2">
|
||||||
<Phone className="w-4 h-4 text-primary mt-0.5" />
|
<Phone className="w-4 h-4 text-primary mt-0.5" />
|
||||||
<span className="text-sm text-muted-foreground">
|
<span className="text-sm text-muted-foreground">
|
||||||
+971 XXX XXXX
|
+971 XXX XXXX
|
||||||
</span>
|
</span>
|
||||||
</li>
|
</li> */}
|
||||||
<li className="flex items-start gap-2">
|
<li className="flex items-start gap-2">
|
||||||
<MapPin className="w-4 h-4 text-primary mt-0.5" />
|
<MapPin className="w-4 h-4 text-primary mt-0.5" />
|
||||||
<span className="text-sm text-muted-foreground">
|
<span className="text-sm text-muted-foreground">
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ const Navigation = () => {
|
|||||||
</button>
|
</button>
|
||||||
|
|
||||||
{isServicesOpen && (
|
{isServicesOpen && (
|
||||||
<div className="absolute top-full left-0 mt-2 w-64 glass-strong rounded-2xl overflow-hidden shadow-lg animate-slide-in-up">
|
<div className="absolute top-full left-0 mt-0 w-64 glass-strong rounded-2xl overflow-hidden shadow-lg animate-slide-in-up"> {/*changed mt-2 to mt-0 to remove gap triggering leave*/}
|
||||||
{services.map((service) => (
|
{services.map((service) => (
|
||||||
<Link
|
<Link
|
||||||
key={service.path}
|
key={service.path}
|
||||||
|
|||||||
@@ -46,10 +46,14 @@ export const ParticleField = () => {
|
|||||||
const drawParticles = () => {
|
const drawParticles = () => {
|
||||||
ctx.clearRect(0, 0, canvas.width, canvas.height);
|
ctx.clearRect(0, 0, canvas.width, canvas.height);
|
||||||
|
|
||||||
|
const particleColor = getComputedStyle(document.documentElement) //added particle colour
|
||||||
|
.getPropertyValue('--particle')
|
||||||
|
.trim();
|
||||||
|
|
||||||
particles.forEach((particle) => {
|
particles.forEach((particle) => {
|
||||||
ctx.beginPath();
|
ctx.beginPath();
|
||||||
ctx.arc(particle.x, particle.y, particle.size, 0, Math.PI * 2);
|
ctx.arc(particle.x, particle.y, particle.size, 0, Math.PI * 2);
|
||||||
ctx.fillStyle = `hsla(205, 100%, 88%, ${particle.opacity})`;
|
ctx.fillStyle = `hsl(${particleColor} / ${particle.opacity})`;
|
||||||
ctx.fill();
|
ctx.fill();
|
||||||
|
|
||||||
// Update position
|
// Update position
|
||||||
|
|||||||
12
src/components/ScrollToTop.tsx
Normal file
12
src/components/ScrollToTop.tsx
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
import { useEffect } from 'react';
|
||||||
|
import { useLocation } from 'react-router-dom';
|
||||||
|
//component added to scroll to top of page
|
||||||
|
export default function ScrollToTop() {
|
||||||
|
const { pathname } = useLocation();
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
window.scrollTo(0, 0);
|
||||||
|
}, [pathname]);
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
@@ -9,7 +9,7 @@ const buttonVariants = cva(
|
|||||||
{
|
{
|
||||||
variants: {
|
variants: {
|
||||||
variant: {
|
variant: {
|
||||||
default: "bg-primary text-primary-foreground hover:bg-primary/90",
|
default: "bg-primary text-foreground hover:bg-primary/90", //changed text-primary-foreground to text-foreground
|
||||||
destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90",
|
destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90",
|
||||||
outline: "border border-input bg-background hover:bg-accent hover:text-accent-foreground",
|
outline: "border border-input bg-background hover:bg-accent hover:text-accent-foreground",
|
||||||
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
||||||
|
|||||||
@@ -64,6 +64,8 @@ All colors MUST be HSL.
|
|||||||
--sidebar-accent-foreground: 240 5.9% 10%;
|
--sidebar-accent-foreground: 240 5.9% 10%;
|
||||||
--sidebar-border: 220 13% 91%;
|
--sidebar-border: 220 13% 91%;
|
||||||
--sidebar-ring: 217.2 91.2% 59.8%;
|
--sidebar-ring: 217.2 91.2% 59.8%;
|
||||||
|
|
||||||
|
--particle: 210 100% 18%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dark {
|
.dark {
|
||||||
@@ -114,6 +116,8 @@ All colors MUST be HSL.
|
|||||||
--sidebar-accent-foreground: 240 4.8% 95.9%;
|
--sidebar-accent-foreground: 240 4.8% 95.9%;
|
||||||
--sidebar-border: 240 3.7% 15.9%;
|
--sidebar-border: 240 3.7% 15.9%;
|
||||||
--sidebar-ring: 217.2 91.2% 59.8%;
|
--sidebar-ring: 217.2 91.2% 59.8%;
|
||||||
|
|
||||||
|
--particle: 210 100% 88%; /* added particle colour */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -52,12 +52,12 @@ const Contact = () => {
|
|||||||
<Input type="email" placeholder="john@example.com" className="glass-card" />
|
<Input type="email" placeholder="john@example.com" className="glass-card" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div>
|
{/* <div>
|
||||||
<label className="text-sm font-medium text-foreground mb-2 block">
|
<label className="text-sm font-medium text-foreground mb-2 block">
|
||||||
Phone
|
Phone
|
||||||
</label>
|
</label>
|
||||||
<Input type="tel" placeholder="+971 XXX XXXX" className="glass-card" />
|
<Input type="tel" placeholder="+971 XXX XXXX" className="glass-card" />
|
||||||
</div>
|
</div> */}
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<label className="text-sm font-medium text-foreground mb-2 block">
|
<label className="text-sm font-medium text-foreground mb-2 block">
|
||||||
@@ -92,7 +92,7 @@ const Contact = () => {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="flex items-start gap-4">
|
{/* <div className="flex items-start gap-4">
|
||||||
<div className="w-12 h-12 rounded-2xl bg-gradient-to-br from-primary/10 to-accent/20 flex items-center justify-center flex-shrink-0">
|
<div className="w-12 h-12 rounded-2xl bg-gradient-to-br from-primary/10 to-accent/20 flex items-center justify-center flex-shrink-0">
|
||||||
<Phone className="w-5 h-5 text-primary" />
|
<Phone className="w-5 h-5 text-primary" />
|
||||||
</div>
|
</div>
|
||||||
@@ -101,7 +101,7 @@ const Contact = () => {
|
|||||||
<p className="text-muted-foreground">+971 XXX XXXX</p>
|
<p className="text-muted-foreground">+971 XXX XXXX</p>
|
||||||
<p className="text-muted-foreground">+971 XXX XXXX</p>
|
<p className="text-muted-foreground">+971 XXX XXXX</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div> */}
|
||||||
|
|
||||||
<div className="flex items-start gap-4">
|
<div className="flex items-start gap-4">
|
||||||
<div className="w-12 h-12 rounded-2xl bg-gradient-to-br from-primary/10 to-accent/20 flex items-center justify-center flex-shrink-0">
|
<div className="w-12 h-12 rounded-2xl bg-gradient-to-br from-primary/10 to-accent/20 flex items-center justify-center flex-shrink-0">
|
||||||
|
|||||||
@@ -62,13 +62,13 @@ const Index = () => {
|
|||||||
{/* Hero Section */}
|
{/* Hero Section */}
|
||||||
<header className="text-center mb-32 animate-slide-in-up relative">
|
<header className="text-center mb-32 animate-slide-in-up relative">
|
||||||
{/* Floating sparkle effects */}
|
{/* Floating sparkle effects */}
|
||||||
<Sparkles className="absolute top-0 left-1/4 w-8 h-8 text-primary/30 animate-glow-pulse" style={{
|
<Sparkles className="absolute top-0 left-1/4 w-8 h-8 text-primary/30 " style={{
|
||||||
animationDelay: "0s"
|
animationDelay: "0s"
|
||||||
}} />
|
}} />
|
||||||
<Sparkles className="absolute top-10 right-1/3 w-6 h-6 text-accent/40 animate-glow-pulse" style={{
|
<Sparkles className="absolute top-10 right-1/3 w-6 h-6 text-accent/40 " style={{
|
||||||
animationDelay: "1s"
|
animationDelay: "1s"
|
||||||
}} />
|
}} />
|
||||||
<Sparkles className="absolute bottom-10 left-1/3 w-7 h-7 text-primary/20 animate-glow-pulse" style={{
|
<Sparkles className="absolute bottom-10 left-1/3 w-7 h-7 text-primary/20 " style={{
|
||||||
animationDelay: "2s"
|
animationDelay: "2s"
|
||||||
}} />
|
}} />
|
||||||
|
|
||||||
@@ -78,7 +78,7 @@ const Index = () => {
|
|||||||
|
|
||||||
<h1 className="text-6xl md:text-7xl lg:text-8xl font-bold text-foreground mb-8 tracking-tight leading-none">
|
<h1 className="text-6xl md:text-7xl lg:text-8xl font-bold text-foreground mb-8 tracking-tight leading-none">
|
||||||
Precision. Innovation.
|
Precision. Innovation.
|
||||||
<span className="block mt-3 bg-gradient-to-r from-primary via-primary/80 to-accent bg-clip-text text-transparent animate-glow-pulse">
|
<span className="block mt-3 bg-gradient-to-r from-primary via-primary/80 to-accent bg-clip-text text-transparent "> {/*removed css animate-glow-pulse*/}
|
||||||
Open Solutions.
|
Open Solutions.
|
||||||
</span>
|
</span>
|
||||||
</h1>
|
</h1>
|
||||||
|
|||||||
@@ -79,9 +79,9 @@ const Portfolio = () => {
|
|||||||
<div className="absolute inset-0 bg-gradient-to-t from-background/80 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-300" />
|
<div className="absolute inset-0 bg-gradient-to-t from-background/80 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-300" />
|
||||||
|
|
||||||
{/* Hover Icon */}
|
{/* Hover Icon */}
|
||||||
<div className="absolute top-4 right-4 w-10 h-10 rounded-full glass-strong flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity duration-300">
|
{/* <div className="absolute top-4 right-4 w-10 h-10 rounded-full glass-strong flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity duration-300">
|
||||||
<ExternalLink className="w-5 h-5 text-primary" />
|
<ExternalLink className="w-5 h-5 text-primary" />
|
||||||
</div>
|
</div> */}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Content */}
|
{/* Content */}
|
||||||
|
|||||||
@@ -168,7 +168,7 @@ const AmcSupport = () => {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Animated Support Visual */}
|
{/* Animated Support Visual */}
|
||||||
<div className="glass-strong rounded-3xl p-8 max-w-5xl mx-auto mb-20 animate-slide-in-up" style={{ animationDelay: "200ms" }}>
|
{/* <div className="glass-strong rounded-3xl p-8 max-w-5xl mx-auto mb-20 animate-slide-in-up" style={{ animationDelay: "200ms" }}>
|
||||||
<div className="aspect-video glass-card rounded-2xl flex items-center justify-center relative overflow-hidden">
|
<div className="aspect-video glass-card rounded-2xl flex items-center justify-center relative overflow-hidden">
|
||||||
<div className="relative">
|
<div className="relative">
|
||||||
<HeadphonesIcon className="w-24 h-24 text-primary/30 animate-glow-pulse" />
|
<HeadphonesIcon className="w-24 h-24 text-primary/30 animate-glow-pulse" />
|
||||||
@@ -192,7 +192,7 @@ const AmcSupport = () => {
|
|||||||
</div>
|
</div>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div> */}
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
{/* Features Grid */}
|
{/* Features Grid */}
|
||||||
@@ -290,7 +290,7 @@ const AmcSupport = () => {
|
|||||||
</section>
|
</section>
|
||||||
|
|
||||||
{/* Pricing Tiers */}
|
{/* Pricing Tiers */}
|
||||||
<section className="container mx-auto px-6 py-20">
|
{/* <section className="container mx-auto px-6 py-20">
|
||||||
<h2 className="text-4xl font-bold text-center text-foreground mb-4">
|
<h2 className="text-4xl font-bold text-center text-foreground mb-4">
|
||||||
Choose Your Support Plan
|
Choose Your Support Plan
|
||||||
</h2>
|
</h2>
|
||||||
@@ -338,10 +338,10 @@ const AmcSupport = () => {
|
|||||||
</Card>
|
</Card>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section> */}
|
||||||
|
|
||||||
{/* Testimonials */}
|
{/* Testimonials */}
|
||||||
<section className="container mx-auto px-6 py-20">
|
{/* <section className="container mx-auto px-6 py-20">
|
||||||
<h2 className="text-4xl font-bold text-center text-foreground mb-16">
|
<h2 className="text-4xl font-bold text-center text-foreground mb-16">
|
||||||
What Our Clients Say
|
What Our Clients Say
|
||||||
</h2>
|
</h2>
|
||||||
@@ -365,7 +365,7 @@ const AmcSupport = () => {
|
|||||||
</Card>
|
</Card>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section> */}
|
||||||
|
|
||||||
{/* CTA Section */}
|
{/* CTA Section */}
|
||||||
<section className="container mx-auto px-6 py-20">
|
<section className="container mx-auto px-6 py-20">
|
||||||
|
|||||||
@@ -125,7 +125,7 @@ const ECommerce = () => {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Animated Store Preview */}
|
{/* Animated Store Preview */}
|
||||||
<div className="glass-strong rounded-3xl p-8 max-w-5xl mx-auto mb-20 animate-slide-in-up" style={{ animationDelay: "200ms" }}>
|
{/*<div className="glass-strong rounded-3xl p-8 max-w-5xl mx-auto mb-20 animate-slide-in-up" style={{ animationDelay: "200ms" }}>
|
||||||
<div className="aspect-video glass-card rounded-2xl flex items-center justify-center relative overflow-hidden">
|
<div className="aspect-video glass-card rounded-2xl flex items-center justify-center relative overflow-hidden">
|
||||||
<ShoppingCart className="w-24 h-24 text-primary/30 animate-glow-pulse" />
|
<ShoppingCart className="w-24 h-24 text-primary/30 animate-glow-pulse" />
|
||||||
<div className="absolute top-4 right-4">
|
<div className="absolute top-4 right-4">
|
||||||
@@ -147,7 +147,7 @@ const ECommerce = () => {
|
|||||||
</div>
|
</div>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>*/}
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
{/* Features Grid */}
|
{/* Features Grid */}
|
||||||
@@ -180,7 +180,7 @@ const ECommerce = () => {
|
|||||||
</section>
|
</section>
|
||||||
|
|
||||||
{/* Theme Playground */}
|
{/* Theme Playground */}
|
||||||
<section className="container mx-auto px-6 py-20">
|
{/* <section className="container mx-auto px-6 py-20">
|
||||||
<div className="glass-strong rounded-3xl p-8 md:p-12 max-w-5xl mx-auto">
|
<div className="glass-strong rounded-3xl p-8 md:p-12 max-w-5xl mx-auto">
|
||||||
<h2 className="text-3xl md:text-4xl font-bold text-foreground mb-4 text-center">
|
<h2 className="text-3xl md:text-4xl font-bold text-foreground mb-4 text-center">
|
||||||
Live Theme Customizer
|
Live Theme Customizer
|
||||||
@@ -213,7 +213,7 @@ const ECommerce = () => {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section> */}
|
||||||
|
|
||||||
{/* Conversion Features */}
|
{/* Conversion Features */}
|
||||||
<section className="container mx-auto px-6 py-20">
|
<section className="container mx-auto px-6 py-20">
|
||||||
@@ -242,7 +242,7 @@ const ECommerce = () => {
|
|||||||
</section>
|
</section>
|
||||||
|
|
||||||
{/* Pricing Packages */}
|
{/* Pricing Packages */}
|
||||||
<section className="container mx-auto px-6 py-20">
|
{/* <section className="container mx-auto px-6 py-20">
|
||||||
<h2 className="text-4xl font-bold text-center text-foreground mb-4">
|
<h2 className="text-4xl font-bold text-center text-foreground mb-4">
|
||||||
Choose Your Package
|
Choose Your Package
|
||||||
</h2>
|
</h2>
|
||||||
@@ -279,7 +279,7 @@ const ECommerce = () => {
|
|||||||
</Card>
|
</Card>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section> */}
|
||||||
|
|
||||||
{/* CTA Section */}
|
{/* CTA Section */}
|
||||||
<section className="container mx-auto px-6 py-20">
|
<section className="container mx-auto px-6 py-20">
|
||||||
|
|||||||
@@ -104,7 +104,7 @@ const ErpSystems = () => {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Animated Dashboard Preview */}
|
{/* Animated Dashboard Preview */}
|
||||||
<div className="glass-strong rounded-3xl p-8 max-w-5xl mx-auto mb-20 animate-slide-in-up" style={{ animationDelay: "200ms" }}>
|
{/*<div className="glass-strong rounded-3xl p-8 max-w-5xl mx-auto mb-20 animate-slide-in-up" style={{ animationDelay: "200ms" }}>
|
||||||
<div className="grid grid-cols-2 md:grid-cols-4 gap-4 mb-6">
|
<div className="grid grid-cols-2 md:grid-cols-4 gap-4 mb-6">
|
||||||
{[
|
{[
|
||||||
{ label: "Revenue", value: "$2.4M", trend: "+12%" },
|
{ label: "Revenue", value: "$2.4M", trend: "+12%" },
|
||||||
@@ -122,7 +122,7 @@ const ErpSystems = () => {
|
|||||||
<div className="h-48 glass-card rounded-2xl flex items-center justify-center">
|
<div className="h-48 glass-card rounded-2xl flex items-center justify-center">
|
||||||
<BarChart3 className="w-16 h-16 text-primary/30 animate-glow-pulse" />
|
<BarChart3 className="w-16 h-16 text-primary/30 animate-glow-pulse" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>*/}
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
{/* Modules Section */}
|
{/* Modules Section */}
|
||||||
@@ -155,7 +155,7 @@ const ErpSystems = () => {
|
|||||||
</section>
|
</section>
|
||||||
|
|
||||||
{/* ROI Calculator */}
|
{/* ROI Calculator */}
|
||||||
<section className="container mx-auto px-6 py-20">
|
{/* <section className="container mx-auto px-6 py-20">
|
||||||
<div className="glass-strong rounded-3xl p-8 md:p-12 max-w-5xl mx-auto">
|
<div className="glass-strong rounded-3xl p-8 md:p-12 max-w-5xl mx-auto">
|
||||||
<h2 className="text-3xl md:text-4xl font-bold text-foreground mb-4 text-center">
|
<h2 className="text-3xl md:text-4xl font-bold text-foreground mb-4 text-center">
|
||||||
Calculate Your ROI
|
Calculate Your ROI
|
||||||
@@ -218,7 +218,7 @@ const ErpSystems = () => {
|
|||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>*/}
|
||||||
|
|
||||||
{/* Features Comparison */}
|
{/* Features Comparison */}
|
||||||
<section className="container mx-auto px-6 py-20">
|
<section className="container mx-auto px-6 py-20">
|
||||||
|
|||||||
@@ -126,7 +126,7 @@ const RmmServices = () => {
|
|||||||
<Navigation />
|
<Navigation />
|
||||||
|
|
||||||
{/* Hero Section */}
|
{/* Hero Section */}
|
||||||
<section className="relative container mx-auto px-6 pt-32 pb-20">
|
{/* <section className="relative container mx-auto px-6 pt-32 pb-20">
|
||||||
<div className="text-center mb-16 animate-slide-in-up">
|
<div className="text-center mb-16 animate-slide-in-up">
|
||||||
<h1 className="text-5xl md:text-6xl font-bold text-foreground mb-6">
|
<h1 className="text-5xl md:text-6xl font-bold text-foreground mb-6">
|
||||||
RMM Services
|
RMM Services
|
||||||
@@ -139,7 +139,7 @@ const RmmServices = () => {
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Animated Network Map */}
|
|
||||||
<div className="glass-strong rounded-3xl p-8 max-w-5xl mx-auto mb-20 animate-slide-in-up" style={{ animationDelay: "200ms" }}>
|
<div className="glass-strong rounded-3xl p-8 max-w-5xl mx-auto mb-20 animate-slide-in-up" style={{ animationDelay: "200ms" }}>
|
||||||
<div className="aspect-video glass-card rounded-2xl flex items-center justify-center relative overflow-hidden">
|
<div className="aspect-video glass-card rounded-2xl flex items-center justify-center relative overflow-hidden">
|
||||||
<div className="relative">
|
<div className="relative">
|
||||||
@@ -168,7 +168,7 @@ const RmmServices = () => {
|
|||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section> */}
|
||||||
|
|
||||||
{/* Features Grid */}
|
{/* Features Grid */}
|
||||||
<section className="container mx-auto px-6 py-20">
|
<section className="container mx-auto px-6 py-20">
|
||||||
@@ -200,7 +200,7 @@ const RmmServices = () => {
|
|||||||
</section>
|
</section>
|
||||||
|
|
||||||
{/* Live Status Simulation */}
|
{/* Live Status Simulation */}
|
||||||
<section className="container mx-auto px-6 py-20">
|
{/* <section className="container mx-auto px-6 py-20">
|
||||||
<div className="glass-strong rounded-3xl p-8 md:p-12 max-w-5xl mx-auto">
|
<div className="glass-strong rounded-3xl p-8 md:p-12 max-w-5xl mx-auto">
|
||||||
<h2 className="text-3xl md:text-4xl font-bold text-foreground mb-4 text-center">
|
<h2 className="text-3xl md:text-4xl font-bold text-foreground mb-4 text-center">
|
||||||
Live Dashboard Preview
|
Live Dashboard Preview
|
||||||
@@ -245,7 +245,7 @@ const RmmServices = () => {
|
|||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section> */}
|
||||||
|
|
||||||
{/* Benefits Stats */}
|
{/* Benefits Stats */}
|
||||||
<section className="container mx-auto px-6 py-20">
|
<section className="container mx-auto px-6 py-20">
|
||||||
@@ -270,7 +270,7 @@ const RmmServices = () => {
|
|||||||
</section>
|
</section>
|
||||||
|
|
||||||
{/* Pricing Tiers */}
|
{/* Pricing Tiers */}
|
||||||
<section className="container mx-auto px-6 py-20">
|
{/* <section className="container mx-auto px-6 py-20">
|
||||||
<h2 className="text-4xl font-bold text-center text-foreground mb-4">
|
<h2 className="text-4xl font-bold text-center text-foreground mb-4">
|
||||||
Choose Your Monitoring Plan
|
Choose Your Monitoring Plan
|
||||||
</h2>
|
</h2>
|
||||||
@@ -308,7 +308,7 @@ const RmmServices = () => {
|
|||||||
</Card>
|
</Card>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section> */}
|
||||||
|
|
||||||
{/* CTA Section */}
|
{/* CTA Section */}
|
||||||
<section className="container mx-auto px-6 py-20">
|
<section className="container mx-auto px-6 py-20">
|
||||||
|
|||||||
Reference in New Issue
Block a user