@qobo/banner 1.0.11 → 1.0.12
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 +8 -8
- package/dist/index.js +48 -47
- package/package.json +1 -1
- package/src/QoboBanner.jsx +6 -5
package/dist/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const A=require("react");var Z={exports:{}},
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const A=require("react");var Z={exports:{}},Y={};/**
|
|
2
2
|
* @license React
|
|
3
3
|
* react-jsx-runtime.production.min.js
|
|
4
4
|
*
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* This source code is licensed under the MIT license found in the
|
|
8
8
|
* LICENSE file in the root directory of this source tree.
|
|
9
|
-
*/var Se;function cr(){if(Se)return
|
|
9
|
+
*/var Se;function cr(){if(Se)return Y;Se=1;var C=A,R=Symbol.for("react.element"),x=Symbol.for("react.fragment"),m=Object.prototype.hasOwnProperty,T=C.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,w={key:!0,ref:!0,__self:!0,__source:!0};function _(y,f,h){var c,b={},E=null,I=null;h!==void 0&&(E=""+h),f.key!==void 0&&(E=""+f.key),f.ref!==void 0&&(I=f.ref);for(c in f)m.call(f,c)&&!w.hasOwnProperty(c)&&(b[c]=f[c]);if(y&&y.defaultProps)for(c in f=y.defaultProps,f)b[c]===void 0&&(b[c]=f[c]);return{$$typeof:R,type:y,key:E,ref:I,props:b,_owner:T.current}}return Y.Fragment=x,Y.jsx=_,Y.jsxs=_,Y}var B={};/**
|
|
10
10
|
* @license React
|
|
11
11
|
* react-jsx-runtime.development.js
|
|
12
12
|
*
|
|
@@ -14,17 +14,17 @@
|
|
|
14
14
|
*
|
|
15
15
|
* This source code is licensed under the MIT license found in the
|
|
16
16
|
* LICENSE file in the root directory of this source tree.
|
|
17
|
-
*/var xe;function dr(){return xe||(xe=1,process.env.NODE_ENV!=="production"&&function(){var C=A,R=Symbol.for("react.element"),x=Symbol.for("react.portal"),m=Symbol.for("react.fragment"),T=Symbol.for("react.strict_mode"),w=Symbol.for("react.profiler"),_=Symbol.for("react.provider"),y=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),
|
|
18
|
-
`+q+e}}var K=!1,L;{var Ve=typeof WeakMap=="function"?WeakMap:Map;L=new Ve}function fe(e,r){if(!e||K)return"";{var t=L.get(e);if(t!==void 0)return t}var n;K=!0;var i=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var s;s=U.current,U.current=null,
|
|
17
|
+
*/var xe;function dr(){return xe||(xe=1,process.env.NODE_ENV!=="production"&&function(){var C=A,R=Symbol.for("react.element"),x=Symbol.for("react.portal"),m=Symbol.for("react.fragment"),T=Symbol.for("react.strict_mode"),w=Symbol.for("react.profiler"),_=Symbol.for("react.provider"),y=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),h=Symbol.for("react.suspense"),c=Symbol.for("react.suspense_list"),b=Symbol.for("react.memo"),E=Symbol.for("react.lazy"),I=Symbol.for("react.offscreen"),D=Symbol.iterator,Oe="@@iterator";function Ce(e){if(e===null||typeof e!="object")return null;var r=D&&e[D]||e[Oe];return typeof r=="function"?r:null}var j=C.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function d(e){{for(var r=arguments.length,t=new Array(r>1?r-1:0),n=1;n<r;n++)t[n-1]=arguments[n];je("error",e,t)}}function je(e,r,t){{var n=j.ReactDebugCurrentFrame,i=n.getStackAddendum();i!==""&&(r+="%s",t=t.concat([i]));var s=t.map(function(o){return String(o)});s.unshift("Warning: "+r),Function.prototype.apply.call(console[e],console,s)}}var ke=!1,Fe=!1,Ae=!1,Ie=!1,De=!1,ee;ee=Symbol.for("react.module.reference");function $e(e){return!!(typeof e=="string"||typeof e=="function"||e===m||e===w||De||e===T||e===h||e===c||Ie||e===I||ke||Fe||Ae||typeof e=="object"&&e!==null&&(e.$$typeof===E||e.$$typeof===b||e.$$typeof===_||e.$$typeof===y||e.$$typeof===f||e.$$typeof===ee||e.getModuleId!==void 0))}function We(e,r,t){var n=e.displayName;if(n)return n;var i=r.displayName||r.name||"";return i!==""?t+"("+i+")":t}function re(e){return e.displayName||"Context"}function S(e){if(e==null)return null;if(typeof e.tag=="number"&&d("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case m:return"Fragment";case x:return"Portal";case w:return"Profiler";case T:return"StrictMode";case h:return"Suspense";case c:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case y:var r=e;return re(r)+".Consumer";case _:var t=e;return re(t._context)+".Provider";case f:return We(e,e.render,"ForwardRef");case b:var n=e.displayName||null;return n!==null?n:S(e.type)||"Memo";case E:{var i=e,s=i._payload,o=i._init;try{return S(o(s))}catch{return null}}}return null}var P=Object.assign,$=0,te,ne,ae,oe,ie,se,ue;function le(){}le.__reactDisabledLog=!0;function Ye(){{if($===0){te=console.log,ne=console.info,ae=console.warn,oe=console.error,ie=console.group,se=console.groupCollapsed,ue=console.groupEnd;var e={configurable:!0,enumerable:!0,value:le,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}$++}}function Be(){{if($--,$===0){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:P({},e,{value:te}),info:P({},e,{value:ne}),warn:P({},e,{value:ae}),error:P({},e,{value:oe}),group:P({},e,{value:ie}),groupCollapsed:P({},e,{value:se}),groupEnd:P({},e,{value:ue})})}$<0&&d("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var U=j.ReactCurrentDispatcher,q;function V(e,r,t){{if(q===void 0)try{throw Error()}catch(i){var n=i.stack.trim().match(/\n( *(at )?)/);q=n&&n[1]||""}return`
|
|
18
|
+
`+q+e}}var K=!1,L;{var Ve=typeof WeakMap=="function"?WeakMap:Map;L=new Ve}function fe(e,r){if(!e||K)return"";{var t=L.get(e);if(t!==void 0)return t}var n;K=!0;var i=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var s;s=U.current,U.current=null,Ye();try{if(r){var o=function(){throw Error()};if(Object.defineProperty(o.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(o,[])}catch(p){n=p}Reflect.construct(e,[],o)}else{try{o.call()}catch(p){n=p}e.call(o.prototype)}}else{try{throw Error()}catch(p){n=p}e()}}catch(p){if(p&&n&&typeof p.stack=="string"){for(var a=p.stack.split(`
|
|
19
19
|
`),v=n.stack.split(`
|
|
20
|
-
`),u=a.length-1,l=v.length-1;u>=1&&l>=0&&a[u]!==v[l];)l--;for(;u>=1&&l>=0;u--,l--)if(a[u]!==v[l]){if(u!==1||l!==1)do if(u--,l--,l<0||a[u]!==v[l]){var
|
|
21
|
-
`+a[u].replace(" at new "," at ");return e.displayName&&
|
|
20
|
+
`),u=a.length-1,l=v.length-1;u>=1&&l>=0&&a[u]!==v[l];)l--;for(;u>=1&&l>=0;u--,l--)if(a[u]!==v[l]){if(u!==1||l!==1)do if(u--,l--,l<0||a[u]!==v[l]){var g=`
|
|
21
|
+
`+a[u].replace(" at new "," at ");return e.displayName&&g.includes("<anonymous>")&&(g=g.replace("<anonymous>",e.displayName)),typeof e=="function"&&L.set(e,g),g}while(u>=1&&l>=0);break}}}finally{K=!1,U.current=s,Be(),Error.prepareStackTrace=i}var F=e?e.displayName||e.name:"",O=F?V(F):"";return typeof e=="function"&&L.set(e,O),O}function Le(e,r,t){return fe(e,!1)}function Me(e){var r=e.prototype;return!!(r&&r.isReactComponent)}function M(e,r,t){if(e==null)return"";if(typeof e=="function")return fe(e,Me(e));if(typeof e=="string")return V(e);switch(e){case h:return V("Suspense");case c:return V("SuspenseList")}if(typeof e=="object")switch(e.$$typeof){case f:return Le(e.render);case b:return M(e.type,r,t);case E:{var n=e,i=n._payload,s=n._init;try{return M(s(i),r,t)}catch{}}}return""}var W=Object.prototype.hasOwnProperty,ce={},de=j.ReactDebugCurrentFrame;function N(e){if(e){var r=e._owner,t=M(e.type,e._source,r?r.type:null);de.setExtraStackFrame(t)}else de.setExtraStackFrame(null)}function Ne(e,r,t,n,i){{var s=Function.call.bind(W);for(var o in e)if(s(e,o)){var a=void 0;try{if(typeof e[o]!="function"){var v=Error((n||"React class")+": "+t+" type `"+o+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof e[o]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw v.name="Invariant Violation",v}a=e[o](r,o,n,t,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(u){a=u}a&&!(a instanceof Error)&&(N(i),d("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",n||"React class",t,o,typeof a),N(null)),a instanceof Error&&!(a.message in ce)&&(ce[a.message]=!0,N(i),d("Failed %s type: %s",t,a.message),N(null))}}}var Ue=Array.isArray;function J(e){return Ue(e)}function qe(e){{var r=typeof Symbol=="function"&&Symbol.toStringTag,t=r&&e[Symbol.toStringTag]||e.constructor.name||"Object";return t}}function Ke(e){try{return ve(e),!1}catch{return!0}}function ve(e){return""+e}function pe(e){if(Ke(e))return d("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",qe(e)),ve(e)}var be=j.ReactCurrentOwner,Je={key:!0,ref:!0,__self:!0,__source:!0},ge,he;function Ge(e){if(W.call(e,"ref")){var r=Object.getOwnPropertyDescriptor(e,"ref").get;if(r&&r.isReactWarning)return!1}return e.ref!==void 0}function ze(e){if(W.call(e,"key")){var r=Object.getOwnPropertyDescriptor(e,"key").get;if(r&&r.isReactWarning)return!1}return e.key!==void 0}function He(e,r){typeof e.ref=="string"&&be.current}function Qe(e,r){{var t=function(){ge||(ge=!0,d("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",r))};t.isReactWarning=!0,Object.defineProperty(e,"key",{get:t,configurable:!0})}}function Xe(e,r){{var t=function(){he||(he=!0,d("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",r))};t.isReactWarning=!0,Object.defineProperty(e,"ref",{get:t,configurable:!0})}}var Ze=function(e,r,t,n,i,s,o){var a={$$typeof:R,type:e,key:r,ref:t,props:o,_owner:s};return a._store={},Object.defineProperty(a._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(a,"_self",{configurable:!1,enumerable:!1,writable:!1,value:n}),Object.defineProperty(a,"_source",{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.freeze&&(Object.freeze(a.props),Object.freeze(a)),a};function er(e,r,t,n,i){{var s,o={},a=null,v=null;t!==void 0&&(pe(t),a=""+t),ze(r)&&(pe(r.key),a=""+r.key),Ge(r)&&(v=r.ref,He(r,i));for(s in r)W.call(r,s)&&!Je.hasOwnProperty(s)&&(o[s]=r[s]);if(e&&e.defaultProps){var u=e.defaultProps;for(s in u)o[s]===void 0&&(o[s]=u[s])}if(a||v){var l=typeof e=="function"?e.displayName||e.name||"Unknown":e;a&&Qe(o,l),v&&Xe(o,l)}return Ze(e,a,v,i,n,be.current,o)}}var G=j.ReactCurrentOwner,ye=j.ReactDebugCurrentFrame;function k(e){if(e){var r=e._owner,t=M(e.type,e._source,r?r.type:null);ye.setExtraStackFrame(t)}else ye.setExtraStackFrame(null)}var z;z=!1;function H(e){return typeof e=="object"&&e!==null&&e.$$typeof===R}function Ee(){{if(G.current){var e=S(G.current.type);if(e)return`
|
|
22
22
|
|
|
23
23
|
Check the render method of \``+e+"`."}return""}}function rr(e){return""}var me={};function tr(e){{var r=Ee();if(!r){var t=typeof e=="string"?e:e.displayName||e.name;t&&(r=`
|
|
24
24
|
|
|
25
|
-
Check the top-level render call using <`+t+">.")}return r}}function _e(e,r){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var t=tr(r);if(me[t])return;me[t]=!0;var n="";e&&e._owner&&e._owner!==G.current&&(n=" It was passed a child from "+S(e._owner.type)+"."),k(e),d('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,n),k(null)}}function Re(e,r){{if(typeof e!="object")return;if(J(e))for(var t=0;t<e.length;t++){var n=e[t];H(n)&&_e(n,r)}else if(H(e))e._store&&(e._store.validated=!0);else if(e){var i=Ce(e);if(typeof i=="function"&&i!==e.entries)for(var s=i.call(e),o;!(o=s.next()).done;)H(o.value)&&_e(o.value,r)}}}function nr(e){{var r=e.type;if(r==null||typeof r=="string")return;var t;if(typeof r=="function")t=r.propTypes;else if(typeof r=="object"&&(r.$$typeof===f||r.$$typeof===b))t=r.propTypes;else return;if(t){var n=S(r);Ne(t,e.props,"prop",n,e)}else if(r.PropTypes!==void 0&&!z){z=!0;var i=S(r);d("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",i||"Unknown")}typeof r.getDefaultProps=="function"&&!r.getDefaultProps.isReactClassApproved&&d("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function ar(e){{for(var r=Object.keys(e.props),t=0;t<r.length;t++){var n=r[t];if(n!=="children"&&n!=="key"){k(e),d("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",n),k(null);break}}e.ref!==null&&(k(e),d("Invalid attribute `ref` supplied to `React.Fragment`."),k(null))}}var Te={};function we(e,r,t,n,i,s){{var o=$e(e);if(!o){var a="";(e===void 0||typeof e=="object"&&e!==null&&Object.keys(e).length===0)&&(a+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var v=rr();v?a+=v:a+=Ee();var u;e===null?u="null":J(e)?u="array":e!==void 0&&e.$$typeof===R?(u="<"+(S(e.type)||"Unknown")+" />",a=" Did you accidentally export a JSX literal instead of a component?"):u=typeof e,d("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",u,a)}var l=er(e,r,t,i,s);if(l==null)return l;if(o){var
|
|
25
|
+
Check the top-level render call using <`+t+">.")}return r}}function _e(e,r){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var t=tr(r);if(me[t])return;me[t]=!0;var n="";e&&e._owner&&e._owner!==G.current&&(n=" It was passed a child from "+S(e._owner.type)+"."),k(e),d('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,n),k(null)}}function Re(e,r){{if(typeof e!="object")return;if(J(e))for(var t=0;t<e.length;t++){var n=e[t];H(n)&&_e(n,r)}else if(H(e))e._store&&(e._store.validated=!0);else if(e){var i=Ce(e);if(typeof i=="function"&&i!==e.entries)for(var s=i.call(e),o;!(o=s.next()).done;)H(o.value)&&_e(o.value,r)}}}function nr(e){{var r=e.type;if(r==null||typeof r=="string")return;var t;if(typeof r=="function")t=r.propTypes;else if(typeof r=="object"&&(r.$$typeof===f||r.$$typeof===b))t=r.propTypes;else return;if(t){var n=S(r);Ne(t,e.props,"prop",n,e)}else if(r.PropTypes!==void 0&&!z){z=!0;var i=S(r);d("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",i||"Unknown")}typeof r.getDefaultProps=="function"&&!r.getDefaultProps.isReactClassApproved&&d("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function ar(e){{for(var r=Object.keys(e.props),t=0;t<r.length;t++){var n=r[t];if(n!=="children"&&n!=="key"){k(e),d("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",n),k(null);break}}e.ref!==null&&(k(e),d("Invalid attribute `ref` supplied to `React.Fragment`."),k(null))}}var Te={};function we(e,r,t,n,i,s){{var o=$e(e);if(!o){var a="";(e===void 0||typeof e=="object"&&e!==null&&Object.keys(e).length===0)&&(a+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var v=rr();v?a+=v:a+=Ee();var u;e===null?u="null":J(e)?u="array":e!==void 0&&e.$$typeof===R?(u="<"+(S(e.type)||"Unknown")+" />",a=" Did you accidentally export a JSX literal instead of a component?"):u=typeof e,d("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",u,a)}var l=er(e,r,t,i,s);if(l==null)return l;if(o){var g=r.children;if(g!==void 0)if(n)if(J(g)){for(var F=0;F<g.length;F++)Re(g[F],e);Object.freeze&&Object.freeze(g)}else d("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else Re(g,e)}if(W.call(r,"key")){var O=S(e),p=Object.keys(r).filter(function(fr){return fr!=="key"}),Q=p.length>0?"{key: someKey, "+p.join(": ..., ")+": ...}":"{key: someKey}";if(!Te[O+Q]){var lr=p.length>0?"{"+p.join(": ..., ")+": ...}":"{}";d(`A props object containing a "key" prop is being spread into JSX:
|
|
26
26
|
let props = %s;
|
|
27
27
|
<%s {...props} />
|
|
28
28
|
React keys must be passed directly to JSX without using spread:
|
|
29
29
|
let props = %s;
|
|
30
|
-
<%s key={someKey} {...props} />`,Q,O,lr,O),Te[O+Q]=!0}}return e===m?ar(l):nr(l),l}}function or(e,r,t){return we(e,r,t,!0)}function ir(e,r,t){return we(e,r,t,!1)}var sr=ir,ur=or;
|
|
30
|
+
<%s key={someKey} {...props} />`,Q,O,lr,O),Te[O+Q]=!0}}return e===m?ar(l):nr(l),l}}function or(e,r,t){return we(e,r,t,!0)}function ir(e,r,t){return we(e,r,t,!1)}var sr=ir,ur=or;B.Fragment=m,B.jsx=sr,B.jsxs=ur}()),B}process.env.NODE_ENV==="production"?Z.exports=cr():Z.exports=dr();var X=Z.exports;function Pe({apiKey:C,apiBaseUrl:R}){const[x,m]=A.useState(!1),[T,w]=A.useState(!0),_=50;return A.useEffect(()=>{(async()=>{var f;try{const h=C||void 0||void 0,c=R||void 0||void 0||"https://api.qobo.dev";if(!h){console.warn("[QoboBanner] API key not set (pass apiKey prop or set VITE_API_KEY), defaulting to visible"),w(!1);return}const b=await fetch(`${c}/api/v1/show-banner`,{method:"GET",headers:{"Content-Type":"application/json","X-API-Key":h},cache:"no-store"});if(!b.ok){console.warn(`[QoboBanner] Failed to fetch banner visibility (${b.status}), defaulting to visible`),w(!1);return}const E=await b.json(),D=(E.showBanner??((f=E.data)==null?void 0:f.showBanner)??"true")==="true";m(D),console.log(`[QoboBanner] Banner visibility: ${D}`)}catch(h){console.warn("[QoboBanner] Error fetching banner visibility, defaulting to visible:",h.message),m(!0)}finally{w(!1)}})()},[C,R]),A.useEffect(()=>{const y=x&&!T?_:0;return document.documentElement.style.setProperty("--qobo-banner-height",`${y}px`),()=>{document.documentElement.style.setProperty("--qobo-banner-height","0px")}},[x,T,_]),T||!x?null:X.jsxs("div",{className:"w-full bg-gradient-to-r from-cyan-400 to-blue-500 text-white py-2 px-4 text-center text-sm font-medium shadow-md",style:{position:"sticky",top:0,left:0,right:0,zIndex:50,height:`${_}px`,background:"linear-gradient(135deg, #667eea 0%, #764ba2 100%)",color:"#FFFFFF",padding:"12px 16px",textAlign:"center",fontSize:"0.95rem",fontWeight:"600",letterSpacing:"0.01em",fontFamily:'"Inter", "Segoe UI", system-ui, -apple-system, sans-serif',boxShadow:"0 2px 8px rgba(0, 0, 0, 0.15)",transition:"all 0.3s ease",display:"flex",alignItems:"center",justifyContent:"center"},children:["Made with"," ",X.jsx("span",{style:{color:"#FF1744",display:"inline-block",margin:"0 0.35rem"},children:"❤️"})," ","by"," ",X.jsx("a",{href:"https://qobo.dev",target:"_blank",rel:"noopener noreferrer",style:{color:"#FFFFFF",textDecoration:"underline",fontWeight:"700",cursor:"pointer",marginLeft:"0.5rem"},className:"hover:text-cyan-100 transition-colors",children:"qobo.dev"})]})}exports.QoboBanner=Pe;exports.default=Pe;
|
package/dist/index.js
CHANGED
|
@@ -15,11 +15,11 @@ function dr() {
|
|
|
15
15
|
Pe = 1;
|
|
16
16
|
var C = Oe, R = Symbol.for("react.element"), P = Symbol.for("react.fragment"), E = Object.prototype.hasOwnProperty, T = C.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, w = { key: !0, ref: !0, __self: !0, __source: !0 };
|
|
17
17
|
function _(y, f, g) {
|
|
18
|
-
var c,
|
|
18
|
+
var c, b = {}, m = null, A = null;
|
|
19
19
|
g !== void 0 && (m = "" + g), f.key !== void 0 && (m = "" + f.key), f.ref !== void 0 && (A = f.ref);
|
|
20
|
-
for (c in f) E.call(f, c) && !w.hasOwnProperty(c) && (
|
|
21
|
-
if (y && y.defaultProps) for (c in f = y.defaultProps, f)
|
|
22
|
-
return { $$typeof: R, type: y, key: m, ref: A, props:
|
|
20
|
+
for (c in f) E.call(f, c) && !w.hasOwnProperty(c) && (b[c] = f[c]);
|
|
21
|
+
if (y && y.defaultProps) for (c in f = y.defaultProps, f) b[c] === void 0 && (b[c] = f[c]);
|
|
22
|
+
return { $$typeof: R, type: y, key: m, ref: A, props: b, _owner: T.current };
|
|
23
23
|
}
|
|
24
24
|
return W.Fragment = P, W.jsx = _, W.jsxs = _, W;
|
|
25
25
|
}
|
|
@@ -36,7 +36,7 @@ var Y = {};
|
|
|
36
36
|
var Se;
|
|
37
37
|
function vr() {
|
|
38
38
|
return Se || (Se = 1, process.env.NODE_ENV !== "production" && function() {
|
|
39
|
-
var C = Oe, R = Symbol.for("react.element"), P = Symbol.for("react.portal"), E = Symbol.for("react.fragment"), T = Symbol.for("react.strict_mode"), w = Symbol.for("react.profiler"), _ = Symbol.for("react.provider"), y = Symbol.for("react.context"), f = Symbol.for("react.forward_ref"), g = Symbol.for("react.suspense"), c = Symbol.for("react.suspense_list"),
|
|
39
|
+
var C = Oe, R = Symbol.for("react.element"), P = Symbol.for("react.portal"), E = Symbol.for("react.fragment"), T = Symbol.for("react.strict_mode"), w = Symbol.for("react.profiler"), _ = Symbol.for("react.provider"), y = Symbol.for("react.context"), f = Symbol.for("react.forward_ref"), g = Symbol.for("react.suspense"), c = Symbol.for("react.suspense_list"), b = Symbol.for("react.memo"), m = Symbol.for("react.lazy"), A = Symbol.for("react.offscreen"), I = Symbol.iterator, Ce = "@@iterator";
|
|
40
40
|
function je(e) {
|
|
41
41
|
if (e === null || typeof e != "object")
|
|
42
42
|
return null;
|
|
@@ -64,7 +64,7 @@ function vr() {
|
|
|
64
64
|
var Fe = !1, Ae = !1, Ie = !1, De = !1, $e = !1, Z;
|
|
65
65
|
Z = Symbol.for("react.module.reference");
|
|
66
66
|
function We(e) {
|
|
67
|
-
return !!(typeof e == "string" || typeof e == "function" || e === E || e === w || $e || e === T || e === g || e === c || De || e === A || Fe || Ae || Ie || typeof e == "object" && e !== null && (e.$$typeof === m || e.$$typeof ===
|
|
67
|
+
return !!(typeof e == "string" || typeof e == "function" || e === E || e === w || $e || e === T || e === g || e === c || De || e === A || Fe || Ae || Ie || typeof e == "object" && e !== null && (e.$$typeof === m || e.$$typeof === b || e.$$typeof === _ || e.$$typeof === y || e.$$typeof === f || // This needs to include all possible module reference object
|
|
68
68
|
// types supported by any Flight configuration anywhere since
|
|
69
69
|
// we don't know which Flight build this will end up being used
|
|
70
70
|
// with.
|
|
@@ -111,7 +111,7 @@ function vr() {
|
|
|
111
111
|
return ee(t._context) + ".Provider";
|
|
112
112
|
case f:
|
|
113
113
|
return Ye(e, e.render, "ForwardRef");
|
|
114
|
-
case
|
|
114
|
+
case b:
|
|
115
115
|
var n = e.displayName || null;
|
|
116
116
|
return n !== null ? n : x(e.type) || "Memo";
|
|
117
117
|
case m: {
|
|
@@ -129,7 +129,7 @@ function vr() {
|
|
|
129
129
|
function ue() {
|
|
130
130
|
}
|
|
131
131
|
ue.__reactDisabledLog = !0;
|
|
132
|
-
function
|
|
132
|
+
function Ve() {
|
|
133
133
|
{
|
|
134
134
|
if (D === 0) {
|
|
135
135
|
re = console.log, te = console.info, ne = console.warn, ae = console.error, oe = console.group, ie = console.groupCollapsed, se = console.groupEnd;
|
|
@@ -152,7 +152,7 @@ function vr() {
|
|
|
152
152
|
D++;
|
|
153
153
|
}
|
|
154
154
|
}
|
|
155
|
-
function
|
|
155
|
+
function Be() {
|
|
156
156
|
{
|
|
157
157
|
if (D--, D === 0) {
|
|
158
158
|
var e = {
|
|
@@ -188,7 +188,7 @@ function vr() {
|
|
|
188
188
|
}
|
|
189
189
|
}
|
|
190
190
|
var N = j.ReactCurrentDispatcher, U;
|
|
191
|
-
function
|
|
191
|
+
function V(e, r, t) {
|
|
192
192
|
{
|
|
193
193
|
if (U === void 0)
|
|
194
194
|
try {
|
|
@@ -201,16 +201,16 @@ function vr() {
|
|
|
201
201
|
` + U + e;
|
|
202
202
|
}
|
|
203
203
|
}
|
|
204
|
-
var q = !1,
|
|
204
|
+
var q = !1, B;
|
|
205
205
|
{
|
|
206
206
|
var Le = typeof WeakMap == "function" ? WeakMap : Map;
|
|
207
|
-
|
|
207
|
+
B = new Le();
|
|
208
208
|
}
|
|
209
209
|
function le(e, r) {
|
|
210
210
|
if (!e || q)
|
|
211
211
|
return "";
|
|
212
212
|
{
|
|
213
|
-
var t =
|
|
213
|
+
var t = B.get(e);
|
|
214
214
|
if (t !== void 0)
|
|
215
215
|
return t;
|
|
216
216
|
}
|
|
@@ -219,7 +219,7 @@ function vr() {
|
|
|
219
219
|
var i = Error.prepareStackTrace;
|
|
220
220
|
Error.prepareStackTrace = void 0;
|
|
221
221
|
var s;
|
|
222
|
-
s = N.current, N.current = null,
|
|
222
|
+
s = N.current, N.current = null, Ve();
|
|
223
223
|
try {
|
|
224
224
|
if (r) {
|
|
225
225
|
var o = function() {
|
|
@@ -263,19 +263,19 @@ function vr() {
|
|
|
263
263
|
if (u !== 1 || l !== 1)
|
|
264
264
|
do
|
|
265
265
|
if (u--, l--, l < 0 || a[u] !== v[l]) {
|
|
266
|
-
var
|
|
266
|
+
var h = `
|
|
267
267
|
` + a[u].replace(" at new ", " at ");
|
|
268
|
-
return e.displayName &&
|
|
268
|
+
return e.displayName && h.includes("<anonymous>") && (h = h.replace("<anonymous>", e.displayName)), typeof e == "function" && B.set(e, h), h;
|
|
269
269
|
}
|
|
270
270
|
while (u >= 1 && l >= 0);
|
|
271
271
|
break;
|
|
272
272
|
}
|
|
273
273
|
}
|
|
274
274
|
} finally {
|
|
275
|
-
q = !1, N.current = s,
|
|
275
|
+
q = !1, N.current = s, Be(), Error.prepareStackTrace = i;
|
|
276
276
|
}
|
|
277
|
-
var F = e ? e.displayName || e.name : "", O = F ?
|
|
278
|
-
return typeof e == "function" &&
|
|
277
|
+
var F = e ? e.displayName || e.name : "", O = F ? V(F) : "";
|
|
278
|
+
return typeof e == "function" && B.set(e, O), O;
|
|
279
279
|
}
|
|
280
280
|
function Me(e, r, t) {
|
|
281
281
|
return le(e, !1);
|
|
@@ -290,18 +290,18 @@ function vr() {
|
|
|
290
290
|
if (typeof e == "function")
|
|
291
291
|
return le(e, Ne(e));
|
|
292
292
|
if (typeof e == "string")
|
|
293
|
-
return
|
|
293
|
+
return V(e);
|
|
294
294
|
switch (e) {
|
|
295
295
|
case g:
|
|
296
|
-
return
|
|
296
|
+
return V("Suspense");
|
|
297
297
|
case c:
|
|
298
|
-
return
|
|
298
|
+
return V("SuspenseList");
|
|
299
299
|
}
|
|
300
300
|
if (typeof e == "object")
|
|
301
301
|
switch (e.$$typeof) {
|
|
302
302
|
case f:
|
|
303
303
|
return Me(e.render);
|
|
304
|
-
case
|
|
304
|
+
case b:
|
|
305
305
|
return L(e.type, r, t);
|
|
306
306
|
case m: {
|
|
307
307
|
var n = e, i = n._payload, s = n._init;
|
|
@@ -369,7 +369,7 @@ function vr() {
|
|
|
369
369
|
ref: !0,
|
|
370
370
|
__self: !0,
|
|
371
371
|
__source: !0
|
|
372
|
-
},
|
|
372
|
+
}, be, he;
|
|
373
373
|
function ze(e) {
|
|
374
374
|
if ($.call(e, "ref")) {
|
|
375
375
|
var r = Object.getOwnPropertyDescriptor(e, "ref").get;
|
|
@@ -392,7 +392,7 @@ function vr() {
|
|
|
392
392
|
function Qe(e, r) {
|
|
393
393
|
{
|
|
394
394
|
var t = function() {
|
|
395
|
-
|
|
395
|
+
be || (be = !0, d("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", r));
|
|
396
396
|
};
|
|
397
397
|
t.isReactWarning = !0, Object.defineProperty(e, "key", {
|
|
398
398
|
get: t,
|
|
@@ -403,7 +403,7 @@ function vr() {
|
|
|
403
403
|
function Ze(e, r) {
|
|
404
404
|
{
|
|
405
405
|
var t = function() {
|
|
406
|
-
|
|
406
|
+
he || (he = !0, d("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", r));
|
|
407
407
|
};
|
|
408
408
|
t.isReactWarning = !0, Object.defineProperty(e, "ref", {
|
|
409
409
|
get: t,
|
|
@@ -541,7 +541,7 @@ Check the top-level render call using <` + t + ">.");
|
|
|
541
541
|
t = r.propTypes;
|
|
542
542
|
else if (typeof r == "object" && (r.$$typeof === f || // Note: Memo only checks outer props here.
|
|
543
543
|
// Inner props are checked in the reconciler.
|
|
544
|
-
r.$$typeof ===
|
|
544
|
+
r.$$typeof === b))
|
|
545
545
|
t = r.propTypes;
|
|
546
546
|
else
|
|
547
547
|
return;
|
|
@@ -584,17 +584,17 @@ Check the top-level render call using <` + t + ">.");
|
|
|
584
584
|
if (l == null)
|
|
585
585
|
return l;
|
|
586
586
|
if (o) {
|
|
587
|
-
var
|
|
588
|
-
if (
|
|
587
|
+
var h = r.children;
|
|
588
|
+
if (h !== void 0)
|
|
589
589
|
if (n)
|
|
590
|
-
if (K(
|
|
591
|
-
for (var F = 0; F <
|
|
592
|
-
_e(
|
|
593
|
-
Object.freeze && Object.freeze(
|
|
590
|
+
if (K(h)) {
|
|
591
|
+
for (var F = 0; F < h.length; F++)
|
|
592
|
+
_e(h[F], e);
|
|
593
|
+
Object.freeze && Object.freeze(h);
|
|
594
594
|
} else
|
|
595
595
|
d("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");
|
|
596
596
|
else
|
|
597
|
-
_e(
|
|
597
|
+
_e(h, e);
|
|
598
598
|
}
|
|
599
599
|
if ($.call(r, "key")) {
|
|
600
600
|
var O = x(e), p = Object.keys(r).filter(function(cr) {
|
|
@@ -625,7 +625,7 @@ React keys must be passed directly to JSX without using spread:
|
|
|
625
625
|
}
|
|
626
626
|
process.env.NODE_ENV === "production" ? Q.exports = dr() : Q.exports = vr();
|
|
627
627
|
var X = Q.exports;
|
|
628
|
-
function
|
|
628
|
+
function br({ apiKey: C, apiBaseUrl: R }) {
|
|
629
629
|
const [P, E] = we(!1), [T, w] = we(!0), _ = 50;
|
|
630
630
|
return xe(() => {
|
|
631
631
|
(async () => {
|
|
@@ -638,7 +638,7 @@ function hr({ apiKey: C, apiBaseUrl: R }) {
|
|
|
638
638
|
), w(!1);
|
|
639
639
|
return;
|
|
640
640
|
}
|
|
641
|
-
const
|
|
641
|
+
const b = await fetch(`${c}/api/v1/show-banner`, {
|
|
642
642
|
method: "GET",
|
|
643
643
|
headers: {
|
|
644
644
|
"Content-Type": "application/json",
|
|
@@ -646,13 +646,13 @@ function hr({ apiKey: C, apiBaseUrl: R }) {
|
|
|
646
646
|
},
|
|
647
647
|
cache: "no-store"
|
|
648
648
|
});
|
|
649
|
-
if (!
|
|
649
|
+
if (!b.ok) {
|
|
650
650
|
console.warn(
|
|
651
|
-
`[QoboBanner] Failed to fetch banner visibility (${
|
|
651
|
+
`[QoboBanner] Failed to fetch banner visibility (${b.status}), defaulting to visible`
|
|
652
652
|
), w(!1);
|
|
653
653
|
return;
|
|
654
654
|
}
|
|
655
|
-
const m = await
|
|
655
|
+
const m = await b.json(), I = (m.showBanner ?? ((f = m.data) == null ? void 0 : f.showBanner) ?? "true") === "true";
|
|
656
656
|
E(I), console.log(`[QoboBanner] Banner visibility: ${I}`);
|
|
657
657
|
} catch (g) {
|
|
658
658
|
console.warn(
|
|
@@ -682,15 +682,15 @@ function hr({ apiKey: C, apiBaseUrl: R }) {
|
|
|
682
682
|
right: 0,
|
|
683
683
|
zIndex: 50,
|
|
684
684
|
height: `${_}px`,
|
|
685
|
-
background: "linear-gradient(
|
|
686
|
-
color: "#
|
|
685
|
+
background: "linear-gradient(135deg, #667eea 0%, #764ba2 100%)",
|
|
686
|
+
color: "#FFFFFF",
|
|
687
687
|
padding: "12px 16px",
|
|
688
688
|
textAlign: "center",
|
|
689
689
|
fontSize: "0.95rem",
|
|
690
690
|
fontWeight: "600",
|
|
691
691
|
letterSpacing: "0.01em",
|
|
692
692
|
fontFamily: '"Inter", "Segoe UI", system-ui, -apple-system, sans-serif',
|
|
693
|
-
boxShadow: "0 2px
|
|
693
|
+
boxShadow: "0 2px 8px rgba(0, 0, 0, 0.15)",
|
|
694
694
|
transition: "all 0.3s ease",
|
|
695
695
|
display: "flex",
|
|
696
696
|
alignItems: "center",
|
|
@@ -720,12 +720,13 @@ function hr({ apiKey: C, apiBaseUrl: R }) {
|
|
|
720
720
|
target: "_blank",
|
|
721
721
|
rel: "noopener noreferrer",
|
|
722
722
|
style: {
|
|
723
|
-
color: "#
|
|
723
|
+
color: "#FFFFFF",
|
|
724
724
|
textDecoration: "underline",
|
|
725
725
|
fontWeight: "700",
|
|
726
|
-
cursor: "pointer"
|
|
726
|
+
cursor: "pointer",
|
|
727
|
+
marginLeft: "0.5rem"
|
|
727
728
|
},
|
|
728
|
-
className: "hover:text-cyan-100 transition-colors
|
|
729
|
+
className: "hover:text-cyan-100 transition-colors",
|
|
729
730
|
children: "qobo.dev"
|
|
730
731
|
}
|
|
731
732
|
)
|
|
@@ -734,6 +735,6 @@ function hr({ apiKey: C, apiBaseUrl: R }) {
|
|
|
734
735
|
);
|
|
735
736
|
}
|
|
736
737
|
export {
|
|
737
|
-
|
|
738
|
-
|
|
738
|
+
br as QoboBanner,
|
|
739
|
+
br as default
|
|
739
740
|
};
|
package/package.json
CHANGED
package/src/QoboBanner.jsx
CHANGED
|
@@ -109,15 +109,15 @@ export function QoboBanner({ apiKey, apiBaseUrl }) {
|
|
|
109
109
|
right: 0,
|
|
110
110
|
zIndex: 50,
|
|
111
111
|
height: `${BANNER_HEIGHT}px`,
|
|
112
|
-
background: "linear-gradient(
|
|
113
|
-
color: "#
|
|
112
|
+
background: "linear-gradient(135deg, #667eea 0%, #764ba2 100%)",
|
|
113
|
+
color: "#FFFFFF",
|
|
114
114
|
padding: "12px 16px",
|
|
115
115
|
textAlign: "center",
|
|
116
116
|
fontSize: "0.95rem",
|
|
117
117
|
fontWeight: "600",
|
|
118
118
|
letterSpacing: "0.01em",
|
|
119
119
|
fontFamily: '"Inter", "Segoe UI", system-ui, -apple-system, sans-serif',
|
|
120
|
-
boxShadow: "0 2px
|
|
120
|
+
boxShadow: "0 2px 8px rgba(0, 0, 0, 0.15)",
|
|
121
121
|
transition: "all 0.3s ease",
|
|
122
122
|
display: "flex",
|
|
123
123
|
alignItems: "center",
|
|
@@ -140,12 +140,13 @@ export function QoboBanner({ apiKey, apiBaseUrl }) {
|
|
|
140
140
|
target="_blank"
|
|
141
141
|
rel="noopener noreferrer"
|
|
142
142
|
style={{
|
|
143
|
-
color: "#
|
|
143
|
+
color: "#FFFFFF",
|
|
144
144
|
textDecoration: "underline",
|
|
145
145
|
fontWeight: "700",
|
|
146
146
|
cursor: "pointer",
|
|
147
|
+
marginLeft: "0.5rem",
|
|
147
148
|
}}
|
|
148
|
-
className="hover:text-cyan-100 transition-colors
|
|
149
|
+
className="hover:text-cyan-100 transition-colors"
|
|
149
150
|
>
|
|
150
151
|
qobo.dev
|
|
151
152
|
</a>
|