@codesinger0/shared-components 1.1.41 → 1.1.42
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import React, { useState, useEffect } from 'react';
|
|
2
|
+
import { Hammer, Sparkles } from 'lucide-react';
|
|
3
|
+
|
|
4
|
+
export default function UnderConstruction() {
|
|
5
|
+
const [dots, setDots] = useState('');
|
|
6
|
+
|
|
7
|
+
useEffect(() => {
|
|
8
|
+
const interval = setInterval(() => {
|
|
9
|
+
setDots(prev => prev.length >= 3 ? '' : prev + '.');
|
|
10
|
+
}, 500);
|
|
11
|
+
return () => clearInterval(interval);
|
|
12
|
+
}, []);
|
|
13
|
+
|
|
14
|
+
return (
|
|
15
|
+
<div className="min-h-screen bg-gradient-to-br from-blue-50 via-white to-purple-50 flex items-center justify-center p-4" dir="rtl">
|
|
16
|
+
<div className="max-w-2xl w-full text-center">
|
|
17
|
+
{/* Animated Icon */}
|
|
18
|
+
<div className="mb-8 flex justify-center">
|
|
19
|
+
<div className="relative">
|
|
20
|
+
<div className="absolute inset-0 bg-blue-400 rounded-full blur-xl opacity-30 animate-pulse"></div>
|
|
21
|
+
<div className="relative bg-white rounded-full p-6 shadow-2xl">
|
|
22
|
+
<Hammer className="w-16 h-16 text-blue-600 animate-bounce" />
|
|
23
|
+
</div>
|
|
24
|
+
</div>
|
|
25
|
+
</div>
|
|
26
|
+
|
|
27
|
+
{/* Main Heading */}
|
|
28
|
+
<h1 className="text-4xl md:text-6xl font-bold text-gray-800 mb-4">
|
|
29
|
+
האתר בבניה
|
|
30
|
+
</h1>
|
|
31
|
+
|
|
32
|
+
{/* Subheading with animated dots */}
|
|
33
|
+
<div className="flex items-center justify-center gap-2 mb-8">
|
|
34
|
+
<Sparkles className="w-5 h-5 text-purple-600" />
|
|
35
|
+
<p className="text-xl md:text-2xl text-gray-600">
|
|
36
|
+
עדכונים בקרוב{dots}
|
|
37
|
+
</p>
|
|
38
|
+
<Sparkles className="w-5 h-5 text-purple-600" />
|
|
39
|
+
</div>
|
|
40
|
+
|
|
41
|
+
{/* Description */}
|
|
42
|
+
<p className="text-lg text-gray-600 mb-12 max-w-lg mx-auto leading-relaxed">
|
|
43
|
+
אנחנו עובדים קשה כדי להביא לכם חוויה מדהימה. תודה על הסבלנות!
|
|
44
|
+
</p>
|
|
45
|
+
|
|
46
|
+
{/* Progress Bar */}
|
|
47
|
+
<div className="max-w-md mx-auto mb-12">
|
|
48
|
+
<div className="h-3 bg-gray-200 rounded-full overflow-hidden">
|
|
49
|
+
<div className="h-full bg-gradient-to-r from-blue-500 to-purple-600 rounded-full animate-pulse" style={{ width: '65%' }}></div>
|
|
50
|
+
</div>
|
|
51
|
+
<p className="text-sm text-gray-500 mt-2">בתהליך פיתוח...</p>
|
|
52
|
+
</div>
|
|
53
|
+
|
|
54
|
+
{/* Social Links or Contact (Optional) */}
|
|
55
|
+
<div className="flex flex-col sm:flex-row gap-4 justify-center items-center">
|
|
56
|
+
<div className="bg-white px-6 py-3 rounded-lg shadow-md border border-gray-200">
|
|
57
|
+
<p className="text-gray-600">
|
|
58
|
+
<span className="font-semibold">נשמח לעדכן אתכם!</span>
|
|
59
|
+
</p>
|
|
60
|
+
</div>
|
|
61
|
+
</div>
|
|
62
|
+
|
|
63
|
+
{/* Decorative Elements */}
|
|
64
|
+
<div className="mt-16 flex justify-center gap-2">
|
|
65
|
+
{[1, 2, 3, 4, 5].map((i) => (
|
|
66
|
+
<div
|
|
67
|
+
key={i}
|
|
68
|
+
className="w-2 h-2 bg-blue-400 rounded-full animate-bounce"
|
|
69
|
+
style={{ animationDelay: `${i * 0.1}s` }}
|
|
70
|
+
></div>
|
|
71
|
+
))}
|
|
72
|
+
</div>
|
|
73
|
+
</div>
|
|
74
|
+
</div>
|
|
75
|
+
);
|
|
76
|
+
}
|
package/dist/index.js
CHANGED
|
@@ -22,6 +22,7 @@ export { default as MyOrdersDisplay } from './components/MyOrdersDisplay'
|
|
|
22
22
|
export { default as AccessibilityMenu } from './components/AccessibilityMenu'
|
|
23
23
|
export { default as FloatingWhatsAppButton } from './components/FloatingWhatsAppButton'
|
|
24
24
|
export { default as FullscreenCarousel } from './components/FullscreenCarousel'
|
|
25
|
+
export { default as UnderConstruction } from './components/UnderConstruction'
|
|
25
26
|
|
|
26
27
|
// Modals
|
|
27
28
|
export { default as ItemDetailsModal } from './components/modals/ItemDetailsModal'
|