gecko-package
Version:
2 lines (1 loc) • 3.92 kB
JavaScript
Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("next/link"),n=require("next/image");function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=r(e),l=r(t),o=r(n);function u(e,t,n,r){return new(n||(n=Promise))((function(a,l){function o(e){try{c(r.next(e))}catch(e){l(e)}}function u(e){try{c(r.throw(e))}catch(e){l(e)}}function c(e){var t;e.done?a(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,u)}c((r=r.apply(e,t||[])).next())}))}function c(e,t){var n,r,a,l,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return l={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(l[Symbol.iterator]=function(){return this}),l;function u(u){return function(c){return function(u){if(n)throw new TypeError("Generator is already executing.");for(;l&&(l=0,u[0]&&(o=0)),o;)try{if(n=1,r&&(a=2&u[0]?r.return:u[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,u[1])).done)return a;switch(r=0,a&&(u=[2&u[0],a.value]),u[0]){case 0:case 1:a=u;break;case 4:return o.label++,{value:u[1],done:!1};case 5:o.label++,r=u[1],u=[0];continue;case 7:u=o.ops.pop(),o.trys.pop();continue;default:if(!(a=o.trys,(a=a.length>0&&a[a.length-1])||6!==u[0]&&2!==u[0])){o=0;continue}if(3===u[0]&&(!a||u[1]>a[0]&&u[1]<a[3])){o.label=u[1];break}if(6===u[0]&&o.label<a[1]){o.label=a[1],a=u;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(u);break}a[2]&&o.ops.pop(),o.trys.pop();continue}u=t.call(e,o)}catch(e){u=[6,e],r=0}finally{n=a=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}([u,c])}}}"function"==typeof SuppressedError&&SuppressedError;var s=function(){return a.default.createElement("div",{className:"loader"})},i=function(t){var n=t.children,r=t.onClick,l=t.disabled,o=void 0!==l&&l,i=t.className,f=void 0===i?"":i,d=t.style,p=t.hasBorder,m=void 0!==p&&p;!function(e){try{a.default.Children.only(e)}catch(e){throw new Error("ButtonWrapper expects only one child element. If you intend to use multiple elements, please enclose them in a parent element, as shown below:\n\n<ButtonWrapper>\n <>\n <span>First component</span>\n <span>Second component</span>\n </>\n</ButtonWrapper>")}}(n);var h=e.useState(!1),v=h[0],b=h[1];return a.default.createElement("div",{className:"container ".concat(m&&"border"),onClick:function(){return u(void 0,void 0,void 0,(function(){return c(this,(function(e){switch(e.label){case 0:return e.trys.push([0,,2,3]),b(!0),[4,r()];case 1:return e.sent(),[3,3];case 2:return b(!1),[7];case 3:return[2]}}))}))}},v?a.default.createElement("div",{className:"loaderContainer"},a.default.createElement(s,null)):a.default.createElement("button",{disabled:o||v,className:"".concat(f),style:d},n))},f=function(){var t=e.useState(!1),n=t[0],r=t[1];e.useEffect((function(){var e=window.matchMedia("(prefers-color-scheme: dark)").matches;r(e)}),[]);return e.useEffect((function(){document.body.classList.toggle("dark-mode",n)}),[n]),a.default.createElement(i,{onClick:function(){r((function(e){return!e}))}},a.default.createElement("span",null,n?"🌙":"☀️"))};exports.ButtonWrapper=i,exports.Loader=s,exports.TopBar=function(){return a.default.createElement(a.default.Fragment,null,a.default.createElement("div",{className:"topBar"},a.default.createElement(l.default,{href:"/"},a.default.createElement("div",{className:"logo"},a.default.createElement(o.default,{src:"/logo.svg",alt:"Logo",width:50,height:50}),a.default.createElement("span",{className:"font-bold"},"Bence Kovács's Website"))),a.default.createElement("nav",{className:"nav"},a.default.createElement(l.default,{href:"/"},a.default.createElement(i,{onClick:function(){}},a.default.createElement("span",null,"Home"))),a.default.createElement(l.default,{href:"/about"},a.default.createElement(i,{onClick:function(){}},a.default.createElement("span",null,"About"))),a.default.createElement(f,null))))};
;