joeyzheng1412-daohq-ticker-react 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
package/dist/index.es.js CHANGED
@@ -1,4 +1,4 @@
1
- import e from"react";var n={};Object.defineProperty(n,"__esModule",{value:!0});var t=e;function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=a(t),i=function(){return i=Object.assign||function(e){for(var n,t=1,a=arguments.length;t<a;t++)for(var r in n=arguments[t])Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r]);return e},i.apply(this,arguments)};
1
+ import e,{useState as n,useEffect as t}from"react";var a={};Object.defineProperty(a,"__esModule",{value:!0});var i=e;function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=o(i),l=function(){return l=Object.assign||function(e){for(var n,t=1,a=arguments.length;t<a;t++)for(var i in n=arguments[t])Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i]);return e},l.apply(this,arguments)};
2
2
  /*! *****************************************************************************
3
3
  Copyright (c) Microsoft Corporation.
4
4
 
@@ -12,4 +12,4 @@ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
12
12
  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
13
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
14
  PERFORMANCE OF THIS SOFTWARE.
15
- ***************************************************************************** */!function(e){if(!e||"undefined"==typeof window)return;const n=document.createElement("style");n.setAttribute("type","text/css"),n.innerHTML=e,document.head.appendChild(n)}('.marquee-container {\n overflow-x: hidden !important;\n display: flex !important;\n flex-direction: row !important;\n position: relative;\n width: 100%;\n}\n.marquee-container:hover div {\n animation-play-state: var(--pause-on-hover);\n}\n.marquee-container:active div {\n animation-play-state: var(--pause-on-click);\n}\n\n.overlay {\n position: absolute;\n width: 100%;\n height: 100%;\n}\n.overlay::before, .overlay::after {\n background: linear-gradient(to right, var(--gradient-color));\n content: "";\n height: 100%;\n position: absolute;\n width: var(--gradient-width);\n z-index: 2;\n}\n.overlay::after {\n right: 0;\n top: 0;\n transform: rotateZ(180deg);\n}\n.overlay::before {\n left: 0;\n top: 0;\n}\n\n.marquee {\n flex: 0 0 auto;\n min-width: 100%;\n z-index: 1;\n display: flex;\n flex-direction: row;\n align-items: center;\n animation: scroll var(--duration) linear var(--delay) var(--iteration-count);\n animation-play-state: var(--play);\n animation-delay: var(--delay);\n animation-direction: var(--direction);\n}\n@keyframes scroll {\n 0% {\n transform: translateX(0%);\n }\n 100% {\n transform: translateX(-100%);\n }\n}');var o=n.default=function(e){var n,a,o,l,d=e.style,c=void 0===d?{}:d,s=e.className,m=void 0===s?"":s,u=e.play,p=void 0===u||u,f=e.pauseOnHover,h=void 0!==f&&f,v=e.pauseOnClick,y=void 0!==v&&v,g=e.direction,C=void 0===g?"left":g,E=e.speed,b=void 0===E?20:E,x=e.delay,w=void 0===x?0:x,A=e.loop,N=void 0===A?0:A,$=e.gradient,k=void 0===$||$,P=e.gradientColor,O=void 0===P?[255,255,255]:P,S=e.gradientWidth,q=void 0===S?200:S,T=e.onFinish,H=e.onCycleComplete,j=e.children,z=t.useState(0),B=z[0],R=z[1],D=t.useState(0),I=D[0],L=D[1],X=t.useState(0),F=X[0],M=X[1],Q=t.useState(!1),_=Q[0],W=Q[1],Z=t.useRef(null),G=t.useRef(null),J=function(){G.current&&Z.current&&(R(Z.current.getBoundingClientRect().width),L(G.current.getBoundingClientRect().width)),M(I<B?B/b:I/b)};t.useEffect((function(){return J(),window.addEventListener("resize",J),function(){window.removeEventListener("resize",J)}})),t.useEffect((function(){W(!0)}),[]);var K="rgba("+O[0]+", "+O[1]+", "+O[2];return r.default.createElement(t.Fragment,null,_?r.default.createElement("div",{ref:Z,style:i(i({},c),(n={},n["--pause-on-hover"]=h?"paused":"running",n["--pause-on-click"]=y?"paused":"running",n)),className:m+" marquee-container"},k&&r.default.createElement("div",{style:(a={},a["--gradient-color"]=K+", 1), "+K+", 0)",a["--gradient-width"]="number"==typeof q?q+"px":q,a),className:"overlay"}),r.default.createElement("div",{ref:G,style:(o={},o["--play"]=p?"running":"paused",o["--direction"]="left"===C?"normal":"reverse",o["--duration"]=F+"s",o["--delay"]=w+"s",o["--iteration-count"]=N?""+N:"infinite",o),className:"marquee",onAnimationIteration:H,onAnimationEnd:T},j),r.default.createElement("div",{style:(l={},l["--play"]=p?"running":"paused",l["--direction"]="left"===C?"normal":"reverse",l["--duration"]=F+"s",l["--delay"]=w+"s",l["--iteration-count"]=N?""+N:"infinite",l),className:"marquee"},j)):null)};function l(e,n){void 0===n&&(n={});var t=n.insertAt;if(e&&"undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css","top"===t&&a.firstChild?a.insertBefore(r,a.firstChild):a.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}}l(".daoContainer{background:#000;border:2px solid gray;display:flex;flex-direction:column;height:60px;padding:8px;width:200px}.bottomContent,.topContent{display:flex;flex-direction:row}.daoChange,.daoChart,.daoName,.daoPrice,.daoSymbol{color:#fff}");const d=({dao:n})=>e.createElement("div",{className:"daoContainer",onClick:()=>{console.log(n.name)}},e.createElement("div",{className:"topContent"},e.createElement("div",{className:"daoName"},n.name),e.createElement("div",{className:"daoSymbol"},n.symbol),e.createElement("div",{className:"daoPrice"},n.price)),e.createElement("div",{className:"bottomContent"},e.createElement("div",{className:"daoChange"},n.change),e.createElement("div",{className:"daoChart"},n.chart)));l(".TickerContainer{display:flex;flex-direction:row;overflow-x:hidden;padding:6px;width:100%}");const c=()=>{const n=[{name:"DAOHQIndex",symbol:"$DAOHQIDX*",price:"$9.99",change:"+0.99",chart:"chart"},{name:"Ape Coin1",symbol:"$APE1*",price:"$23.02",change:"+0.85%",chart:"chart"},{name:"Ape Coin2",symbol:"$APE2*",price:"$23.02",change:"+0.85%",chart:"chart"},{name:"Ape Coin3",symbol:"$APE3*",price:"$23.02",change:"+0.85%",chart:"chart"},{name:"Ape Coin4",symbol:"$APE4*",price:"$23.02",change:"+0.85%",chart:"chart"},{name:"Ape Coin5",symbol:"$APE5*",price:"$23.02",change:"+0.85%",chart:"chart"},{name:"Ape Coin6",symbol:"$APE6*",price:"$23.02",change:"+0.85%",chart:"chart"},{name:"Ape Coin7",symbol:"$APE7*",price:"$23.02",change:"+0.85%",chart:"chart"}];return e.createElement("div",{className:"TickerContainer"},e.createElement(d,{key:n[0].symbol,dao:n[0]}),e.createElement(o,{speed:20,pauseOnHover:!1,pauseOnClick:!0,gradient:!1},n.slice(1).map((n=>e.createElement(d,{key:n.symbol,dao:n})))))};export{c as default};
15
+ ***************************************************************************** */!function(e){if(!e||"undefined"==typeof window)return;const n=document.createElement("style");n.setAttribute("type","text/css"),n.innerHTML=e,document.head.appendChild(n)}('.marquee-container {\n overflow-x: hidden !important;\n display: flex !important;\n flex-direction: row !important;\n position: relative;\n width: 100%;\n}\n.marquee-container:hover div {\n animation-play-state: var(--pause-on-hover);\n}\n.marquee-container:active div {\n animation-play-state: var(--pause-on-click);\n}\n\n.overlay {\n position: absolute;\n width: 100%;\n height: 100%;\n}\n.overlay::before, .overlay::after {\n background: linear-gradient(to right, var(--gradient-color));\n content: "";\n height: 100%;\n position: absolute;\n width: var(--gradient-width);\n z-index: 2;\n}\n.overlay::after {\n right: 0;\n top: 0;\n transform: rotateZ(180deg);\n}\n.overlay::before {\n left: 0;\n top: 0;\n}\n\n.marquee {\n flex: 0 0 auto;\n min-width: 100%;\n z-index: 1;\n display: flex;\n flex-direction: row;\n align-items: center;\n animation: scroll var(--duration) linear var(--delay) var(--iteration-count);\n animation-play-state: var(--play);\n animation-delay: var(--delay);\n animation-direction: var(--direction);\n}\n@keyframes scroll {\n 0% {\n transform: translateX(0%);\n }\n 100% {\n transform: translateX(-100%);\n }\n}');var d=a.default=function(e){var n,t,a,o,d=e.style,c=void 0===d?{}:d,s=e.className,m=void 0===s?"":s,u=e.play,p=void 0===u||u,f=e.pauseOnHover,v=void 0!==f&&f,h=e.pauseOnClick,y=void 0!==h&&h,g=e.direction,x=void 0===g?"left":g,C=e.speed,E=void 0===C?20:C,w=e.delay,N=void 0===w?0:w,b=e.loop,k=void 0===b?0:b,q=e.gradient,A=void 0===q||q,S=e.gradientColor,O=void 0===S?[255,255,255]:S,j=e.gradientWidth,F=void 0===j?200:j,P=e.onFinish,T=e.onCycleComplete,D=e.children,I=i.useState(0),R=I[0],z=I[1],B=i.useState(0),L=B[0],H=B[1],M=i.useState(0),_=M[0],X=M[1],U=i.useState(!1),W=U[0],Z=U[1],$=i.useRef(null),G=i.useRef(null),J=function(){G.current&&$.current&&(z($.current.getBoundingClientRect().width),H(G.current.getBoundingClientRect().width)),X(L<R?R/E:L/E)};i.useEffect((function(){return J(),window.addEventListener("resize",J),function(){window.removeEventListener("resize",J)}})),i.useEffect((function(){Z(!0)}),[]);var K="rgba("+O[0]+", "+O[1]+", "+O[2];return r.default.createElement(i.Fragment,null,W?r.default.createElement("div",{ref:$,style:l(l({},c),(n={},n["--pause-on-hover"]=v?"paused":"running",n["--pause-on-click"]=y?"paused":"running",n)),className:m+" marquee-container"},A&&r.default.createElement("div",{style:(t={},t["--gradient-color"]=K+", 1), "+K+", 0)",t["--gradient-width"]="number"==typeof F?F+"px":F,t),className:"overlay"}),r.default.createElement("div",{ref:G,style:(a={},a["--play"]=p?"running":"paused",a["--direction"]="left"===x?"normal":"reverse",a["--duration"]=_+"s",a["--delay"]=N+"s",a["--iteration-count"]=k?""+k:"infinite",a),className:"marquee",onAnimationIteration:T,onAnimationEnd:P},D),r.default.createElement("div",{style:(o={},o["--play"]=p?"running":"paused",o["--direction"]="left"===x?"normal":"reverse",o["--duration"]=_+"s",o["--delay"]=N+"s",o["--iteration-count"]=k?""+k:"infinite",o),className:"marquee"},D)):null)};function c(e,n){void 0===n&&(n={});var t=n.insertAt;if(e&&"undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===t&&a.firstChild?a.insertBefore(i,a.firstChild):a.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}c(".daoContainer{background:#000;border:2px solid gray;display:flex;flex-direction:column;height:60px;padding:8px;width:200px}.bottomContent,.topContent{display:flex;flex-direction:row}.daoChange,.daoChart,.daoImage,.daoName,.daoPrice,.daoSymbol{color:#fff}");const s=({dao:n})=>e.createElement("div",{className:"daoContainer",onClick:()=>{console.log(n.name)}},e.createElement("div",{className:"topContent"},e.createElement("img",{src:image,className:"daoImage",alt:"logo"}),e.createElement("div",{className:"daoName"},n.name),e.createElement("div",{className:"daoSymbol"},n.symbol),e.createElement("div",{className:"daoPrice"},n.price)),e.createElement("div",{className:"bottomContent"},e.createElement("div",{className:"daoChange"},n.change),e.createElement("div",{className:"daoChart"},n.chart)));c(".TickerContainer{display:flex;flex-direction:row;overflow-x:hidden;padding:6px;width:100%}");const m=()=>{API_URL="https://daohq-ticker-ick3pj1ry-daohq.vercel.app/api/ticker";const[a,i]=n([]);t((()=>{o()}),[]);const o=async()=>{const e=await fetch("https://daohq-ticker-ick3pj1ry-daohq.vercel.app/api/ticker").then((e=>e.json()));r(e)},r=e=>{console.log(e),i(e.map((e=>({name:e.historicalFinancials.Dao.name||"name N/A",image:e.historicalFinancials.Dao.daoImage||"img N/A",symbol:e.historicalFinancials.Dao.tokenSymbol||"symbol N/A",price:Math.round(1e3*e.historicalFinancials.Dao.tokenPrice)/1e3||"$-.--",change24hr:e.historicalFinancials.Dao.percentChange24hr||"change N/A",chart:"N/A"}))))};return e.createElement("div",{className:"TickerContainer"},e.createElement(d,{speed:20,pauseOnHover:!1,pauseOnClick:!0,gradient:!1},a.map((n=>e.createElement(s,{key:n.name,dao:n})))))};export{m as default};
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=e(require("react")),t={};Object.defineProperty(t,"__esModule",{value:!0});var a=n.default;function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var i=r(a),o=function(){return o=Object.assign||function(e){for(var n,t=1,a=arguments.length;t<a;t++)for(var r in n=arguments[t])Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r]);return e},o.apply(this,arguments)};
1
+ "use strict";var e=require("react");function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=t(e),a={};Object.defineProperty(a,"__esModule",{value:!0});var i=n.default;function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=o(i),l=function(){return l=Object.assign||function(e){for(var t,n=1,a=arguments.length;n<a;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},l.apply(this,arguments)};
2
2
  /*! *****************************************************************************
3
3
  Copyright (c) Microsoft Corporation.
4
4
 
@@ -12,4 +12,4 @@ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
12
12
  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
13
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
14
  PERFORMANCE OF THIS SOFTWARE.
15
- ***************************************************************************** */!function(e){if(!e||"undefined"==typeof window)return;const n=document.createElement("style");n.setAttribute("type","text/css"),n.innerHTML=e,document.head.appendChild(n)}('.marquee-container {\n overflow-x: hidden !important;\n display: flex !important;\n flex-direction: row !important;\n position: relative;\n width: 100%;\n}\n.marquee-container:hover div {\n animation-play-state: var(--pause-on-hover);\n}\n.marquee-container:active div {\n animation-play-state: var(--pause-on-click);\n}\n\n.overlay {\n position: absolute;\n width: 100%;\n height: 100%;\n}\n.overlay::before, .overlay::after {\n background: linear-gradient(to right, var(--gradient-color));\n content: "";\n height: 100%;\n position: absolute;\n width: var(--gradient-width);\n z-index: 2;\n}\n.overlay::after {\n right: 0;\n top: 0;\n transform: rotateZ(180deg);\n}\n.overlay::before {\n left: 0;\n top: 0;\n}\n\n.marquee {\n flex: 0 0 auto;\n min-width: 100%;\n z-index: 1;\n display: flex;\n flex-direction: row;\n align-items: center;\n animation: scroll var(--duration) linear var(--delay) var(--iteration-count);\n animation-play-state: var(--play);\n animation-delay: var(--delay);\n animation-direction: var(--direction);\n}\n@keyframes scroll {\n 0% {\n transform: translateX(0%);\n }\n 100% {\n transform: translateX(-100%);\n }\n}');var l=t.default=function(e){var n,t,r,l,d=e.style,c=void 0===d?{}:d,s=e.className,u=void 0===s?"":s,m=e.play,f=void 0===m||m,p=e.pauseOnHover,h=void 0!==p&&p,v=e.pauseOnClick,y=void 0!==v&&v,g=e.direction,C=void 0===g?"left":g,E=e.speed,b=void 0===E?20:E,x=e.delay,w=void 0===x?0:x,A=e.loop,N=void 0===A?0:A,$=e.gradient,k=void 0===$||$,P=e.gradientColor,O=void 0===P?[255,255,255]:P,q=e.gradientWidth,S=void 0===q?200:q,T=e.onFinish,j=e.onCycleComplete,H=e.children,z=a.useState(0),B=z[0],R=z[1],D=a.useState(0),I=D[0],L=D[1],X=a.useState(0),F=X[0],M=X[1],Q=a.useState(!1),_=Q[0],W=Q[1],Z=a.useRef(null),G=a.useRef(null),J=function(){G.current&&Z.current&&(R(Z.current.getBoundingClientRect().width),L(G.current.getBoundingClientRect().width)),M(I<B?B/b:I/b)};a.useEffect((function(){return J(),window.addEventListener("resize",J),function(){window.removeEventListener("resize",J)}})),a.useEffect((function(){W(!0)}),[]);var K="rgba("+O[0]+", "+O[1]+", "+O[2];return i.default.createElement(a.Fragment,null,_?i.default.createElement("div",{ref:Z,style:o(o({},c),(n={},n["--pause-on-hover"]=h?"paused":"running",n["--pause-on-click"]=y?"paused":"running",n)),className:u+" marquee-container"},k&&i.default.createElement("div",{style:(t={},t["--gradient-color"]=K+", 1), "+K+", 0)",t["--gradient-width"]="number"==typeof S?S+"px":S,t),className:"overlay"}),i.default.createElement("div",{ref:G,style:(r={},r["--play"]=f?"running":"paused",r["--direction"]="left"===C?"normal":"reverse",r["--duration"]=F+"s",r["--delay"]=w+"s",r["--iteration-count"]=N?""+N:"infinite",r),className:"marquee",onAnimationIteration:j,onAnimationEnd:T},H),i.default.createElement("div",{style:(l={},l["--play"]=f?"running":"paused",l["--direction"]="left"===C?"normal":"reverse",l["--duration"]=F+"s",l["--delay"]=w+"s",l["--iteration-count"]=N?""+N:"infinite",l),className:"marquee"},H)):null)};function d(e,n){void 0===n&&(n={});var t=n.insertAt;if(e&&"undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css","top"===t&&a.firstChild?a.insertBefore(r,a.firstChild):a.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}}d(".daoContainer{background:#000;border:2px solid gray;display:flex;flex-direction:column;height:60px;padding:8px;width:200px}.bottomContent,.topContent{display:flex;flex-direction:row}.daoChange,.daoChart,.daoName,.daoPrice,.daoSymbol{color:#fff}");const c=({dao:e})=>n.default.createElement("div",{className:"daoContainer",onClick:()=>{console.log(e.name)}},n.default.createElement("div",{className:"topContent"},n.default.createElement("div",{className:"daoName"},e.name),n.default.createElement("div",{className:"daoSymbol"},e.symbol),n.default.createElement("div",{className:"daoPrice"},e.price)),n.default.createElement("div",{className:"bottomContent"},n.default.createElement("div",{className:"daoChange"},e.change),n.default.createElement("div",{className:"daoChart"},e.chart)));d(".TickerContainer{display:flex;flex-direction:row;overflow-x:hidden;padding:6px;width:100%}");module.exports=()=>{const e=[{name:"DAOHQIndex",symbol:"$DAOHQIDX*",price:"$9.99",change:"+0.99",chart:"chart"},{name:"Ape Coin1",symbol:"$APE1*",price:"$23.02",change:"+0.85%",chart:"chart"},{name:"Ape Coin2",symbol:"$APE2*",price:"$23.02",change:"+0.85%",chart:"chart"},{name:"Ape Coin3",symbol:"$APE3*",price:"$23.02",change:"+0.85%",chart:"chart"},{name:"Ape Coin4",symbol:"$APE4*",price:"$23.02",change:"+0.85%",chart:"chart"},{name:"Ape Coin5",symbol:"$APE5*",price:"$23.02",change:"+0.85%",chart:"chart"},{name:"Ape Coin6",symbol:"$APE6*",price:"$23.02",change:"+0.85%",chart:"chart"},{name:"Ape Coin7",symbol:"$APE7*",price:"$23.02",change:"+0.85%",chart:"chart"}];return n.default.createElement("div",{className:"TickerContainer"},n.default.createElement(c,{key:e[0].symbol,dao:e[0]}),n.default.createElement(l,{speed:20,pauseOnHover:!1,pauseOnClick:!0,gradient:!1},e.slice(1).map((e=>n.default.createElement(c,{key:e.symbol,dao:e})))))};
15
+ ***************************************************************************** */!function(e){if(!e||"undefined"==typeof window)return;const t=document.createElement("style");t.setAttribute("type","text/css"),t.innerHTML=e,document.head.appendChild(t)}('.marquee-container {\n overflow-x: hidden !important;\n display: flex !important;\n flex-direction: row !important;\n position: relative;\n width: 100%;\n}\n.marquee-container:hover div {\n animation-play-state: var(--pause-on-hover);\n}\n.marquee-container:active div {\n animation-play-state: var(--pause-on-click);\n}\n\n.overlay {\n position: absolute;\n width: 100%;\n height: 100%;\n}\n.overlay::before, .overlay::after {\n background: linear-gradient(to right, var(--gradient-color));\n content: "";\n height: 100%;\n position: absolute;\n width: var(--gradient-width);\n z-index: 2;\n}\n.overlay::after {\n right: 0;\n top: 0;\n transform: rotateZ(180deg);\n}\n.overlay::before {\n left: 0;\n top: 0;\n}\n\n.marquee {\n flex: 0 0 auto;\n min-width: 100%;\n z-index: 1;\n display: flex;\n flex-direction: row;\n align-items: center;\n animation: scroll var(--duration) linear var(--delay) var(--iteration-count);\n animation-play-state: var(--play);\n animation-delay: var(--delay);\n animation-direction: var(--direction);\n}\n@keyframes scroll {\n 0% {\n transform: translateX(0%);\n }\n 100% {\n transform: translateX(-100%);\n }\n}');var d=a.default=function(e){var t,n,a,o,d=e.style,c=void 0===d?{}:d,s=e.className,u=void 0===s?"":s,m=e.play,f=void 0===m||m,p=e.pauseOnHover,v=void 0!==p&&p,h=e.pauseOnClick,y=void 0!==h&&h,g=e.direction,x=void 0===g?"left":g,C=e.speed,E=void 0===C?20:C,w=e.delay,N=void 0===w?0:w,b=e.loop,k=void 0===b?0:b,q=e.gradient,A=void 0===q||q,S=e.gradientColor,j=void 0===S?[255,255,255]:S,O=e.gradientWidth,F=void 0===O?200:O,P=e.onFinish,T=e.onCycleComplete,D=e.children,I=i.useState(0),R=I[0],z=I[1],B=i.useState(0),L=B[0],H=B[1],M=i.useState(0),_=M[0],X=M[1],U=i.useState(!1),W=U[0],Z=U[1],$=i.useRef(null),G=i.useRef(null),J=function(){G.current&&$.current&&(z($.current.getBoundingClientRect().width),H(G.current.getBoundingClientRect().width)),X(L<R?R/E:L/E)};i.useEffect((function(){return J(),window.addEventListener("resize",J),function(){window.removeEventListener("resize",J)}})),i.useEffect((function(){Z(!0)}),[]);var K="rgba("+j[0]+", "+j[1]+", "+j[2];return r.default.createElement(i.Fragment,null,W?r.default.createElement("div",{ref:$,style:l(l({},c),(t={},t["--pause-on-hover"]=v?"paused":"running",t["--pause-on-click"]=y?"paused":"running",t)),className:u+" marquee-container"},A&&r.default.createElement("div",{style:(n={},n["--gradient-color"]=K+", 1), "+K+", 0)",n["--gradient-width"]="number"==typeof F?F+"px":F,n),className:"overlay"}),r.default.createElement("div",{ref:G,style:(a={},a["--play"]=f?"running":"paused",a["--direction"]="left"===x?"normal":"reverse",a["--duration"]=_+"s",a["--delay"]=N+"s",a["--iteration-count"]=k?""+k:"infinite",a),className:"marquee",onAnimationIteration:T,onAnimationEnd:P},D),r.default.createElement("div",{style:(o={},o["--play"]=f?"running":"paused",o["--direction"]="left"===x?"normal":"reverse",o["--duration"]=_+"s",o["--delay"]=N+"s",o["--iteration-count"]=k?""+k:"infinite",o),className:"marquee"},D)):null)};function c(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===n&&a.firstChild?a.insertBefore(i,a.firstChild):a.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}c(".daoContainer{background:#000;border:2px solid gray;display:flex;flex-direction:column;height:60px;padding:8px;width:200px}.bottomContent,.topContent{display:flex;flex-direction:row}.daoChange,.daoChart,.daoImage,.daoName,.daoPrice,.daoSymbol{color:#fff}");const s=({dao:e})=>n.default.createElement("div",{className:"daoContainer",onClick:()=>{console.log(e.name)}},n.default.createElement("div",{className:"topContent"},n.default.createElement("img",{src:image,className:"daoImage",alt:"logo"}),n.default.createElement("div",{className:"daoName"},e.name),n.default.createElement("div",{className:"daoSymbol"},e.symbol),n.default.createElement("div",{className:"daoPrice"},e.price)),n.default.createElement("div",{className:"bottomContent"},n.default.createElement("div",{className:"daoChange"},e.change),n.default.createElement("div",{className:"daoChart"},e.chart)));c(".TickerContainer{display:flex;flex-direction:row;overflow-x:hidden;padding:6px;width:100%}");module.exports=()=>{API_URL="https://daohq-ticker-ick3pj1ry-daohq.vercel.app/api/ticker";const[t,a]=e.useState([]);e.useEffect((()=>{i()}),[]);const i=async()=>{const e=await fetch("https://daohq-ticker-ick3pj1ry-daohq.vercel.app/api/ticker").then((e=>e.json()));o(e)},o=e=>{console.log(e),a(e.map((e=>({name:e.historicalFinancials.Dao.name||"name N/A",image:e.historicalFinancials.Dao.daoImage||"img N/A",symbol:e.historicalFinancials.Dao.tokenSymbol||"symbol N/A",price:Math.round(1e3*e.historicalFinancials.Dao.tokenPrice)/1e3||"$-.--",change24hr:e.historicalFinancials.Dao.percentChange24hr||"change N/A",chart:"N/A"}))))};return n.default.createElement("div",{className:"TickerContainer"},n.default.createElement(d,{speed:20,pauseOnHover:!1,pauseOnClick:!0,gradient:!1},t.map((e=>n.default.createElement(s,{key:e.name,dao:e})))))};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "joeyzheng1412-daohq-ticker-react",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -19,6 +19,10 @@
19
19
  flex-direction: row;
20
20
  }
21
21
 
22
+ .daoImage {
23
+ color: white;
24
+ }
25
+
22
26
  .daoName {
23
27
  color: white;
24
28
  }
@@ -8,6 +8,7 @@ const Dao = ({ dao }) => {
8
8
  return (
9
9
  <div className="daoContainer" onClick={DaoClick}>
10
10
  <div className="topContent">
11
+ <img src={image} className="daoImage" alt="logo" />
11
12
  <div className="daoName">{dao.name}</div>
12
13
  <div className="daoSymbol">{dao.symbol}</div>
13
14
  <div className="daoPrice">{dao.price}</div>
@@ -1,88 +1,132 @@
1
- import React from "react";
1
+ import React, { useState, useEffect } from "react";
2
2
  import Marquee from "react-fast-marquee";
3
3
  import Dao from "./Dao";
4
4
  import "./Ticker.css";
5
5
 
6
- const Ticker = ({ format }) => {
7
- const data = [
8
- {
9
- name: "DAOHQIndex",
10
- symbol: "$DAOHQIDX*",
11
- price: "$9.99",
12
- change: "+0.99",
13
- chart: "chart",
14
- },
15
- {
16
- name: "Ape Coin1",
17
- symbol: "$APE1*",
18
- price: "$23.02",
19
- change: "+0.85%",
20
- chart: "chart",
21
- },
22
- {
23
- name: "Ape Coin2",
24
- symbol: "$APE2*",
25
- price: "$23.02",
26
- change: "+0.85%",
27
- chart: "chart",
28
- },
29
- {
30
- name: "Ape Coin3",
31
- symbol: "$APE3*",
32
- price: "$23.02",
33
- change: "+0.85%",
34
- chart: "chart",
35
- },
36
- {
37
- name: "Ape Coin4",
38
- symbol: "$APE4*",
39
- price: "$23.02",
40
- change: "+0.85%",
41
- chart: "chart",
42
- },
43
- {
44
- name: "Ape Coin5",
45
- symbol: "$APE5*",
46
- price: "$23.02",
47
- change: "+0.85%",
48
- chart: "chart",
49
- },
50
- {
51
- name: "Ape Coin6",
52
- symbol: "$APE6*",
53
- price: "$23.02",
54
- change: "+0.85%",
55
- chart: "chart",
56
- },
57
- {
58
- name: "Ape Coin7",
59
- symbol: "$APE7*",
60
- price: "$23.02",
61
- change: "+0.85%",
62
- chart: "chart",
63
- },
64
- ];
65
- if (format === "wide") {
66
- return (
67
- <div className="TickerContainer">
68
- <Dao key={data[0].symbol} dao={data[0]} />
69
- <Marquee
70
- speed={20}
71
- pauseOnHover={false}
72
- pauseOnClick
73
- gradient={false}
74
- >
75
- {data.slice(1).map((dao) => {
76
- return <Dao key={dao.symbol} dao={dao} />;
77
- })}
78
- </Marquee>
79
- </div>
6
+ const Ticker = () => {
7
+ API_URL = "https://daohq-ticker-ick3pj1ry-daohq.vercel.app/api/ticker";
8
+
9
+ const [daos, setDaos] = useState([]);
10
+
11
+ useEffect(() => {
12
+ // const interval = setInterval(() => {
13
+ // console.log("Logs every 5s");
14
+ // }, 5000);
15
+
16
+ getApiData();
17
+
18
+ // return () => clearInterval(interval);
19
+ }, []);
20
+
21
+ /**
22
+ * retrieves from api endpoint asynchonously
23
+ */
24
+ const getApiData = async () => {
25
+ const response = await fetch(API_URL).then((res) => res.json());
26
+ getDaos(response);
27
+ };
28
+
29
+ /**
30
+ * set state to relevent daos data
31
+ */
32
+ const getDaos = (response) => {
33
+ console.log(response);
34
+ setDaos(
35
+ response.map((dao) => ({
36
+ name: dao.historicalFinancials.Dao.name || "name N/A",
37
+ image: dao.historicalFinancials.Dao.daoImage || "img N/A",
38
+ symbol:
39
+ dao.historicalFinancials.Dao.tokenSymbol || "symbol N/A",
40
+ price:
41
+ Math.round(1000 * dao.historicalFinancials.Dao.tokenPrice) /
42
+ 1000 || "$-.--",
43
+ change24hr:
44
+ dao.historicalFinancials.Dao.percentChange24hr ||
45
+ "change N/A",
46
+ chart: "N/A",
47
+ }))
80
48
  );
81
- } else if (format === "card") {
82
- return <div>Card Format Here</div>;
83
- } else {
84
- return <div>Invalid format input</div>;
85
- }
49
+ };
50
+
51
+ // const data = [
52
+ // {
53
+ // name: "DAOHQIndex",
54
+ // symbol: "$DAOHQIDX*",
55
+ // price: "$9.99",
56
+ // change: "+0.99",
57
+ // chart: "chart",
58
+ // },
59
+ // {
60
+ // name: "Ape Coin1",
61
+ // symbol: "$APE1*",
62
+ // price: "$23.02",
63
+ // change: "+0.85%",
64
+ // chart: "chart",
65
+ // },
66
+ // {
67
+ // name: "Ape Coin2",
68
+ // symbol: "$APE2*",
69
+ // price: "$23.02",
70
+ // change: "+0.85%",
71
+ // chart: "chart",
72
+ // },
73
+ // {
74
+ // name: "Ape Coin3",
75
+ // symbol: "$APE3*",
76
+ // price: "$23.02",
77
+ // change: "+0.85%",
78
+ // chart: "chart",
79
+ // },
80
+ // {
81
+ // name: "Ape Coin4",
82
+ // symbol: "$APE4*",
83
+ // price: "$23.02",
84
+ // change: "+0.85%",
85
+ // chart: "chart",
86
+ // },
87
+ // {
88
+ // name: "Ape Coin5",
89
+ // symbol: "$APE5*",
90
+ // price: "$23.02",
91
+ // change: "+0.85%",
92
+ // chart: "chart",
93
+ // },
94
+ // {
95
+ // name: "Ape Coin6",
96
+ // symbol: "$APE6*",
97
+ // price: "$23.02",
98
+ // change: "+0.85%",
99
+ // chart: "chart",
100
+ // },
101
+ // {
102
+ // name: "Ape Coin7",
103
+ // symbol: "$APE7*",
104
+ // price: "$23.02",
105
+ // change: "+0.85%",
106
+ // chart: "chart",
107
+ // },
108
+ // ];
109
+ // if (format === "wide") {
110
+ return (
111
+ <div className="TickerContainer">
112
+ {/* <Dao key={data[0].symbol} dao={data[0]} /> */}
113
+ <Marquee
114
+ speed={20}
115
+ pauseOnHover={false}
116
+ pauseOnClick
117
+ gradient={false}
118
+ >
119
+ {daos.map((dao) => {
120
+ return <Dao key={dao.name} dao={dao} />;
121
+ })}
122
+ </Marquee>
123
+ </div>
124
+ );
125
+ // } else if (format === "card") {
126
+ // return <div>Card Format Here</div>;
127
+ // } else {
128
+ // return <div>Invalid format input</div>;
129
+ // }
86
130
  };
87
131
 
88
132
  export default Ticker;