EverydayTech Platform - Developer Reference
Complete Source Code Documentation - All Applications
Loading...
Searching...
No Matches
IntegrationCard.jsx
Go to the documentation of this file.
1import React from 'react';
2
3function IntegrationCard({ integration, configured, isActive, onConfigure, onToggle, onDelete }) {
4 return (
5 <div className={`integration-card ${configured ? 'configured' : ''} ${isActive ? 'active' : ''}`}>
6 <div className="integration-header">
7 <div className="integration-logo">
8 <img src={integration.logo} alt={`${integration.name} logo`} />
9 </div>
10 <div className="integration-info">
11 <h3>{integration.name}</h3>
12 <p>{integration.description}</p>
13 </div>
14 {configured && (
15 <div className={`integration-status ${isActive ? 'active' : 'inactive'}`}>
16 {isActive ? '● Active' : '○ Inactive'}
17 </div>
18 )}
19 </div>
20 <div className="integration-actions">
21 {configured ? (
22 <>
23 <button onClick={() => onConfigure(integration)} className="btn-secondary">
24 Configure
25 </button>
26 <button
27 onClick={() => onToggle(configured)}
28 className={isActive ? 'btn-warning' : 'btn-primary'}
29 >
30 {isActive ? 'Deactivate' : 'Activate'}
31 </button>
32 <button onClick={() => onDelete(configured)} className="btn-danger">
33 Delete
34 </button>
35 </>
36 ) : (
37 <button onClick={() => onConfigure(integration)} className="btn-primary">
38 Add Integration
39 </button>
40 )}
41 </div>
42 </div>
43 );
44}
45
46export default IntegrationCard;