@samsheena/payment-ui 1.0.5 → 1.0.6
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.
- package/dist/index.cjs.js +27 -17
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +27 -17
- package/dist/index.esm.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs.js
CHANGED
|
@@ -95,10 +95,10 @@ function PaymentModal({
|
|
|
95
95
|
}, PLAN_LIST.map(p => {
|
|
96
96
|
const disabled = !p.enabled;
|
|
97
97
|
const selected = p.key === planKey;
|
|
98
|
-
|
|
98
|
+
const pickPlan = () => {
|
|
99
99
|
if (disabled) return;
|
|
100
100
|
setPlanKey(p.key);
|
|
101
|
-
}
|
|
101
|
+
};
|
|
102
102
|
return /*#__PURE__*/React.createElement("div", {
|
|
103
103
|
key: p.key,
|
|
104
104
|
className: ["glh-pay-plan", disabled ? "glh-pay-planDisabled" : "", selected ? "glh-pay-selected" : ""].join(" "),
|
|
@@ -106,7 +106,10 @@ function PaymentModal({
|
|
|
106
106
|
role: "button",
|
|
107
107
|
tabIndex: disabled ? -1 : 0,
|
|
108
108
|
"aria-disabled": disabled,
|
|
109
|
-
"aria-pressed": selected
|
|
109
|
+
"aria-pressed": selected,
|
|
110
|
+
onKeyDown: e => {
|
|
111
|
+
if ((e.key === "Enter" || e.key === " ") && !disabled) pickPlan();
|
|
112
|
+
}
|
|
110
113
|
}, /*#__PURE__*/React.createElement("div", {
|
|
111
114
|
style: {
|
|
112
115
|
display: "grid",
|
|
@@ -126,13 +129,11 @@ function PaymentModal({
|
|
|
126
129
|
display: "flex",
|
|
127
130
|
gap: 8
|
|
128
131
|
}
|
|
129
|
-
},
|
|
132
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
130
133
|
className: "glh-pay-pill"
|
|
131
|
-
}, "ENABLED"
|
|
134
|
+
}, p.enabled ? "ENABLED" : "DISABLED"), selected ? /*#__PURE__*/React.createElement("span", {
|
|
132
135
|
className: "glh-pay-pill"
|
|
133
|
-
}, "
|
|
134
|
-
className: "glh-pay-pill"
|
|
135
|
-
}, "SELECTED")));
|
|
136
|
+
}, "SELECTED") : null));
|
|
136
137
|
})), /*#__PURE__*/React.createElement("div", {
|
|
137
138
|
className: "glh-pay-summary"
|
|
138
139
|
}, /*#__PURE__*/React.createElement("div", {
|
|
@@ -162,7 +163,10 @@ function PaymentModal({
|
|
|
162
163
|
marginBottom: 8
|
|
163
164
|
}
|
|
164
165
|
}, "\u2705 Account Created"), /*#__PURE__*/React.createElement("div", {
|
|
165
|
-
className: "glh-pay-summary"
|
|
166
|
+
className: "glh-pay-summary",
|
|
167
|
+
style: {
|
|
168
|
+
marginTop: 14
|
|
169
|
+
}
|
|
166
170
|
}, /*#__PURE__*/React.createElement("div", {
|
|
167
171
|
className: "glh-pay-line"
|
|
168
172
|
}, /*#__PURE__*/React.createElement("span", null, "Selected Plan"), /*#__PURE__*/React.createElement("span", {
|
|
@@ -197,28 +201,33 @@ function PaymentModal({
|
|
|
197
201
|
|
|
198
202
|
/**
|
|
199
203
|
* AccountButton
|
|
200
|
-
* -
|
|
201
|
-
* -
|
|
204
|
+
* - Navbar center ನಲ್ಲಿ place ಮಾಡಬಹುದು
|
|
205
|
+
* - localStorage ನಲ್ಲಿ glh_payment_account ಇದ್ದರೆ button "Subscribed ✓" ಆಗಿ show ಆಗುತ್ತದೆ
|
|
202
206
|
*/
|
|
203
207
|
function AccountButton({
|
|
204
208
|
buttonText = "Account",
|
|
209
|
+
subscribedText = "Subscribed ✓",
|
|
205
210
|
wrapperClassName = "",
|
|
206
211
|
buttonClassName = "",
|
|
207
212
|
onAccountCreated
|
|
208
213
|
}) {
|
|
209
214
|
const [open, setOpen] = React.useState(false);
|
|
210
215
|
const [hasAccount, setHasAccount] = React.useState(false);
|
|
211
|
-
|
|
216
|
+
function readAccountFlag() {
|
|
212
217
|
try {
|
|
213
218
|
const saved = localStorage.getItem("glh_payment_account");
|
|
214
|
-
|
|
219
|
+
return !!saved;
|
|
215
220
|
} catch (e) {
|
|
216
|
-
|
|
221
|
+
return false;
|
|
217
222
|
}
|
|
218
|
-
}
|
|
223
|
+
}
|
|
224
|
+
React.useEffect(() => {
|
|
225
|
+
setHasAccount(readAccountFlag());
|
|
226
|
+
}, []);
|
|
219
227
|
function handleClose() {
|
|
220
228
|
setOpen(false);
|
|
221
|
-
|
|
229
|
+
|
|
230
|
+
// close ಆದಮೇಲೆ storage re-check ಮಾಡಿ button text update
|
|
222
231
|
try {
|
|
223
232
|
const saved = localStorage.getItem("glh_payment_account");
|
|
224
233
|
const ok = !!saved;
|
|
@@ -230,13 +239,14 @@ function AccountButton({
|
|
|
230
239
|
// ignore
|
|
231
240
|
}
|
|
232
241
|
}
|
|
242
|
+
const label = hasAccount ? subscribedText : buttonText;
|
|
233
243
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
234
244
|
className: `glh-pay-centerWrap ${wrapperClassName}`
|
|
235
245
|
}, /*#__PURE__*/React.createElement("button", {
|
|
236
246
|
className: `glh-pay-btn ${buttonClassName}`,
|
|
237
247
|
onClick: () => setOpen(true),
|
|
238
248
|
type: "button"
|
|
239
|
-
},
|
|
249
|
+
}, label)), /*#__PURE__*/React.createElement(PaymentModal, {
|
|
240
250
|
open: open,
|
|
241
251
|
onClose: handleClose
|
|
242
252
|
}));
|
package/dist/index.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../src/components/PaymentModal.jsx","../src/components/AccountButton.jsx"],"sourcesContent":["import React, { useMemo, useState } from \"react\";\r\nimport { createPortal } from \"react-dom\";\r\nimport \"./styles.css\";\r\n\r\nconst PRICE_PER_MONTH = 5;\r\n\r\nconst PLAN_LIST = [\r\n { key: \"monthly\", label: \"Monthly\", months: 1, enabled: false },\r\n { key: \"3m\", label: \"3 Months\", months: 3, enabled: false },\r\n { key: \"6m\", label: \"6 Months\", months: 6, enabled: true }, // Only enabled\r\n { key: \"1y\", label: \"Yearly\", months: 12, enabled: false },\r\n { key: \"3y\", label: \"3 Years\", months: 36, enabled: false }\r\n];\r\n\r\nexport function PaymentModal({ open, onClose }) {\r\n const defaultPlanKey = \"6m\";\r\n\r\n const [planKey, setPlanKey] = useState(defaultPlanKey);\r\n const [accountCreated, setAccountCreated] = useState(false);\r\n\r\n const selectedPlan = useMemo(() => {\r\n return PLAN_LIST.find((p) => p.key === planKey) || PLAN_LIST[2];\r\n }, [planKey]);\r\n\r\n const total = selectedPlan.months * PRICE_PER_MONTH;\r\n const discountPercent = 100;\r\n const discountAmount = total;\r\n const netPayable = 0;\r\n\r\n function handleBackdropClick(e) {\r\n if (e.target?.classList?.contains(\"glh-pay-backdrop\")) onClose?.();\r\n }\r\n\r\n function createAccountAndSubscribe() {\r\n const payload = {\r\n createdAt: new Date().toISOString(),\r\n plan: selectedPlan,\r\n pricePerMonth: PRICE_PER_MONTH,\r\n total,\r\n discountPercent,\r\n discountAmount,\r\n netPayable\r\n };\r\n\r\n try {\r\n localStorage.setItem(\"glh_payment_account\", JSON.stringify(payload));\r\n setAccountCreated(true);\r\n } catch (err) {\r\n setAccountCreated(true);\r\n }\r\n }\r\n\r\n if (!open) return null;\r\n\r\n return createPortal(\r\n <div\r\n className=\"glh-pay-backdrop\"\r\n onMouseDown={handleBackdropClick}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n >\r\n <div\r\n className=\"glh-pay-modal\"\r\n onMouseDown={(e) => e.stopPropagation()}\r\n >\r\n <div className=\"glh-pay-header\">\r\n <h3 className=\"glh-pay-title\">Create Payment Account</h3>\r\n <button\r\n className=\"glh-pay-close\"\r\n onClick={onClose}\r\n aria-label=\"Close\"\r\n >\r\n ✕\r\n </button>\r\n </div>\r\n\r\n <div className=\"glh-pay-body\">\r\n {!accountCreated ? (\r\n <>\r\n <div\r\n className=\"glh-pay-label\"\r\n style={{ marginBottom: 8 }}\r\n >\r\n Subscription Plans (₹{PRICE_PER_MONTH} / month)\r\n </div>\r\n\r\n <div className=\"glh-pay-plans\">\r\n {PLAN_LIST.map((p) => {\r\n const disabled = !p.enabled;\r\n const selected = p.key === planKey;\r\n\r\n function pickPlan() {\r\n if (disabled) return;\r\n setPlanKey(p.key);\r\n }\r\n\r\n return (\r\n <div\r\n key={p.key}\r\n className={[\r\n \"glh-pay-plan\",\r\n disabled ? \"glh-pay-planDisabled\" : \"\",\r\n selected ? \"glh-pay-selected\" : \"\"\r\n ].join(\" \")}\r\n onClick={pickPlan}\r\n role=\"button\"\r\n tabIndex={disabled ? -1 : 0}\r\n aria-disabled={disabled}\r\n aria-pressed={selected}\r\n >\r\n <div style={{ display: \"grid\", gap: 4 }}>\r\n <div style={{ fontWeight: 900 }}>\r\n {p.label}\r\n </div>\r\n <div\r\n style={{\r\n fontSize: 12,\r\n color: \"rgba(0,0,0,0.65)\"\r\n }}\r\n >\r\n Duration: {p.months} month(s)\r\n </div>\r\n </div>\r\n\r\n <div style={{ display: \"flex\", gap: 8 }}>\r\n {p.enabled ? (\r\n <span className=\"glh-pay-pill\">\r\n ENABLED\r\n </span>\r\n ) : (\r\n <span className=\"glh-pay-pill\">\r\n DISABLED\r\n </span>\r\n )}\r\n {selected && (\r\n <span className=\"glh-pay-pill\">\r\n SELECTED\r\n </span>\r\n )}\r\n </div>\r\n </div>\r\n );\r\n })}\r\n </div>\r\n\r\n <div className=\"glh-pay-summary\">\r\n <div className=\"glh-pay-line\">\r\n <span>\r\n Total ({selectedPlan.months} × ₹{PRICE_PER_MONTH})\r\n </span>\r\n <span className=\"glh-pay-strong\">\r\n ₹{total}\r\n </span>\r\n </div>\r\n <div className=\"glh-pay-line\">\r\n <span>Discount</span>\r\n <span className=\"glh-pay-strong\">\r\n {discountPercent}% (-₹{discountAmount})\r\n </span>\r\n </div>\r\n <div className=\"glh-pay-line\">\r\n <span className=\"glh-pay-strong\">\r\n Net Payable\r\n </span>\r\n <span className=\"glh-pay-strong\">\r\n ₹{netPayable}\r\n </span>\r\n </div>\r\n </div>\r\n\r\n <div className=\"glh-pay-note\">\r\n Note: This package is frontend-only.\r\n Payment is always ₹0 because 100% discount is applied.\r\n </div>\r\n </>\r\n ) : (\r\n <div style={{ padding: 6 }}>\r\n <div\r\n style={{\r\n fontWeight: 900,\r\n fontSize: 16,\r\n marginBottom: 8\r\n }}\r\n >\r\n ✅ Account Created\r\n </div>\r\n\r\n <div className=\"glh-pay-summary\">\r\n <div className=\"glh-pay-line\">\r\n <span>Selected Plan</span>\r\n <span className=\"glh-pay-strong\">\r\n {selectedPlan.label}\r\n </span>\r\n </div>\r\n <div className=\"glh-pay-line\">\r\n <span>Total</span>\r\n <span className=\"glh-pay-strong\">\r\n ₹{total}\r\n </span>\r\n </div>\r\n <div className=\"glh-pay-line\">\r\n <span>Discount</span>\r\n <span className=\"glh-pay-strong\">\r\n 100% (-₹{total})\r\n </span>\r\n </div>\r\n <div className=\"glh-pay-line\">\r\n <span className=\"glh-pay-strong\">\r\n Net Payable\r\n </span>\r\n <span className=\"glh-pay-strong\">\r\n ₹0\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n\r\n <div className=\"glh-pay-footer\">\r\n {!accountCreated ? (\r\n <>\r\n <button\r\n className=\"glh-pay-secondary\"\r\n onClick={onClose}\r\n >\r\n Cancel\r\n </button>\r\n <button\r\n className=\"glh-pay-primary\"\r\n onClick={createAccountAndSubscribe}\r\n >\r\n Create Account\r\n </button>\r\n </>\r\n ) : (\r\n <button\r\n className=\"glh-pay-primary\"\r\n onClick={onClose}\r\n >\r\n Done\r\n </button>\r\n )}\r\n </div>\r\n </div>\r\n </div>,\r\n document.body\r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { PaymentModal } from \"./PaymentModal.jsx\";\r\nimport \"./styles.css\";\r\n\r\n/**\r\n * AccountButton\r\n * - Place this component in the CENTER area of your navbar.\r\n * - It renders a button and a modal for account creation + subscription summary.\r\n */\r\nexport function AccountButton({\r\n buttonText = \"Account\",\r\n wrapperClassName = \"\",\r\n buttonClassName = \"\",\r\n onAccountCreated\r\n}) {\r\n const [open, setOpen] = useState(false);\r\n const [hasAccount, setHasAccount] = useState(false);\r\n\r\n useEffect(() => {\r\n try {\r\n const saved = localStorage.getItem(\"glh_payment_account\");\r\n setHasAccount(!!saved);\r\n } catch (e) {\r\n setHasAccount(false);\r\n }\r\n }, [open]);\r\n\r\n function handleClose() {\r\n setOpen(false);\r\n // refresh state after close\r\n try {\r\n const saved = localStorage.getItem(\"glh_payment_account\");\r\n const ok = !!saved;\r\n setHasAccount(ok);\r\n if (ok && typeof onAccountCreated === \"function\") {\r\n onAccountCreated(JSON.parse(saved));\r\n }\r\n } catch (e) {\r\n // ignore\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n <div className={`glh-pay-centerWrap ${wrapperClassName}`}>\r\n <button\r\n className={`glh-pay-btn ${buttonClassName}`}\r\n onClick={() => setOpen(true)}\r\n type=\"button\"\r\n >\r\n {hasAccount ? `${buttonText} ✓` : buttonText}\r\n </button>\r\n </div>\r\n\r\n <PaymentModal open={open} onClose={handleClose} />\r\n </>\r\n );\r\n}\r\n"],"names":["PRICE_PER_MONTH","PLAN_LIST","key","label","months","enabled","PaymentModal","open","onClose","defaultPlanKey","planKey","setPlanKey","useState","accountCreated","setAccountCreated","selectedPlan","useMemo","find","p","total","discountPercent","discountAmount","netPayable","handleBackdropClick","e","target","classList","contains","createAccountAndSubscribe","payload","createdAt","Date","toISOString","plan","pricePerMonth","localStorage","setItem","JSON","stringify","err","createPortal","React","createElement","className","onMouseDown","role","stopPropagation","onClick","Fragment","style","marginBottom","map","disabled","selected","pickPlan","join","tabIndex","display","gap","fontWeight","fontSize","color","padding","document","body","AccountButton","buttonText","wrapperClassName","buttonClassName","onAccountCreated","setOpen","hasAccount","setHasAccount","useEffect","saved","getItem","handleClose","ok","parse","type"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../src/components/PaymentModal.jsx","../src/components/AccountButton.jsx"],"sourcesContent":["import React, { useMemo, useState } from \"react\";\r\nimport { createPortal } from \"react-dom\";\r\nimport \"./styles.css\";\r\n\r\nconst PRICE_PER_MONTH = 5;\r\n\r\nconst PLAN_LIST = [\r\n { key: \"monthly\", label: \"Monthly\", months: 1, enabled: false },\r\n { key: \"3m\", label: \"3 Months\", months: 3, enabled: false },\r\n { key: \"6m\", label: \"6 Months\", months: 6, enabled: true }, // Only enabled\r\n { key: \"1y\", label: \"Yearly\", months: 12, enabled: false },\r\n { key: \"3y\", label: \"3 Years\", months: 36, enabled: false }\r\n];\r\n\r\nexport function PaymentModal({ open, onClose }) {\r\n const defaultPlanKey = \"6m\";\r\n const [planKey, setPlanKey] = useState(defaultPlanKey);\r\n const [accountCreated, setAccountCreated] = useState(false);\r\n\r\n const selectedPlan = useMemo(() => {\r\n return PLAN_LIST.find((p) => p.key === planKey) || PLAN_LIST[2];\r\n }, [planKey]);\r\n\r\n const total = selectedPlan.months * PRICE_PER_MONTH;\r\n const discountPercent = 100;\r\n const discountAmount = total;\r\n const netPayable = 0;\r\n\r\n function handleBackdropClick(e) {\r\n if (e.target?.classList?.contains(\"glh-pay-backdrop\")) onClose?.();\r\n }\r\n\r\n function createAccountAndSubscribe() {\r\n const payload = {\r\n createdAt: new Date().toISOString(),\r\n plan: selectedPlan,\r\n pricePerMonth: PRICE_PER_MONTH,\r\n total,\r\n discountPercent,\r\n discountAmount,\r\n netPayable\r\n };\r\n\r\n try {\r\n localStorage.setItem(\"glh_payment_account\", JSON.stringify(payload));\r\n setAccountCreated(true);\r\n } catch (err) {\r\n setAccountCreated(true);\r\n }\r\n }\r\n\r\n if (!open) return null;\r\n\r\n return createPortal(\r\n <div\r\n className=\"glh-pay-backdrop\"\r\n onMouseDown={handleBackdropClick}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n >\r\n <div className=\"glh-pay-modal\" onMouseDown={(e) => e.stopPropagation()}>\r\n <div className=\"glh-pay-header\">\r\n <h3 className=\"glh-pay-title\">Create Payment Account</h3>\r\n <button className=\"glh-pay-close\" onClick={onClose} aria-label=\"Close\">\r\n ✕\r\n </button>\r\n </div>\r\n\r\n <div className=\"glh-pay-body\">\r\n {!accountCreated ? (\r\n <>\r\n <div className=\"glh-pay-label\" style={{ marginBottom: 8 }}>\r\n Subscription Plans (₹{PRICE_PER_MONTH} / month)\r\n </div>\r\n\r\n <div className=\"glh-pay-plans\">\r\n {PLAN_LIST.map((p) => {\r\n const disabled = !p.enabled;\r\n const selected = p.key === planKey;\r\n\r\n const pickPlan = () => {\r\n if (disabled) return;\r\n setPlanKey(p.key);\r\n };\r\n\r\n return (\r\n <div\r\n key={p.key}\r\n className={[\r\n \"glh-pay-plan\",\r\n disabled ? \"glh-pay-planDisabled\" : \"\",\r\n selected ? \"glh-pay-selected\" : \"\"\r\n ].join(\" \")}\r\n onClick={pickPlan}\r\n role=\"button\"\r\n tabIndex={disabled ? -1 : 0}\r\n aria-disabled={disabled}\r\n aria-pressed={selected}\r\n onKeyDown={(e) => {\r\n if ((e.key === \"Enter\" || e.key === \" \") && !disabled) pickPlan();\r\n }}\r\n >\r\n <div style={{ display: \"grid\", gap: 4 }}>\r\n <div style={{ fontWeight: 900 }}>{p.label}</div>\r\n <div style={{ fontSize: 12, color: \"rgba(0,0,0,0.65)\" }}>\r\n Duration: {p.months} month(s)\r\n </div>\r\n </div>\r\n\r\n <div style={{ display: \"flex\", gap: 8 }}>\r\n <span className=\"glh-pay-pill\">{p.enabled ? \"ENABLED\" : \"DISABLED\"}</span>\r\n {selected ? <span className=\"glh-pay-pill\">SELECTED</span> : null}\r\n </div>\r\n </div>\r\n );\r\n })}\r\n </div>\r\n\r\n <div className=\"glh-pay-summary\">\r\n <div className=\"glh-pay-line\">\r\n <span>\r\n Total ({selectedPlan.months} × ₹{PRICE_PER_MONTH})\r\n </span>\r\n <span className=\"glh-pay-strong\">₹{total}</span>\r\n </div>\r\n <div className=\"glh-pay-line\">\r\n <span>Discount</span>\r\n <span className=\"glh-pay-strong\">\r\n {discountPercent}% (-₹{discountAmount})\r\n </span>\r\n </div>\r\n <div className=\"glh-pay-line\">\r\n <span className=\"glh-pay-strong\">Net Payable</span>\r\n <span className=\"glh-pay-strong\">₹{netPayable}</span>\r\n </div>\r\n </div>\r\n\r\n <div className=\"glh-pay-note\">\r\n Note: This package is frontend-only. Payment is always ₹0 because 100% discount is applied.\r\n </div>\r\n </>\r\n ) : (\r\n <div style={{ padding: 6 }}>\r\n <div style={{ fontWeight: 900, fontSize: 16, marginBottom: 8 }}>✅ Account Created</div>\r\n\r\n <div className=\"glh-pay-summary\" style={{ marginTop: 14 }}>\r\n <div className=\"glh-pay-line\">\r\n <span>Selected Plan</span>\r\n <span className=\"glh-pay-strong\">{selectedPlan.label}</span>\r\n </div>\r\n <div className=\"glh-pay-line\">\r\n <span>Total</span>\r\n <span className=\"glh-pay-strong\">₹{total}</span>\r\n </div>\r\n <div className=\"glh-pay-line\">\r\n <span>Discount</span>\r\n <span className=\"glh-pay-strong\">100% (-₹{total})</span>\r\n </div>\r\n <div className=\"glh-pay-line\">\r\n <span className=\"glh-pay-strong\">Net Payable</span>\r\n <span className=\"glh-pay-strong\">₹0</span>\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n\r\n <div className=\"glh-pay-footer\">\r\n {!accountCreated ? (\r\n <>\r\n <button className=\"glh-pay-secondary\" onClick={onClose}>\r\n Cancel\r\n </button>\r\n <button className=\"glh-pay-primary\" onClick={createAccountAndSubscribe}>\r\n Create Account\r\n </button>\r\n </>\r\n ) : (\r\n <button className=\"glh-pay-primary\" onClick={onClose}>\r\n Done\r\n </button>\r\n )}\r\n </div>\r\n </div>\r\n </div>,\r\n document.body\r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { PaymentModal } from \"./PaymentModal.jsx\";\r\nimport \"./styles.css\";\r\n\r\n/**\r\n * AccountButton\r\n * - Navbar center ನಲ್ಲಿ place ಮಾಡಬಹುದು\r\n * - localStorage ನಲ್ಲಿ glh_payment_account ಇದ್ದರೆ button \"Subscribed ✓\" ಆಗಿ show ಆಗುತ್ತದೆ\r\n */\r\nexport function AccountButton({\r\n buttonText = \"Account\",\r\n subscribedText = \"Subscribed ✓\",\r\n wrapperClassName = \"\",\r\n buttonClassName = \"\",\r\n onAccountCreated\r\n}) {\r\n const [open, setOpen] = useState(false);\r\n const [hasAccount, setHasAccount] = useState(false);\r\n\r\n function readAccountFlag() {\r\n try {\r\n const saved = localStorage.getItem(\"glh_payment_account\");\r\n return !!saved;\r\n } catch (e) {\r\n return false;\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n setHasAccount(readAccountFlag());\r\n }, []);\r\n\r\n function handleClose() {\r\n setOpen(false);\r\n\r\n // close ಆದಮೇಲೆ storage re-check ಮಾಡಿ button text update\r\n try {\r\n const saved = localStorage.getItem(\"glh_payment_account\");\r\n const ok = !!saved;\r\n setHasAccount(ok);\r\n\r\n if (ok && typeof onAccountCreated === \"function\") {\r\n onAccountCreated(JSON.parse(saved));\r\n }\r\n } catch (e) {\r\n // ignore\r\n }\r\n }\r\n\r\n const label = hasAccount ? subscribedText : buttonText;\r\n\r\n return (\r\n <>\r\n <div className={`glh-pay-centerWrap ${wrapperClassName}`}>\r\n <button\r\n className={`glh-pay-btn ${buttonClassName}`}\r\n onClick={() => setOpen(true)}\r\n type=\"button\"\r\n >\r\n {label}\r\n </button>\r\n </div>\r\n\r\n <PaymentModal open={open} onClose={handleClose} />\r\n </>\r\n );\r\n}\r\n"],"names":["PRICE_PER_MONTH","PLAN_LIST","key","label","months","enabled","PaymentModal","open","onClose","defaultPlanKey","planKey","setPlanKey","useState","accountCreated","setAccountCreated","selectedPlan","useMemo","find","p","total","discountPercent","discountAmount","netPayable","handleBackdropClick","e","target","classList","contains","createAccountAndSubscribe","payload","createdAt","Date","toISOString","plan","pricePerMonth","localStorage","setItem","JSON","stringify","err","createPortal","React","createElement","className","onMouseDown","role","stopPropagation","onClick","Fragment","style","marginBottom","map","disabled","selected","pickPlan","join","tabIndex","onKeyDown","display","gap","fontWeight","fontSize","color","padding","marginTop","document","body","AccountButton","buttonText","subscribedText","wrapperClassName","buttonClassName","onAccountCreated","setOpen","hasAccount","setHasAccount","readAccountFlag","saved","getItem","useEffect","handleClose","ok","parse","type"],"mappings":"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"}
|
package/dist/index.esm.js
CHANGED
|
@@ -93,10 +93,10 @@ function PaymentModal({
|
|
|
93
93
|
}, PLAN_LIST.map(p => {
|
|
94
94
|
const disabled = !p.enabled;
|
|
95
95
|
const selected = p.key === planKey;
|
|
96
|
-
|
|
96
|
+
const pickPlan = () => {
|
|
97
97
|
if (disabled) return;
|
|
98
98
|
setPlanKey(p.key);
|
|
99
|
-
}
|
|
99
|
+
};
|
|
100
100
|
return /*#__PURE__*/React.createElement("div", {
|
|
101
101
|
key: p.key,
|
|
102
102
|
className: ["glh-pay-plan", disabled ? "glh-pay-planDisabled" : "", selected ? "glh-pay-selected" : ""].join(" "),
|
|
@@ -104,7 +104,10 @@ function PaymentModal({
|
|
|
104
104
|
role: "button",
|
|
105
105
|
tabIndex: disabled ? -1 : 0,
|
|
106
106
|
"aria-disabled": disabled,
|
|
107
|
-
"aria-pressed": selected
|
|
107
|
+
"aria-pressed": selected,
|
|
108
|
+
onKeyDown: e => {
|
|
109
|
+
if ((e.key === "Enter" || e.key === " ") && !disabled) pickPlan();
|
|
110
|
+
}
|
|
108
111
|
}, /*#__PURE__*/React.createElement("div", {
|
|
109
112
|
style: {
|
|
110
113
|
display: "grid",
|
|
@@ -124,13 +127,11 @@ function PaymentModal({
|
|
|
124
127
|
display: "flex",
|
|
125
128
|
gap: 8
|
|
126
129
|
}
|
|
127
|
-
},
|
|
130
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
128
131
|
className: "glh-pay-pill"
|
|
129
|
-
}, "ENABLED"
|
|
132
|
+
}, p.enabled ? "ENABLED" : "DISABLED"), selected ? /*#__PURE__*/React.createElement("span", {
|
|
130
133
|
className: "glh-pay-pill"
|
|
131
|
-
}, "
|
|
132
|
-
className: "glh-pay-pill"
|
|
133
|
-
}, "SELECTED")));
|
|
134
|
+
}, "SELECTED") : null));
|
|
134
135
|
})), /*#__PURE__*/React.createElement("div", {
|
|
135
136
|
className: "glh-pay-summary"
|
|
136
137
|
}, /*#__PURE__*/React.createElement("div", {
|
|
@@ -160,7 +161,10 @@ function PaymentModal({
|
|
|
160
161
|
marginBottom: 8
|
|
161
162
|
}
|
|
162
163
|
}, "\u2705 Account Created"), /*#__PURE__*/React.createElement("div", {
|
|
163
|
-
className: "glh-pay-summary"
|
|
164
|
+
className: "glh-pay-summary",
|
|
165
|
+
style: {
|
|
166
|
+
marginTop: 14
|
|
167
|
+
}
|
|
164
168
|
}, /*#__PURE__*/React.createElement("div", {
|
|
165
169
|
className: "glh-pay-line"
|
|
166
170
|
}, /*#__PURE__*/React.createElement("span", null, "Selected Plan"), /*#__PURE__*/React.createElement("span", {
|
|
@@ -195,28 +199,33 @@ function PaymentModal({
|
|
|
195
199
|
|
|
196
200
|
/**
|
|
197
201
|
* AccountButton
|
|
198
|
-
* -
|
|
199
|
-
* -
|
|
202
|
+
* - Navbar center ನಲ್ಲಿ place ಮಾಡಬಹುದು
|
|
203
|
+
* - localStorage ನಲ್ಲಿ glh_payment_account ಇದ್ದರೆ button "Subscribed ✓" ಆಗಿ show ಆಗುತ್ತದೆ
|
|
200
204
|
*/
|
|
201
205
|
function AccountButton({
|
|
202
206
|
buttonText = "Account",
|
|
207
|
+
subscribedText = "Subscribed ✓",
|
|
203
208
|
wrapperClassName = "",
|
|
204
209
|
buttonClassName = "",
|
|
205
210
|
onAccountCreated
|
|
206
211
|
}) {
|
|
207
212
|
const [open, setOpen] = useState(false);
|
|
208
213
|
const [hasAccount, setHasAccount] = useState(false);
|
|
209
|
-
|
|
214
|
+
function readAccountFlag() {
|
|
210
215
|
try {
|
|
211
216
|
const saved = localStorage.getItem("glh_payment_account");
|
|
212
|
-
|
|
217
|
+
return !!saved;
|
|
213
218
|
} catch (e) {
|
|
214
|
-
|
|
219
|
+
return false;
|
|
215
220
|
}
|
|
216
|
-
}
|
|
221
|
+
}
|
|
222
|
+
useEffect(() => {
|
|
223
|
+
setHasAccount(readAccountFlag());
|
|
224
|
+
}, []);
|
|
217
225
|
function handleClose() {
|
|
218
226
|
setOpen(false);
|
|
219
|
-
|
|
227
|
+
|
|
228
|
+
// close ಆದಮೇಲೆ storage re-check ಮಾಡಿ button text update
|
|
220
229
|
try {
|
|
221
230
|
const saved = localStorage.getItem("glh_payment_account");
|
|
222
231
|
const ok = !!saved;
|
|
@@ -228,13 +237,14 @@ function AccountButton({
|
|
|
228
237
|
// ignore
|
|
229
238
|
}
|
|
230
239
|
}
|
|
240
|
+
const label = hasAccount ? subscribedText : buttonText;
|
|
231
241
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
232
242
|
className: `glh-pay-centerWrap ${wrapperClassName}`
|
|
233
243
|
}, /*#__PURE__*/React.createElement("button", {
|
|
234
244
|
className: `glh-pay-btn ${buttonClassName}`,
|
|
235
245
|
onClick: () => setOpen(true),
|
|
236
246
|
type: "button"
|
|
237
|
-
},
|
|
247
|
+
}, label)), /*#__PURE__*/React.createElement(PaymentModal, {
|
|
238
248
|
open: open,
|
|
239
249
|
onClose: handleClose
|
|
240
250
|
}));
|
package/dist/index.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../src/components/PaymentModal.jsx","../src/components/AccountButton.jsx"],"sourcesContent":["import React, { useMemo, useState } from \"react\";\r\nimport { createPortal } from \"react-dom\";\r\nimport \"./styles.css\";\r\n\r\nconst PRICE_PER_MONTH = 5;\r\n\r\nconst PLAN_LIST = [\r\n { key: \"monthly\", label: \"Monthly\", months: 1, enabled: false },\r\n { key: \"3m\", label: \"3 Months\", months: 3, enabled: false },\r\n { key: \"6m\", label: \"6 Months\", months: 6, enabled: true }, // Only enabled\r\n { key: \"1y\", label: \"Yearly\", months: 12, enabled: false },\r\n { key: \"3y\", label: \"3 Years\", months: 36, enabled: false }\r\n];\r\n\r\nexport function PaymentModal({ open, onClose }) {\r\n const defaultPlanKey = \"6m\";\r\n\r\n const [planKey, setPlanKey] = useState(defaultPlanKey);\r\n const [accountCreated, setAccountCreated] = useState(false);\r\n\r\n const selectedPlan = useMemo(() => {\r\n return PLAN_LIST.find((p) => p.key === planKey) || PLAN_LIST[2];\r\n }, [planKey]);\r\n\r\n const total = selectedPlan.months * PRICE_PER_MONTH;\r\n const discountPercent = 100;\r\n const discountAmount = total;\r\n const netPayable = 0;\r\n\r\n function handleBackdropClick(e) {\r\n if (e.target?.classList?.contains(\"glh-pay-backdrop\")) onClose?.();\r\n }\r\n\r\n function createAccountAndSubscribe() {\r\n const payload = {\r\n createdAt: new Date().toISOString(),\r\n plan: selectedPlan,\r\n pricePerMonth: PRICE_PER_MONTH,\r\n total,\r\n discountPercent,\r\n discountAmount,\r\n netPayable\r\n };\r\n\r\n try {\r\n localStorage.setItem(\"glh_payment_account\", JSON.stringify(payload));\r\n setAccountCreated(true);\r\n } catch (err) {\r\n setAccountCreated(true);\r\n }\r\n }\r\n\r\n if (!open) return null;\r\n\r\n return createPortal(\r\n <div\r\n className=\"glh-pay-backdrop\"\r\n onMouseDown={handleBackdropClick}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n >\r\n <div\r\n className=\"glh-pay-modal\"\r\n onMouseDown={(e) => e.stopPropagation()}\r\n >\r\n <div className=\"glh-pay-header\">\r\n <h3 className=\"glh-pay-title\">Create Payment Account</h3>\r\n <button\r\n className=\"glh-pay-close\"\r\n onClick={onClose}\r\n aria-label=\"Close\"\r\n >\r\n ✕\r\n </button>\r\n </div>\r\n\r\n <div className=\"glh-pay-body\">\r\n {!accountCreated ? (\r\n <>\r\n <div\r\n className=\"glh-pay-label\"\r\n style={{ marginBottom: 8 }}\r\n >\r\n Subscription Plans (₹{PRICE_PER_MONTH} / month)\r\n </div>\r\n\r\n <div className=\"glh-pay-plans\">\r\n {PLAN_LIST.map((p) => {\r\n const disabled = !p.enabled;\r\n const selected = p.key === planKey;\r\n\r\n function pickPlan() {\r\n if (disabled) return;\r\n setPlanKey(p.key);\r\n }\r\n\r\n return (\r\n <div\r\n key={p.key}\r\n className={[\r\n \"glh-pay-plan\",\r\n disabled ? \"glh-pay-planDisabled\" : \"\",\r\n selected ? \"glh-pay-selected\" : \"\"\r\n ].join(\" \")}\r\n onClick={pickPlan}\r\n role=\"button\"\r\n tabIndex={disabled ? -1 : 0}\r\n aria-disabled={disabled}\r\n aria-pressed={selected}\r\n >\r\n <div style={{ display: \"grid\", gap: 4 }}>\r\n <div style={{ fontWeight: 900 }}>\r\n {p.label}\r\n </div>\r\n <div\r\n style={{\r\n fontSize: 12,\r\n color: \"rgba(0,0,0,0.65)\"\r\n }}\r\n >\r\n Duration: {p.months} month(s)\r\n </div>\r\n </div>\r\n\r\n <div style={{ display: \"flex\", gap: 8 }}>\r\n {p.enabled ? (\r\n <span className=\"glh-pay-pill\">\r\n ENABLED\r\n </span>\r\n ) : (\r\n <span className=\"glh-pay-pill\">\r\n DISABLED\r\n </span>\r\n )}\r\n {selected && (\r\n <span className=\"glh-pay-pill\">\r\n SELECTED\r\n </span>\r\n )}\r\n </div>\r\n </div>\r\n );\r\n })}\r\n </div>\r\n\r\n <div className=\"glh-pay-summary\">\r\n <div className=\"glh-pay-line\">\r\n <span>\r\n Total ({selectedPlan.months} × ₹{PRICE_PER_MONTH})\r\n </span>\r\n <span className=\"glh-pay-strong\">\r\n ₹{total}\r\n </span>\r\n </div>\r\n <div className=\"glh-pay-line\">\r\n <span>Discount</span>\r\n <span className=\"glh-pay-strong\">\r\n {discountPercent}% (-₹{discountAmount})\r\n </span>\r\n </div>\r\n <div className=\"glh-pay-line\">\r\n <span className=\"glh-pay-strong\">\r\n Net Payable\r\n </span>\r\n <span className=\"glh-pay-strong\">\r\n ₹{netPayable}\r\n </span>\r\n </div>\r\n </div>\r\n\r\n <div className=\"glh-pay-note\">\r\n Note: This package is frontend-only.\r\n Payment is always ₹0 because 100% discount is applied.\r\n </div>\r\n </>\r\n ) : (\r\n <div style={{ padding: 6 }}>\r\n <div\r\n style={{\r\n fontWeight: 900,\r\n fontSize: 16,\r\n marginBottom: 8\r\n }}\r\n >\r\n ✅ Account Created\r\n </div>\r\n\r\n <div className=\"glh-pay-summary\">\r\n <div className=\"glh-pay-line\">\r\n <span>Selected Plan</span>\r\n <span className=\"glh-pay-strong\">\r\n {selectedPlan.label}\r\n </span>\r\n </div>\r\n <div className=\"glh-pay-line\">\r\n <span>Total</span>\r\n <span className=\"glh-pay-strong\">\r\n ₹{total}\r\n </span>\r\n </div>\r\n <div className=\"glh-pay-line\">\r\n <span>Discount</span>\r\n <span className=\"glh-pay-strong\">\r\n 100% (-₹{total})\r\n </span>\r\n </div>\r\n <div className=\"glh-pay-line\">\r\n <span className=\"glh-pay-strong\">\r\n Net Payable\r\n </span>\r\n <span className=\"glh-pay-strong\">\r\n ₹0\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n\r\n <div className=\"glh-pay-footer\">\r\n {!accountCreated ? (\r\n <>\r\n <button\r\n className=\"glh-pay-secondary\"\r\n onClick={onClose}\r\n >\r\n Cancel\r\n </button>\r\n <button\r\n className=\"glh-pay-primary\"\r\n onClick={createAccountAndSubscribe}\r\n >\r\n Create Account\r\n </button>\r\n </>\r\n ) : (\r\n <button\r\n className=\"glh-pay-primary\"\r\n onClick={onClose}\r\n >\r\n Done\r\n </button>\r\n )}\r\n </div>\r\n </div>\r\n </div>,\r\n document.body\r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { PaymentModal } from \"./PaymentModal.jsx\";\r\nimport \"./styles.css\";\r\n\r\n/**\r\n * AccountButton\r\n * - Place this component in the CENTER area of your navbar.\r\n * - It renders a button and a modal for account creation + subscription summary.\r\n */\r\nexport function AccountButton({\r\n buttonText = \"Account\",\r\n wrapperClassName = \"\",\r\n buttonClassName = \"\",\r\n onAccountCreated\r\n}) {\r\n const [open, setOpen] = useState(false);\r\n const [hasAccount, setHasAccount] = useState(false);\r\n\r\n useEffect(() => {\r\n try {\r\n const saved = localStorage.getItem(\"glh_payment_account\");\r\n setHasAccount(!!saved);\r\n } catch (e) {\r\n setHasAccount(false);\r\n }\r\n }, [open]);\r\n\r\n function handleClose() {\r\n setOpen(false);\r\n // refresh state after close\r\n try {\r\n const saved = localStorage.getItem(\"glh_payment_account\");\r\n const ok = !!saved;\r\n setHasAccount(ok);\r\n if (ok && typeof onAccountCreated === \"function\") {\r\n onAccountCreated(JSON.parse(saved));\r\n }\r\n } catch (e) {\r\n // ignore\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n <div className={`glh-pay-centerWrap ${wrapperClassName}`}>\r\n <button\r\n className={`glh-pay-btn ${buttonClassName}`}\r\n onClick={() => setOpen(true)}\r\n type=\"button\"\r\n >\r\n {hasAccount ? `${buttonText} ✓` : buttonText}\r\n </button>\r\n </div>\r\n\r\n <PaymentModal open={open} onClose={handleClose} />\r\n </>\r\n );\r\n}\r\n"],"names":["PRICE_PER_MONTH","PLAN_LIST","key","label","months","enabled","PaymentModal","open","onClose","defaultPlanKey","planKey","setPlanKey","useState","accountCreated","setAccountCreated","selectedPlan","useMemo","find","p","total","discountPercent","discountAmount","netPayable","handleBackdropClick","e","target","classList","contains","createAccountAndSubscribe","payload","createdAt","Date","toISOString","plan","pricePerMonth","localStorage","setItem","JSON","stringify","err","createPortal","React","createElement","className","onMouseDown","role","stopPropagation","onClick","Fragment","style","marginBottom","map","disabled","selected","pickPlan","join","tabIndex","display","gap","fontWeight","fontSize","color","padding","document","body","AccountButton","buttonText","wrapperClassName","buttonClassName","onAccountCreated","setOpen","hasAccount","setHasAccount","useEffect","saved","getItem","handleClose","ok","parse","type"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../src/components/PaymentModal.jsx","../src/components/AccountButton.jsx"],"sourcesContent":["import React, { useMemo, useState } from \"react\";\r\nimport { createPortal } from \"react-dom\";\r\nimport \"./styles.css\";\r\n\r\nconst PRICE_PER_MONTH = 5;\r\n\r\nconst PLAN_LIST = [\r\n { key: \"monthly\", label: \"Monthly\", months: 1, enabled: false },\r\n { key: \"3m\", label: \"3 Months\", months: 3, enabled: false },\r\n { key: \"6m\", label: \"6 Months\", months: 6, enabled: true }, // Only enabled\r\n { key: \"1y\", label: \"Yearly\", months: 12, enabled: false },\r\n { key: \"3y\", label: \"3 Years\", months: 36, enabled: false }\r\n];\r\n\r\nexport function PaymentModal({ open, onClose }) {\r\n const defaultPlanKey = \"6m\";\r\n const [planKey, setPlanKey] = useState(defaultPlanKey);\r\n const [accountCreated, setAccountCreated] = useState(false);\r\n\r\n const selectedPlan = useMemo(() => {\r\n return PLAN_LIST.find((p) => p.key === planKey) || PLAN_LIST[2];\r\n }, [planKey]);\r\n\r\n const total = selectedPlan.months * PRICE_PER_MONTH;\r\n const discountPercent = 100;\r\n const discountAmount = total;\r\n const netPayable = 0;\r\n\r\n function handleBackdropClick(e) {\r\n if (e.target?.classList?.contains(\"glh-pay-backdrop\")) onClose?.();\r\n }\r\n\r\n function createAccountAndSubscribe() {\r\n const payload = {\r\n createdAt: new Date().toISOString(),\r\n plan: selectedPlan,\r\n pricePerMonth: PRICE_PER_MONTH,\r\n total,\r\n discountPercent,\r\n discountAmount,\r\n netPayable\r\n };\r\n\r\n try {\r\n localStorage.setItem(\"glh_payment_account\", JSON.stringify(payload));\r\n setAccountCreated(true);\r\n } catch (err) {\r\n setAccountCreated(true);\r\n }\r\n }\r\n\r\n if (!open) return null;\r\n\r\n return createPortal(\r\n <div\r\n className=\"glh-pay-backdrop\"\r\n onMouseDown={handleBackdropClick}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n >\r\n <div className=\"glh-pay-modal\" onMouseDown={(e) => e.stopPropagation()}>\r\n <div className=\"glh-pay-header\">\r\n <h3 className=\"glh-pay-title\">Create Payment Account</h3>\r\n <button className=\"glh-pay-close\" onClick={onClose} aria-label=\"Close\">\r\n ✕\r\n </button>\r\n </div>\r\n\r\n <div className=\"glh-pay-body\">\r\n {!accountCreated ? (\r\n <>\r\n <div className=\"glh-pay-label\" style={{ marginBottom: 8 }}>\r\n Subscription Plans (₹{PRICE_PER_MONTH} / month)\r\n </div>\r\n\r\n <div className=\"glh-pay-plans\">\r\n {PLAN_LIST.map((p) => {\r\n const disabled = !p.enabled;\r\n const selected = p.key === planKey;\r\n\r\n const pickPlan = () => {\r\n if (disabled) return;\r\n setPlanKey(p.key);\r\n };\r\n\r\n return (\r\n <div\r\n key={p.key}\r\n className={[\r\n \"glh-pay-plan\",\r\n disabled ? \"glh-pay-planDisabled\" : \"\",\r\n selected ? \"glh-pay-selected\" : \"\"\r\n ].join(\" \")}\r\n onClick={pickPlan}\r\n role=\"button\"\r\n tabIndex={disabled ? -1 : 0}\r\n aria-disabled={disabled}\r\n aria-pressed={selected}\r\n onKeyDown={(e) => {\r\n if ((e.key === \"Enter\" || e.key === \" \") && !disabled) pickPlan();\r\n }}\r\n >\r\n <div style={{ display: \"grid\", gap: 4 }}>\r\n <div style={{ fontWeight: 900 }}>{p.label}</div>\r\n <div style={{ fontSize: 12, color: \"rgba(0,0,0,0.65)\" }}>\r\n Duration: {p.months} month(s)\r\n </div>\r\n </div>\r\n\r\n <div style={{ display: \"flex\", gap: 8 }}>\r\n <span className=\"glh-pay-pill\">{p.enabled ? \"ENABLED\" : \"DISABLED\"}</span>\r\n {selected ? <span className=\"glh-pay-pill\">SELECTED</span> : null}\r\n </div>\r\n </div>\r\n );\r\n })}\r\n </div>\r\n\r\n <div className=\"glh-pay-summary\">\r\n <div className=\"glh-pay-line\">\r\n <span>\r\n Total ({selectedPlan.months} × ₹{PRICE_PER_MONTH})\r\n </span>\r\n <span className=\"glh-pay-strong\">₹{total}</span>\r\n </div>\r\n <div className=\"glh-pay-line\">\r\n <span>Discount</span>\r\n <span className=\"glh-pay-strong\">\r\n {discountPercent}% (-₹{discountAmount})\r\n </span>\r\n </div>\r\n <div className=\"glh-pay-line\">\r\n <span className=\"glh-pay-strong\">Net Payable</span>\r\n <span className=\"glh-pay-strong\">₹{netPayable}</span>\r\n </div>\r\n </div>\r\n\r\n <div className=\"glh-pay-note\">\r\n Note: This package is frontend-only. Payment is always ₹0 because 100% discount is applied.\r\n </div>\r\n </>\r\n ) : (\r\n <div style={{ padding: 6 }}>\r\n <div style={{ fontWeight: 900, fontSize: 16, marginBottom: 8 }}>✅ Account Created</div>\r\n\r\n <div className=\"glh-pay-summary\" style={{ marginTop: 14 }}>\r\n <div className=\"glh-pay-line\">\r\n <span>Selected Plan</span>\r\n <span className=\"glh-pay-strong\">{selectedPlan.label}</span>\r\n </div>\r\n <div className=\"glh-pay-line\">\r\n <span>Total</span>\r\n <span className=\"glh-pay-strong\">₹{total}</span>\r\n </div>\r\n <div className=\"glh-pay-line\">\r\n <span>Discount</span>\r\n <span className=\"glh-pay-strong\">100% (-₹{total})</span>\r\n </div>\r\n <div className=\"glh-pay-line\">\r\n <span className=\"glh-pay-strong\">Net Payable</span>\r\n <span className=\"glh-pay-strong\">₹0</span>\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n\r\n <div className=\"glh-pay-footer\">\r\n {!accountCreated ? (\r\n <>\r\n <button className=\"glh-pay-secondary\" onClick={onClose}>\r\n Cancel\r\n </button>\r\n <button className=\"glh-pay-primary\" onClick={createAccountAndSubscribe}>\r\n Create Account\r\n </button>\r\n </>\r\n ) : (\r\n <button className=\"glh-pay-primary\" onClick={onClose}>\r\n Done\r\n </button>\r\n )}\r\n </div>\r\n </div>\r\n </div>,\r\n document.body\r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { PaymentModal } from \"./PaymentModal.jsx\";\r\nimport \"./styles.css\";\r\n\r\n/**\r\n * AccountButton\r\n * - Navbar center ನಲ್ಲಿ place ಮಾಡಬಹುದು\r\n * - localStorage ನಲ್ಲಿ glh_payment_account ಇದ್ದರೆ button \"Subscribed ✓\" ಆಗಿ show ಆಗುತ್ತದೆ\r\n */\r\nexport function AccountButton({\r\n buttonText = \"Account\",\r\n subscribedText = \"Subscribed ✓\",\r\n wrapperClassName = \"\",\r\n buttonClassName = \"\",\r\n onAccountCreated\r\n}) {\r\n const [open, setOpen] = useState(false);\r\n const [hasAccount, setHasAccount] = useState(false);\r\n\r\n function readAccountFlag() {\r\n try {\r\n const saved = localStorage.getItem(\"glh_payment_account\");\r\n return !!saved;\r\n } catch (e) {\r\n return false;\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n setHasAccount(readAccountFlag());\r\n }, []);\r\n\r\n function handleClose() {\r\n setOpen(false);\r\n\r\n // close ಆದಮೇಲೆ storage re-check ಮಾಡಿ button text update\r\n try {\r\n const saved = localStorage.getItem(\"glh_payment_account\");\r\n const ok = !!saved;\r\n setHasAccount(ok);\r\n\r\n if (ok && typeof onAccountCreated === \"function\") {\r\n onAccountCreated(JSON.parse(saved));\r\n }\r\n } catch (e) {\r\n // ignore\r\n }\r\n }\r\n\r\n const label = hasAccount ? subscribedText : buttonText;\r\n\r\n return (\r\n <>\r\n <div className={`glh-pay-centerWrap ${wrapperClassName}`}>\r\n <button\r\n className={`glh-pay-btn ${buttonClassName}`}\r\n onClick={() => setOpen(true)}\r\n type=\"button\"\r\n >\r\n {label}\r\n </button>\r\n </div>\r\n\r\n <PaymentModal open={open} onClose={handleClose} />\r\n </>\r\n );\r\n}\r\n"],"names":["PRICE_PER_MONTH","PLAN_LIST","key","label","months","enabled","PaymentModal","open","onClose","defaultPlanKey","planKey","setPlanKey","useState","accountCreated","setAccountCreated","selectedPlan","useMemo","find","p","total","discountPercent","discountAmount","netPayable","handleBackdropClick","e","target","classList","contains","createAccountAndSubscribe","payload","createdAt","Date","toISOString","plan","pricePerMonth","localStorage","setItem","JSON","stringify","err","createPortal","React","createElement","className","onMouseDown","role","stopPropagation","onClick","Fragment","style","marginBottom","map","disabled","selected","pickPlan","join","tabIndex","onKeyDown","display","gap","fontWeight","fontSize","color","padding","marginTop","document","body","AccountButton","buttonText","subscribedText","wrapperClassName","buttonClassName","onAccountCreated","setOpen","hasAccount","setHasAccount","readAccountFlag","saved","getItem","useEffect","handleClose","ok","parse","type"],"mappings":"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"}
|
package/package.json
CHANGED