ft-scout 8.0.9 → 9.0.1
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/.firebase/hosting.d2Vi.cache +7 -6
- package/README.md +2 -2
- package/bin/src/commands/plan.d.ts.map +1 -1
- package/bin/src/commands/plan.js +66 -11
- package/bin/src/commands/plan.js.map +1 -1
- package/bin/src/index.js +4 -4
- package/bin/src/server/server.d.ts.map +1 -1
- package/bin/src/server/server.js +256 -3
- package/bin/src/server/server.js.map +1 -1
- package/bin/src/utils/admin.d.ts.map +1 -0
- package/bin/src/utils/admin.js +237 -0
- package/bin/src/utils/admin.js.map +1 -0
- package/bin/src/utils/auth.d.ts.map +1 -1
- package/bin/src/utils/auth.js +17 -7
- package/bin/src/utils/auth.js.map +1 -1
- package/bin/src/utils/branding.js +1 -1
- package/bin/src/utils/payment.d.ts.map +1 -1
- package/bin/src/utils/payment.js +43 -29
- package/bin/src/utils/payment.js.map +1 -1
- package/bin/src/utils/pricing.d.ts.map +1 -0
- package/bin/src/utils/pricing.js +165 -0
- package/bin/src/utils/pricing.js.map +1 -0
- package/firebase.json +8 -0
- package/package.json +1 -1
- package/web/app.js +129 -14
- package/web/styles.css +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payment.js","sourceRoot":"","sources":["payment.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,cAAc,EAAmB,MAAM,WAAW,CAAC;AAE5E,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAC3C,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC/E,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAgB/B,MAAM,CAAC,MAAM,YAAY,GAAkC;IACvD,IAAI,EAAE;QACF,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,gBAAgB;QACtB,YAAY,EAAE,CAAC;QACf,WAAW,EAAE,CAAC;QACd,OAAO,EAAE,GAAG;QACZ,WAAW,EAAE,sCAAsC;QACnD,QAAQ,EAAE,CAAC,wBAAwB,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,mBAAmB,CAAC;KAC5G;IACD,GAAG,EAAE;QACD,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,eAAe;QACrB,YAAY,EAAE,EAAE;QAChB,WAAW,EAAE,EAAE;QACf,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,mDAAmD;QAChE,QAAQ,EAAE,CAAC,0BAA0B,EAAE,6BAA6B,EAAE,gCAAgC,EAAE,2BAA2B,CAAC;KACvI;IACD,UAAU,EAAE;QACR,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,mBAAmB;QACzB,YAAY,EAAE,EAAE;QAChB,WAAW,EAAE,EAAE;QACf,OAAO,EAAE,KAAK;QACd,WAAW,EAAE,+CAA+C;QAC5D,QAAQ,EAAE,CAAC,2BAA2B,EAAE,2CAA2C,EAAE,mCAAmC,EAAE,+BAA+B,CAAC;KAC7J;CACJ,CAAC;AAUF,MAAM,UAAU,gBAAgB;IAC5B,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,MAAM;QACrC,CAAC,CAAC,0BAA0B;QAC5B,CAAC,CAAC,kCAAkC,CAAC;AAC7C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAC9C,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;IAEtD,IAAI,CAAC,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,wFAAwF,CAAC,CAAC;IAC9G,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,IAAI,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC3E,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IAEnC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,kBAAkB,EAAE;QACvD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACL,eAAe,EAAE,SAAS,IAAI,EAAE;YAChC,cAAc,EAAE,mCAAmC;SACtD;QACD,IAAI,EAAE,+BAA+B;KACxC,CAAC,CAAC;IAEH,MAAM,IAAI,GAAQ,MAAM,aAAa,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;IACtE,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,KAAK,IAAI,iCAAiC,EAAE,CAAC,CAAC;IACzH,CAAC;IAED,OAAO,IAAI,CAAC,YAAY,CAAC;AAC7B,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,GAAa,EAAE,aAAqB;IAC7D,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9B,IAAI,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACL,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC/D,MAAM,IAAI,KAAK,CAAC,8CAA8C,aAAa,UAAU,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,MAAM,OAAO,EAAE,CAAC,CAAC;IACtI,CAAC;AACL,CAAC;AAED,MAAM,UAAU,kBAAkB;IAC9B,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,sBAAsB;IAClC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,MAAM,CAAC;IAClD,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAEhG,OAAO;QACH,QAAQ,EAAE,QAAQ;QAClB,SAAS,EAAE,CAAC,MAAM,IAAI,CAAC,aAAa;QACpC,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,SAAS;QACzD,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,SAAS;QACvD,KAAK,EAAE,YAAY;KACtB,CAAC;AACN,CAAC;AAwBD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,MAA4B;IACpE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACzB,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7E,MAAM,SAAS,GAAG,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;IAExF,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B;QAC5D,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ;QACtE,CAAC,CAAC,sCAAsC,CAAC;IAE7C,MAAM,WAAW,GAAG,MAAM,oBAAoB,EAAE,CAAC;IACjD,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IACnC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,iBAAiB,CAAC;IACxD,MAAM,gBAAgB,GAAG,GAAG,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,qBAAqB,IAAI,EAAE,CAAC;IACvG,MAAM,eAAe,GAAG,MAAM,CAAC,SAAS,IAAI,GAAG,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC;IAE9G,MAAM,YAAY,GAAG;QACjB,MAAM,EAAE,SAAS;QACjB,cAAc,EAAE;YACZ;gBACI,YAAY,EAAE,SAAS,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE;gBAC3C,WAAW,EAAE,sBAAsB,IAAI,CAAC,IAAI,KAAK,YAAY,GAAG;gBAChE,MAAM,EAAE;oBACJ,aAAa,EAAE,KAAK;oBACpB,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;iBAC9B;aACJ;SACJ;QACD,mBAAmB,EAAE;YACjB,UAAU,EAAE,oBAAoB;YAChC,YAAY,EAAE,SAAS;YACvB,WAAW,EAAE,SAAS;YACtB,UAAU,EAAE,gBAAgB;YAC5B,UAAU,EAAE,eAAe;SAC9B;KACJ,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,qBAAqB,EAAE;QAC1D,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACL,eAAe,EAAE,UAAU,WAAW,EAAE;YACxC,cAAc,EAAE,kBAAkB;SACrC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;KACrC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAQ,MAAM,aAAa,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;IAC5E,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,iCAAiC,SAAS,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACvG,CAAC;IAED,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,EAAE,IAAI,CAAC;IACjF,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO;QACH,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,QAAQ;QAClB,SAAS,EAAE,SAAS,CAAC,EAAE;QACvB,OAAO,EAAE,SAAS,CAAC,EAAE;QACrB,WAAW,EAAE,WAAW;QACxB,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,KAAK;QACf,IAAI;QACJ,YAAY;QACZ,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,MAAM;KAChD,CAAC;AACN,CAAC;AAqBD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,MAA2B;IACnE,MAAM,aAAa,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACxF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IAEzB,IAAI,CAAC,aAAa,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;IAC9F,CAAC;IAED,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,4CAA4C,IAAI,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7E,MAAM,aAAa,GAAG,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;IAE5F,8CAA8C;IAC9C,MAAM,WAAW,GAAG,MAAM,oBAAoB,EAAE,CAAC;IACjD,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IAEnC,IAAI,SAAS,GAAQ,IAAI,CAAC;IAC1B,IAAI,aAAa,GAAG,EAAE,CAAC;IAEvB,8CAA8C;IAC9C,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,uBAAuB,kBAAkB,CAAC,aAAa,CAAC,UAAU,EAAE;QACzG,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACL,eAAe,EAAE,UAAU,WAAW,EAAE;YACxC,cAAc,EAAE,kBAAkB;SACrC;KACJ,CAAC,CAAC;IAEH,MAAM,WAAW,GAAQ,MAAM,aAAa,CAAC,UAAU,EAAE,sBAAsB,CAAC,CAAC;IAEjF,IAAI,UAAU,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,OAAO,CAAC,EAAE,CAAC;QAC1F,SAAS,GAAG,WAAW,CAAC;QACxB,MAAM,WAAW,GAAG,WAAW,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7E,aAAa,GAAG,WAAW,EAAE,EAAE,IAAI,WAAW,CAAC,EAAE,CAAC;IACtD,CAAC;SAAM,IACH,WAAW,CAAC,MAAM,KAAK,WAAW;QAClC,WAAW,CAAC,IAAI,KAAK,sBAAsB;QAC3C,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,wBAAwB,CAAC,EAC7E,CAAC;QACC,uEAAuE;QACvE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,uBAAuB,kBAAkB,CAAC,aAAa,CAAC,EAAE,EAAE;YAC7F,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACL,eAAe,EAAE,UAAU,WAAW,EAAE;gBACxC,cAAc,EAAE,kBAAkB;aACrC;SACJ,CAAC,CAAC;QAEH,MAAM,OAAO,GAAQ,MAAM,aAAa,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;QACrE,IAAI,MAAM,CAAC,EAAE,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAC9C,SAAS,GAAG,OAAO,CAAC;YACpB,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;YACzE,aAAa,GAAG,WAAW,EAAE,EAAE,IAAI,OAAO,CAAC,EAAE,CAAC;QAClD,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CAAC,sDAAsD,OAAO,CAAC,MAAM,IAAI,SAAS,wBAAwB,CAAC,CAAC;QAC/H,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC7G,MAAM,IAAI,KAAK,CAAC,0BAA0B,QAAQ,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,wEAAwE;IACxE,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,yDAAyD,SAAS,EAAE,MAAM,IAAI,YAAY,GAAG,CAAC,CAAC;IACnH,CAAC;IAED,MAAM,YAAY,GAAG,SAAS,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC;IACnD,MAAM,WAAW,GAAG,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAM,YAAY,GAAG,WAAW,EAAE,MAAM,EAAE,aAAa,IAAI,YAAY,EAAE,MAAM,EAAE,aAAa,CAAC;IAC/F,MAAM,UAAU,GAAG,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,EAAE,KAAK,IAAI,GAAG,CAAC,CAAC;IAEhG,IAAI,YAAY,KAAK,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,yEAAyE,YAAY,GAAG,CAAC,CAAC;IAC9G,CAAC;IAED,kEAAkE;IAClE,IAAI,UAAU,GAAG,aAAa,GAAG,IAAI,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,uDAAuD,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,0CAA0C,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACxK,CAAC;IAED,sDAAsD;IACtD,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;IAClC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEpF,MAAM,aAAa,GAAe;QAC9B,GAAG,MAAM;QACT,WAAW,EAAE,IAAI;QACjB,YAAY,EAAE,IAAI,CAAC,OAAO;QAC1B,WAAW,EAAE,CAAC,EAAE,4CAA4C;QAC5D,YAAY,EAAE,IAAI;QAClB,aAAa;QACb,OAAO,EAAE,WAAW,CAAC,WAAW,EAAE;KACrC,CAAC;IAEF,cAAc,CAAC,aAAa,CAAC,CAAC;IAE9B,OAAO;QACH,OAAO,EAAE,IAAI;QACb,IAAI;QACJ,YAAY,EAAE,IAAI,CAAC,OAAO;QAC1B,YAAY,EAAE,IAAI,CAAC,OAAO;QAC1B,OAAO,EAAE,WAAW,CAAC,WAAW,EAAE;QAClC,IAAI,EAAE,aAAa;QACnB,aAAa,EAAE,aAAa,IAAI,aAAa;KAChD,CAAC;AACN,CAAC"}
|
|
1
|
+
{"version":3,"file":"payment.js","sourceRoot":"","sources":["payment.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pricing.d.ts","sourceRoot":"","sources":["pricing.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,YAAY,CAAC;AACrD,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEhD,MAAM,WAAW,iBAAiB;IAC9B,EAAE,EAAE,QAAQ,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACxC;AAKD,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,QAAQ,EAAE,iBAAiB,CAqEtE,CAAC;AAQF,wBAAgB,gBAAgB,IAAI,MAAM,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAoBtE;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,iBAAiB,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CA+CtH;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,iBAAiB,CAcxG;AAED,wBAAgB,sBAAsB,IAAI,MAAM,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAE5E"}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import os from 'os';
|
|
4
|
+
const PRICING_DIR = path.join(os.homedir(), '.ft');
|
|
5
|
+
const PRICING_FILE = path.join(PRICING_DIR, 'pricing.json');
|
|
6
|
+
export const DEFAULT_PRICING_CONFIG = {
|
|
7
|
+
free: {
|
|
8
|
+
id: 'free',
|
|
9
|
+
name: 'Developer Free',
|
|
10
|
+
monthlyPriceINR: 0,
|
|
11
|
+
annualPriceINR: 0,
|
|
12
|
+
monthlyPriceUSD: 0,
|
|
13
|
+
annualPriceUSD: 0,
|
|
14
|
+
credits: 100,
|
|
15
|
+
description: 'Essential tools for individual developer workflow',
|
|
16
|
+
features: [
|
|
17
|
+
'100 AI credits / month',
|
|
18
|
+
'Full Scout CLI core features',
|
|
19
|
+
'1 Active CLI session slot',
|
|
20
|
+
'Single-use authorization tokens',
|
|
21
|
+
'Community support & docs',
|
|
22
|
+
],
|
|
23
|
+
offerActive: false,
|
|
24
|
+
},
|
|
25
|
+
pro: {
|
|
26
|
+
id: 'pro',
|
|
27
|
+
name: 'Pro Developer',
|
|
28
|
+
monthlyPriceINR: 50, // ₹50 as requested by user
|
|
29
|
+
annualPriceINR: 45,
|
|
30
|
+
monthlyPriceUSD: 0.99,
|
|
31
|
+
annualPriceUSD: 0.79,
|
|
32
|
+
credits: 1000,
|
|
33
|
+
description: 'High-power AI co-pilot capabilities, priority quota & live visual HUD',
|
|
34
|
+
popular: true,
|
|
35
|
+
badge: 'POPULAR',
|
|
36
|
+
features: [
|
|
37
|
+
'1,000 AI credits / month',
|
|
38
|
+
'Unlimited AI co-pilot queries',
|
|
39
|
+
'Up to 5 Active CLI Sessions',
|
|
40
|
+
'Live Screen Sharing & Visual Perception HUD',
|
|
41
|
+
'Fast-track model response engine',
|
|
42
|
+
'Priority token revocation & audit logs',
|
|
43
|
+
'Direct email support response',
|
|
44
|
+
],
|
|
45
|
+
offerActive: false,
|
|
46
|
+
offerPriceINR: 49,
|
|
47
|
+
offerPriceUSD: 0.49,
|
|
48
|
+
offerBadge: 'SPECIAL OFFER',
|
|
49
|
+
offerBannerText: '🔥 Limited Time Offer: Get Pro for just ₹49/mo!',
|
|
50
|
+
},
|
|
51
|
+
enterprise: {
|
|
52
|
+
id: 'enterprise',
|
|
53
|
+
name: 'Team & Enterprise',
|
|
54
|
+
monthlyPriceINR: 3999,
|
|
55
|
+
annualPriceINR: 37990,
|
|
56
|
+
monthlyPriceUSD: 49,
|
|
57
|
+
annualPriceUSD: 39,
|
|
58
|
+
credits: 10000,
|
|
59
|
+
description: 'Organization controls, security policies & dedicated scale',
|
|
60
|
+
features: [
|
|
61
|
+
'10,000 AI credits / month',
|
|
62
|
+
'Multi-seat organization access',
|
|
63
|
+
'Unlimited CLI Session connections',
|
|
64
|
+
'Window Isolation & Multi-App Vision Engine',
|
|
65
|
+
'Custom security token policies',
|
|
66
|
+
'Dedicated account SLA support',
|
|
67
|
+
'24/7 SLA Priority response',
|
|
68
|
+
],
|
|
69
|
+
offerActive: false,
|
|
70
|
+
offerPriceINR: 2999,
|
|
71
|
+
offerPriceUSD: 35,
|
|
72
|
+
offerBadge: 'ENTERPRISE DEAL',
|
|
73
|
+
offerBannerText: '💼 Enterprise Special: Flat ₹2,999/mo for team onboarding!',
|
|
74
|
+
},
|
|
75
|
+
};
|
|
76
|
+
function ensurePricingDir() {
|
|
77
|
+
if (!fs.existsSync(PRICING_DIR)) {
|
|
78
|
+
fs.mkdirSync(PRICING_DIR, { recursive: true });
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
export function getPricingConfig() {
|
|
82
|
+
try {
|
|
83
|
+
if (fs.existsSync(PRICING_FILE)) {
|
|
84
|
+
const raw = fs.readFileSync(PRICING_FILE, 'utf-8');
|
|
85
|
+
const parsed = JSON.parse(raw);
|
|
86
|
+
if (parsed && typeof parsed === 'object' && parsed.pro && parsed.free) {
|
|
87
|
+
return {
|
|
88
|
+
free: { ...DEFAULT_PRICING_CONFIG.free, ...parsed.free },
|
|
89
|
+
pro: { ...DEFAULT_PRICING_CONFIG.pro, ...parsed.pro },
|
|
90
|
+
enterprise: { ...DEFAULT_PRICING_CONFIG.enterprise, ...parsed.enterprise },
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
catch (err) {
|
|
96
|
+
console.warn('[Pricing Engine] Error reading pricing file, using default configuration:', err);
|
|
97
|
+
}
|
|
98
|
+
// Auto-initialize file if it doesn't exist
|
|
99
|
+
saveFullPricingConfig(DEFAULT_PRICING_CONFIG);
|
|
100
|
+
return { ...DEFAULT_PRICING_CONFIG };
|
|
101
|
+
}
|
|
102
|
+
export function saveFullPricingConfig(config) {
|
|
103
|
+
ensurePricingDir();
|
|
104
|
+
const cleanConfig = {
|
|
105
|
+
free: {
|
|
106
|
+
...DEFAULT_PRICING_CONFIG.free,
|
|
107
|
+
...config.free,
|
|
108
|
+
id: 'free',
|
|
109
|
+
monthlyPriceINR: 0,
|
|
110
|
+
annualPriceINR: 0,
|
|
111
|
+
monthlyPriceUSD: 0,
|
|
112
|
+
annualPriceUSD: 0,
|
|
113
|
+
offerActive: Boolean(config.free?.offerActive),
|
|
114
|
+
},
|
|
115
|
+
pro: {
|
|
116
|
+
...DEFAULT_PRICING_CONFIG.pro,
|
|
117
|
+
...config.pro,
|
|
118
|
+
id: 'pro',
|
|
119
|
+
monthlyPriceINR: Math.max(0, Number(config.pro?.monthlyPriceINR ?? 50)),
|
|
120
|
+
annualPriceINR: Math.max(0, Number(config.pro?.annualPriceINR ?? 45)),
|
|
121
|
+
monthlyPriceUSD: Math.max(0, Number(config.pro?.monthlyPriceUSD ?? 0.99)),
|
|
122
|
+
annualPriceUSD: Math.max(0, Number(config.pro?.annualPriceUSD ?? 0.79)),
|
|
123
|
+
credits: Math.max(100, Number(config.pro?.credits ?? 1000)),
|
|
124
|
+
offerActive: Boolean(config.pro?.offerActive),
|
|
125
|
+
offerPriceINR: config.pro?.offerPriceINR !== undefined ? Number(config.pro.offerPriceINR) : undefined,
|
|
126
|
+
offerPriceUSD: config.pro?.offerPriceUSD !== undefined ? Number(config.pro.offerPriceUSD) : undefined,
|
|
127
|
+
offerBadge: config.pro?.offerBadge || 'SPECIAL OFFER',
|
|
128
|
+
offerBannerText: config.pro?.offerBannerText || '',
|
|
129
|
+
},
|
|
130
|
+
enterprise: {
|
|
131
|
+
...DEFAULT_PRICING_CONFIG.enterprise,
|
|
132
|
+
...config.enterprise,
|
|
133
|
+
id: 'enterprise',
|
|
134
|
+
monthlyPriceINR: Math.max(0, Number(config.enterprise?.monthlyPriceINR ?? 3999)),
|
|
135
|
+
annualPriceINR: Math.max(0, Number(config.enterprise?.annualPriceINR ?? 37990)),
|
|
136
|
+
monthlyPriceUSD: Math.max(0, Number(config.enterprise?.monthlyPriceUSD ?? 49)),
|
|
137
|
+
annualPriceUSD: Math.max(0, Number(config.enterprise?.annualPriceUSD ?? 39)),
|
|
138
|
+
credits: Math.max(1000, Number(config.enterprise?.credits ?? 10000)),
|
|
139
|
+
offerActive: Boolean(config.enterprise?.offerActive),
|
|
140
|
+
offerPriceINR: config.enterprise?.offerPriceINR !== undefined ? Number(config.enterprise.offerPriceINR) : undefined,
|
|
141
|
+
offerPriceUSD: config.enterprise?.offerPriceUSD !== undefined ? Number(config.enterprise.offerPriceUSD) : undefined,
|
|
142
|
+
offerBadge: config.enterprise?.offerBadge || 'ENTERPRISE DEAL',
|
|
143
|
+
offerBannerText: config.enterprise?.offerBannerText || '',
|
|
144
|
+
},
|
|
145
|
+
};
|
|
146
|
+
fs.writeFileSync(PRICING_FILE, JSON.stringify(cleanConfig, null, 2), 'utf-8');
|
|
147
|
+
return cleanConfig;
|
|
148
|
+
}
|
|
149
|
+
export function updatePricingTier(tier, updates) {
|
|
150
|
+
const current = getPricingConfig();
|
|
151
|
+
if (!current[tier]) {
|
|
152
|
+
throw new Error(`Invalid plan tier: ${tier}`);
|
|
153
|
+
}
|
|
154
|
+
current[tier] = {
|
|
155
|
+
...current[tier],
|
|
156
|
+
...updates,
|
|
157
|
+
id: tier,
|
|
158
|
+
};
|
|
159
|
+
const saved = saveFullPricingConfig(current);
|
|
160
|
+
return saved[tier];
|
|
161
|
+
}
|
|
162
|
+
export function resetPricingToDefaults() {
|
|
163
|
+
return saveFullPricingConfig(DEFAULT_PRICING_CONFIG);
|
|
164
|
+
}
|
|
165
|
+
//# sourceMappingURL=pricing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pricing.js","sourceRoot":"","sources":["pricing.ts"],"names":[],"mappings":"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"}
|
package/firebase.json
CHANGED
package/package.json
CHANGED
package/web/app.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* ==========================================================================
|
|
2
|
-
FrontTerrain Scout — Multi-Page Application Engine
|
|
2
|
+
FrontTerrain Scout — Multi-Page Application Engine v9.0.1
|
|
3
3
|
========================================================================== */
|
|
4
4
|
|
|
5
5
|
const FIREBASE_CONFIG = {
|
|
@@ -52,6 +52,11 @@ let state = {
|
|
|
52
52
|
customApiKey: '',
|
|
53
53
|
customBaseUrl: '',
|
|
54
54
|
razorpayKeyId: '',
|
|
55
|
+
pricing: {
|
|
56
|
+
free: { monthlyPriceINR: 0, annualPriceINR: 0, monthlyPriceUSD: 0, annualPriceUSD: 0, credits: 100 },
|
|
57
|
+
pro: { monthlyPriceINR: 50, annualPriceINR: 45, monthlyPriceUSD: 0.99, annualPriceUSD: 0.79, credits: 1000 },
|
|
58
|
+
enterprise: { monthlyPriceINR: 3999, annualPriceINR: 37990, monthlyPriceUSD: 49, annualPriceUSD: 39, credits: 10000 },
|
|
59
|
+
},
|
|
55
60
|
};
|
|
56
61
|
|
|
57
62
|
let pendingCheckoutTier = null;
|
|
@@ -179,6 +184,49 @@ async function checkPaymentRedirectCallback() {
|
|
|
179
184
|
}
|
|
180
185
|
}
|
|
181
186
|
|
|
187
|
+
// Dynamic Pricing Loader & Admin Navigation Hook
|
|
188
|
+
async function loadDynamicPricing() {
|
|
189
|
+
try {
|
|
190
|
+
const res = await fetch('/api/pricing');
|
|
191
|
+
if (res.ok) {
|
|
192
|
+
const data = await res.json();
|
|
193
|
+
if (data && data.success && data.pricing) {
|
|
194
|
+
state.pricing = data.pricing;
|
|
195
|
+
renderTiersUI();
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
} catch { }
|
|
199
|
+
|
|
200
|
+
try {
|
|
201
|
+
const adminToken = sessionStorage.getItem('scout_admin_token');
|
|
202
|
+
const userEmail = (state.user?.email || '').toLowerCase();
|
|
203
|
+
if (adminToken || userEmail === 'rishishandilya40@gmail.com' || userEmail.includes('admin')) {
|
|
204
|
+
showAdminNavigationLink();
|
|
205
|
+
} else {
|
|
206
|
+
const checkRes = await fetch('/api/admin/check');
|
|
207
|
+
if (checkRes.ok) {
|
|
208
|
+
const checkData = await checkRes.json();
|
|
209
|
+
if (checkData.authorized) showAdminNavigationLink();
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
} catch { }
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
function showAdminNavigationLink() {
|
|
216
|
+
if (!document.getElementById('nav-admin-link')) {
|
|
217
|
+
const mainNav = getEl('main-nav');
|
|
218
|
+
if (mainNav) {
|
|
219
|
+
const a = document.createElement('a');
|
|
220
|
+
a.id = 'nav-admin-link';
|
|
221
|
+
a.href = '/admin';
|
|
222
|
+
a.className = 'nav-btn';
|
|
223
|
+
a.style.color = '#f06843';
|
|
224
|
+
a.innerHTML = '<i class="fa-solid fa-sliders"></i> Admin';
|
|
225
|
+
mainNav.appendChild(a);
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
|
|
182
230
|
// Initialize Application
|
|
183
231
|
document.addEventListener('DOMContentLoaded', async () => {
|
|
184
232
|
highlightActiveNav();
|
|
@@ -189,6 +237,7 @@ document.addEventListener('DOMContentLoaded', async () => {
|
|
|
189
237
|
initTerminalSimulator();
|
|
190
238
|
renderAllDynamicComponents();
|
|
191
239
|
await checkServerStatusAndSession();
|
|
240
|
+
await loadDynamicPricing();
|
|
192
241
|
await checkPaymentRedirectCallback();
|
|
193
242
|
|
|
194
243
|
if (getEl('pacman-canvas')) {
|
|
@@ -318,20 +367,31 @@ function openCheckoutModal(targetTier) {
|
|
|
318
367
|
const isAnnual = state.billingCycle === 'annual';
|
|
319
368
|
const tierInfo = TIER_DETAILS[targetTier] || TIER_DETAILS.pro;
|
|
320
369
|
|
|
370
|
+
const p = state.pricing || {
|
|
371
|
+
pro: { monthlyPriceINR: 50, annualPriceINR: 45, credits: 1000 },
|
|
372
|
+
enterprise: { monthlyPriceINR: 3999, annualPriceINR: 37990, credits: 10000 },
|
|
373
|
+
};
|
|
374
|
+
|
|
321
375
|
let price = '0';
|
|
322
376
|
let quota = '100 Credits / mo';
|
|
323
377
|
|
|
324
378
|
if (targetTier === 'pro') {
|
|
325
|
-
|
|
326
|
-
|
|
379
|
+
const isOffer = p.pro?.offerActive && !isAnnual && p.pro?.offerPriceINR !== undefined;
|
|
380
|
+
const inr = isOffer ? p.pro.offerPriceINR : (isAnnual ? (p.pro?.annualPriceINR ?? 45) : (p.pro?.monthlyPriceINR ?? 50));
|
|
381
|
+
price = inr.toLocaleString('en-IN');
|
|
382
|
+
quota = `${(p.pro?.credits || 1000).toLocaleString()} Credits / mo`;
|
|
327
383
|
} else if (targetTier === 'enterprise') {
|
|
328
|
-
|
|
329
|
-
|
|
384
|
+
const isOffer = p.enterprise?.offerActive && !isAnnual && p.enterprise?.offerPriceINR !== undefined;
|
|
385
|
+
const inr = isOffer ? p.enterprise.offerPriceINR : (isAnnual ? (p.enterprise?.annualPriceINR ?? 37990) : (p.enterprise?.monthlyPriceINR ?? 3999));
|
|
386
|
+
price = inr.toLocaleString('en-IN');
|
|
387
|
+
quota = `${(p.enterprise?.credits || 10000).toLocaleString()} Credits / mo`;
|
|
330
388
|
}
|
|
331
389
|
|
|
332
390
|
if (getEl('checkout-plan-name')) getEl('checkout-plan-name').innerText = tierInfo.name;
|
|
333
|
-
if (getEl('checkout-billing-cycle')) getEl('checkout-billing-cycle').innerText = isAnnual ? 'Billed Annually (
|
|
391
|
+
if (getEl('checkout-billing-cycle')) getEl('checkout-billing-cycle').innerText = isAnnual ? 'Billed Annually (Save more)' : 'Billed Monthly';
|
|
334
392
|
if (getEl('checkout-plan-price')) getEl('checkout-plan-price').innerText = price;
|
|
393
|
+
const checkoutCurrency = document.querySelector('.checkout-price-display .price-currency');
|
|
394
|
+
if (checkoutCurrency) checkoutCurrency.innerText = '₹';
|
|
335
395
|
if (getEl('checkout-price-period')) getEl('checkout-price-period').innerText = isAnnual ? '/ mo (annual)' : '/ mo';
|
|
336
396
|
if (getEl('checkout-quota-val')) getEl('checkout-quota-val').innerText = quota;
|
|
337
397
|
|
|
@@ -426,14 +486,19 @@ function resumeSubscription() {
|
|
|
426
486
|
// Render and initialize Razorpay button UI
|
|
427
487
|
function renderRazorpayButton(targetTier) {
|
|
428
488
|
const isAnnual = state.billingCycle === 'annual';
|
|
429
|
-
const
|
|
489
|
+
const p = state.pricing || {};
|
|
490
|
+
const isProOffer = p.pro?.offerActive && !isAnnual && p.pro?.offerPriceINR !== undefined;
|
|
491
|
+
const isEntOffer = p.enterprise?.offerActive && !isAnnual && p.enterprise?.offerPriceINR !== undefined;
|
|
492
|
+
const inrAmount = targetTier === 'enterprise'
|
|
493
|
+
? (isEntOffer ? p.enterprise.offerPriceINR : (isAnnual ? (p.enterprise?.annualPriceINR ?? 37990) : (p.enterprise?.monthlyPriceINR ?? 3999)))
|
|
494
|
+
: (isProOffer ? p.pro.offerPriceINR : (isAnnual ? (p.pro?.annualPriceINR ?? 45) : (p.pro?.monthlyPriceINR ?? 50)));
|
|
430
495
|
const btnRzp = getEl('btn-razorpay-checkout');
|
|
431
496
|
if (!btnRzp) return;
|
|
432
497
|
|
|
433
498
|
btnRzp.disabled = false;
|
|
434
499
|
btnRzp.innerHTML = `
|
|
435
500
|
<i class="fa-solid fa-bolt text-warning" style="font-size: 18px;"></i>
|
|
436
|
-
<span>Pay with Razorpay</span>
|
|
501
|
+
<span>Pay ₹${inrAmount.toLocaleString('en-IN')} with Razorpay / UPI</span>
|
|
437
502
|
`;
|
|
438
503
|
}
|
|
439
504
|
|
|
@@ -441,7 +506,12 @@ function renderRazorpayButton(targetTier) {
|
|
|
441
506
|
async function handleRazorpayCheckout() {
|
|
442
507
|
const targetTier = pendingCheckoutTier || 'pro';
|
|
443
508
|
const isAnnual = state.billingCycle === 'annual';
|
|
444
|
-
const
|
|
509
|
+
const p = state.pricing || {};
|
|
510
|
+
const isProOffer = p.pro?.offerActive && !isAnnual && p.pro?.offerPriceINR !== undefined;
|
|
511
|
+
const isEntOffer = p.enterprise?.offerActive && !isAnnual && p.enterprise?.offerPriceINR !== undefined;
|
|
512
|
+
const inrAmount = targetTier === 'enterprise'
|
|
513
|
+
? (isEntOffer ? p.enterprise.offerPriceINR : (isAnnual ? (p.enterprise?.annualPriceINR ?? 37990) : (p.enterprise?.monthlyPriceINR ?? 3999)))
|
|
514
|
+
: (isProOffer ? p.pro.offerPriceINR : (isAnnual ? (p.pro?.annualPriceINR ?? 45) : (p.pro?.monthlyPriceINR ?? 50)));
|
|
445
515
|
const amountInPaise = inrAmount * 100; // minimum 100 paise
|
|
446
516
|
|
|
447
517
|
const btnRzp = getEl('btn-razorpay-checkout');
|
|
@@ -980,7 +1050,7 @@ function initTerminalSimulator() {
|
|
|
980
1050
|
`;
|
|
981
1051
|
} else if (lower.includes('status')) {
|
|
982
1052
|
response.innerHTML = `
|
|
983
|
-
<span class="term-green">✔ Scout CLI Engine:
|
|
1053
|
+
<span class="term-green">✔ Scout CLI Engine: v9.0.1 Online</span><br>
|
|
984
1054
|
↳ User: <strong>${escapeHtml(state.user ? state.user.name : 'Guest Session')}</strong><br>
|
|
985
1055
|
↳ Active Subscription: <strong>${escapeHtml(TIER_DETAILS[state.currentTier].name)}</strong><br>
|
|
986
1056
|
↳ Credit Quota: <strong>${state.byokEnabled ? 'BYOK Mode (Unlimited)' : `${state.creditsUsed} / ${state.creditsTotal} Credits Used`}</strong><br>
|
|
@@ -1224,11 +1294,34 @@ function renderTiersUI() {
|
|
|
1224
1294
|
}
|
|
1225
1295
|
|
|
1226
1296
|
const isAnnual = state.billingCycle === 'annual';
|
|
1227
|
-
|
|
1228
|
-
|
|
1297
|
+
const p = state.pricing || {};
|
|
1298
|
+
const isProOffer = p.pro?.offerActive && !isAnnual && p.pro?.offerPriceINR !== undefined;
|
|
1299
|
+
const isEntOffer = p.enterprise?.offerActive && !isAnnual && p.enterprise?.offerPriceINR !== undefined;
|
|
1229
1300
|
|
|
1230
|
-
|
|
1231
|
-
|
|
1301
|
+
const proINR = isProOffer ? p.pro.offerPriceINR : (isAnnual ? (p.pro?.annualPriceINR ?? 45) : (p.pro?.monthlyPriceINR ?? 50));
|
|
1302
|
+
const entINR = isEntOffer ? p.enterprise.offerPriceINR : (isAnnual ? (p.enterprise?.annualPriceINR ?? 37990) : (p.enterprise?.monthlyPriceINR ?? 3999));
|
|
1303
|
+
|
|
1304
|
+
if (getEl('price-pro-val')) {
|
|
1305
|
+
if (isProOffer && p.pro?.monthlyPriceINR) {
|
|
1306
|
+
getEl('price-pro-val').innerHTML = `<s style="font-size: 0.55em; opacity: 0.55; margin-right: 6px;">₹${p.pro.monthlyPriceINR}</s>₹${proINR}`;
|
|
1307
|
+
} else {
|
|
1308
|
+
getEl('price-pro-val').innerText = proINR;
|
|
1309
|
+
}
|
|
1310
|
+
}
|
|
1311
|
+
if (getEl('price-pro-period')) getEl('price-pro-period').innerText = isProOffer ? `/ month (${p.pro?.offerBadge || 'PROMO OFFER'})` : (isAnnual ? '/ month (billed annually)' : '/ month');
|
|
1312
|
+
const proCurrency = document.querySelector('#tier-card-pro .price-currency');
|
|
1313
|
+
if (proCurrency) proCurrency.innerText = isProOffer ? '' : '₹';
|
|
1314
|
+
|
|
1315
|
+
if (getEl('price-ent-val')) {
|
|
1316
|
+
if (isEntOffer && p.enterprise?.monthlyPriceINR) {
|
|
1317
|
+
getEl('price-ent-val').innerHTML = `<s style="font-size: 0.55em; opacity: 0.55; margin-right: 6px;">₹${p.enterprise.monthlyPriceINR.toLocaleString('en-IN')}</s>₹${entINR.toLocaleString('en-IN')}`;
|
|
1318
|
+
} else {
|
|
1319
|
+
getEl('price-ent-val').innerText = entINR.toLocaleString('en-IN');
|
|
1320
|
+
}
|
|
1321
|
+
}
|
|
1322
|
+
if (getEl('price-ent-period')) getEl('price-ent-period').innerText = isEntOffer ? `/ month (${p.enterprise?.offerBadge || 'PROMO OFFER'})` : (isAnnual ? '/ month (billed annually)' : '/ month');
|
|
1323
|
+
const entCurrency = document.querySelector('#tier-card-enterprise .price-currency');
|
|
1324
|
+
if (entCurrency) entCurrency.innerText = isEntOffer ? '' : '₹';
|
|
1232
1325
|
|
|
1233
1326
|
['free', 'pro', 'enterprise'].forEach((t) => {
|
|
1234
1327
|
const card = getEl(`tier-card-${t}`);
|
|
@@ -1405,6 +1498,28 @@ async function handleSignIn(e) {
|
|
|
1405
1498
|
|
|
1406
1499
|
if (!email || !password) return;
|
|
1407
1500
|
|
|
1501
|
+
// Check Master Admin Credentials
|
|
1502
|
+
const isMasterAdminAuth = (email.toLowerCase() === 'rishishandilya40@gmail.com' || email.toLowerCase().includes('admin')) && (password === 'scout_admin_2026' || password === 'admin');
|
|
1503
|
+
if (isMasterAdminAuth) {
|
|
1504
|
+
state.token = 'scout_admin_token_' + Date.now().toString(36);
|
|
1505
|
+
state.refreshToken = 'rt_' + Date.now().toString(36);
|
|
1506
|
+
state.user = {
|
|
1507
|
+
id: 'usr_admin_001',
|
|
1508
|
+
email: email,
|
|
1509
|
+
name: 'Scout Administrator',
|
|
1510
|
+
createdAt: new Date().toISOString(),
|
|
1511
|
+
};
|
|
1512
|
+
state.currentTier = 'pro';
|
|
1513
|
+
state.creditsTotal = 1000;
|
|
1514
|
+
state.creditsUsed = 0;
|
|
1515
|
+
sessionStorage.setItem('scout_admin_token', 'scout_admin_standalone_' + Date.now());
|
|
1516
|
+
saveSessionToStorage();
|
|
1517
|
+
updateUserUI();
|
|
1518
|
+
showToast('Authenticated as Scout Administrator! Redirecting to Control Center...', 'success');
|
|
1519
|
+
setTimeout(() => { window.location.href = '/admin'; }, 400);
|
|
1520
|
+
return;
|
|
1521
|
+
}
|
|
1522
|
+
|
|
1408
1523
|
if (btnSubmit) {
|
|
1409
1524
|
btnSubmit.disabled = true;
|
|
1410
1525
|
btnSubmit.innerHTML = '<i class="fa-solid fa-spinner fa-spin"></i> Authenticating...';
|
package/web/styles.css
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* ==========================================================================
|
|
2
|
-
FrontTerrain Scout — Design System & Visual Engine
|
|
2
|
+
FrontTerrain Scout — Design System & Visual Engine v9.0.1
|
|
3
3
|
Inspired by HappyRobot, Linear.app & Vercel aesthetics
|
|
4
4
|
========================================================================== */
|
|
5
5
|
|
|
@@ -1063,7 +1063,7 @@ h1, h2, h3, h4, h5, h6 {
|
|
|
1063
1063
|
.footer-links a:hover { color: var(--hr-rust); }
|
|
1064
1064
|
|
|
1065
1065
|
/* ==========================================================================
|
|
1066
|
-
Visual Perception & Live Screen Sharing Engine
|
|
1066
|
+
Visual Perception & Live Screen Sharing Engine v9.0.1
|
|
1067
1067
|
========================================================================== */
|
|
1068
1068
|
.vision-banner {
|
|
1069
1069
|
margin-bottom: 28px;
|