-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathCard.jsx
98 lines (88 loc) · 4.09 KB
/
Card.jsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
import React from 'react';
import { UserCircle, Mail, Phone, MapPin, Building2, Globe, Twitter, Linkedin, Download, Calendar } from 'lucide-react';
function App() {
const downloadVCard = () => {
const vCardData = `BEGIN:VCARD
VERSION:2.1
N:Graff;Reed
FN:Reed Graff
TEL;CELL:9727302310
EMAIL;HOME:[email protected]
EMAIL;WORK:[email protected]
ADR;WORK:;;3311 Oak Lawn Avenue #250;Dallas;TX;75219;United States
TITLE:CEO
ORG:Timrep
URL:Timrep.com
BDAY:2004-04-21
NOTE:Twitter: https://x.com/Reed_Graff\nLinkedIn: https://www.linkedin.com/in/reedgraff/
END:VCARD`;
const blob = new Blob([vCardData], { type: 'text/vcard' });
const url = URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = url;
a.download = 'ReedGraff.vcf';
a.click();
URL.revokeObjectURL(url);
};
return (
<div className="relative min-h-screen w-full bg-[#140b29] flex items-center justify-center p-4">
<div className="max-w-2xl w-full bg-gray-900/50 rounded-xl shadow-xl backdrop-blur-sm p-8 transform transition-all hover:scale-102">
<div className="text-center mb-8">
<h1 className="text-3xl font-bold text-white mb-2">
<a href="https://reedgraff.com" className="hover:text-blue-400 transition-colors">Reed Graff</a>
</h1>
<p className="text-gray-400">CEO & Founder at Timrep</p>
</div>
<div className="grid grid-cols-1 md:grid-cols-2 gap-6 text-white">
<div className="space-y-4">
<div className="flex items-center space-x-3 group">
<Calendar className="w-5 h-5 text-blue-400" />
<span className="text-gray-300 group-hover:text-white transition-colors">April 21, 2004</span>
</div>
<div className="flex items-center space-x-3 group">
<Mail className="w-5 h-5 text-blue-400" />
<div className="flex flex-col">
<a href="mailto:[email protected]" className="text-gray-300 hover:text-white transition-colors">[email protected]</a>
<a href="mailto:[email protected]" className="text-gray-300 hover:text-white transition-colors">[email protected]</a>
</div>
</div>
<div className="flex items-center space-x-3 group">
<Phone className="w-5 h-5 text-blue-400" />
<a href="tel:9727302310" className="text-gray-300 hover:text-white transition-colors">972-730-2310</a>
</div>
</div>
<div className="space-y-4">
<div className="flex items-center space-x-3 group">
<MapPin className="w-5 h-5 text-blue-400" />
<span className="text-gray-300 group-hover:text-white transition-colors">3311 Oak Lawn Avenue #250, Dallas, TX, 75219</span>
</div>
<div className="flex items-center space-x-3 group">
<Globe className="w-5 h-5 text-blue-400" />
<a href="https://Timrep.com" className="text-gray-300 hover:text-white transition-colors">Timrep.com</a>
</div>
<div className="flex items-center space-x-6">
<a href="https://x.com/Reed_Graff" className="text-gray-300 hover:text-white transition-colors flex items-center space-x-2">
<Twitter className="w-5 h-5 text-blue-400" />
<span>Twitter</span>
</a>
<a href="https://www.linkedin.com/in/reedgraff/" className="text-gray-300 hover:text-white transition-colors flex items-center space-x-2">
<Linkedin className="w-5 h-5 text-blue-400" />
<span>LinkedIn</span>
</a>
</div>
</div>
</div>
<div className="mt-8 flex justify-center">
<button
onClick={downloadVCard}
className="flex items-center space-x-2 px-6 py-3 bg-blue-600 hover:bg-blue-700 text-white rounded-lg transition-colors duration-200 transform hover:scale-105"
>
<Download className="w-5 h-5" />
<span>Download Contact</span>
</button>
</div>
</div>
</div>
);
}
export default App;