-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.bundle.js
1 lines (1 loc) · 16.3 KB
/
main.bundle.js
1
!function(e){function t(t){for(var r,i,c=t[0],s=t[1],l=t[2],p=0,m=[];p<c.length;p++)i=c[p],Object.prototype.hasOwnProperty.call(a,i)&&a[i]&&m.push(a[i][0]),a[i]=0;for(r in s)Object.prototype.hasOwnProperty.call(s,r)&&(e[r]=s[r]);for(u&&u(t);m.length;)m.shift()();return o.push.apply(o,l||[]),n()}function n(){for(var e,t=0;t<o.length;t++){for(var n=o[t],r=!0,c=1;c<n.length;c++){var s=n[c];0!==a[s]&&(r=!1)}r&&(o.splice(t--,1),e=i(i.s=n[0]))}return e}var r={},a={0:0},o=[];function i(t){if(r[t])return r[t].exports;var n=r[t]={i:t,l:!1,exports:{}};return e[t].call(n.exports,n,n.exports,i),n.l=!0,n.exports}i.m=e,i.c=r,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(n,r,function(t){return e[t]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="";var c=window.webpackJsonp=window.webpackJsonp||[],s=c.push.bind(c);c.push=t,c=c.slice();for(var l=0;l<c.length;l++)t(c[l]);var u=s;o.push([236,1]),n()}({236:function(e,t,n){"use strict";n.r(t);var r=n(0),a=n.n(r),o=n(52);n(159),n(92),n(122),n(125),n(126),n(127),n(129),n(71),n(94),n(131),n(96),n(135),n(73),n(97);function i(e,t,n,r,a,o,i){try{var c=e[o](i),s=c.value}catch(e){return void n(e)}c.done?t(s):Promise.resolve(s).then(r,a)}function c(e){return function(){var t=this,n=arguments;return new Promise((function(r,a){var o=e.apply(t,n);function c(e){i(o,r,a,c,s,"next",e)}function s(e){i(o,r,a,c,s,"throw",e)}c(void 0)}))}}var s="https://api.hackerwebapp.com";function l(e){return u.apply(this,arguments)}function u(){return(u=c(regeneratorRuntime.mark((function e(t){var n,r,a=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=a.length>1&&void 0!==a[1]?a[1]:1,e.prev=1,e.next=4,fetch("".concat(s,"/").concat(t,"?page=").concat(n));case 4:return r=e.sent,e.next=7,r.json();case 7:return e.abrupt("return",e.sent);case 10:return e.prev=10,e.t0=e.catch(1),e.abrupt("return",Promise.reject(e.t0));case 13:case"end":return e.stop()}}),e,null,[[1,10]])})))).apply(this,arguments)}function p(e){return m.apply(this,arguments)}function m(){return(m=c(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,fetch("".concat(s,"/item/").concat(t));case 3:return n=e.sent,e.next=6,n.json();case 6:return e.abrupt("return",e.sent);case 9:return e.prev=9,e.t0=e.catch(0),e.abrupt("return",Promise.reject(e.t0));case 12:case"end":return e.stop()}}),e,null,[[0,9]])})))).apply(this,arguments)}var f,d,y,b,v,h,g,w,E,x=n(36),O=n(64),j=n(264),P=n(260),C=n(263),k=n(262),I=n(261),N=n(35),L=n.n(N),S=(n(200),n(201),n(202),n(95),n(204),n(141),n(3)),A=n(147);function z(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function D(e,t,n,r,a,o,i){try{var c=e[o](i),s=c.value}catch(e){return void n(e)}c.done?t(s):Promise.resolve(s).then(r,a)}function R(e){return function(){var t=this,n=arguments;return new Promise((function(r,a){var o=e.apply(t,n);function i(e){D(o,r,a,i,c,"next",e)}function c(e){D(o,r,a,i,c,"throw",e)}i(void 0)}))}}function T(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function _(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function M(e,t,n,r,a){var o={};return Object.keys(r).forEach((function(e){o[e]=r[e]})),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=n.slice().reverse().reduce((function(n,r){return r(e,t,n)||n}),o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}Object(A.enableLogging)();var B=(d=M((f=function(){function e(){var t=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),T(this,"posts",d,this),T(this,"type",y,this),T(this,"page",b,this),T(this,"postsLoading",v,this),T(this,"itemId",h,this),T(this,"selectedPost",g,this),T(this,"comments",w,this),T(this,"commentsLoading",E,this),Object(S.reaction)((function(){return t.type+t.page}),(function(){return t.fetchPosts()})),Object(S.reaction)((function(){return t.itemId}),(function(){return t.fetchComments()}))}var t,n,r,a,o;return t=e,(n=[{key:"fetchPosts",value:(o=R(regeneratorRuntime.mark((function e(){var t,n=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.postsLoading=!0,e.next=3,l(this.type,this.page);case 3:t=e.sent,Object(S.runInAction)((function(){n.posts=t,n.postsLoading=!1}));case 5:case"end":return e.stop()}}),e,this)}))),function(){return o.apply(this,arguments)})},{key:"fetchComments",value:(a=R(regeneratorRuntime.mark((function e(){var t,n=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.commentsLoading=!0,e.next=3,p(this.itemId);case 3:t=e.sent,Object(S.runInAction)((function(){var e=t.comments,r=z(t,["comments"]);n.comments=e,n.selectedPost=r,n.commentsLoading=!1}));case 5:case"end":return e.stop()}}),e,this)}))),function(){return a.apply(this,arguments)})},{key:"setType",value:function(e){this.type=e}},{key:"setPage",value:function(e){this.page=e}},{key:"setItemId",value:function(e){this.itemId=e}}])&&_(t.prototype,n),r&&_(t,r),e}()).prototype,"posts",[S.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),y=M(f.prototype,"type",[S.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return"news"}}),b=M(f.prototype,"page",[S.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),v=M(f.prototype,"postsLoading",[S.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),h=M(f.prototype,"itemId",[S.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),g=M(f.prototype,"selectedPost",[S.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),w=M(f.prototype,"comments",[S.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),E=M(f.prototype,"commentsLoading",[S.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),M(f.prototype,"fetchPosts",[S.action],Object.getOwnPropertyDescriptor(f.prototype,"fetchPosts"),f.prototype),M(f.prototype,"fetchComments",[S.action],Object.getOwnPropertyDescriptor(f.prototype,"fetchComments"),f.prototype),M(f.prototype,"setType",[S.action],Object.getOwnPropertyDescriptor(f.prototype,"setType"),f.prototype),M(f.prototype,"setPage",[S.action],Object.getOwnPropertyDescriptor(f.prototype,"setPage"),f.prototype),M(f.prototype,"setItemId",[S.action],Object.getOwnPropertyDescriptor(f.prototype,"setItemId"),f.prototype),f),W=a.a.createContext(new B),F=n(53),H=Object(F.a)((function(e){var t=e.history,n=e.classes,a=r.useContext(W);return r.createElement(j.a,{className:n.appBar,color:"primary"},r.createElement(P.a,null,r.createElement(I.a,{variant:"subtitle1",color:"inherit"},"Hacker News - React Hooks API"),r.createElement(C.a,{className:n.tabs,value:a.type,centered:!0,onChange:function(e,n){t.push("/"+n),Object(S.runInAction)((function(){a.setType(n),a.setPage(1)}))}},de.map((function(e){return r.createElement(k.a,{key:e,label:e,value:e})})))))})),U=Object(x.g)(L()({appBar:{margin:0,padding:0},tabs:{marginLeft:"10px"}})(H)),J=(n(192),n(194),n(198),n(140),n(257)),$=n(254),q=n(256),G=n(259),K=n(148),Q=n.n(K),V=Object(F.a)((function(e){var t=e.match,n=e.location,o=e.history,i=e.classes,c=Object(r.useContext)(W),s=parseInt(new URLSearchParams(n.search).get("page"))||1;Object(r.useEffect)((function(){var e=t.path.startsWith("/")?t.path.slice(1):t.path;0!==c.posts.length&&e===c.type&&s===c.page||Object(S.runInAction)((function(){c.setPage(s),c.setType(e)}))}),[t.path,n.search]);var l=function(e){o.push({pathname:n.path,search:"?page="+e})};return c.postsLoading&&(i.centeredDiv,$.a),!c.postsLoading&&0===c.posts.length&&i.centeredDiv,!postMessage.loading&&c.posts.length>0&&(q.a,c.posts.map((function(e){return a.a.createElement(Y,{className:i.post,key:e.id,post:e})}))),a.a.createElement("div",{className:i.postsContainer},a.a.createElement(q.a,{container:!0},c.postsLoading?a.a.createElement($.a,null):0==c.posts.length?a.a.createElement("div",{className:i.centeredDiv},"No posts found :("):a.a.createElement(q.a,{item:!0,md:12,lg:8},c.posts.map((function(e){return a.a.createElement(Y,{className:i.post,key:e.id,post:e,history:o})})),a.a.createElement("div",{className:i.navigationButtonsContainer},a.a.createElement(J.a,{onClick:function(e){return l(s-1)},fullWidth:!0,disabled:1===c.page},"Previous"),a.a.createElement(J.a,{onClick:function(e){return l(s+1)},fullWidth:!0},"Next")))))})),X=L()({postsContainer:{padding:"10px"},centeredDiv:{textAlign:"center"},navigationButtonsContainer:{display:"flex",flexDirection:"row",justifyContent:"space-between",margin:"10px 0"}})(V),Y=L()((function(e){return{cardContentWrapper:{display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"space-between",marginBottom:"5px","&:hover":{backgroundColor:"rgba(0, 0, 0, 0.08)"}},centeredFlexRow:{display:"flex",flexDirection:"row",alignItems:"center"},points:{fontSize:"130%",width:"70px",color:e.palette.secondary.main},title:{fontSize:"120%",color:e.palette.text.primary},subtitle:{color:e.palette.text.secondary},link:{textDecoration:"none"},commentsWrapper:{textAlign:"center"},numComments:{color:e.palette.text.secondary,marginTop:"-10px",fontSize:"90%"},commentsLink:{textDecoration:"none"}}}))((function(e){var t=e.post,n=e.classes;return a.a.createElement("div",{className:n.cardContentWrapper},a.a.createElement("div",{className:n.centeredFlexRow},a.a.createElement("div",{className:n.points},t.points),a.a.createElement("a",{href:t.url,target:"_blank",className:n.link},a.a.createElement("div",{className:n.title},t.title),a.a.createElement("div",{className:n.subtitle},t.time_ago," by ",t.user," | ",t.domain))),a.a.createElement("div",{className:n.commentsWrapper},a.a.createElement(O.b,{to:"/item/"+t.id},a.a.createElement(G.a,null,a.a.createElement(Q.a,{color:"secondary"}))),a.a.createElement("div",{className:n.numComments},t.comments_count)))}));n(234);function Z(e){return function(e){if(Array.isArray(e))return ee(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return ee(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ee(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ee(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var te=Object(F.a)((function(e){var t=e.classes,n=e.match,o=Object(r.useContext)(W);Object(r.useEffect)((function(){o.setItemId(n.params.itemId)}),[n.path]);return a.a.createElement(q.a,{container:!0,className:t.mainContainer},a.a.createElement(q.a,{item:!0,md:12,lg:8},o.commentsLoading&&a.a.createElement("div",{className:t.centeredDiv},a.a.createElement($.a,null)),!o.commentsLoading&&o.selectedPost&&a.a.createElement(Y,{className:t.post,post:o.selectedPost}),!o.commentsLoading&&o.comments.flatMap((function(e){return function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return n.push(a.a.createElement(re,{key:t.id,comment:t})),t.comments.forEach((function(t){return e(t,n)})),n}(e)})),!o.commentsLoading&&0===o.comments.length&&a.a.createElement("div",{className:t.centeredDiv},"No comments found :(")))})),ne=L()({mainContainer:{padding:"10px"},post:{marginBottom:"10px"},centeredDiv:{textAlign:"center"}})(te),re=L()((function(e){return{commentContainer:{display:"flex",flexDirection:"row"},commentLevelLine:{borderLeft:"2px solid "+e.palette.secondary.main,marginRight:"10px"},card:{marginLeft:"7px"},cardContent:{paddingBottom:"0 !important"},content:{"& a":{color:e.palette.primary.main}},user:{color:e.palette.secondary.main},time:{marginLeft:"10px",color:e.palette.text.secondary}}}))((function(e){var t=e.comment,n=e.classes;return a.a.createElement("div",{className:n.commentContainer},Z(new Array(t.level).keys()).map((function(e,t){return a.a.createElement("div",{key:t,className:n.commentLevelLine})})),a.a.createElement("div",{className:n.card},a.a.createElement("div",{className:n.cardContent},a.a.createElement("div",null,a.a.createElement("span",{className:n.user},t.user),a.a.createElement("span",{className:n.time},t.time_ago)),a.a.createElement("div",{className:n.content,dangerouslySetInnerHTML:{__html:t.content}}))))})),ae=n(149),oe=n(258),ie=n(101),ce=n.n(ie),se=n(102),le=n.n(se);function ue(){return(ue=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function pe(e,t,n,r,a,o,i){try{var c=e[o](i),s=c.value}catch(e){return void n(e)}c.done?t(s):Promise.resolve(s).then(r,a)}function me(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],r=!0,a=!1,o=void 0;try{for(var i,c=e[Symbol.iterator]();!(r=(i=c.next()).done)&&(n.push(i.value),!t||n.length!==t);r=!0);}catch(e){a=!0,o=e}finally{try{r||null==c.return||c.return()}finally{if(a)throw o}}return n}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return fe(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return fe(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function fe(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var de=["news","best","newest"],ye=Object(ae.a)({palette:{primary:{main:ce.a[600]},secondary:{main:le.a[500]}}}),be=function(){var e=me(Object(r.useState)({post:void 0,items:[],loading:!1}),2),t=e[0],n=e[1],o=function(){var e,t=(e=regeneratorRuntime.mark((function e(t){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n({post:void 0,items:[],loading:!0}),e.next=3,p(t);case 3:r=e.sent,n({post:r,items:r.comments,loading:!1});case 5:case"end":return e.stop()}}),e)})),function(){var t=this,n=arguments;return new Promise((function(r,a){var o=e.apply(t,n);function i(e){pe(o,r,a,i,c,"next",e)}function c(e){pe(o,r,a,i,c,"throw",e)}i(void 0)}))});return function(e){return t.apply(this,arguments)}}(),i=de.map((function(e){return a.a.createElement(x.b,{key:e,path:"/"+e,exact:!0,render:function(e){return a.a.createElement(X,e)}})}));return a.a.createElement(oe.a,{theme:ye},a.a.createElement(O.a,null,a.a.createElement(a.a.Fragment,null,a.a.createElement(U,null),a.a.createElement(x.d,null,i,a.a.createElement(x.b,{path:"/item/:itemId",render:function(e){return a.a.createElement(ne,ue({},e,{comments:t,loadComments:o}))}}),a.a.createElement(x.a,{to:"/news"})))))},ve=document.createElement("div");ve.id="root",document.body.appendChild(ve),document.body.style.fontFamily="Roboto, sans-serif",document.body.style.backgroundColor="#eee",document.body.style.margin="64px 0 0 0",o.render(r.createElement(be,null),document.getElementById("root"))}});