1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3390],{66485:function(e){e.exports=function(e){if(navigator.clipboard)return navigator.clipboard.writeText(e).catch((function(e){throw void 0!==e?e:new DOMException("The request is not allowed","NotAllowedError")}));var t=document.createElement("span");t.textContent=e,t.style.whiteSpace="pre",t.style.webkitUserSelect="auto",t.style.userSelect="all",document.body.appendChild(t);var n=window.getSelection(),r=window.document.createRange();n.removeAllRanges(),r.selectNode(t),n.addRange(r);var i=!1;try{i=window.document.execCommand("copy")}catch(a){console.log("error",a)}return n.removeAllRanges(),window.document.body.removeChild(t),i?Promise.resolve():Promise.reject(new DOMException("The request is not allowed","NotAllowedError"))}},6851:function(e,t,n){"use strict";n.d(t,{g:function(){return r}});var r=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.1;return{animate:{transition:{staggerChildren:e}}}}},1920:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(85893),i=n(11770);n(67294);function a(){return(0,r.jsx)(i.E.div,{variants:s,children:(0,r.jsx)("div",{className:"divider"})})}var o={duration:.6,ease:[.6,-.05,.6,.99]},s={initial:{width:"0",opacity:0,transition:o},animate:{width:"100%",opacity:1,transition:o},exit:{width:"0",opacity:0,transition:o}}},80531:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(85893),i=n(65988),a=n(11770);n(67294);function o(e){var t=e.children;return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(a.E.div,{exit:"exit",initial:"initial",animate:"animate",style:{minHeight:"calc(100vh - 160px)"},children:t}),(0,r.jsx)(i.default,{id:"3707986771",children:[]})]})}},43360:function(e,t,n){"use strict";n.d(t,{Z:function(){return b}});var r=n(71385),i=n(85893),a=n(26265),o=n(38347),s=n(3905),c=n(67294),l=n(86285),u=n(84283),d=n(16248),f=function(e){var t=e.language,n=e.value,r=null===n||void 0===n?void 0:n.replace(/^\s+|\s+$/g,""),a=(0,d.useClipboard)({copiedTimeout:2e3});return(0,i.jsxs)("div",{className:"mycode",children:[(0,i.jsxs)("div",{className:"header",children:[(0,i.jsx)("svg",{className:"code-title",xmlns:"http://www.w3.org/2000/svg",width:"54",height:"14",viewBox:"0 0 54 14",children:(0,i.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",children:[(0,i.jsx)("circle",{cx:"6",cy:"6",r:"6",fill:"#FF5F56",stroke:"#E0443E",strokeWidth:".5"}),(0,i.jsx)("circle",{cx:"26",cy:"6",r:"6",fill:"#FFBD2E",stroke:"#DEA123",strokeWidth:".5"}),(0,i.jsx)("circle",{cx:"46",cy:"6",r:"6",fill:"#27C93F",stroke:"#1AAB29",strokeWidth:".5"})]})}),(0,i.jsx)("div",{className:"copy","data-theme":"dark",children:(0,i.jsx)("button",{className:"button icon small",onClick:a.copy,children:a.copied?"Copied":"Copy"})})]}),(0,i.jsxs)("div",{className:"code-body-container",children:[(0,i.jsx)("input",{style:{display:"none"},value:n,ref:a.target,readOnly:!0}),(0,i.jsx)("div",{className:"code-body",children:(0,i.jsx)(l.Z,{language:t,style:u.pJ,wrapLongLines:!0,showLineNumbers:!0,children:r})})]})]})},m=n(41664);function x(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function h(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?x(Object(n),!0).forEach((function(t){(0,a.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):x(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function p(e,t){return"string"===typeof t?e+t:c.Children.toArray(t.props.children).reduce(p,e)}var j=function(e,t){var n=e.children,i=c.Children.toArray(n).reduce(p,"").toLowerCase().replace(/\W/g,"-"),a=c.createElement("a",{href:"#"+i,className:"heading-anchor",key:"anchor-".concat(i)},"#");return c.createElement("h"+t,{id:i},[a].concat((0,r.Z)(e.children)))},v={code:function(e){var t=e.className,n=e.children;return(0,i.jsx)(f,{language:null===t||void 0===t?void 0:t.split("-")[1],value:n})},h2:function(e){return j(e,2)},h3:function(e){return j(e,3)},a:function(e){var t=e.children,n=e.href,r=h(h({},(0,o.Z)(e,["children","href"])),{},{className:"in-article-link"});if(n.startsWith("https://blog.wb.gy/")){var a=n.split("https://blog.wb.gy/")[1];return(0,i.jsx)(m.default,{href:"/blog/".concat(a),children:(0,i.jsx)("a",h(h({},r),{},{children:t}))})}return n.startsWith("/")?(0,i.jsx)(m.default,{href:n,children:(0,i.jsx)("a",h(h({},r),{},{children:t}))}):(0,i.jsx)("a",h(h({},r),{},{href:n,target:"_blank",children:t}))},img:function(e){var t=e.src;return(0,i.jsx)("img",h(h({},e),{},{src:t?t.replace("/images/","/cdn/blog/images/"):t,width:"100%",height:"auto"}))}};function b(e){var t=e.children;return(0,i.jsx)(s.Zo,{components:v,children:t})}},67302:function(e,t,n){"use strict";n.d(t,{Z:function(){return y}});var r=n(85893),i=n(65988),a=n(6851),o=n(1920),s=n(58260),c=n(28420),l=n(11770),u=n(9008),d=(n(67294),n(60155)),f=n(9327),m=n(80531),x=n(41664);function h(e){var t=e.children,n=e.next,a=e.prev;return(0,r.jsxs)(m.Z,{children:[(0,r.jsx)("div",{className:"jsx-777024514 container",children:(0,r.jsxs)("div",{className:"jsx-777024514 page",children:[(0,r.jsx)("div",{className:"jsx-777024514 body",children:t}),(0,r.jsx)("div",{className:"jsx-777024514 footer ",children:(0,r.jsxs)("div",{className:"jsx-777024514 inner",children:[(0,r.jsx)("div",{className:"jsx-777024514 next",children:n&&(0,r.jsx)(x.default,{href:n.route,children:(0,r.jsxs)("a",{className:"jsx-777024514 button",children:[n.text,(0,r.jsx)("span",{className:"jsx-777024514 icon m_l_xs",children:(0,r.jsx)(d.nQU,{})})]})})}),(0,r.jsx)("div",{className:"jsx-777024514 prev",children:a&&(0,r.jsx)(x.default,{href:a.route,children:(0,r.jsxs)("a",{className:"jsx-777024514 button naked",children:[(0,r.jsx)("span",{className:"jsx-777024514 icon m_r_xs",children:(0,r.jsx)(d.$Ku,{})}),a.text]})})})]})})]})}),(0,r.jsx)(i.default,{id:"777024514",children:[".button.jsx-777024514 .icon.jsx-777024514{color:var(--color-text);line-height:0;}"]})]})}var p=n(43360),j=[.6,-.05,.6,.99],v={duration:.6,ease:j},b={breadcrumb:{initial:{x:500,opacity:0,transition:v},animate:{x:0,opacity:1,transition:v},exit:{x:500,opacity:0,transition:v}},projectImage:{initial:{y:500,opacity:0,transition:v},animate:{y:0,opacity:1,transition:v},exit:{y:500,opacity:0,transition:v}},title:{initial:{y:100,opacity:0,transition:v},animate:{y:0,opacity:1,transition:v},exit:{y:100,opacity:0,transition:v}}};function y(e){e.data;
1var t=e.meta,n=e.children,m=b.breadcrumb,x=b.title,j=t.title,v=(t.image,t.status,t.publishedAt),y=(t.languages,t.skills,t.tags,t.subtitle,f.WU(v));return(0,r.jsxs)(h,{title:j,next:{route:"/work",text:"Back to Projects"},prev:{route:"/about",text:"Back to About"},children:[(0,r.jsx)(u.default,{children:(0,s.Z)({title:"".concat(j," Ahmed Abdelsalam's Portfolio")})}),(0,r.jsxs)(l.E.div,{variants:(0,a.g)(.3),children:[(0,r.jsx)(l.E.div,{variants:m,children:(0,r.jsx)(c.Z,{parent:{name:"Work",route:"/work"},current:{name:j}})}),(0,r.jsx)(l.E.div,{variants:x,className:"title",children:(0,r.jsx)("h1",{className:"jsx-678935777",children:j})}),(0,r.jsx)(l.E.div,{variants:x,children:(0,r.jsx)("div",{className:"jsx-678935777 meta",children:(0,r.jsxs)("div",{className:"jsx-678935777 meta_item",children:[(0,r.jsx)("div",{className:"jsx-678935777 icon",children:(0,r.jsx)(d.ORF,{})}),(0,r.jsx)("div",{className:"jsx-678935777 name",children:"Published:"}),(0,r.jsx)("div",{title:v,className:"jsx-678935777 value",children:y})]})})}),(0,r.jsx)(o.Z,{}),(0,r.jsx)(l.E.div,{variants:x,className:"content",children:(0,r.jsx)("div",{className:"jsx-678935777 m_t_xxl article ",children:(0,r.jsx)(p.Z,{children:n})})}),(0,r.jsx)(o.Z,{}),(0,r.jsx)("div",{className:"jsx-678935777 m_b_xl"})]}),(0,r.jsx)(i.default,{id:"678935777",children:[".about-me-card.jsx-678935777{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}",".meta.jsx-678935777{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;}",".meta_item.jsx-678935777{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-item:center;-webkit-box-align-item:center;-ms-flex-align-item:center;align-item:center;line-height:1em;margin-right:var(--lg);margin-bottom:var(--xs);}",".meta_item.jsx-678935777 .icon.jsx-678935777{margin-right:var(--xxs);}",".meta_item.jsx-678935777 .name.jsx-678935777{margin-right:var(--sm);font-weight:bold;}"]})]})}},28420:function(e,t,n){"use strict";n.d(t,{Z:function(){return s}});var r=n(85893),i=n(65988),a=n(41664),o=(n(67294),n(60155));function s(e){var t=e.main,n=void 0===t?{name:"Home",route:"/"}:t,s=e.parent,c=void 0===s?{name:"",route:"/"}:s,l=e.current;return(0,r.jsxs)("div",{className:"jsx-3216411262",children:[(0,r.jsxs)("div",{className:"jsx-3216411262 whereami m_b_lg",children:[(0,r.jsx)(a.default,{href:n.route,children:(0,r.jsxs)("a",{className:"jsx-3216411262 button small m_r_xxs icon",children:[n.name,(0,r.jsx)("div",{className:"jsx-3216411262 icon",children:(0,r.jsx)(o.SZ3,{})})]})}),(0,r.jsx)(a.default,{href:c.route,children:(0,r.jsxs)("a",{className:"jsx-3216411262 button small m_r_xxs icon",children:[c.name,(0,r.jsx)("div",{className:"jsx-3216411262 icon",children:(0,r.jsx)(o.SZ3,{})})]})}),(0,r.jsx)("div",{className:"jsx-3216411262 button small naked",children:l.name})]}),(0,r.jsx)(i.default,{id:"3216411262",children:[".whereami.jsx-3216411262{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-top:var(--xxxl);}",".icon.jsx-3216411262{margin-left:var(--xs);color:var(--color-text);}"]})]})}},56425:function(e,t,n){"use strict";n.r(t),n.d(t,{meta:function(){return l},default:function(){return f}});var r=n(26265),i=n(38347),a=(n(67294),n(3905)),o=n(67302);function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?s(Object(n),!0).forEach((function(t){(0,r.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):s(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var l={type:"project",title:"Trello Filter",subTitle:" ",image:"",icon:"trello-filter.png",draft:!1,publishedAt:"2020-04-28T20:58:43.615Z",languages:["en"],styling:{background:"#226aa7",color:"#fff"}},u={meta:l},d=function(e){var t=e.children;return(0,a.kt)(o.Z,{meta:l},t)};function f(e){var t=e.components,n=(0,i.Z)(e,["components"]);return(0,a.kt)(d,c(c(c({},u),n),{},{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h2",null,"Before"),(0,a.kt)("p",null,(0,a.kt)("img",c({parentName:"p"},{src:"/cdn/work/before.png",alt:"Before"}))),(0,a.kt)("h2",null,"After"),(0,a.kt)("p",null,(0,a.kt)("img",c({parentName:"p"},{src:"/cdn/work/after.png",alt:"After"}))),(0,a.kt)("p",null,"The client wanted to Develop a Google Chrome extension for filtering Trello cards\nhis de
1scription for the job was\n`that extension creates buttons at top of Trello board allowing you to filter (show/hide) your lists in Trello."),(0,a.kt)("p",null,"What we want to do is create a button that will hide all cards except the ones with unseen notifications. Attached is an example of a card with an unread notification.`"),(0,a.kt)("p",null,"I built the extension not only for chrome but also for firefox, edge, and opera."),(0,a.kt)("p",null,(0,a.kt)("a",c({parentName:"p"},{href:"https://chrome.google.com/webstore/detail/trello-notifications-filt/lfddjgjhjlkifclfgnafaoffhmobiffg"}),"Download")))}f.isMDXComponent=!0},3644:function(e,t,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/work/trello-filter",function(){return n(56425)}])},71385:function(e,t,n){"use strict";function r(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}function i(e){return function(e){if(Array.isArray(e))return r(e)}(e)||function(e){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(e){if("string"===typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}(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.")}()}n.d(t,{Z:function(){return i}})},9327:function(e,t,n){"use strict";n.d(t,{WU:function(){return l}});var r=["second","minute","hour","day","week","month","year"];var i=["\u79d2","\u5206\u949f","\u5c0f\u65f6","\u5929","\u5468","\u4e2a\u6708","\u5e74"];var a={},o=function(e,t){a[e]=t},s=[60,60,24,7,365/7/12,12];function c(e){return e instanceof Date?e:!isNaN(e)||/^\d+$/.test(e)?new Date(parseInt(e)):(e=(e||"").trim().replace(/\.\d+/,"").replace(/-/,"/").replace(/-/,"/").replace(/(\d)T(\d)/,"$1 $2").replace(/Z/," UTC").replace(/([+-]\d\d):?(\d\d)/," $1$2"),new Date(e))}var l=function(e,t,n){return function(e,t){for(var n=e<0?1:0,r=e=Math.abs(e),i=0;e>=s[i]&&i<s.length;i++)e/=s[i];return(e=Math.floor(e))>(0===(i*=2)?9:1)&&(i+=1),t(e,i,r)[n].replace("%s",e.toString())}(function(e,t){return(+(t?c(t):new Date)-+c(e))/1e3}(e,n&&n.relativeDate),function(e){return a[e]||a.en_US}(t))};o("en_US",(function(e,t){if(0===t)return["just now","right now"];var n=r[Math.floor(t/2)];return e>1&&(n+="s"),[e+" "+n+" ago","in "+e+" "+n]})),o("zh_CN",(function(e,t){if(0===t)return["\u521a\u521a","\u7247\u523b\u540e"];var n=i[~~(t/2)];return[e+" "+n+"\u524d",e+" "+n+"\u540e"]}))},16248:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.useClipboard=void 0;var i=r(n(66485)),a=n(67294),o=n(16778);function s(e){return e&&("TEXTAREA"===e.nodeName||"INPUT"===e.nodeName)}t.useClipboard=function(e){void 0===e&&(e={});var t=o.useTimedToggle(!1),n=t[0],r=t[1],c=a.useRef(null),l=a.useRef(e);return l.current=e,{copied:n,copy:a.useCallback((function(e){var t=l.current,n=c.current;function a(){t.onSuccess&&t.onSuccess(),t.copiedTimeout&&r(t.copiedTimeout),t.selectOnCopy&&s(n)&&n.select()}function o(){t.onError&&t.onError(),!1!==t.selectOnError&&s(n)&&n.select()}function u(e){i.default(e).then(a).catch(o)}"string"===typeof e?u(e):n&&u(n.value)}),[]),isSupported:function(){return!!navigator.clipboard||"function"===typeof document.execCommand&&"function"===typeof document.queryCommandSupported&&document.queryCommandSupported("copy")},target:c}}},16778:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.useTimedToggle=void 0;var r=n(67294);t.useTimedToggle=function(e){var t=r.useState(!1),n=t[0],i=t[1],a=r.useRef(),o=r.useRef(e);return r.useEffect((function(){return function(){return clearTimeout(a.current)}}),[]),[n,function(e){clearTimeout(a.current),i(!o.current),a.current=window.setTimeout((function(){return i(o.current)}),e)}]}}},function(e){e.O(0,[329,9774,2888,179],(function(){return t=3644,e(e.s=t);var t}));var t=e.O();_N_E=t}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.