@sotnak/react-wakatime-global-stats 0.1.4 → 0.1.6
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.js +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"bootstrap/dist/css/bootstrap.css";import React,{useState,useEffect}from"react";import Spinner from"react-bootstrap/Spinner";import{ListGroup,Stack,ProgressBar,Pagination,ToggleButtonGroup,ToggleButton}from"react-bootstrap";function __rest(e,t){var a={};for(r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(a[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var n=0,r=Object.getOwnPropertySymbols(e);n<r.length;n++)t.indexOf(r[n])<0&&Object.prototype.propertyIsEnumerable.call(e,r[n])&&(a[r[n]]=e[r[n]]);return a}function __awaiter(e,c,g,s){return new(g=g||Promise)(function(a,t){function n(e){try{o(s.next(e))}catch(e){t(e)}}function r(e){try{o(s.throw(e))}catch(e){t(e)}}function o(e){var t;e.done?a(e.value):((t=e.value)instanceof g?t:new g(function(e){e(t)})).then(n,r)}o((s=s.apply(e,c||[])).next())})}const readJsonStats=e=>__awaiter(void 0,void 0,void 0,function*(){return yield import(`../assets/waka${e}.json`).then(e=>e.data)});var AggregateFunction,Category;!function(e){e[e.sum=0]="sum",e[e.average=1]="average",e[e.median=2]="median"}(AggregateFunction=AggregateFunction||{}),function(e){e[e.languages=0]="languages",e[e.editors=1]="editors",e[e.operating_systems=2]="operating_systems"}(Category=Category||{});const Waka=e=>{var{aggregateFunction:t=AggregateFunction.sum,category:a=Category.languages,year:n=2022}=e,e=__rest(e,["aggregateFunction","category","year"]);const[r,o]=useState(void 0);if(useEffect(()=>{readJsonStats(n).then(e=>o(e)).catch(()=>{console.error("unable to load year "+n)
|
|
1
|
+
import"bootstrap/dist/css/bootstrap.css";import React,{useState,useEffect}from"react";import Spinner from"react-bootstrap/Spinner";import{ListGroup,Stack,ProgressBar,Pagination,ToggleButtonGroup,ToggleButton}from"react-bootstrap";function __rest(e,t){var a={};for(r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(a[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var n=0,r=Object.getOwnPropertySymbols(e);n<r.length;n++)t.indexOf(r[n])<0&&Object.prototype.propertyIsEnumerable.call(e,r[n])&&(a[r[n]]=e[r[n]]);return a}function __awaiter(e,c,g,s){return new(g=g||Promise)(function(a,t){function n(e){try{o(s.next(e))}catch(e){t(e)}}function r(e){try{o(s.throw(e))}catch(e){t(e)}}function o(e){var t;e.done?a(e.value):((t=e.value)instanceof g?t:new g(function(e){e(t)})).then(n,r)}o((s=s.apply(e,c||[])).next())})}const readJsonStats=e=>__awaiter(void 0,void 0,void 0,function*(){return yield import(`../assets/waka${e}.json`).then(e=>e.data)});var AggregateFunction,Category;!function(e){e[e.sum=0]="sum",e[e.average=1]="average",e[e.median=2]="median"}(AggregateFunction=AggregateFunction||{}),function(e){e[e.languages=0]="languages",e[e.editors=1]="editors",e[e.operating_systems=2]="operating_systems"}(Category=Category||{});const Waka=e=>{var{aggregateFunction:t=AggregateFunction.sum,category:a=Category.languages,year:n=2022}=e,e=__rest(e,["aggregateFunction","category","year"]);const[r,o]=useState(void 0);if(useEffect(()=>{o(void 0),readJsonStats(n).then(e=>o(e)).catch(()=>{console.error("unable to load year "+n)})},[n]),!r)return React.createElement("div",null,React.createElement(Spinner,{animation:"border",role:"status"}),React.createElement("span",null," Loading..."));let c,g=(c=e.limit||1e6,[]);switch(a){case Category.languages:g=r.languages;break;case Category.editors:g=r.editors;break;case Category.operating_systems:g=r.operating_systems;break;default:throw Error("unknown category: "+a)}var s=g.filter(e=>"Other"!=e.name);let i=[];switch(t){case AggregateFunction.average:i=s.map(e=>({name:e.name,value:e.average}));break;case AggregateFunction.median:i=s.map(e=>({name:e.name,value:e.median}));break;case AggregateFunction.sum:i=s.map(e=>({name:e.name,value:e.sum}));break;default:throw Error("unknown aggregate function: "+t)}e=i.sort((e,t)=>t.value.seconds-e.value.seconds).slice(0,c);let u;e[0]&&(u=e[0].value.seconds);e=e.map(e=>React.createElement(ListGroup.Item,{key:e.name},React.createElement(Stack,{direction:"horizontal",gap:3},React.createElement("div",null,e.name),React.createElement("div",{className:"ms-auto"},e.value.text)),React.createElement(ProgressBar,{max:u,now:e.value.seconds})));return React.createElement(React.Fragment,null,React.createElement(ListGroup,null,e))};function styleInject(e,t){var a,n,t=(t=void 0===t?{}:t).insertAt;e&&"undefined"!=typeof document&&(a=document.head||document.getElementsByTagName("head")[0],(n=document.createElement("style")).type="text/css","top"===t&&a.firstChild?a.insertBefore(n,a.firstChild):a.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e)))}var css_248z="#wakaContainer {\n overflow-y: scroll;\n height: 100%;\n}\n\n#full {\n position: absolute;\n top: 0;\n bottom: 0;\n width: 100%;\n}";styleInject(css_248z);const WakaInteractive=()=>{const[e,t]=useState(AggregateFunction.sum),[a,n]=useState(Category.languages),[r,o]=useState(2022);var c=[];for(let t=2013;t<=2022;t++)c.push(React.createElement(Pagination.Item,{key:t,active:t===r,onClick:()=>{var e;e=t,o(e)}},t));return React.createElement(Stack,{id:"full"},React.createElement(Stack,{direction:"horizontal",gap:3},React.createElement(ToggleButtonGroup,{type:"radio",name:"agg options",defaultValue:AggregateFunction.sum,onChange:e=>{t(e)}},React.createElement(ToggleButton,{id:"tbg-agg-1",value:AggregateFunction.sum},"Sum"),React.createElement(ToggleButton,{id:"tbg-agg-2",value:AggregateFunction.average},"Average"),React.createElement(ToggleButton,{id:"tbg-agg-3",value:AggregateFunction.median},"Median")),React.createElement(ToggleButtonGroup,{className:"ms-auto",type:"radio",name:"category options",defaultValue:Category.languages,onChange:e=>{n(e)}},React.createElement(ToggleButton,{id:"tbg-category-1",variant:"success",value:Category.languages},"Languages"),React.createElement(ToggleButton,{id:"tbg-category-2",variant:"success",value:Category.editors},"Editors"),React.createElement(ToggleButton,{id:"tbg-category-3",variant:"success",value:Category.operating_systems},"Operating Systems"))),React.createElement("div",{id:"wakaContainer"},React.createElement(Waka,{aggregateFunction:e,limit:20,category:a,year:r})),React.createElement(Pagination,{className:"col-md-5 mx-auto"},c))};export{AggregateFunction,Category,Waka,WakaInteractive};
|