@appcorp/shadcn 1.0.29 → 1.0.32
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,82 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
"use strict";
|
|
3
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
+
}
|
|
9
|
+
Object.defineProperty(o, k2, desc);
|
|
10
|
+
}) : (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
o[k2] = m[k];
|
|
13
|
+
}));
|
|
14
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
+
}) : function(o, v) {
|
|
17
|
+
o["default"] = v;
|
|
18
|
+
});
|
|
19
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
20
|
+
var ownKeys = function(o) {
|
|
21
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
22
|
+
var ar = [];
|
|
23
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
24
|
+
return ar;
|
|
25
|
+
};
|
|
26
|
+
return ownKeys(o);
|
|
27
|
+
};
|
|
28
|
+
return function (mod) {
|
|
29
|
+
if (mod && mod.__esModule) return mod;
|
|
30
|
+
var result = {};
|
|
31
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
32
|
+
__setModuleDefault(result, mod);
|
|
33
|
+
return result;
|
|
34
|
+
};
|
|
35
|
+
})();
|
|
36
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
+
exports.Countdown = void 0;
|
|
38
|
+
var react_1 = __importStar(require("react"));
|
|
39
|
+
var calculateTimeLeft = function (targetDate) {
|
|
40
|
+
var difference = +targetDate - +new Date();
|
|
41
|
+
var timeLeft = {
|
|
42
|
+
days: 0,
|
|
43
|
+
hours: 0,
|
|
44
|
+
minutes: 0,
|
|
45
|
+
seconds: 0,
|
|
46
|
+
};
|
|
47
|
+
if (difference > 0) {
|
|
48
|
+
timeLeft = {
|
|
49
|
+
days: Math.floor(difference / (1000 * 60 * 60 * 24)),
|
|
50
|
+
hours: Math.floor((difference / (1000 * 60 * 60)) % 24),
|
|
51
|
+
minutes: Math.floor((difference / 1000 / 60) % 60),
|
|
52
|
+
seconds: Math.floor((difference / 1000) % 60),
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
return timeLeft;
|
|
56
|
+
};
|
|
57
|
+
var Countdown = function () {
|
|
58
|
+
// Initialize targetDate only once using useState's functional update
|
|
59
|
+
var targetDate = (0, react_1.useState)(function () {
|
|
60
|
+
var date = new Date();
|
|
61
|
+
date.setDate(date.getDate() + 30); // Set to 30 days from the initial render time
|
|
62
|
+
return date;
|
|
63
|
+
})[0];
|
|
64
|
+
var _a = (0, react_1.useState)(calculateTimeLeft(targetDate)), timeLeft = _a[0], setTimeLeft = _a[1];
|
|
65
|
+
(0, react_1.useEffect)(function () {
|
|
66
|
+
// Use setInterval for continuous updates
|
|
67
|
+
var timer = setInterval(function () {
|
|
68
|
+
setTimeLeft(calculateTimeLeft(targetDate));
|
|
69
|
+
}, 1000); // Update every second
|
|
70
|
+
// Clean up the interval when the component unmounts or targetDate changes (though targetDate is stable here)
|
|
71
|
+
return function () { return clearInterval(timer); };
|
|
72
|
+
}, [targetDate]); // Dependency array ensures effect runs only if targetDate changes (which it won't after initial render)
|
|
73
|
+
var timerComponents = [];
|
|
74
|
+
Object.keys(timeLeft).forEach(function (interval) {
|
|
75
|
+
var value = timeLeft[interval];
|
|
76
|
+
timerComponents.push(react_1.default.createElement("div", { key: interval, className: "flex flex-col items-center" },
|
|
77
|
+
react_1.default.createElement("span", { className: "text-5xl font-bold" }, value < 10 ? "0".concat(value) : value),
|
|
78
|
+
react_1.default.createElement("span", { className: "text-sm uppercase opacity-80" }, interval)));
|
|
79
|
+
});
|
|
80
|
+
return (react_1.default.createElement("div", { className: "flex justify-center gap-6 md:gap-8" }, timerComponents.length ? timerComponents : react_1.default.createElement("span", null, "Time up!")));
|
|
81
|
+
};
|
|
82
|
+
exports.Countdown = Countdown;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ComingSoon = void 0;
|
|
7
|
+
var link_1 = __importDefault(require("next/link"));
|
|
8
|
+
var lucide_react_1 = require("lucide-react");
|
|
9
|
+
var input_1 = require("../../input");
|
|
10
|
+
var button_1 = require("../../button");
|
|
11
|
+
var countdown_1 = require("./countdown");
|
|
12
|
+
// import { Logo } from "@/components/logo";
|
|
13
|
+
var image_1 = __importDefault(require("next/image"));
|
|
14
|
+
var react_1 = __importDefault(require("react"));
|
|
15
|
+
var ComingSoon = function (_a) {
|
|
16
|
+
var backgroundImage = _a.backgroundImage, footerLinks = _a.footerLinks, logo = _a.logo;
|
|
17
|
+
console.log("Background Image:", backgroundImage);
|
|
18
|
+
return (react_1.default.createElement("div", { className: "grid min-h-screen lg:grid-cols-2" },
|
|
19
|
+
react_1.default.createElement("div", { className: "posi relative flex flex-1 flex-col items-center justify-between bg-top p-8 lg:p-12", style: {
|
|
20
|
+
background: "url(".concat(backgroundImage, ")"),
|
|
21
|
+
backgroundSize: "cover",
|
|
22
|
+
backgroundRepeat: "no-repeat",
|
|
23
|
+
} },
|
|
24
|
+
react_1.default.createElement("div", { className: "z-10 flex w-full items-center justify-start" },
|
|
25
|
+
react_1.default.createElement("div", { className: "flex items-center gap-2" },
|
|
26
|
+
react_1.default.createElement(image_1.default, { src: logo, width: 30, height: 30, alt: "logo" }))),
|
|
27
|
+
react_1.default.createElement("nav", { className: "relative z-10 mt-8 flex w-full justify-center gap-6 text-gray-600 lg:justify-start" }, footerLinks.slice(0, 4).map(function (link) { return (react_1.default.createElement(link_1.default, { key: link.label, href: link.href, className: "text-black hover:underline" }, link.label)); }))),
|
|
28
|
+
react_1.default.createElement("div", { className: "relative flex flex-1 flex-col items-center justify-center bg-gradient-to-br p-8 lg:p-12" },
|
|
29
|
+
react_1.default.createElement("div", { className: "flex w-full items-center justify-end" },
|
|
30
|
+
react_1.default.createElement(lucide_react_1.Share2, { className: "h-6 w-6 cursor-pointer opacity-80 hover:opacity-100" })),
|
|
31
|
+
react_1.default.createElement("div", { className: "flex flex-col items-center space-y-20 text-center" },
|
|
32
|
+
react_1.default.createElement("div", { className: "relative z-10 flex flex-col items-center space-y-2 text-center" },
|
|
33
|
+
react_1.default.createElement("h1", { className: "text-4xl font-bold text-[#6a5acd] lg:text-5xl" }, "Coming Soon"),
|
|
34
|
+
react_1.default.createElement("p", { className: "text-muted-foreground lg:text-lg" }, "Stay Connected, Stay Updated!")),
|
|
35
|
+
react_1.default.createElement(countdown_1.Countdown, null),
|
|
36
|
+
react_1.default.createElement("div", { className: "space-y-6" },
|
|
37
|
+
react_1.default.createElement("h2", { className: "text-xl font-semibold md:text-2xl" }, "Get Updates!"),
|
|
38
|
+
react_1.default.createElement("form", { className: "flex w-full max-w-sm rounded-full border p-1" },
|
|
39
|
+
react_1.default.createElement(input_1.Input, { type: "email", placeholder: "Email Address", className: "flex-1 rounded-full border-none bg-transparent px-4 focus-visible:ring-0 focus-visible:ring-offset-0" }),
|
|
40
|
+
react_1.default.createElement(button_1.Button, { type: "submit", className: "rounded-full" }, "Send Now")))))));
|
|
41
|
+
};
|
|
42
|
+
exports.ComingSoon = ComingSoon;
|