Skip to content

Commit

Permalink
Add: widgets
Browse files Browse the repository at this point in the history
  • Loading branch information
is0xjh25 committed Dec 24, 2023
1 parent 4009082 commit 6260081
Show file tree
Hide file tree
Showing 9 changed files with 169 additions and 21 deletions.
6 changes: 6 additions & 0 deletions jsconfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"compilerOptions": {
"baseUrl": "src"
},
"include": ["src"]
}
57 changes: 57 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
"@testing-library/user-event": "^13.5.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-script-loader-hoc": "^1.2.2",
"react-scripts": "5.0.1",
"web-vitals": "^2.1.4"
},
Expand Down
41 changes: 20 additions & 21 deletions src/App.js
Original file line number Diff line number Diff line change
@@ -1,25 +1,24 @@
import logo from './logo.svg';
import './App.css';
import React from 'react';
import TickerWidget from 'components/TickerWidget';
import ConverterWidget from 'components/ConverterWidget';
import ChartWidget from 'components/ChartWidget';
import MarqueeWidget from 'components/MarqueeWidget';

function App() {
return (
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<p>
Edit <code>src/App.js</code> and save to reload.
</p>
<a
className="App-link"
href="https://reactjs.org"
target="_blank"
rel="noopener noreferrer"
>
Learn React
</a>
</header>
const App = () => (
<div>
<div style={{ width: '300px', height: '200px', border: '1px solid #ccc', padding: '10px' }}>
<TickerWidget />
</div>
);
}
<div style={{ width: '300px', height: '200px', border: '1px solid #ccc', padding: '10px' }}>
<ConverterWidget />
</div>
<div style={{ width: '300px', height: '200px', border: '1px solid #ccc', padding: '10px' }}>
<ChartWidget />
</div>
<div style={{ width: '300px', height: '200px', border: '1px solid #ccc', padding: '10px' }}>
<MarqueeWidget />
</div>
</div>
);

export default App;
16 changes: 16 additions & 0 deletions src/components/ChartWidget.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
// components/ChartWidget.js

import React from 'react';
import useScript from 'utilities/useScript';

const ChartWidget = () => {

useScript('https://widgets.coingecko.com/coingecko-coin-compare-chart-widget.js');
return (
<div>
<coingecko-coin-compare-chart-widget coin-ids="bitcoin" currency="usd" locale="en"></coingecko-coin-compare-chart-widget>
</div>
);
};

export default ChartWidget;
17 changes: 17 additions & 0 deletions src/components/ConverterWidget.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
// components/ConverterWidget.js

import React from 'react';
import useScript from 'utilities/useScript';

const ConverterWidget = () => {

useScript('https://widgets.coingecko.com/coingecko-coin-converter-widget.js');

return (
<div>
<coingecko-coin-converter-widget coin-id="bitcoin" currency="usd" background-color="#ffffff" font-color="#4c4c4c" locale="en"></coingecko-coin-converter-widget>
</div>
);
};

export default ConverterWidget;
16 changes: 16 additions & 0 deletions src/components/MarqueeWidget.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
// components/MarqueeWidget.js

import React from 'react';
import useScript from 'utilities/useScript';

const MarqueeWidget = () => {

useScript('https://widgets.coingecko.com/coingecko-coin-price-marquee-widget.js');
return (
<div>
<coingecko-coin-price-marquee-widget coin-ids="bitcoin,ethereum,eos,ripple,litecoin" currency="usd" background-color="#ffffff" locale="en"></coingecko-coin-price-marquee-widget>
</div>
);
};

export default MarqueeWidget;
17 changes: 17 additions & 0 deletions src/components/TickerWidget.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
// components/TickerWidget.js

import React from 'react';
import useScript from 'utilities/useScript';

const TickerWidget = () => {

useScript('https://widgets.coingecko.com/coingecko-coin-ticker-widget.js');

return (
<div>
<coingecko-coin-ticker-widget coin-id="bitcoin" currency="usd" locale="en" vce-ready></coingecko-coin-ticker-widget>
</div>
);
};

export default TickerWidget;
19 changes: 19 additions & 0 deletions src/utilities/useScript.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
// utilities/useScript.js
import { useEffect } from 'react';

const useScript = url => {
useEffect(() => {
const script = document.createElement('script');

script.src = url;
script.async = true;

document.body.appendChild(script);

return () => {
document.body.removeChild(script);
};
}, [url]);
};

export default useScript;

0 comments on commit 6260081

Please sign in to comment.