Skip to content

Commit

Permalink
use all the things, BrowserOnly, useEffect and ExecutionEnvironment
Browse files Browse the repository at this point in the history
  • Loading branch information
dovholuknf committed Nov 11, 2023
1 parent 0b34644 commit eefc2df
Showing 1 changed file with 42 additions and 7 deletions.
49 changes: 42 additions & 7 deletions docusaurus/src/components/StarChart/index.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,23 @@
import React from 'react';
import React, { useState, useEffect } from 'react';
import ExecutionEnvironment from '@docusaurus/ExecutionEnvironment';
import CanvasJSReact from '@canvasjs/react-charts';
if (ExecutionEnvironment.canUseDOM) {
require('@canvasjs/react-charts');
}
import BrowserOnly from '@docusaurus/BrowserOnly';
import zrok from './all.zrok.stargazers.json'
import ziti from './all.ziti.stargazers.json'
import others from './all.other.stargazers.json'

var CanvasJS = CanvasJSReact.CanvasJS;
var CanvasJSChart = CanvasJSReact.CanvasJSChart;

export default function StarChart(props) {
export default function StarChart(props) {
if (!ExecutionEnvironment.canUseDOM) {
return <p>sorry charlie</p>;
} else {
console.info("you got this");
}

const zitiData = ziti.map((entry, index) => {
const dateObject = new Date(entry.date);
Expand Down Expand Up @@ -39,8 +49,6 @@ export default function StarChart(props) {
y: null
};

const { children,style } = props;

const options = {
zoomEnabled: true,
panEnabled: true,
Expand Down Expand Up @@ -91,9 +99,36 @@ export default function StarChart(props) {

othersData.push(lastRow);

const [chartData, setChartData] = useState(null);
return (
<div>
<CanvasJSChart options = {options} />
</div>
<BrowserOnly fallback={<div>Loading data...</div>}>
{() => {
useEffect(() => {
const fetchData = async () => {
try {
// Simulate an API request (replace with your actual API call)
// const response = await fetch('https://api.example.com/chart-data');
// const result = await response.json();
// Set the chart data in state
setChartData(othersData);
} catch (error) {
console.error('Error fetching chart data:', error);
}
};

fetchData();
}, []);

return (
<div>
{chartData ? (
<CanvasJSChart options={options} />
) : (
<p>Loading chart data...</p>
)}
</div>
);
}}
</BrowserOnly>
);
}

0 comments on commit eefc2df

Please sign in to comment.