ai-helpdesk-api / Frontend /src /user /components /QuickActions.jsx
ritesh19180's picture
Upload folder using huggingface_hub
d3ec6da verified
Raw
History Blame Contribute Delete
3.2 kB
import React, { useState } from 'react';
import { useNavigate } from 'react-router-dom';
import { Network, Laptop, ShieldCheck, ArrowRight } from 'lucide-react';
const actions = [
{
title: "Network Issues",
description: "Connectivity problems, VPN access, and slow internet.",
category: "Network",
icon: Network,
iconBg: '#EDFAF3',
iconColor: '#16a34a',
},
{
title: "Software Problems",
description: "Application crashes, license issues, and installations.",
category: "Software",
icon: Laptop,
iconBg: '#EEF2FF',
iconColor: '#4f46e5',
},
{
title: "Access Requests",
description: "Permission changes, new account setup, and MFA.",
category: "Access",
icon: ShieldCheck,
iconBg: '#F5F0FF',
iconColor: '#7c3aed',
}
];
const QuickActions = () => {
const navigate = useNavigate();
const [hoveredIdx, setHoveredIdx] = useState(null);
const handleActionClick = (category) => {
navigate('/create-ticket', { state: { prefilledCategory: category } });
};
return (
<div style={{ display: 'grid', gridTemplateColumns: 'repeat(auto-fit, minmax(280px, 1fr))', gap: '24px' }}>
{actions.map((action, index) => (
<div
key={index}
onClick={() => handleActionClick(action.category)}
onMouseEnter={() => setHoveredIdx(index)}
onMouseLeave={() => setHoveredIdx(null)}
style={{
background: '#fff',
borderRadius: '20px',
border: `1px solid ${hoveredIdx === index ? '#86efac' : '#e7f5ee'}`,
boxShadow: hoveredIdx === index ? '0 12px 32px rgba(0,0,0,0.1)' : '0 2px 12px rgba(0,0,0,0.05)',
padding: '28px',
cursor: 'pointer',
transition: 'all 0.3s ease',
transform: hoveredIdx === index ? 'translateY(-6px)' : 'translateY(0)',
}}
>
<div style={{
width: '48px', height: '48px', borderRadius: '14px', padding: '12px',
background: action.iconBg, display: 'flex', alignItems: 'center',
justifyContent: 'center', marginBottom: '16px', color: action.iconColor,
}}>
<action.icon size={24} />
</div>
<h3 style={{ fontSize: '17px', fontWeight: 600, color: '#111827', marginBottom: '8px' }}>{action.title}</h3>
<p style={{ fontSize: '14px', color: '#6b7280', lineHeight: 1.6, marginBottom: '20px' }}>
{action.description}
</p>
<div style={{ display: 'flex', alignItems: 'center', gap: '6px', color: '#16a34a', fontWeight: 600, fontSize: '13px' }}>
Start Request →
</div>
</div>
))}
</div>
);
};
export default QuickActions;