From 824e661d5e3b78bfc85b17ba8ad2d1b4e318453c Mon Sep 17 00:00:00 2001 From: p32929 Date: Tue, 29 Aug 2023 09:20:55 +0600 Subject: [PATCH] Updates --- asset-manifest.json | 6 +++--- index.html | 2 +- .../js/{main.b5cd1fe3.chunk.js => main.1c297acb.chunk.js} | 4 ++-- static/js/main.1c297acb.chunk.js.map | 1 + static/js/main.b5cd1fe3.chunk.js.map | 1 - 5 files changed, 7 insertions(+), 7 deletions(-) rename static/js/{main.b5cd1fe3.chunk.js => main.1c297acb.chunk.js} (63%) create mode 100644 static/js/main.1c297acb.chunk.js.map delete mode 100644 static/js/main.b5cd1fe3.chunk.js.map diff --git a/asset-manifest.json b/asset-manifest.json index 20721b6..4a63f4f 100644 --- a/asset-manifest.json +++ b/asset-manifest.json @@ -1,8 +1,8 @@ { "files": { "main.css": "/static/css/main.0374c607.chunk.css", - "main.js": "/static/js/main.b5cd1fe3.chunk.js", - "main.js.map": "/static/js/main.b5cd1fe3.chunk.js.map", + "main.js": "/static/js/main.1c297acb.chunk.js", + "main.js.map": "/static/js/main.1c297acb.chunk.js.map", "runtime-main.js": "/static/js/runtime-main.6234f127.js", "runtime-main.js.map": "/static/js/runtime-main.6234f127.js.map", "static/js/2.f974263f.chunk.js": "/static/js/2.f974263f.chunk.js", @@ -17,6 +17,6 @@ "static/js/runtime-main.6234f127.js", "static/js/2.f974263f.chunk.js", "static/css/main.0374c607.chunk.css", - "static/js/main.b5cd1fe3.chunk.js" + "static/js/main.1c297acb.chunk.js" ] } \ No newline at end of file diff --git a/index.html b/index.html index 492a046..e0056e8 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -Fayaz Bin Salam - p32929
\ No newline at end of file +Fayaz Bin Salam - p32929
\ No newline at end of file diff --git a/static/js/main.b5cd1fe3.chunk.js b/static/js/main.1c297acb.chunk.js similarity index 63% rename from static/js/main.b5cd1fe3.chunk.js rename to static/js/main.1c297acb.chunk.js index 753c351..90314a4 100644 --- a/static/js/main.b5cd1fe3.chunk.js +++ b/static/js/main.1c297acb.chunk.js @@ -1,2 +1,2 @@ -(this["webpackJsonpp32929-fayaz-bin-salam"]=this["webpackJsonpp32929-fayaz-bin-salam"]||[]).push([[0],{155:function(t,e,o){},267:function(t,e,o){"use strict";o.r(e);var i={};o.r(i),o.d(i,"setPrimaryColor",(function(){return j})),o.d(i,"showLeftPart",(function(){return v})),o.d(i,"showColorPickerDialog",(function(){return C})),o.d(i,"showHelperDialog",(function(){return k})),o.d(i,"setMenuClicked",(function(){return x}));var n=o(0),a=o.n(n),s=o(22),r=o.n(s),c=(o(155),function(t){t&&t instanceof Function&&o.e(3).then(o.bind(null,305)).then((function(e){var o=e.getCLS,i=e.getFID,n=e.getFCP,a=e.getLCP,s=e.getTTFB;o(t),i(t),n(t),a(t),s(t)}))}),l=o(60),g=o(301),p=o(38),d=o(10),m=o(12),h=Object(d.a)((function t(){Object(m.a)(this,t)}));h.githubIcon="M12,2A10,10 0 0,0 2,12C2,16.42 4.87,20.17 8.84,21.5C9.34,21.58 9.5,21.27 9.5,21C9.5,20.77 9.5,20.14 9.5,19.31C6.73,19.91 6.14,17.97 6.14,17.97C5.68,16.81 5.03,16.5 5.03,16.5C4.12,15.88 5.1,15.9 5.1,15.9C6.1,15.97 6.63,16.93 6.63,16.93C7.5,18.45 8.97,18 9.54,17.76C9.63,17.11 9.89,16.67 10.17,16.42C7.95,16.17 5.62,15.31 5.62,11.5C5.62,10.39 6,9.5 6.65,8.79C6.55,8.54 6.2,7.5 6.75,6.15C6.75,6.15 7.59,5.88 9.5,7.17C10.29,6.95 11.15,6.84 12,6.84C12.85,6.84 13.71,6.95 14.5,7.17C16.41,5.88 17.25,6.15 17.25,6.15C17.8,7.5 17.45,8.54 17.35,8.79C18,9.5 18.38,10.39 18.38,11.5C18.38,15.32 16.04,16.16 13.81,16.41C14.17,16.72 14.5,17.33 14.5,18.26C14.5,19.6 14.5,20.68 14.5,21C14.5,21.27 14.66,21.59 15.17,21.5C19.14,20.16 22,16.42 22,12A10,10 0 0,0 12,2Z",h.facebookIcon="M12 2.04C6.5 2.04 2 6.53 2 12.06C2 17.06 5.66 21.21 10.44 21.96V14.96H7.9V12.06H10.44V9.85C10.44 7.34 11.93 5.96 14.22 5.96C15.31 5.96 16.45 6.15 16.45 6.15V8.62H15.19C13.95 8.62 13.56 9.39 13.56 10.18V12.06H16.34L15.89 14.96H13.56V21.96A10 10 0 0 0 22 12.06C22 6.53 17.5 2.04 12 2.04Z",h.whatsappIcon="M12.04 2C6.58 2 2.13 6.45 2.13 11.91C2.13 13.66 2.59 15.36 3.45 16.86L2.05 22L7.3 20.62C8.75 21.41 10.38 21.83 12.04 21.83C17.5 21.83 21.95 17.38 21.95 11.92C21.95 9.27 20.92 6.78 19.05 4.91C17.18 3.03 14.69 2 12.04 2M12.05 3.67C14.25 3.67 16.31 4.53 17.87 6.09C19.42 7.65 20.28 9.72 20.28 11.92C20.28 16.46 16.58 20.15 12.04 20.15C10.56 20.15 9.11 19.76 7.85 19L7.55 18.83L4.43 19.65L5.26 16.61L5.06 16.29C4.24 15 3.8 13.47 3.8 11.91C3.81 7.37 7.5 3.67 12.05 3.67M8.53 7.33C8.37 7.33 8.1 7.39 7.87 7.64C7.65 7.89 7 8.5 7 9.71C7 10.93 7.89 12.1 8 12.27C8.14 12.44 9.76 14.94 12.25 16C12.84 16.27 13.3 16.42 13.66 16.53C14.25 16.72 14.79 16.69 15.22 16.63C15.7 16.56 16.68 16.03 16.89 15.45C17.1 14.87 17.1 14.38 17.04 14.27C16.97 14.17 16.81 14.11 16.56 14C16.31 13.86 15.09 13.26 14.87 13.18C14.64 13.1 14.5 13.06 14.31 13.3C14.15 13.55 13.67 14.11 13.53 14.27C13.38 14.44 13.24 14.46 13 14.34C12.74 14.21 11.94 13.95 11 13.11C10.26 12.45 9.77 11.64 9.62 11.39C9.5 11.15 9.61 11 9.73 10.89C9.84 10.78 10 10.6 10.1 10.45C10.23 10.31 10.27 10.2 10.35 10.04C10.43 9.87 10.39 9.73 10.33 9.61C10.27 9.5 9.77 8.26 9.56 7.77C9.36 7.29 9.16 7.35 9 7.34C8.86 7.34 8.7 7.33 8.53 7.33Z",h.wordpressIcon="M3.42,12C3.42,10.76 3.69,9.58 4.16,8.5L8.26,19.72C5.39,18.33 3.42,15.4 3.42,12M17.79,11.57C17.79,12.3 17.5,13.15 17.14,14.34L16.28,17.2L13.18,8L14.16,7.9C14.63,7.84 14.57,7.16 14.11,7.19C14.11,7.19 12.72,7.3 11.82,7.3L9.56,7.19C9.1,7.16 9.05,7.87 9.5,7.9L10.41,8L11.75,11.64L9.87,17.27L6.74,8L7.73,7.9C8.19,7.84 8.13,7.16 7.67,7.19C7.67,7.19 6.28,7.3 5.38,7.3L4.83,7.29C6.37,4.96 9,3.42 12,3.42C14.23,3.42 16.27,4.28 17.79,5.67H17.68C16.84,5.67 16.24,6.4 16.24,7.19C16.24,7.9 16.65,8.5 17.08,9.2C17.41,9.77 17.79,10.5 17.79,11.57M12.15,12.75L14.79,19.97L14.85,20.09C13.96,20.41 13,20.58 12,20.58C11.16,20.58 10.35,20.46 9.58,20.23L12.15,12.75M19.53,7.88C20.2,9.11 20.58,10.5 20.58,12C20.58,15.16 18.86,17.93 16.31,19.41L18.93,11.84C19.42,10.62 19.59,9.64 19.59,8.77L19.53,7.88M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,21.54C17.26,21.54 21.54,17.26 21.54,12C21.54,6.74 17.26,2.46 12,2.46C6.74,2.46 2.46,6.74 2.46,12C2.46,17.26 6.74,21.54 12,21.54Z",h.skypeIcon="M18,6C20.07,8.04 20.85,10.89 20.36,13.55C20.77,14.27 21,15.11 21,16A5,5 0 0,1 16,21C15.11,21 14.27,20.77 13.55,20.36C10.89,20.85 8.04,20.07 6,18C3.93,15.96 3.15,13.11 3.64,10.45C3.23,9.73 3,8.89 3,8A5,5 0 0,1 8,3C8.89,3 9.73,3.23 10.45,3.64C13.11,3.15 15.96,3.93 18,6M12.04,17.16C14.91,17.16 16.34,15.78 16.34,13.92C16.34,12.73 15.78,11.46 13.61,10.97L11.62,10.53C10.86,10.36 10,10.13 10,9.42C10,8.7 10.6,8.2 11.7,8.2C13.93,8.2 13.72,9.73 14.83,9.73C15.41,9.73 15.91,9.39 15.91,8.8C15.91,7.43 13.72,6.4 11.86,6.4C9.85,6.4 7.7,7.26 7.7,9.54C7.7,10.64 8.09,11.81 10.25,12.35L12.94,13.03C13.75,13.23 13.95,13.68 13.95,14.1C13.95,14.78 13.27,15.45 12.04,15.45C9.63,15.45 9.96,13.6 8.67,13.6C8.09,13.6 7.67,14 7.67,14.57C7.67,15.68 9,17.16 12.04,17.16Z",h.emailIcon="M12,15C12.81,15 13.5,14.7 14.11,14.11C14.7,13.5 15,12.81 15,12C15,11.19 14.7,10.5 14.11,9.89C13.5,9.3 12.81,9 12,9C11.19,9 10.5,9.3 9.89,9.89C9.3,10.5 9,11.19 9,12C9,12.81 9.3,13.5 9.89,14.11C10.5,14.7 11.19,15 12,15M12,2C14.75,2 17.1,3 19.05,4.95C21,6.9 22,9.25 22,12V13.45C22,14.45 21.65,15.3 21,16C20.3,16.67 19.5,17 18.5,17C17.3,17 16.31,16.5 15.56,15.5C14.56,16.5 13.38,17 12,17C10.63,17 9.45,16.5 8.46,15.54C7.5,14.55 7,13.38 7,12C7,10.63 7.5,9.45 8.46,8.46C9.45,7.5 10.63,7 12,7C13.38,7 14.55,7.5 15.54,8.46C16.5,9.45 17,10.63 17,12V13.45C17,13.86 17.16,14.22 17.46,14.53C17.76,14.84 18.11,15 18.5,15C18.92,15 19.27,14.84 19.57,14.53C19.87,14.22 20,13.86 20,13.45V12C20,9.81 19.23,7.93 17.65,6.35C16.07,4.77 14.19,4 12,4C9.81,4 7.93,4.77 6.35,6.35C4.77,7.93 4,9.81 4,12C4,14.19 4.77,16.07 6.35,17.65C7.93,19.23 9.81,20 12,20H17V22H12C9.25,22 6.9,21 4.95,19.05C3,17.1 2,14.75 2,12C2,9.25 3,6.9 4.95,4.95C6.9,3 9.25,2 12,2Z",h.buymeacoffee="M20.216 6.415l-.132-.666c-.119-.598-.388-1.163-1.001-1.379-.197-.069-.42-.098-.57-.241-.152-.143-.196-.366-.231-.572-.065-.378-.125-.756-.192-1.133-.057-.325-.102-.69-.25-.987-.195-.4-.597-.634-.996-.788a5.723 5.723 0 00-.626-.194c-1-.263-2.05-.36-3.077-.416a25.834 25.834 0 00-3.7.062c-.915.083-1.88.184-2.75.5-.318.116-.646.256-.888.501-.297.302-.393.77-.177 1.146.154.267.415.456.692.58.36.162.737.284 1.123.366 1.075.238 2.189.331 3.287.37 1.218.05 2.437.01 3.65-.118.299-.033.598-.073.896-.119.352-.054.578-.513.474-.834-.124-.383-.457-.531-.834-.473-.466.074-.96.108-1.382.146-1.177.08-2.358.082-3.536.006a22.228 22.228 0 01-1.157-.107c-.086-.01-.18-.025-.258-.036-.243-.036-.484-.08-.724-.13-.111-.027-.111-.185 0-.212h.005c.277-.06.557-.108.838-.147h.002c.131-.009.263-.032.394-.048a25.076 25.076 0 013.426-.12c.674.019 1.347.067 2.017.144l.228.031c.267.04.533.088.798.145.392.085.895.113 1.07.542.055.137.08.288.111.431l.319 1.484a.237.237 0 01-.199.284h-.003c-.037.006-.075.01-.112.015a36.704 36.704 0 01-4.743.295 37.059 37.059 0 01-4.699-.304c-.14-.017-.293-.042-.417-.06-.326-.048-.649-.108-.973-.161-.393-.065-.768-.032-1.123.161-.29.16-.527.404-.675.701-.154.316-.199.66-.267 1-.069.34-.176.707-.135 1.056.087.753.613 1.365 1.37 1.502a39.69 39.69 0 0011.343.376.483.483 0 01.535.53l-.071.697-1.018 9.907c-.041.41-.047.832-.125 1.237-.122.637-.553 1.028-1.182 1.171-.577.131-1.165.2-1.756.205-.656.004-1.31-.025-1.966-.022-.699.004-1.556-.06-2.095-.58-.475-.458-.54-1.174-.605-1.793l-.731-7.013-.322-3.094c-.037-.351-.286-.695-.678-.678-.336.015-.718.3-.678.679l.228 2.185.949 9.112c.147 1.344 1.174 2.068 2.446 2.272.742.12 1.503.144 2.257.156.966.016 1.942.053 2.892-.122 1.408-.258 2.465-1.198 2.616-2.657.34-3.332.683-6.663 1.024-9.995l.215-2.087a.484.484 0 01.39-.426c.402-.078.787-.212 1.074-.518.455-.488.546-1.124.385-1.766zm-1.478.772c-.145.137-.363.201-.578.233-2.416.359-4.866.54-7.308.46-1.748-.06-3.477-.254-5.207-.498-.17-.024-.353-.055-.47-.18-.22-.236-.111-.71-.054-.995.052-.26.152-.609.463-.646.484-.057 1.046.148 1.526.22.577.088 1.156.159 1.737.212 2.48.226 5.002.19 7.472-.14.45-.06.899-.13 1.345-.21.399-.072.84-.206 1.08.206.166.281.188.657.162.974a.544.544 0 01-.169.364zm-6.159 3.9c-.862.37-1.84.788-3.109.788a5.884 5.884 0 01-1.569-.217l.877 9.004c.065.78.717 1.38 1.5 1.38 0 0 1.243.065 1.658.065.447 0 1.786-.065 1.786-.065.783 0 1.434-.6 1.499-1.38l.94-9.95a3.996 3.996 0 00-1.322-.238c-.826 0-1.491.284-2.26.613z",h.linkIcon="M10.59,13.41C11,13.8 11,14.44 10.59,14.83C10.2,15.22 9.56,15.22 9.17,14.83C7.22,12.88 7.22,9.71 9.17,7.76V7.76L12.71,4.22C14.66,2.27 17.83,2.27 19.78,4.22C21.73,6.17 21.73,9.34 19.78,11.29L18.29,12.78C18.3,11.96 18.17,11.14 17.89,10.36L18.36,9.88C19.54,8.71 19.54,6.81 18.36,5.64C17.19,4.46 15.29,4.46 14.12,5.64L10.59,9.17C9.41,10.34 9.41,12.24 10.59,13.41M13.41,9.17C13.8,8.78 14.44,8.78 14.83,9.17C16.78,11.12 16.78,14.29 14.83,16.24V16.24L11.29,19.78C9.34,21.73 6.17,21.73 4.22,19.78C2.27,17.83 2.27,14.66 4.22,12.71L5.71,11.22C5.7,12.04 5.83,12.86 6.11,13.65L5.64,14.12C4.46,15.29 4.46,17.19 5.64,18.36C6.81,19.54 8.71,19.54 9.88,18.36L13.41,14.83C14.59,13.66 14.59,11.76 13.41,10.59C13,10.2 13,9.56 13.41,9.17Z",h.close="M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z",h.fork="M6,2A3,3 0 0,1 9,5C9,6.28 8.19,7.38 7.06,7.81C7.15,8.27 7.39,8.83 8,9.63C9,10.92 11,12.83 12,14.17C13,12.83 15,10.92 16,9.63C16.61,8.83 16.85,8.27 16.94,7.81C15.81,7.38 15,6.28 15,5A3,3 0 0,1 18,2A3,3 0 0,1 21,5C21,6.32 20.14,7.45 18.95,7.85C18.87,8.37 18.64,9 18,9.83C17,11.17 15,13.08 14,14.38C13.39,15.17 13.15,15.73 13.06,16.19C14.19,16.62 15,17.72 15,19A3,3 0 0,1 12,22A3,3 0 0,1 9,19C9,17.72 9.81,16.62 10.94,16.19C10.85,15.73 10.61,15.17 10,14.38C9,13.08 7,11.17 6,9.83C5.36,9 5.13,8.37 5.05,7.85C3.86,7.45 3,6.32 3,5A3,3 0 0,1 6,2M6,4A1,1 0 0,0 5,5A1,1 0 0,0 6,6A1,1 0 0,0 7,5A1,1 0 0,0 6,4M18,4A1,1 0 0,0 17,5A1,1 0 0,0 18,6A1,1 0 0,0 19,5A1,1 0 0,0 18,4M12,18A1,1 0 0,0 11,19A1,1 0 0,0 12,20A1,1 0 0,0 13,19A1,1 0 0,0 12,18Z",h.menu="M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z",h.star="M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z",h.palette="M17.5,12A1.5,1.5 0 0,1 16,10.5A1.5,1.5 0 0,1 17.5,9A1.5,1.5 0 0,1 19,10.5A1.5,1.5 0 0,1 17.5,12M14.5,8A1.5,1.5 0 0,1 13,6.5A1.5,1.5 0 0,1 14.5,5A1.5,1.5 0 0,1 16,6.5A1.5,1.5 0 0,1 14.5,8M9.5,8A1.5,1.5 0 0,1 8,6.5A1.5,1.5 0 0,1 9.5,5A1.5,1.5 0 0,1 11,6.5A1.5,1.5 0 0,1 9.5,8M6.5,12A1.5,1.5 0 0,1 5,10.5A1.5,1.5 0 0,1 6.5,9A1.5,1.5 0 0,1 8,10.5A1.5,1.5 0 0,1 6.5,12M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A1.5,1.5 0 0,0 13.5,19.5C13.5,19.11 13.35,18.76 13.11,18.5C12.88,18.23 12.73,17.88 12.73,17.5A1.5,1.5 0 0,1 14.23,16H16A5,5 0 0,0 21,11C21,6.58 16.97,3 12,3Z",h.circle="M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z";var u=Object(d.a)((function t(){Object(m.a)(this,t)}));u.avatar="/avatar.png",u.avatar_with_laptop="/avatar2.png";var b=Object(d.a)((function t(){Object(m.a)(this,t)}));b.giftIcon="https://user-images.githubusercontent.com/6418354/155841091-9bdc3b05-fabd-4e58-a0fd-fe90b08275e4.png",b.flutterIcon="https://www.vectorlogo.zone/logos/flutterio/flutterio-icon.svg";var f=Object(d.a)((function t(){Object(m.a)(this,t)}));f.primaryColor="#00C853",f.otherColors=["#D50000","#C51162","#AA00FF","#6200EA","#304FFE","#2962FF","#0091EA","#00B8D4","#00BFA5","#00C853","#64DD17","#AEEA00","#FFD600","#FFAB00","#FF6D00","#DD2C00"],f.myGithubUsername="p32929",f.myName="Fayaz Bin Salam",f.myOccupation="Software Engineer",f.myDetails="Hark! I am Fayaz Bin Salam, an artful craftsman of software, weaving together intricate webs of code for mobile, web, and desktop. To me, the machines of silicon and plastic are naught but hollow shells, until they hear and heed the whispers of my command. Since 2009, I have honed my skills in the arcane art of programming, penning my first lines of code in Batch and VBScript. Through the years, I have delved deeper into the mysteries of C, C++, Java, Python, and the like, working my magic with libraries and frameworks such as ReactJS and Angular2+. The beauty of my work lies not just in its function, but in its constant evolution and growth. Indeed, I strive to kindle the spark of progress in all that surrounds me, illuminating the way towards a brighter future.",f.myLeftAvatarImage=null,f.myRightAvatarImage=null,f.helperTexts="We have a form available for you to write down any queries you may have, which will be sent directly to me. Would you like to view the form now?",f.helperFormLink="",f.bottomLinks=[{svgPath:h.whatsappIcon,link:"https://api.whatsapp.com/send?phone=8801796306262"},{svgPath:h.emailIcon,link:"mailto:p32929.ceo@gmail.com"},{svgPath:h.facebookIcon,link:"https://facebook.com/p32929"}],f.skills=[{text:"Programming / Markup Languages",arr:[{title:"C",logo:"https://seeklogo.com/images/C/c-logo-672525892C-seeklogo.com.png"},{title:"C++",logo:"https://seeklogo.com/images/C/c-logo-1B1817C041-seeklogo.com.png"},{title:"Java",logo:"https://www.vectorlogo.zone/logos/java/java-icon.svg"},{title:"Python",logo:"https://www.vectorlogo.zone/logos/python/python-icon.svg"},{title:"JavaScript",logo:"https://www.vectorlogo.zone/logos/javascript/javascript-icon.svg"},{title:"Rust",logo:"https://www.rust-lang.org/static/images/rust-logo-blk.svg"},{title:"HTML",logo:"https://www.vectorlogo.zone/logos/w3_html5/w3_html5-icon.svg"},{title:"CSS",logo:"https://seeklogo.com/images/C/css3-logo-F1923C8D0E-seeklogo.com.png"},{title:"TypeScript",logo:"https://www.vectorlogo.zone/logos/typescriptlang/typescriptlang-icon.svg"},{title:"Kotlin",logo:"https://www.vectorlogo.zone/logos/kotlinlang/kotlinlang-icon.svg"},{title:"Dart",logo:"https://www.vectorlogo.zone/logos/dartlang/dartlang-icon.svg"}]},{text:"Databases",arr:[{title:"MongoDB",logo:"https://cdn.iconscout.com/icon/free/png-128/mongodb-3521676-2945120.png"},{title:"SQL",logo:"https://w7.pngwing.com/pngs/28/601/png-transparent-sql-logo-illustration-microsoft-azure-sql-database-microsoft-sql-server-database-blue-text-logo-thumbnail.png"},{title:"DynamoDB",logo:"https://cdn.worldvectorlogo.com/logos/aws-dynamodb.svg"}]},{text:"UI Component Libraries",arr:[{title:"Ant Design",logo:"https://gw.alipayobjects.com/zos/rmsportal/KDpgvguMpGfqaHPjicRK.svg"},{title:"Material-UI",logo:"https://mui.com/static/logo.png"},{title:"Shadcn",logo:"https://ui.shadcn.com/favicon.ico"},{title:"Tailwind CSS",logo:"https://upload.wikimedia.org/wikipedia/commons/thumb/d/d5/Tailwind_CSS_Logo.svg/512px-Tailwind_CSS_Logo.svg.png?20230715030042"},{title:"Bootstrap",logo:"https://upload.wikimedia.org/wikipedia/commons/thumb/b/b2/Bootstrap_logo.svg/512px-Bootstrap_logo.svg.png"}]},{text:"Libraries / Frameworks / Techs",arr:[{title:"Android App Development",logo:"https://www.vectorlogo.zone/logos/android/android-icon.svg"},{title:"NodeJS",logo:"https://www.vectorlogo.zone/logos/nodejs/nodejs-icon.svg"},{title:"ExpressJS",logo:"https://www.vectorlogo.zone/logos/expressjs/expressjs-icon.svg"},{title:"ReactJS",logo:"https://www.vectorlogo.zone/logos/reactjs/reactjs-icon.svg"},{title:"Redux",logo:"https://w7.pngwing.com/pngs/669/447/png-transparent-redux-react-javascript-freecodecamp-npm-others-miscellaneous-purple-violet-thumbnail.png"},{title:"React Native",logo:"https://d33wubrfki0l68.cloudfront.net/554c3b0e09cf167f0281fda839a5433f2040b349/ecfc9/img/header_logo.svg"},{title:"ElectronJS",logo:"https://www.vectorlogo.zone/logos/electronjs/electronjs-icon.svg"},{title:"Angular2+",logo:"https://angular.io/assets/images/logos/angular/angular.svg"},{title:"Mongoose",logo:"https://avatars.githubusercontent.com/u/7552965?s=200&v=4"},{title:"NextJS",logo:"https://upload.wikimedia.org/wikipedia/commons/thumb/8/8e/Nextjs-logo.svg/207px-Nextjs-logo.svg.png"},{title:"OpenCV",logo:"https://www.vectorlogo.zone/logos/opencv/opencv-icon.svg"},{title:"Firebase",logo:"https://www.vectorlogo.zone/logos/firebase/firebase-icon.svg"},{title:"Flutter",logo:"https://www.vectorlogo.zone/logos/flutterio/flutterio-icon.svg"},{title:"Beautiful soup",logo:"https://github.com/3r4y/react-portfolio-template/assets/6418354/c9199eab-529b-4314-a990-c46deba899e9"},{title:"Numpy",logo:"https://numpy.org/images/logo.svg"},{title:"Tauri",logo:"https://raw.githubusercontent.com/tauri-apps/tauri/HEAD/app-icon.png"},{title:"VueJS",logo:"https://vuejs.org/images/logo.png"},{title:"Pandas",logo:"https://pandas.pydata.org/static/img/pandas.svg"},{title:"Matplotlib",logo:"https://matplotlib.org/3.1.0/_images/sphx_glr_logos2_001.png"},{title:"Socket.io",logo:"https://socket.io/images/logo.svg"},{title:"Flask",logo:"https://static.javatpoint.com/tutorial/flask/images/flask-tutorial.png"},{title:"Docker",logo:"https://cdn.iconscout.com/icon/free/png-128/docker-226091.png"},{title:"Git",logo:"https://www.vectorlogo.zone/logos/git-scm/git-scm-icon.svg"},{title:"Expo",logo:"https://www.vectorlogo.zone/logos/expoio/expoio-icon.svg"},{title:"NgInx",logo:"https://www.vectorlogo.zone/logos/nginx/nginx-icon.svg"},{title:"NestJS",logo:"https://d33wubrfki0l68.cloudfront.net/e937e774cbbe23635999615ad5d7732decad182a/26072/logo-small.ede75a6b.svg"}]},{text:"Others",arr:[{title:"Vim",logo:"https://upload.wikimedia.org/wikipedia/commons/thumb/9/9f/Vimlogo.svg/544px-Vimlogo.svg.png?20150726190850"},{title:"Android Studio",logo:"https://upload.wikimedia.org/wikipedia/commons/thumb/9/95/Android_Studio_Icon_3.6.svg/512px-Android_Studio_Icon_3.6.svg.png?20210301045217"},{title:"VS Code",logo:"https://cdn.icon-icons.com/icons2/2107/PNG/512/file_type_vscode_icon_130084.png"},{title:"Jira",logo:"https://cdn.iconscout.com/icon/free/png-128/jira-3628861-3030001.png"},{title:"AWS",logo:"https://cdn.iconscout.com/icon/free/png-128/aws-1869025-1583149.png"},{title:"DigitalOcean",logo:"https://res.cloudinary.com/crunchbase-production/image/upload/c_lpad,h_170,w_170,f_auto,b_white,q_auto:eco,dpr_1/v1478792253/gnlwek2zwhq369yryrzv.jpg"},{title:"Figma",logo:"https://www.vectorlogo.zone/logos/figma/figma-icon.svg"},{title:"Heroku",logo:"https://www.vectorlogo.zone/logos/heroku/heroku-icon.svg"},{title:"Yarn",logo:"https://www.vectorlogo.zone/logos/yarnpkg/yarnpkg-icon.svg"},{title:"npm",logo:"https://www.vectorlogo.zone/logos/npmjs/npmjs-icon.svg"},{title:"Tampermonkey",logo:"https://lh3.googleusercontent.com/zoY8FwoOqPlBgFxcmFdNSK2Q4CcLmv-gw7vTjF2KMR9cEabwBsGNrHBTEMitn0Ba6OmCVJ0NcLnFGu3N97BP8Phu0g=w128-h128-e365-rj-sc0x00ffffff"},{title:"Greasemonkey",logo:"https://addons.mozilla.org/user-media/addon_icons/0/748-64.png?modified=1531822767"},{title:"Linux",logo:"https://www.freepnglogos.com/uploads/linux-png/file-icons-flat-linux-svg-wikimedia-commons-6.png"},{title:"Adobe Photoshop",logo:"https://www.adobe.com/content/dam/cc/icons/photoshop-mobile.svg"}]}],f.works=[{text:"Web Apps",arr:[{title:"s3cr3tm3",link:"https://s3cr3tm3.netlify.app/",logo:"https://user-images.githubusercontent.com/6418354/173877444-59dbdd3d-1b5d-4b92-ad53-30fada9362d2.png",desc:"Share secret messages secretely"},{title:"FaNote",link:"https://fanote.netlify.app/",logo:"https://user-images.githubusercontent.com/6418354/173878148-81fc6b46-167d-4449-b2b2-de55d048c490.png",desc:"Offline notes for browsers"},{title:"dobd.xyz",link:"https://www.dobd.xyz/",logo:"https://www.dobd.xyz/android-chrome-512x512.png",desc:"Best online downloader for YouTube, Facebook, Instagram, Tiktok and more"},{title:"X - SendMoney2Me",logo:"https://user-images.githubusercontent.com/6418354/173880188-ad66a5d1-9957-42d3-bc67-590da25c43eb.png",desc:"Ways to send me money directly",link:"https://p32929.github.io/SendMoney2Me/"},{title:"Sha1ToMd5",logo:"https://cdn.iconscout.com/icon/premium/png-128-thumb/encryption-code-1626962-1379033.png",desc:"A simple utility tool to convert Google Play Release APK Sha1 value to MD5 for Facebook login to work.",link:"https://p32929.github.io/Sha1ToMd5"},{title:"Offer Bundle Checker",logo:"https://cdn.iconscout.com/icon/free/png-128/layer-3307723-2747903.png",desc:"Checks whether your bundle validity or the volume is ahead of you",link:"https://p32929.github.io/bundle_checker/"},{title:"StartPage",logo:"https://cdn.iconscout.com/icon/premium/png-128-thumb/homepage-2580329-2151669.png",desc:"A minimalistic custom browser startpage that can be configured to your needs. ",link:"https://p32929.github.io/startpage/"},{title:"OrderZesty",logo:"https://orderzesty.com/wp-content/uploads/2021/10/Zesty-icon@3x-300x300.png",desc:"Personal chef service delivering fresh signature meals.",link:"https://orderzesty.com/"},{title:"BadgeGen",logo:"https://raw.githubusercontent.com/p32929/Badges/master/public/android-chrome-192x192.png",desc:"A simple badge generator for your readme files",link:"https://p32929.github.io/Badges/"},{title:"DramaDB",logo:"https://dramadb.vercel.app/apple-icon.png",desc:"A serverless hobby project that lets you filter Asian drama by country, genre, status, year and popularity",link:"https://dramadb.vercel.app/"},{title:"Sh0Sh0",logo:"https://github.com/3r4y/react-portfolio-template/assets/6418354/a159e1d8-fabc-4f58-9391-0c3be4d14d7e",desc:"A beautifully created Absolutely FREE URL shortener for everyone made using React Shadcn Firebase. ",link:"https://sh0sh0.netlify.app/"},{title:"MidnightMart",logo:"https://github.com/3r4y/react-portfolio-template/assets/6418354/6c85f00e-770d-4320-93ca-c878933c641c",desc:"A simple website containing all my affiliate links",link:"https://midnightmart.vercel.app/"},{title:"TheRealWorldFree",logo:"https://www.therlworld.com/images/Group-427319400-1.webp",desc:"Enjoy the real world for free :)",link:"https://trwfree.vercel.app/"}]},{text:"NDAs",arr:[{title:"BreakingMars",logo:"https://res.cloudinary.com/crunchbase-production/image/upload/c_lpad,h_170,w_170,f_auto,b_white,q_auto:eco,dpr_1/lg6nxfb2dttgtng5kobb",desc:"#1 Leading & Effortless Prospect Perceiving Platform"},{title:"Voomnow",desc:"Next generation audio recorder",logo:"https://user-images.githubusercontent.com/6418354/173876916-e27cb77f-49f1-4190-be54-4c1ddaa2973d.svg"},{title:"Shajao",logo:"https://res.cloudinary.com/crunchbase-production/image/upload/c_lpad,h_170,w_170,f_auto,b_white,q_auto:eco,dpr_1/jyjetnzpv9knl6l7qxwz",desc:"Framing Happiness"},{title:"ChargeOnSite",logo:"https://static.wixstatic.com/media/182a81_c4e4ee2bac6d4389a866239475519bdf~mv2.png/v1/fill/w_192%2Ch_192%2Clg_1%2Cusm_0.66_1.00_0.01/182a81_c4e4ee2bac6d4389a866239475519bdf~mv2.png",desc:"Charge OnSite"}]},{text:"iOS Apps",arr:[{title:"Adblock for YT",link:"https://apps.apple.com/au/app/adblock-for-youtube/id1592568016",logo:"https://is2-ssl.mzstatic.com/image/thumb/Purple126/v4/65/7e/a8/657ea8d9-c3aa-6951-38c8-948c05cd96c3/AppIcon-0-0-85-220-0-0-0-0-4-0-0-0-2x-sRGB-0-0-0-0-0.png/246x0w.webp",desc:"Removes ads from YT videos, embedded videos on third party websites and streams."},{title:"Al Quran by Quran Touch",link:"https://apps.apple.com/gb/app/al-quran-by-quran-touch/id585240351",logo:"https://is3-ssl.mzstatic.com/image/thumb/Purple112/v4/9d/7e/ed/9d7eedd6-e567-5251-bed6-dce7e868bb57/AppIcon-0-1x_U007emarketing-0-10-0-85-220.png/246x0w.webp",desc:"The most comprehensive Muslim App!"}]},{text:"Android Apps",arr:[{title:"X - Al Quran by Quran Touch",link:"https://play.google.com/store/apps/details?id=com.qurantouch.qurantouch",logo:"https://is3-ssl.mzstatic.com/image/thumb/Purple112/v4/9d/7e/ed/9d7eedd6-e567-5251-bed6-dce7e868bb57/AppIcon-0-1x_U007emarketing-0-10-0-85-220.png/246x0w.webp",desc:"The most comprehensive Muslim App!"},{title:"X - Thamao",logo:"https://cdn.apkmonk.com/logos/com.thamao_150x150.png",desc:"\u09ac\u09be\u0982\u09b2\u09be\u09a6\u09c7\u09b6\u09c7 \u09b8\u09cd\u09ae\u09be\u09b0\u09cd\u099f\u09ab\u09cb\u09a8\u09c7\u09b0 \u099a\u09c1\u09b0\u09bf \u098f\u09ac\u09be\u09b0 \u0985\u09b8\u09ae\u09cd\u09ad\u09ac"},{title:"X - Desplash",logo:"https://lh3.googleusercontent.com/ILrto9KguXlr-clbhYKUonpnHszgNp_N5Qvc8_u9QaM71oaqNKcYql2sV3sqZ7nqzsc=s180",desc:"Automatic Free High Quality Wallpapers powered by Unsplash.com",link:"https://www.xda-developers.com/desplash-wallpaper-app-unsplash/"},{title:"X - The Great Postman",logo:"https://lh3.googleusercontent.com/ni-lk3b2nTMZyC7r1wYBW6cm9eYqGAN-t6fXV-kD0lSyw1lO3kenC1We71fZjSryvFII=s180",desc:"Powerful, Lightweight REST API client for Android",link:"https://apkpure.com/rest-api-client-the-great-postman/p32929.greatpostman"},{title:"X - Sleepy - Addiction Remover",logo:"https://user-images.githubusercontent.com/6418354/192146268-29e1bac2-e477-4010-ae03-96adecbf07e6.png",desc:"The one and only EFFECTIVE addiction remover on Google Play store",link:"https://github.com/p32929/my_android_apps/releases/tag/all"},{title:"X - Best CGPA Calculator",logo:"https://user-images.githubusercontent.com/6418354/192146303-6e04c9ac-ffb2-4931-bb10-ef54ff7af382.png",desc:"A simple yet effective CGPA Calculator for University students",link:"https://github.com/p32929/my_android_apps/releases/tag/all"},{title:"X - Buy Sell BD",logo:"https://image.winudf.com/v2/image1/cDMyOTI5LmJ1eXNlbGxiZF9pY29uXzE1NTkyOTQ5NjVfMDYz/icon.png?w=170&fakeurl=1",desc:"A better & more reliable alternative for Bikroy.com - A marketplace app for buying-selling new/used goods",link:"https://apkpure.com/p/p32929.buysellbd"},{title:"X - ExIn",logo:"https://lh3.googleusercontent.com/X8mRJd7JajvDXoW7NaluKt2IvC3osH6czkTPoWeSYJ96U2LWLKT4xiFgvNouwf-UvEk=s180",desc:"A Simple & user friendly income-expense tracker "},{title:"X - \u09ab\u09bf\u09ab\u09be \u0993\u09df\u09be\u09b0\u09cd\u09b2\u09cd\u09a1\u0995\u09be\u09aa \u09e8\u09e6\u09e7\u09ee",logo:"https://cdn-icons-png.flaticon.com/128/33/33736.png",desc:"FIFA Worldcup 2018 All In One ",link:"https://apkpure.com/%E0%A6%AB%E0%A6%BF%E0%A6%AB%E0%A6%BE-%E0%A6%93%E0%A7%9F%E0%A6%BE%E0%A6%B0%E0%A7%8D%E0%A6%B2%E0%A7%8D%E0%A6%A1%E0%A6%95%E0%A6%BE%E0%A6%AA-%E0%A7%A8%E0%A7%A6%E0%A7%A7%E0%A7%AE-live-tv-scores-more/p32929.worldcup2018"},{title:"X - I am free",logo:"https://image.winudf.com/v2/image1/cDMyOTI5LmltZnJlZV9pY29uXzE1NzY4ODAwNzVfMDU3/icon.png?w=170&fakeurl=1",desc:"\u09ac\u09c7\u0995\u09be\u09b0 \u09ae\u09c1\u0995\u09cd\u09a4 \u09ac\u09be\u0982\u09b2\u09be\u09a6\u09c7\u09b6 \u0997\u09dc\u09be\u09b0 \u09b2\u0995\u09cd\u09b7\u09cd\u09af\u09c7 - I am FREE",link:"https://apkpure.com/i-am-free/p32929.imfree"},{title:"X - Awesome NCTB",logo:"https://image.winudf.com/v2/image1/b3JnLnJpY2hpdC5uY3RiX2ljb25fMTU3NjU3MjcwNF8wMjI/icon.png?fakeurl=1",desc:"Download NCTB Books easily and Free",link:"https://github.com/richinfotech/rich_android_apps/releases/tag/all"},{title:"X - \u09ac\u09c3\u0995\u09cd\u09b7 ( Brikkho )",logo:"https://image.winudf.com/v2/image1/b3JnLnJpY2hpdC5icmlra2hvX2ljb25fMTU3MDEyMTU0Ml8wODA/icon.png?fakeurl=1",desc:"Learn about trees in your fingertips",link:"https://github.com/richinfotech/rich_android_apps/releases/tag/all"},{title:"X - IQQuiz",logo:"https://image.winudf.com/v2/image1/b3JnLnJpY2hpdC5pcXF1aXphcHBfaWNvbl8xNTcxMDE0NzcxXzA2Mg/icon.png?fakeurl=1",desc:"A simple IQ game",link:"https://github.com/richinfotech/rich_android_apps/releases/tag/all"},{title:"X - BirdsLover",logo:"https://image.winudf.com/v2/image1/b3JnLnJpY2hpdC5iaXJkc2xvdmVyX2ljb25fMTU3MjAwNDIxNl8wOTE/icon.png?fakeurl=1",desc:"Learn about birds in your fingertips",link:"https://github.com/richinfotech/rich_android_apps/releases/tag/all"},{title:"X - Animal Lover",logo:"https://image.winudf.com/v2/image1/b3JnLnJpY2hpdC5hbmltYWxfaWNvbl8xNTc3MjkyMzIzXzAyMw/icon.png?fakeurl=1",desc:"Learn about birds in your fingertips",link:"https://github.com/richinfotech/rich_android_apps/releases/tag/all"},{title:"X - Jibanananda Recitation (Abritti)",logo:"https://image.winudf.com/v2/image1/b3JnLnJpY2hpdC5qaWJvbmFuZG9rb2JpdGFzb21vZ3JvX2ljb25fMTU3MDEwNDExNF8wNDc/icon.png?fakeurl=1",desc:"50+ poems of Jibanananda Das with audio recitation",link:"https://github.com/richinfotech/rich_android_apps/releases/tag/all"},{title:"X - MyEyes",logo:b.giftIcon,desc:"Indoor Navigation App for Blind People"},{title:"X - BirthdayBot",logo:b.giftIcon,desc:"Birthday wishing apps, made for individual people...",link:"https://github.com/p32929/my_android_apps/releases/tag/all"}]},{text:"Desktop Apps",arr:[{title:"PotatoTimer",logo:"https://raw.githubusercontent.com/p32929/PotatoTimer/master/resources/icon.ico",desc:"A pomotodo app that forces you to take a break - created using ElectronJS",link:"https://github.com/p32929/Electron-Pomotodo"},{title:"X - Facebook Bot",logo:"https://cdn-icons-png.flaticon.com/128/2504/2504903.png",desc:"Automatically likes posts in facebook and also does relavent comments"},{title:"X - Username Scraper",logo:"https://cdn-icons-png.flaticon.com/128/1409/1409946.png",desc:"Lists all the usernames commented in a post in instagram"},{title:"FayPomotroid",logo:"https://github.com/p32929/FayPomotroid/blob/master/build/icons/256x256.png?raw=true",desc:"Electron based Desktop pomodoro app that forces you to take a break",link:"https://github.com/p32929/FayPomotroid/"},{title:"Pomota",logo:"https://github.com/p32929/pomota/blob/master/src-tauri/icons/128x128.png?raw=true",desc:"A simple user-friendly cross-platform tauri based pomodoro timer app that forces you to take a break",link:"https://github.com/p32929/pomota"}]},{text:"Command Line Interfaces ( CLIs )",arr:[{title:"Shortcut-Virus-Remover",logo:"https://cdn-icons-png.flaticon.com/128/3223/3223766.png",desc:"Shortcut virus remover script for Windows",link:"https://github.com/p32929/Shortcut-Virus-Remover"},{title:"Fay",logo:"https://crates.io/assets/cargo.png",desc:"A simple cross platform CLI app written in Rust to automate multiple shell ( bash or cmd ) commands",link:"https://crates.io/crates/fay"},{title:"SIIN",logo:"https://crates.io/assets/cargo.png",desc:"A batch installer that downloads and installs a list of apps, written in Rust ( Kinda like Ninite )",link:"https://crates.io/crates/siin"}]},{text:"Libraries / Packages / Crates",arr:[{title:"AndroidEasySQL-Library",logo:"https://www.vectorlogo.zone/logos/android/android-icon.svg",desc:"An Easier & Lazier approach to SQL database for Android",link:"https://github.com/p32929/AndroidEasySQL-Library"},{title:"X - FayazPermissions",logo:"https://www.vectorlogo.zone/logos/android/android-icon.svg",desc:"An Easier & Lazier approach to getting runtime permission in Android "},{title:"AndroidAppLockscreen",logo:"https://www.vectorlogo.zone/logos/android/android-icon.svg",desc:"An Easier & Lazier approach to getting runtime permission in Android ",link:"https://github.com/p32929/AndroidAppLockscreen"},{title:"ManufacturerBatteryOptimization",logo:"https://www.vectorlogo.zone/logos/android/android-icon.svg",desc:"Simple helper class for Android Battery Optimization ignoring in some devices",link:"https://gist.github.com/p32929/41e7af650f6a2c11e9306ab600fb9b03"},{title:"MyHouseAdsAndroid",logo:"https://www.vectorlogo.zone/logos/android/android-icon.svg",desc:"A library for cross promoting own apps within own apps - for Android",link:"https://github.com/p32929/MyHouseAdsAndroid"},{title:"HouseAds2",logo:"https://www.vectorlogo.zone/logos/android/android-icon.svg",desc:"A library ( V2 ) for cross promoting own apps within own apps - for Android",link:"https://github.com/p32929/HouseAds2"},{title:"AndroidAppUpdater",logo:"https://www.vectorlogo.zone/logos/android/android-icon.svg",desc:"A simple, Lightweight App Updater Library for Android",link:"https://github.com/p32929/AndroidAppUpdater"},{title:"OfficeAbout",logo:"https://www.vectorlogo.zone/logos/android/android-icon.svg",desc:"A simple about screen library for Android for a Team of people",link:"https://github.com/p32929/OfficeAbout"},{title:"JsonViewerAndroid",logo:"https://www.vectorlogo.zone/logos/android/android-icon.svg",desc:"A simple JSON Viewer for Android"},{title:"Android-Receivers-Library",logo:"https://www.vectorlogo.zone/logos/android/android-icon.svg",desc:"A library for simpler BroadcastReceiver implementations"},{title:"Fay",logo:"https://crates.io/assets/cargo.png",desc:"A simple cross platform CLI app written in Rust to automate multiple shell ( bash or cmd ) commands",link:"https://crates.io/crates/fay"},{title:"fayfetch",logo:"https://avatars.githubusercontent.com/u/6078720?s=200&v=4",desc:"A simple wrapper for Fetch",link:"https://www.npmjs.com/package/fayfetch"},{title:"EasiestDB",logo:b.flutterIcon,desc:"The Easiest and the Laziest approach to Flutter SQL Database.",link:"https://pub.dev/packages/easiestdb"},{title:"Simply Wifi",logo:b.flutterIcon,desc:"A simplified version of the wifi_iot package",link:"https://pub.dev/packages/simply_wifi"}]},{text:"Extensions / Plugins / Addons",arr:[{title:"vscode-nvim-leave-insertmode",logo:"https://code.visualstudio.com/assets/images/code-stable.png",desc:"This basic VSCode extension ensures that neovim is in normal mode switching between text editor panels.",link:"https://marketplace.visualstudio.com/items?itemName=p32929.vscode-nvim-leave-insertmode"}]}],f.contacts=[{text:"Contact me",arr:[{title:"WhatsApp ( Recommended )",logo:"https://user-images.githubusercontent.com/6418354/155842184-b064bf36-de8e-4317-8f8e-cb7755eed995.png",link:"https://api.whatsapp.com/send?phone=8801796306262",desc:"+8801796306262"},{title:"Facebook",logo:"https://user-images.githubusercontent.com/6418354/155840898-9e2327aa-a280-45e3-8266-8268242abda4.png",link:"https://www.facebook.com/p32929"},{title:"Email",logo:"https://cdn3d.iconscout.com/3d/premium/thumb/email-address-4437044-3684811.png",desc:"p32929.ceo@gmail.com",link:"mailto:p32929.ceo@gmail.com"}]},{text:"Others",arr:[{title:"Anywhere on the internet",logo:"https://user-images.githubusercontent.com/6418354/155840900-91ac076a-8d2b-45dc-b346-66f72d376d4b.png",desc:"@p32929"},{title:"GitHub",logo:"https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png",link:"https://github.com/p32929/"},{title:"LinkedIn",logo:"https://user-images.githubusercontent.com/6418354/155841027-8698cb12-7ddd-4604-a4ea-c618ddbc1cd8.png",link:"https://www.linkedin.com/in/p32929/"},{title:"Twitter",logo:"https://user-images.githubusercontent.com/6418354/155841031-532d5d6e-797a-4da1-8064-48d266b69ab2.png",link:"https://twitter.com/p32929"},{title:"Instagram",logo:"https://user-images.githubusercontent.com/6418354/155841023-0b842621-56a3-42ec-81f1-3944034b09c7.png",link:"https://www.instagram.com/p32929/"},{title:"Fiverr",logo:"https://99designs-blog.imgix.net/blog/wp-content/uploads/2018/09/fiverr-2018.png?auto=format&q=60&fit=max&w=200",link:"https://www.fiverr.com/users/fayazbinsalam/"},{title:"Upwork",logo:"https://cdn.worldvectorlogo.com/logos/upwork.svg",link:"https://www.upwork.com/freelancers/~017dbf657b99b0c1c1"},{title:"Medium",logo:"https://seeklogo.com/images/M/medium-logo-93CDCF6451-seeklogo.com.png",link:"https://medium.com/@p32929_77176"},{title:"xda",logo:"https://www.svgrepo.com/show/331651/xda-developers.svg",link:"https://forum.xda-developers.com/m/p32929.5346826/"},{title:"Product Hunt",logo:"https://seeklogo.com/images/P/product-hunt-logo-A144953C4C-seeklogo.com.png?v=637846885100000000",link:"https://www.producthunt.com/@p32929"},{title:"UVA Online Judge",logo:"https://uhunt.onlinejudge.org/images/uva.png",link:"https://uhunt.onlinejudge.org/id/590978"},{title:"URI Online Judge",logo:"https://user-images.githubusercontent.com/26368939/110052090-be0a0b00-7d35-11eb-8827-993190a9568e.png",link:"https://www.beecrowd.com.br/judge/en/profile/76542"},{title:"Buy Me a Coffee",logo:"https://www.buymeacoffee.com/assets/img/guidelines/logo-mark-1.svg",link:"https://www.buymeacoffee.com/p32929"},{title:"Skype",logo:"https://user-images.githubusercontent.com/6418354/155840899-62c1fe8e-66a6-4492-9acc-5bd504ac21ef.png",desc:"p32929",link:"skype:p32929?chat"}]},{text:"Thank you for visiting my portfolio",arr:[{title:"Click on the link button",desc:"To create your own portfolio. It will only take around 3 minutes",logo:b.giftIcon,link:"https://github.com/p32929/p32929.github.io/"}]}];var w={primaryColor:f.primaryColor,isLeftShowing:!0,isColorPickerDialogShowing:!1,isHelperDialogShowing:!1,isMenuClicked:!1},j=function(t,e){t.state.primaryColor=e},v=function(t,e){t.state.isLeftShowing=e},C=function(t,e){t.state.isColorPickerDialogShowing=e},k=function(t,e){t.state.isHelperDialogShowing=e},x=function(t,e){t.state.isMenuClicked=e},y={state:w,actions:i},O=Object(l.c)(),A=Object(l.b)(),L=o(143),z=o(79),S=Object(L.a)({palette:{primary:{main:"#556cd6"},secondary:{main:"#19857b"},error:{main:z.a.A400},background:{default:"#fff"},action:{disabled:"#212121"}},overrides:{MuiAvatar:{img:{objectFit:"contain"}}}}),M=o(7),_=o(291),I=o(292),N=o(298),E=o(11),F=o(303),B=o(293),D=o(3),T=Object(_.a)((function(t){return{avatar:{height:125,width:125},title:{color:"#212121",marginTop:24,fontSize:14,fontWeight:600},subtitle:{fontSize:12,color:"#212121",fontWeight:600}}})),P=function(t){var e;Object(E.a)(A()),Object(E.a)(O());var o=T();return Object(D.jsxs)(I.a,{item:!0,xs:!0,container:!0,direction:"column",justifyContent:"center",alignItems:"center",children:[Object(D.jsx)(F.a,{alt:f.myName+" - "+f.myOccupation,src:null!==(e=f.myLeftAvatarImage)&&void 0!==e?e:u.avatar,className:o.avatar}),Object(D.jsx)(B.a,{className:o.title,children:f.myName.toUpperCase()}),Object(D.jsx)(B.a,{className:o.subtitle,children:f.myOccupation})]})},H=o(304),J=o(295),V=o(296),R=o(297),X=o(59),W=o(136),U=Object(_.a)((function(t){return{}})),G=function(t){Object(E.a)(A());var e=O().primaryColor,o=(U(),t.path),i=t.size,n=t.styles;return Object(D.jsx)("svg",{style:Object(W.a)({width:i,height:i},n),viewBox:"0 0 24 24",children:Object(D.jsx)("path",{fill:e,d:o})})},Y=o(42),q=o(294),Z=Object(d.a)((function t(){Object(m.a)(this,t)}));Z.routes=["About","Skills","Works","Contact"];var Q=Object(_.a)((function(t){return{link:{marginLeft:8,marginRight:8,textDecoration:"none"},divider:{height:1,margin:16,width:90,alignSelf:"center"}}})),K=function(t){var e=A().showLeftPart,o=O().primaryColor,i=Q(),n=Object(Y.a)(),a=Object(q.a)(n.breakpoints.down("sm"));return Object(D.jsxs)(I.a,{container:!0,item:!0,xs:!0,direction:"column",justifyContent:"center",alignContent:"stretch",children:[Object(D.jsx)(H.a,{mdUp:!0,children:Object(D.jsx)(J.a,{size:"small",onClick:function(){e(!1)},children:Object(D.jsx)(G,{size:18,path:h.close})})}),Object(D.jsx)(V.a,{style:{backgroundColor:o},className:i.divider,orientation:"horizontal",flexItem:!0}),Z.routes.map((function(t,n){return Object(D.jsx)(R.a,{activeStyle:{backgroundColor:o,color:"white"},className:i.link,onClick:function(){a&&e(!1)},size:"small",component:X.a,to:t.toLowerCase(),children:t},n)})),Object(D.jsx)(V.a,{style:{backgroundColor:o},className:i.divider,orientation:"horizontal",flexItem:!0})]})},$=Object(_.a)((function(t){return{root:{paddingBottom:8,width:"100%"},iconButton:{margin:3}}})),tt=function(t){Object(E.a)(A()),Object(E.a)(O());var e=$();return Object(D.jsx)(I.a,{container:!0,className:e.root,direction:"row",justifyContent:"center",alignItems:"center",alignContent:"center",children:f.bottomLinks.map((function(t,o){return Object(D.jsx)(J.a,{className:e.iconButton,size:"small",target:"_blank",href:t.link,children:Object(D.jsx)(G,{path:t.svgPath,size:18})},o)}))})},et=Object(_.a)((function(t){return{root:{height:"100%",width:"100%",margin:0,padding:0}}})),ot=function(t){Object(E.a)(A()),Object(E.a)(O());var e=et();return Object(D.jsx)(I.a,{container:!0,direction:"column",item:!0,xs:11,sm:11,md:3,lg:3,xl:2,children:Object(D.jsx)(N.a,{elevation:12,className:e.root,children:Object(D.jsxs)(I.a,{className:e.root,container:!0,direction:"column",justifyContent:"space-around",alignContent:"center",alignItems:"center",children:[Object(D.jsx)(P,{}),Object(D.jsx)(K,{}),Object(D.jsx)(tt,{})]})})})},it=Object(d.a)((function t(){Object(m.a)(this,t)}));it.getHeightWidthWeb=function(){return console.debug("Web"),{width:"calc(100% - 316px)",height:"calc(100% - 168px)"}},it.getHeightWidthMobile=function(){return console.debug("Mobile"),{width:"calc(100% - 48px)",height:"calc(100% - 48px)"}};var nt=o(35),at=o(19),st=Object(_.a)((function(t){return function(t){var e;return{root:{padding:16},divider:(e={height:1,marginTop:8},Object(M.a)(e,t.breakpoints.down("sm"),{width:160}),Object(M.a)(e,t.breakpoints.up("md"),{width:200}),e),currentRoute:{fontSize:14,fontWeight:600,cursor:"none"}}}(t)})),rt=function(t){var e=A(),o=e.showLeftPart,i=e.setMenuClicked,n=Object(at.h)(),a=O(),s=a.primaryColor,r=a.isMenuClicked,c=st();return Object(D.jsxs)(I.a,{item:!0,xs:8,direction:"column",container:!0,justifyContent:"center",children:[Object(D.jsxs)(I.a,{item:!0,xs:!0,children:[Object(D.jsx)(H.a,{mdUp:!0,children:Object(D.jsx)(J.a,{size:"small",onClick:function(){o(!0),i(!0)},children:Object(D.jsx)("div",{className:!0===r?"":"bounce",children:Object(D.jsx)(G,{path:h.menu,styles:{padding:8},size:20})})})}),Object(D.jsx)(R.a,{variant:"text",disabled:!0,className:c.currentRoute,children:n.pathname.replace("/","")})]}),Object(D.jsx)(I.a,{item:!0,xs:!0,children:Object(D.jsx)(V.a,{style:{backgroundColor:s},className:c.divider,orientation:"horizontal",flexItem:!0})})]})},ct=Object(_.a)((function(t){return{iconButton:{padding:8}}})),lt=function(t){var e=A(),o=(e.setPrimaryColor,e.showColorPickerDialog);Object(E.a)(O());ct();return Object(D.jsxs)(I.a,{container:!0,direction:"row",justifyContent:"flex-end",item:!0,xs:4,children:[Object(D.jsx)(J.a,{size:"small",target:"_blank",href:"https://github.com/p32929/p32929.github.io/",children:Object(D.jsx)(G,{styles:{padding:8},path:h.githubIcon,size:20})}),Object(D.jsx)(J.a,{size:"small",onClick:function(){o(!0)},children:Object(D.jsx)(G,{styles:{padding:8},path:h.palette,size:20})})]})},gt=o(53),pt=o(15),dt=o(137),mt=Object(_.a)((function(t){return{root:{marginLeft:8},text:{marginLeft:8,marginRight:8,fontSize:12,fontWeight:600,color:"#757575"}}})),ht=function(t){Object(E.a)(A()),Object(E.a)(O());var e=t.title,o=t.fontStyle,i=mt();return Object(D.jsxs)(I.a,{container:!0,direction:"row",alignItems:"center",alignContent:"center",className:i.root,children:[Object(D.jsx)(G,{size:20,path:h.star}),Object(D.jsx)(B.a,{variant:"body2",style:o,className:i.text,children:e})]})},ut=function(t){A().showHelperDialog;var e=t.url;return e&&(e.toString().includes("http")||e.toString().includes("skype:"))?Object(D.jsx)(I.a,{style:{paddingTop:16},children:Object(D.jsx)(J.a,{onClick:function(t){t.stopPropagation()},target:"_blank",href:e,size:"small",children:Object(D.jsx)(G,{path:h.linkIcon,styles:{padding:8},size:22})})}):Object(D.jsx)(D.Fragment,{})},bt=Object(_.a)((function(t){return{root:{padding:2},textContainer:{paddingTop:16,paddingBottom:16,overflow:"hidden",alignSelf:"center"},avatar:{margin:16},title:{color:"#212121",lineHeight:1.25},desc:{color:"#757575",lineHeight:1.25,overflow:"hidden"}}})),ft=function(t){var e=A().showHelperDialog;Object(E.a)(O());var o=bt(),i=t.item,n=i.logo,a=i.title,s=i.desc,r=i.link;return Object(D.jsx)(I.a,{container:!0,item:!0,xs:12,sm:12,md:6,lg:6,xl:4,className:o.root,children:Object(D.jsx)(N.a,{elevation:4,style:{width:"100%"},onClick:function(){r||e(!0)},children:Object(D.jsxs)(I.a,{container:!0,direction:"row",children:[Object(D.jsx)(F.a,{variant:"square",className:o.avatar,src:n}),Object(D.jsxs)(I.a,{container:!0,direction:"column",item:!0,xs:!0,className:o.textContainer,children:[Object(D.jsx)(B.a,{variant:"body1",className:o.title,children:a}),(s||r)&&Object(D.jsx)(B.a,{variant:"body2",className:o.desc,children:s||r})]}),Object(D.jsx)(ut,{url:r})]})})})},wt=Object(_.a)((function(t){return{root:{marginTop:4,marginLeft:8,marginBottom:16},itemRoot:{marginTop:8}}})),jt=function(t){Object(E.a)(A()),Object(E.a)(O());var e=t.item,o=e.text,i=e.arr,n=wt();return Object(D.jsxs)(I.a,{container:!0,direction:"column",className:n.root,children:[Object(D.jsx)(ht,{title:o}),Object(D.jsx)(I.a,{container:!0,direction:"row",className:n.itemRoot,children:i.sort((function(t,e){return t.title.localeCompare(e.title)})).map((function(t,e){return Object(D.jsx)(ft,{item:t},e)}))})]})},vt=Object(_.a)((function(t){return{}})),Ct={text:"Others",arr:[]},kt=function(t){Object(E.a)(A()),Object(E.a)(O());var e=Object(n.useState)([]),o=Object(nt.a)(e,2),i=o[0],a=o[1],s=(vt(),function(){var t=Object(dt.a)(Object(gt.a)().mark((function t(){var e,o,i,n,s,r,c;return Object(gt.a)().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return console.debug("getGithubRepos"),t.next=3,fetch("https://api.github.com/users/".concat(f.myGithubUsername,"/repos?per_page=999"));case 3:return e=t.sent,t.next=6,e.json();case 6:for(o=t.sent,i=o,n=Object(pt.a)(f.works),s=0;s0?i:f.works).map((function(t,e){return Object(D.jsx)(jt,{item:t},e)}))})},xt=Object(_.a)((function(t){return{}})),yt=function(t){Object(E.a)(A()),Object(E.a)(O());xt();return Object(D.jsx)(I.a,{container:!0,xs:12,item:!0,direction:"column",children:f.contacts.map((function(t,e){return Object(D.jsx)(jt,{item:t},e)}))})},Ot=Object(_.a)((function(t){return{}})),At=function(t){Object(E.a)(A()),Object(E.a)(O());Ot();return Object(D.jsx)(I.a,{container:!0,xs:12,item:!0,direction:"column",children:f.skills.map((function(t,e){return Object(D.jsx)(jt,{item:t},e)}))})},Lt={height:"95%"},zt={height:"75%"},St=Object(_.a)((function(t){return function(t){var e;return{root:{padding:8},text:(e={paddingLeft:8,paddingBottom:8,lineHeight:1.3,fontWeight:400},Object(M.a)(e,t.breakpoints.up("xl"),{fontSize:18}),Object(M.a)(e,t.breakpoints.down("sm"),{fontSize:14}),e)}}(t)})),Mt=[function(t){var e;Object(E.a)(A()),Object(E.a)(O());var o=St(),i=Object(Y.a)(),n=Object(q.a)(i.breakpoints.down("sm"));return Object(D.jsxs)(I.a,{className:o.root,container:!0,item:!0,xs:12,direction:"column",justifyContent:"flex-end",alignItems:"center",alignContent:"center",children:[Object(D.jsx)(I.a,{style:{height:0,padding:4},id:"avatarImageGrid",item:!0,xs:!0,container:!0,justifyContent:"center",alignItems:"center",alignContent:"center",children:Object(D.jsx)("img",{style:n?zt:Lt,src:null!==(e=f.myRightAvatarImage)&&void 0!==e?e:u.avatar_with_laptop})}),Object(D.jsxs)(I.a,{item:!0,container:!0,direction:"column",children:[Object(D.jsx)(ht,{title:"About me",fontStyle:{fontSize:20,fontWeight:"bold",color:"#212121"}}),Object(D.jsx)(B.a,{className:o.text,children:f.myDetails})]})]})},At,kt,yt],_t=Object(_.a)((function(t){return{root:{padding:16},content:{paddingRight:8,maxHeight:"100vh",maxWidth:"100%"}}})),It=function(t){Object(E.a)(A());var e=O().isLeftShowing,o=_t(),i=Object(n.useState)(0),a=Object(nt.a)(i,2),s=a[0],r=a[1],c=Object(Y.a)(),l=Object(q.a)(c.breakpoints.down("sm")),g=Object(at.h)();return Object(n.useEffect)((function(){var t=document.getElementById("container"),e=document.getElementById("right-top");document.getElementById("right-bottom");if(t&&e){var o=(null===t||void 0===t?void 0:t.offsetHeight)-(null===e||void 0===e?void 0:e.offsetHeight);console.log("Height: "+o),r(o)}}),[e,l]),Object(n.useEffect)((function(){var t,e;null===(t=document)||void 0===t||null===(e=t.getElementById("right-bottom"))||void 0===e||e.scroll(0,0)}),[g]),Object(D.jsxs)(I.a,{id:"right-container",container:!0,xs:!0,item:!0,direction:"row",alignContent:"flex-start",children:[Object(D.jsxs)(I.a,{id:"right-top",container:!0,direction:"row",className:o.root,justifyContent:"space-between",alignItems:"flex-start",alignContent:"flex-start",children:[Object(D.jsx)(rt,{}),Object(D.jsx)(lt,{})]}),Object(D.jsx)(I.a,{id:"right-bottom",style:{height:s,maxHeight:s,overflowY:"scroll",overflowX:"hidden"},item:!0,xs:12,container:!0,className:o.content,children:Object(D.jsx)(at.e,{children:Z.routes.map((function(t,e){return Object(D.jsx)(at.c,{exact:!0,path:"/".concat(t.toLowerCase()),component:Mt[e]},e)}))})})]})},Nt=o(302),Et=o(299),Ft=o(142),Bt=Object(_.a)((function(t){return{}})),Dt=function(t){var e=A(),o=e.setPrimaryColor,i=e.showColorPickerDialog,n=O(),a=n.primaryColor,s=n.isColorPickerDialogShowing;Bt();return Object(D.jsx)(Nt.a,{open:s,onClose:function(){i(!1)},children:Object(D.jsx)(Et.a,{children:Object(D.jsx)(Ft.a,{color:a,onChange:function(t,e){o(t.hex),i(!1)},colors:f.otherColors})})})},Tt=o(300),Pt=Object(_.a)((function(t){return{}})),Ht=function(t){var e=A(),o=O();Pt();return Object(D.jsxs)(Nt.a,{open:""!==f.helperTexts&&""!==f.helperFormLink&&o.isHelperDialogShowing,children:[Object(D.jsx)(Et.a,{children:f.helperTexts}),Object(D.jsxs)(Tt.a,{children:[Object(D.jsx)(R.a,{onClick:function(){e.showHelperDialog(!1)},children:"No"}),Object(D.jsx)(R.a,{onClick:function(){var t,o;e.showHelperDialog(!1),null===(t=window)||void 0===t||null===(o=t.open(f.helperFormLink,"_blank"))||void 0===o||o.focus()},children:"Yes"})]})]})},Jt=Object(_.a)((function(t){return function(t){var e;return{root:{height:"100vh",maxHeight:"100vh"},content:{height:"100%",width:"100%"},paper:(e={},Object(M.a)(e,t.breakpoints.down("sm"),it.getHeightWidthMobile()),Object(M.a)(e,t.breakpoints.up("md"),it.getHeightWidthWeb()),e)}}(t)})),Vt=!1,Rt=function(t){var e=A().showLeftPart,o=O(),i=o.primaryColor,n=o.isLeftShowing,a=Jt(),s=Object(Y.a)(),r=Object(q.a)(s.breakpoints.down("sm"));r&&(Vt||setTimeout((function(){e(!1),Vt=!0}),700));return Object(D.jsxs)(I.a,{container:!0,className:a.root,justifyContent:"center",alignContent:"center",alignItems:"center",direction:"column",style:{backgroundColor:i},children:[Object(D.jsx)(Dt,{}),Object(D.jsx)(Ht,{}),Object(D.jsx)(N.a,{id:"container",className:a.paper,elevation:16,children:Object(D.jsxs)(at.a,{children:[Object(D.jsx)(at.c,{exact:!0,path:"/",children:Object(D.jsx)(at.b,{to:"/about"})}),Object(D.jsxs)(I.a,{container:!0,direction:"row",className:a.content,children:[r?n?Object(D.jsx)(ot,{}):void 0:Object(D.jsx)(ot,{}),r&&n?void 0:Object(D.jsx)(It,{})]})]})})]})},Xt=Object(p.d)(y);r.a.render(Object(D.jsx)(a.a.StrictMode,{children:Object(D.jsx)(l.a,{value:Xt,children:Object(D.jsx)(g.a,{theme:S,children:Object(D.jsx)(Rt,{})})})}),document.getElementById("root")),c(),document.title=f.myName}},[[267,1,2]]]); -//# sourceMappingURL=main.b5cd1fe3.chunk.js.map \ No newline at end of file +(this["webpackJsonpp32929-fayaz-bin-salam"]=this["webpackJsonpp32929-fayaz-bin-salam"]||[]).push([[0],{155:function(t,e,o){},267:function(t,e,o){"use strict";o.r(e);var i={};o.r(i),o.d(i,"setPrimaryColor",(function(){return j})),o.d(i,"showLeftPart",(function(){return v})),o.d(i,"showColorPickerDialog",(function(){return C})),o.d(i,"showHelperDialog",(function(){return k})),o.d(i,"setMenuClicked",(function(){return x}));var n=o(0),a=o.n(n),s=o(22),r=o.n(s),c=(o(155),function(t){t&&t instanceof Function&&o.e(3).then(o.bind(null,305)).then((function(e){var o=e.getCLS,i=e.getFID,n=e.getFCP,a=e.getLCP,s=e.getTTFB;o(t),i(t),n(t),a(t),s(t)}))}),l=o(60),p=o(301),g=o(38),d=o(10),m=o(12),h=Object(d.a)((function t(){Object(m.a)(this,t)}));h.githubIcon="M12,2A10,10 0 0,0 2,12C2,16.42 4.87,20.17 8.84,21.5C9.34,21.58 9.5,21.27 9.5,21C9.5,20.77 9.5,20.14 9.5,19.31C6.73,19.91 6.14,17.97 6.14,17.97C5.68,16.81 5.03,16.5 5.03,16.5C4.12,15.88 5.1,15.9 5.1,15.9C6.1,15.97 6.63,16.93 6.63,16.93C7.5,18.45 8.97,18 9.54,17.76C9.63,17.11 9.89,16.67 10.17,16.42C7.95,16.17 5.62,15.31 5.62,11.5C5.62,10.39 6,9.5 6.65,8.79C6.55,8.54 6.2,7.5 6.75,6.15C6.75,6.15 7.59,5.88 9.5,7.17C10.29,6.95 11.15,6.84 12,6.84C12.85,6.84 13.71,6.95 14.5,7.17C16.41,5.88 17.25,6.15 17.25,6.15C17.8,7.5 17.45,8.54 17.35,8.79C18,9.5 18.38,10.39 18.38,11.5C18.38,15.32 16.04,16.16 13.81,16.41C14.17,16.72 14.5,17.33 14.5,18.26C14.5,19.6 14.5,20.68 14.5,21C14.5,21.27 14.66,21.59 15.17,21.5C19.14,20.16 22,16.42 22,12A10,10 0 0,0 12,2Z",h.facebookIcon="M12 2.04C6.5 2.04 2 6.53 2 12.06C2 17.06 5.66 21.21 10.44 21.96V14.96H7.9V12.06H10.44V9.85C10.44 7.34 11.93 5.96 14.22 5.96C15.31 5.96 16.45 6.15 16.45 6.15V8.62H15.19C13.95 8.62 13.56 9.39 13.56 10.18V12.06H16.34L15.89 14.96H13.56V21.96A10 10 0 0 0 22 12.06C22 6.53 17.5 2.04 12 2.04Z",h.whatsappIcon="M12.04 2C6.58 2 2.13 6.45 2.13 11.91C2.13 13.66 2.59 15.36 3.45 16.86L2.05 22L7.3 20.62C8.75 21.41 10.38 21.83 12.04 21.83C17.5 21.83 21.95 17.38 21.95 11.92C21.95 9.27 20.92 6.78 19.05 4.91C17.18 3.03 14.69 2 12.04 2M12.05 3.67C14.25 3.67 16.31 4.53 17.87 6.09C19.42 7.65 20.28 9.72 20.28 11.92C20.28 16.46 16.58 20.15 12.04 20.15C10.56 20.15 9.11 19.76 7.85 19L7.55 18.83L4.43 19.65L5.26 16.61L5.06 16.29C4.24 15 3.8 13.47 3.8 11.91C3.81 7.37 7.5 3.67 12.05 3.67M8.53 7.33C8.37 7.33 8.1 7.39 7.87 7.64C7.65 7.89 7 8.5 7 9.71C7 10.93 7.89 12.1 8 12.27C8.14 12.44 9.76 14.94 12.25 16C12.84 16.27 13.3 16.42 13.66 16.53C14.25 16.72 14.79 16.69 15.22 16.63C15.7 16.56 16.68 16.03 16.89 15.45C17.1 14.87 17.1 14.38 17.04 14.27C16.97 14.17 16.81 14.11 16.56 14C16.31 13.86 15.09 13.26 14.87 13.18C14.64 13.1 14.5 13.06 14.31 13.3C14.15 13.55 13.67 14.11 13.53 14.27C13.38 14.44 13.24 14.46 13 14.34C12.74 14.21 11.94 13.95 11 13.11C10.26 12.45 9.77 11.64 9.62 11.39C9.5 11.15 9.61 11 9.73 10.89C9.84 10.78 10 10.6 10.1 10.45C10.23 10.31 10.27 10.2 10.35 10.04C10.43 9.87 10.39 9.73 10.33 9.61C10.27 9.5 9.77 8.26 9.56 7.77C9.36 7.29 9.16 7.35 9 7.34C8.86 7.34 8.7 7.33 8.53 7.33Z",h.wordpressIcon="M3.42,12C3.42,10.76 3.69,9.58 4.16,8.5L8.26,19.72C5.39,18.33 3.42,15.4 3.42,12M17.79,11.57C17.79,12.3 17.5,13.15 17.14,14.34L16.28,17.2L13.18,8L14.16,7.9C14.63,7.84 14.57,7.16 14.11,7.19C14.11,7.19 12.72,7.3 11.82,7.3L9.56,7.19C9.1,7.16 9.05,7.87 9.5,7.9L10.41,8L11.75,11.64L9.87,17.27L6.74,8L7.73,7.9C8.19,7.84 8.13,7.16 7.67,7.19C7.67,7.19 6.28,7.3 5.38,7.3L4.83,7.29C6.37,4.96 9,3.42 12,3.42C14.23,3.42 16.27,4.28 17.79,5.67H17.68C16.84,5.67 16.24,6.4 16.24,7.19C16.24,7.9 16.65,8.5 17.08,9.2C17.41,9.77 17.79,10.5 17.79,11.57M12.15,12.75L14.79,19.97L14.85,20.09C13.96,20.41 13,20.58 12,20.58C11.16,20.58 10.35,20.46 9.58,20.23L12.15,12.75M19.53,7.88C20.2,9.11 20.58,10.5 20.58,12C20.58,15.16 18.86,17.93 16.31,19.41L18.93,11.84C19.42,10.62 19.59,9.64 19.59,8.77L19.53,7.88M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,21.54C17.26,21.54 21.54,17.26 21.54,12C21.54,6.74 17.26,2.46 12,2.46C6.74,2.46 2.46,6.74 2.46,12C2.46,17.26 6.74,21.54 12,21.54Z",h.skypeIcon="M18,6C20.07,8.04 20.85,10.89 20.36,13.55C20.77,14.27 21,15.11 21,16A5,5 0 0,1 16,21C15.11,21 14.27,20.77 13.55,20.36C10.89,20.85 8.04,20.07 6,18C3.93,15.96 3.15,13.11 3.64,10.45C3.23,9.73 3,8.89 3,8A5,5 0 0,1 8,3C8.89,3 9.73,3.23 10.45,3.64C13.11,3.15 15.96,3.93 18,6M12.04,17.16C14.91,17.16 16.34,15.78 16.34,13.92C16.34,12.73 15.78,11.46 13.61,10.97L11.62,10.53C10.86,10.36 10,10.13 10,9.42C10,8.7 10.6,8.2 11.7,8.2C13.93,8.2 13.72,9.73 14.83,9.73C15.41,9.73 15.91,9.39 15.91,8.8C15.91,7.43 13.72,6.4 11.86,6.4C9.85,6.4 7.7,7.26 7.7,9.54C7.7,10.64 8.09,11.81 10.25,12.35L12.94,13.03C13.75,13.23 13.95,13.68 13.95,14.1C13.95,14.78 13.27,15.45 12.04,15.45C9.63,15.45 9.96,13.6 8.67,13.6C8.09,13.6 7.67,14 7.67,14.57C7.67,15.68 9,17.16 12.04,17.16Z",h.emailIcon="M12,15C12.81,15 13.5,14.7 14.11,14.11C14.7,13.5 15,12.81 15,12C15,11.19 14.7,10.5 14.11,9.89C13.5,9.3 12.81,9 12,9C11.19,9 10.5,9.3 9.89,9.89C9.3,10.5 9,11.19 9,12C9,12.81 9.3,13.5 9.89,14.11C10.5,14.7 11.19,15 12,15M12,2C14.75,2 17.1,3 19.05,4.95C21,6.9 22,9.25 22,12V13.45C22,14.45 21.65,15.3 21,16C20.3,16.67 19.5,17 18.5,17C17.3,17 16.31,16.5 15.56,15.5C14.56,16.5 13.38,17 12,17C10.63,17 9.45,16.5 8.46,15.54C7.5,14.55 7,13.38 7,12C7,10.63 7.5,9.45 8.46,8.46C9.45,7.5 10.63,7 12,7C13.38,7 14.55,7.5 15.54,8.46C16.5,9.45 17,10.63 17,12V13.45C17,13.86 17.16,14.22 17.46,14.53C17.76,14.84 18.11,15 18.5,15C18.92,15 19.27,14.84 19.57,14.53C19.87,14.22 20,13.86 20,13.45V12C20,9.81 19.23,7.93 17.65,6.35C16.07,4.77 14.19,4 12,4C9.81,4 7.93,4.77 6.35,6.35C4.77,7.93 4,9.81 4,12C4,14.19 4.77,16.07 6.35,17.65C7.93,19.23 9.81,20 12,20H17V22H12C9.25,22 6.9,21 4.95,19.05C3,17.1 2,14.75 2,12C2,9.25 3,6.9 4.95,4.95C6.9,3 9.25,2 12,2Z",h.buymeacoffee="M20.216 6.415l-.132-.666c-.119-.598-.388-1.163-1.001-1.379-.197-.069-.42-.098-.57-.241-.152-.143-.196-.366-.231-.572-.065-.378-.125-.756-.192-1.133-.057-.325-.102-.69-.25-.987-.195-.4-.597-.634-.996-.788a5.723 5.723 0 00-.626-.194c-1-.263-2.05-.36-3.077-.416a25.834 25.834 0 00-3.7.062c-.915.083-1.88.184-2.75.5-.318.116-.646.256-.888.501-.297.302-.393.77-.177 1.146.154.267.415.456.692.58.36.162.737.284 1.123.366 1.075.238 2.189.331 3.287.37 1.218.05 2.437.01 3.65-.118.299-.033.598-.073.896-.119.352-.054.578-.513.474-.834-.124-.383-.457-.531-.834-.473-.466.074-.96.108-1.382.146-1.177.08-2.358.082-3.536.006a22.228 22.228 0 01-1.157-.107c-.086-.01-.18-.025-.258-.036-.243-.036-.484-.08-.724-.13-.111-.027-.111-.185 0-.212h.005c.277-.06.557-.108.838-.147h.002c.131-.009.263-.032.394-.048a25.076 25.076 0 013.426-.12c.674.019 1.347.067 2.017.144l.228.031c.267.04.533.088.798.145.392.085.895.113 1.07.542.055.137.08.288.111.431l.319 1.484a.237.237 0 01-.199.284h-.003c-.037.006-.075.01-.112.015a36.704 36.704 0 01-4.743.295 37.059 37.059 0 01-4.699-.304c-.14-.017-.293-.042-.417-.06-.326-.048-.649-.108-.973-.161-.393-.065-.768-.032-1.123.161-.29.16-.527.404-.675.701-.154.316-.199.66-.267 1-.069.34-.176.707-.135 1.056.087.753.613 1.365 1.37 1.502a39.69 39.69 0 0011.343.376.483.483 0 01.535.53l-.071.697-1.018 9.907c-.041.41-.047.832-.125 1.237-.122.637-.553 1.028-1.182 1.171-.577.131-1.165.2-1.756.205-.656.004-1.31-.025-1.966-.022-.699.004-1.556-.06-2.095-.58-.475-.458-.54-1.174-.605-1.793l-.731-7.013-.322-3.094c-.037-.351-.286-.695-.678-.678-.336.015-.718.3-.678.679l.228 2.185.949 9.112c.147 1.344 1.174 2.068 2.446 2.272.742.12 1.503.144 2.257.156.966.016 1.942.053 2.892-.122 1.408-.258 2.465-1.198 2.616-2.657.34-3.332.683-6.663 1.024-9.995l.215-2.087a.484.484 0 01.39-.426c.402-.078.787-.212 1.074-.518.455-.488.546-1.124.385-1.766zm-1.478.772c-.145.137-.363.201-.578.233-2.416.359-4.866.54-7.308.46-1.748-.06-3.477-.254-5.207-.498-.17-.024-.353-.055-.47-.18-.22-.236-.111-.71-.054-.995.052-.26.152-.609.463-.646.484-.057 1.046.148 1.526.22.577.088 1.156.159 1.737.212 2.48.226 5.002.19 7.472-.14.45-.06.899-.13 1.345-.21.399-.072.84-.206 1.08.206.166.281.188.657.162.974a.544.544 0 01-.169.364zm-6.159 3.9c-.862.37-1.84.788-3.109.788a5.884 5.884 0 01-1.569-.217l.877 9.004c.065.78.717 1.38 1.5 1.38 0 0 1.243.065 1.658.065.447 0 1.786-.065 1.786-.065.783 0 1.434-.6 1.499-1.38l.94-9.95a3.996 3.996 0 00-1.322-.238c-.826 0-1.491.284-2.26.613z",h.linkIcon="M10.59,13.41C11,13.8 11,14.44 10.59,14.83C10.2,15.22 9.56,15.22 9.17,14.83C7.22,12.88 7.22,9.71 9.17,7.76V7.76L12.71,4.22C14.66,2.27 17.83,2.27 19.78,4.22C21.73,6.17 21.73,9.34 19.78,11.29L18.29,12.78C18.3,11.96 18.17,11.14 17.89,10.36L18.36,9.88C19.54,8.71 19.54,6.81 18.36,5.64C17.19,4.46 15.29,4.46 14.12,5.64L10.59,9.17C9.41,10.34 9.41,12.24 10.59,13.41M13.41,9.17C13.8,8.78 14.44,8.78 14.83,9.17C16.78,11.12 16.78,14.29 14.83,16.24V16.24L11.29,19.78C9.34,21.73 6.17,21.73 4.22,19.78C2.27,17.83 2.27,14.66 4.22,12.71L5.71,11.22C5.7,12.04 5.83,12.86 6.11,13.65L5.64,14.12C4.46,15.29 4.46,17.19 5.64,18.36C6.81,19.54 8.71,19.54 9.88,18.36L13.41,14.83C14.59,13.66 14.59,11.76 13.41,10.59C13,10.2 13,9.56 13.41,9.17Z",h.close="M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z",h.fork="M6,2A3,3 0 0,1 9,5C9,6.28 8.19,7.38 7.06,7.81C7.15,8.27 7.39,8.83 8,9.63C9,10.92 11,12.83 12,14.17C13,12.83 15,10.92 16,9.63C16.61,8.83 16.85,8.27 16.94,7.81C15.81,7.38 15,6.28 15,5A3,3 0 0,1 18,2A3,3 0 0,1 21,5C21,6.32 20.14,7.45 18.95,7.85C18.87,8.37 18.64,9 18,9.83C17,11.17 15,13.08 14,14.38C13.39,15.17 13.15,15.73 13.06,16.19C14.19,16.62 15,17.72 15,19A3,3 0 0,1 12,22A3,3 0 0,1 9,19C9,17.72 9.81,16.62 10.94,16.19C10.85,15.73 10.61,15.17 10,14.38C9,13.08 7,11.17 6,9.83C5.36,9 5.13,8.37 5.05,7.85C3.86,7.45 3,6.32 3,5A3,3 0 0,1 6,2M6,4A1,1 0 0,0 5,5A1,1 0 0,0 6,6A1,1 0 0,0 7,5A1,1 0 0,0 6,4M18,4A1,1 0 0,0 17,5A1,1 0 0,0 18,6A1,1 0 0,0 19,5A1,1 0 0,0 18,4M12,18A1,1 0 0,0 11,19A1,1 0 0,0 12,20A1,1 0 0,0 13,19A1,1 0 0,0 12,18Z",h.menu="M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z",h.star="M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z",h.palette="M17.5,12A1.5,1.5 0 0,1 16,10.5A1.5,1.5 0 0,1 17.5,9A1.5,1.5 0 0,1 19,10.5A1.5,1.5 0 0,1 17.5,12M14.5,8A1.5,1.5 0 0,1 13,6.5A1.5,1.5 0 0,1 14.5,5A1.5,1.5 0 0,1 16,6.5A1.5,1.5 0 0,1 14.5,8M9.5,8A1.5,1.5 0 0,1 8,6.5A1.5,1.5 0 0,1 9.5,5A1.5,1.5 0 0,1 11,6.5A1.5,1.5 0 0,1 9.5,8M6.5,12A1.5,1.5 0 0,1 5,10.5A1.5,1.5 0 0,1 6.5,9A1.5,1.5 0 0,1 8,10.5A1.5,1.5 0 0,1 6.5,12M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A1.5,1.5 0 0,0 13.5,19.5C13.5,19.11 13.35,18.76 13.11,18.5C12.88,18.23 12.73,17.88 12.73,17.5A1.5,1.5 0 0,1 14.23,16H16A5,5 0 0,0 21,11C21,6.58 16.97,3 12,3Z",h.circle="M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z";var u=Object(d.a)((function t(){Object(m.a)(this,t)}));u.avatar="/avatar.png",u.avatar_with_laptop="/avatar2.png";var b=Object(d.a)((function t(){Object(m.a)(this,t)}));b.giftIcon="https://user-images.githubusercontent.com/6418354/155841091-9bdc3b05-fabd-4e58-a0fd-fe90b08275e4.png",b.flutterIcon="https://www.vectorlogo.zone/logos/flutterio/flutterio-icon.svg";var f=Object(d.a)((function t(){Object(m.a)(this,t)}));f.primaryColor="#00C853",f.otherColors=["#D50000","#C51162","#AA00FF","#6200EA","#304FFE","#2962FF","#0091EA","#00B8D4","#00BFA5","#00C853","#64DD17","#AEEA00","#FFD600","#FFAB00","#FF6D00","#DD2C00"],f.myGithubUsername="p32929",f.myName="Fayaz Bin Salam",f.myOccupation="Software Engineer",f.myDetails="Hark! I am Fayaz Bin Salam, an artful craftsman of software, weaving together intricate webs of code for mobile, web, and desktop. To me, the machines of silicon and plastic are naught but hollow shells, until they hear and heed the whispers of my command. Since 2009, I have honed my skills in the arcane art of programming, penning my first lines of code in Batch and VBScript. Through the years, I have delved deeper into the mysteries of C, C++, Java, Python, and the like, working my magic with libraries and frameworks such as ReactJS and Angular2+. The beauty of my work lies not just in its function, but in its constant evolution and growth. Indeed, I strive to kindle the spark of progress in all that surrounds me, illuminating the way towards a brighter future.",f.myLeftAvatarImage=null,f.myRightAvatarImage=null,f.helperTexts="We have a form available for you to write down any queries you may have, which will be sent directly to me. Would you like to view the form now?",f.helperFormLink="",f.bottomLinks=[{svgPath:h.whatsappIcon,link:"https://api.whatsapp.com/send?phone=8801796306262"},{svgPath:h.emailIcon,link:"mailto:p32929.ceo@gmail.com"},{svgPath:h.facebookIcon,link:"https://facebook.com/p32929"}],f.skills=[{text:"Programming / Markup Languages",arr:[{title:"C",logo:"https://seeklogo.com/images/C/c-logo-672525892C-seeklogo.com.png"},{title:"C++",logo:"https://seeklogo.com/images/C/c-logo-1B1817C041-seeklogo.com.png"},{title:"Java",logo:"https://www.vectorlogo.zone/logos/java/java-icon.svg"},{title:"Python",logo:"https://www.vectorlogo.zone/logos/python/python-icon.svg"},{title:"JavaScript",logo:"https://www.vectorlogo.zone/logos/javascript/javascript-icon.svg"},{title:"Rust",logo:"https://www.rust-lang.org/static/images/rust-logo-blk.svg"},{title:"HTML",logo:"https://www.vectorlogo.zone/logos/w3_html5/w3_html5-icon.svg"},{title:"CSS",logo:"https://seeklogo.com/images/C/css3-logo-F1923C8D0E-seeklogo.com.png"},{title:"TypeScript",logo:"https://www.vectorlogo.zone/logos/typescriptlang/typescriptlang-icon.svg"},{title:"Kotlin",logo:"https://www.vectorlogo.zone/logos/kotlinlang/kotlinlang-icon.svg"},{title:"Dart",logo:"https://www.vectorlogo.zone/logos/dartlang/dartlang-icon.svg"}]},{text:"Databases",arr:[{title:"MongoDB",logo:"https://cdn.iconscout.com/icon/free/png-128/mongodb-3521676-2945120.png"},{title:"SQL",logo:"https://w7.pngwing.com/pngs/28/601/png-transparent-sql-logo-illustration-microsoft-azure-sql-database-microsoft-sql-server-database-blue-text-logo-thumbnail.png"},{title:"DynamoDB",logo:"https://cdn.worldvectorlogo.com/logos/aws-dynamodb.svg"}]},{text:"UI Component Libraries",arr:[{title:"Ant Design",logo:"https://gw.alipayobjects.com/zos/rmsportal/KDpgvguMpGfqaHPjicRK.svg"},{title:"Material-UI",logo:"https://mui.com/static/logo.png"},{title:"Shadcn",logo:"https://ui.shadcn.com/favicon.ico"},{title:"Tailwind CSS",logo:"https://upload.wikimedia.org/wikipedia/commons/thumb/d/d5/Tailwind_CSS_Logo.svg/512px-Tailwind_CSS_Logo.svg.png?20230715030042"},{title:"Bootstrap",logo:"https://upload.wikimedia.org/wikipedia/commons/thumb/b/b2/Bootstrap_logo.svg/512px-Bootstrap_logo.svg.png"}]},{text:"Libraries / Frameworks / Techs",arr:[{title:"Android App Development",logo:"https://www.vectorlogo.zone/logos/android/android-icon.svg"},{title:"NodeJS",logo:"https://www.vectorlogo.zone/logos/nodejs/nodejs-icon.svg"},{title:"ExpressJS",logo:"https://www.vectorlogo.zone/logos/expressjs/expressjs-icon.svg"},{title:"ReactJS",logo:"https://www.vectorlogo.zone/logos/reactjs/reactjs-icon.svg"},{title:"Redux",logo:"https://w7.pngwing.com/pngs/669/447/png-transparent-redux-react-javascript-freecodecamp-npm-others-miscellaneous-purple-violet-thumbnail.png"},{title:"React Native",logo:"https://d33wubrfki0l68.cloudfront.net/554c3b0e09cf167f0281fda839a5433f2040b349/ecfc9/img/header_logo.svg"},{title:"ElectronJS",logo:"https://www.vectorlogo.zone/logos/electronjs/electronjs-icon.svg"},{title:"Angular2+",logo:"https://angular.io/assets/images/logos/angular/angular.svg"},{title:"Mongoose",logo:"https://avatars.githubusercontent.com/u/7552965?s=200&v=4"},{title:"NextJS",logo:"https://upload.wikimedia.org/wikipedia/commons/thumb/8/8e/Nextjs-logo.svg/207px-Nextjs-logo.svg.png"},{title:"OpenCV",logo:"https://www.vectorlogo.zone/logos/opencv/opencv-icon.svg"},{title:"Firebase",logo:"https://www.vectorlogo.zone/logos/firebase/firebase-icon.svg"},{title:"Flutter",logo:"https://www.vectorlogo.zone/logos/flutterio/flutterio-icon.svg"},{title:"Beautiful soup",logo:"https://github.com/3r4y/react-portfolio-template/assets/6418354/c9199eab-529b-4314-a990-c46deba899e9"},{title:"Numpy",logo:"https://numpy.org/images/logo.svg"},{title:"Tauri",logo:"https://raw.githubusercontent.com/tauri-apps/tauri/HEAD/app-icon.png"},{title:"VueJS",logo:"https://vuejs.org/images/logo.png"},{title:"Pandas",logo:"https://pandas.pydata.org/static/img/pandas.svg"},{title:"Matplotlib",logo:"https://matplotlib.org/3.1.0/_images/sphx_glr_logos2_001.png"},{title:"Socket.io",logo:"https://socket.io/images/logo.svg"},{title:"Flask",logo:"https://static.javatpoint.com/tutorial/flask/images/flask-tutorial.png"},{title:"Docker",logo:"https://cdn.iconscout.com/icon/free/png-128/docker-226091.png"},{title:"Git",logo:"https://www.vectorlogo.zone/logos/git-scm/git-scm-icon.svg"},{title:"Expo",logo:"https://www.vectorlogo.zone/logos/expoio/expoio-icon.svg"},{title:"NgInx",logo:"https://www.vectorlogo.zone/logos/nginx/nginx-icon.svg"},{title:"NestJS",logo:"https://d33wubrfki0l68.cloudfront.net/e937e774cbbe23635999615ad5d7732decad182a/26072/logo-small.ede75a6b.svg"}]},{text:"Others",arr:[{title:"Vim",logo:"https://upload.wikimedia.org/wikipedia/commons/thumb/9/9f/Vimlogo.svg/544px-Vimlogo.svg.png?20150726190850"},{title:"Android Studio",logo:"https://upload.wikimedia.org/wikipedia/commons/thumb/9/95/Android_Studio_Icon_3.6.svg/512px-Android_Studio_Icon_3.6.svg.png?20210301045217"},{title:"VS Code",logo:"https://cdn.icon-icons.com/icons2/2107/PNG/512/file_type_vscode_icon_130084.png"},{title:"Jira",logo:"https://cdn.iconscout.com/icon/free/png-128/jira-3628861-3030001.png"},{title:"AWS",logo:"https://cdn.iconscout.com/icon/free/png-128/aws-1869025-1583149.png"},{title:"DigitalOcean",logo:"https://res.cloudinary.com/crunchbase-production/image/upload/c_lpad,h_170,w_170,f_auto,b_white,q_auto:eco,dpr_1/v1478792253/gnlwek2zwhq369yryrzv.jpg"},{title:"Figma",logo:"https://www.vectorlogo.zone/logos/figma/figma-icon.svg"},{title:"Heroku",logo:"https://www.vectorlogo.zone/logos/heroku/heroku-icon.svg"},{title:"Yarn",logo:"https://www.vectorlogo.zone/logos/yarnpkg/yarnpkg-icon.svg"},{title:"npm",logo:"https://www.vectorlogo.zone/logos/npmjs/npmjs-icon.svg"},{title:"Tampermonkey",logo:"https://lh3.googleusercontent.com/zoY8FwoOqPlBgFxcmFdNSK2Q4CcLmv-gw7vTjF2KMR9cEabwBsGNrHBTEMitn0Ba6OmCVJ0NcLnFGu3N97BP8Phu0g=w128-h128-e365-rj-sc0x00ffffff"},{title:"Greasemonkey",logo:"https://addons.mozilla.org/user-media/addon_icons/0/748-64.png?modified=1531822767"},{title:"Linux",logo:"https://www.freepnglogos.com/uploads/linux-png/file-icons-flat-linux-svg-wikimedia-commons-6.png"},{title:"Adobe Photoshop",logo:"https://www.adobe.com/content/dam/cc/icons/photoshop-mobile.svg"}]}],f.works=[{text:"Web Apps",arr:[{title:"s3cr3tm3",link:"https://s3cr3tm3.netlify.app/",logo:"https://user-images.githubusercontent.com/6418354/173877444-59dbdd3d-1b5d-4b92-ad53-30fada9362d2.png",desc:"Share secret messages secretely"},{title:"FaNote",link:"https://fanote.netlify.app/",logo:"https://user-images.githubusercontent.com/6418354/173878148-81fc6b46-167d-4449-b2b2-de55d048c490.png",desc:"Offline notes for browsers"},{title:"dobd.xyz",link:"https://www.dobd.xyz/",logo:"https://www.dobd.xyz/android-chrome-512x512.png",desc:"Best online downloader for YouTube, Facebook, Instagram, Tiktok and more"},{title:"X - SendMoney2Me",logo:"https://user-images.githubusercontent.com/6418354/173880188-ad66a5d1-9957-42d3-bc67-590da25c43eb.png",desc:"Ways to send me money directly",link:"https://p32929.github.io/SendMoney2Me/"},{title:"Sha1ToMd5",logo:"https://cdn.iconscout.com/icon/premium/png-128-thumb/encryption-code-1626962-1379033.png",desc:"A simple utility tool to convert Google Play Release APK Sha1 value to MD5 for Facebook login to work.",link:"https://p32929.github.io/Sha1ToMd5"},{title:"Offer Bundle Checker",logo:"https://cdn.iconscout.com/icon/free/png-128/layer-3307723-2747903.png",desc:"Checks whether your bundle validity or the volume is ahead of you",link:"https://p32929.github.io/bundle_checker/"},{title:"StartPage",logo:"https://cdn.iconscout.com/icon/premium/png-128-thumb/homepage-2580329-2151669.png",desc:"A minimalistic custom browser startpage that can be configured to your needs. ",link:"https://p32929.github.io/startpage/"},{title:"OrderZesty",logo:"https://orderzesty.com/wp-content/uploads/2021/10/Zesty-icon@3x-300x300.png",desc:"Personal chef service delivering fresh signature meals.",link:"https://orderzesty.com/"},{title:"BadgeGen",logo:"https://raw.githubusercontent.com/p32929/Badges/master/public/android-chrome-192x192.png",desc:"A simple badge generator for your readme files",link:"https://p32929.github.io/Badges/"},{title:"DramaDB",logo:"https://dramadb.vercel.app/apple-icon.png",desc:"A serverless hobby project that lets you filter Asian drama by country, genre, status, year and popularity",link:"https://dramadb.vercel.app/"},{title:"Sh0Sh0",logo:"https://github.com/3r4y/react-portfolio-template/assets/6418354/a159e1d8-fabc-4f58-9391-0c3be4d14d7e",desc:"A beautifully created Absolutely FREE URL shortener for everyone made using React Shadcn Firebase. ",link:"https://sh0sh0.netlify.app/"},{title:"MidnightMart",logo:"https://github.com/3r4y/react-portfolio-template/assets/6418354/6c85f00e-770d-4320-93ca-c878933c641c",desc:"A simple website containing all my affiliate links",link:"https://midnightmart.vercel.app/"},{title:"TheRealWorldFree",logo:"https://www.therlworld.com/images/Group-427319400-1.webp",desc:"Enjoy the real world for free :)",link:"https://trwfree.vercel.app/"}]},{text:"NDAs",arr:[{title:"BreakingMars",logo:"https://res.cloudinary.com/crunchbase-production/image/upload/c_lpad,h_170,w_170,f_auto,b_white,q_auto:eco,dpr_1/lg6nxfb2dttgtng5kobb",desc:"#1 Leading & Effortless Prospect Perceiving Platform"},{title:"Voomnow",desc:"Next generation audio recorder",logo:"https://user-images.githubusercontent.com/6418354/173876916-e27cb77f-49f1-4190-be54-4c1ddaa2973d.svg"},{title:"Shajao",logo:"https://res.cloudinary.com/crunchbase-production/image/upload/c_lpad,h_170,w_170,f_auto,b_white,q_auto:eco,dpr_1/jyjetnzpv9knl6l7qxwz",desc:"Framing Happiness"},{title:"ChargeOnSite",logo:"https://static.wixstatic.com/media/182a81_c4e4ee2bac6d4389a866239475519bdf~mv2.png/v1/fill/w_192%2Ch_192%2Clg_1%2Cusm_0.66_1.00_0.01/182a81_c4e4ee2bac6d4389a866239475519bdf~mv2.png",desc:"Charge OnSite"}]},{text:"iOS Apps",arr:[{title:"Adblock for YT",link:"https://apps.apple.com/au/app/adblock-for-youtube/id1592568016",logo:"https://is2-ssl.mzstatic.com/image/thumb/Purple126/v4/65/7e/a8/657ea8d9-c3aa-6951-38c8-948c05cd96c3/AppIcon-0-0-85-220-0-0-0-0-4-0-0-0-2x-sRGB-0-0-0-0-0.png/246x0w.webp",desc:"Removes ads from YT videos, embedded videos on third party websites and streams."},{title:"Al Quran by Quran Touch",link:"https://apps.apple.com/gb/app/al-quran-by-quran-touch/id585240351",logo:"https://is3-ssl.mzstatic.com/image/thumb/Purple112/v4/9d/7e/ed/9d7eedd6-e567-5251-bed6-dce7e868bb57/AppIcon-0-1x_U007emarketing-0-10-0-85-220.png/246x0w.webp",desc:"The most comprehensive Muslim App!"}]},{text:"Android Apps",arr:[{title:"X - Al Quran by Quran Touch",link:"https://play.google.com/store/apps/details?id=com.qurantouch.qurantouch",logo:"https://is3-ssl.mzstatic.com/image/thumb/Purple112/v4/9d/7e/ed/9d7eedd6-e567-5251-bed6-dce7e868bb57/AppIcon-0-1x_U007emarketing-0-10-0-85-220.png/246x0w.webp",desc:"The most comprehensive Muslim App!"},{title:"X - Thamao",logo:"https://cdn.apkmonk.com/logos/com.thamao_150x150.png",desc:"\u09ac\u09be\u0982\u09b2\u09be\u09a6\u09c7\u09b6\u09c7 \u09b8\u09cd\u09ae\u09be\u09b0\u09cd\u099f\u09ab\u09cb\u09a8\u09c7\u09b0 \u099a\u09c1\u09b0\u09bf \u098f\u09ac\u09be\u09b0 \u0985\u09b8\u09ae\u09cd\u09ad\u09ac"},{title:"X - Desplash",logo:"https://lh3.googleusercontent.com/ILrto9KguXlr-clbhYKUonpnHszgNp_N5Qvc8_u9QaM71oaqNKcYql2sV3sqZ7nqzsc=s180",desc:"Automatic Free High Quality Wallpapers powered by Unsplash.com",link:"https://www.xda-developers.com/desplash-wallpaper-app-unsplash/"},{title:"X - The Great Postman",logo:"https://lh3.googleusercontent.com/ni-lk3b2nTMZyC7r1wYBW6cm9eYqGAN-t6fXV-kD0lSyw1lO3kenC1We71fZjSryvFII=s180",desc:"Powerful, Lightweight REST API client for Android",link:"https://apkpure.com/rest-api-client-the-great-postman/p32929.greatpostman"},{title:"X - Sleepy - Addiction Remover",logo:"https://user-images.githubusercontent.com/6418354/192146268-29e1bac2-e477-4010-ae03-96adecbf07e6.png",desc:"The one and only EFFECTIVE addiction remover on Google Play store",link:"https://github.com/p32929/my_android_apps/releases/tag/all"},{title:"X - Best CGPA Calculator",logo:"https://user-images.githubusercontent.com/6418354/192146303-6e04c9ac-ffb2-4931-bb10-ef54ff7af382.png",desc:"A simple yet effective CGPA Calculator for University students",link:"https://github.com/p32929/my_android_apps/releases/tag/all"},{title:"X - Buy Sell BD",logo:"https://image.winudf.com/v2/image1/cDMyOTI5LmJ1eXNlbGxiZF9pY29uXzE1NTkyOTQ5NjVfMDYz/icon.png?w=170&fakeurl=1",desc:"A better & more reliable alternative for Bikroy.com - A marketplace app for buying-selling new/used goods",link:"https://apkpure.com/p/p32929.buysellbd"},{title:"X - ExIn",logo:"https://lh3.googleusercontent.com/X8mRJd7JajvDXoW7NaluKt2IvC3osH6czkTPoWeSYJ96U2LWLKT4xiFgvNouwf-UvEk=s180",desc:"A Simple & user friendly income-expense tracker "},{title:"X - \u09ab\u09bf\u09ab\u09be \u0993\u09df\u09be\u09b0\u09cd\u09b2\u09cd\u09a1\u0995\u09be\u09aa \u09e8\u09e6\u09e7\u09ee",logo:"https://cdn-icons-png.flaticon.com/128/33/33736.png",desc:"FIFA Worldcup 2018 All In One ",link:"https://apkpure.com/%E0%A6%AB%E0%A6%BF%E0%A6%AB%E0%A6%BE-%E0%A6%93%E0%A7%9F%E0%A6%BE%E0%A6%B0%E0%A7%8D%E0%A6%B2%E0%A7%8D%E0%A6%A1%E0%A6%95%E0%A6%BE%E0%A6%AA-%E0%A7%A8%E0%A7%A6%E0%A7%A7%E0%A7%AE-live-tv-scores-more/p32929.worldcup2018"},{title:"X - I am free",logo:"https://image.winudf.com/v2/image1/cDMyOTI5LmltZnJlZV9pY29uXzE1NzY4ODAwNzVfMDU3/icon.png?w=170&fakeurl=1",desc:"\u09ac\u09c7\u0995\u09be\u09b0 \u09ae\u09c1\u0995\u09cd\u09a4 \u09ac\u09be\u0982\u09b2\u09be\u09a6\u09c7\u09b6 \u0997\u09dc\u09be\u09b0 \u09b2\u0995\u09cd\u09b7\u09cd\u09af\u09c7 - I am FREE",link:"https://apkpure.com/i-am-free/p32929.imfree"},{title:"X - Awesome NCTB",logo:"https://image.winudf.com/v2/image1/b3JnLnJpY2hpdC5uY3RiX2ljb25fMTU3NjU3MjcwNF8wMjI/icon.png?fakeurl=1",desc:"Download NCTB Books easily and Free",link:"https://github.com/richinfotech/rich_android_apps/releases/tag/all"},{title:"X - \u09ac\u09c3\u0995\u09cd\u09b7 ( Brikkho )",logo:"https://image.winudf.com/v2/image1/b3JnLnJpY2hpdC5icmlra2hvX2ljb25fMTU3MDEyMTU0Ml8wODA/icon.png?fakeurl=1",desc:"Learn about trees in your fingertips",link:"https://github.com/richinfotech/rich_android_apps/releases/tag/all"},{title:"X - IQQuiz",logo:"https://image.winudf.com/v2/image1/b3JnLnJpY2hpdC5pcXF1aXphcHBfaWNvbl8xNTcxMDE0NzcxXzA2Mg/icon.png?fakeurl=1",desc:"A simple IQ game",link:"https://github.com/richinfotech/rich_android_apps/releases/tag/all"},{title:"X - BirdsLover",logo:"https://image.winudf.com/v2/image1/b3JnLnJpY2hpdC5iaXJkc2xvdmVyX2ljb25fMTU3MjAwNDIxNl8wOTE/icon.png?fakeurl=1",desc:"Learn about birds in your fingertips",link:"https://github.com/richinfotech/rich_android_apps/releases/tag/all"},{title:"X - Animal Lover",logo:"https://image.winudf.com/v2/image1/b3JnLnJpY2hpdC5hbmltYWxfaWNvbl8xNTc3MjkyMzIzXzAyMw/icon.png?fakeurl=1",desc:"Learn about birds in your fingertips",link:"https://github.com/richinfotech/rich_android_apps/releases/tag/all"},{title:"X - Jibanananda Recitation (Abritti)",logo:"https://image.winudf.com/v2/image1/b3JnLnJpY2hpdC5qaWJvbmFuZG9rb2JpdGFzb21vZ3JvX2ljb25fMTU3MDEwNDExNF8wNDc/icon.png?fakeurl=1",desc:"50+ poems of Jibanananda Das with audio recitation",link:"https://github.com/richinfotech/rich_android_apps/releases/tag/all"},{title:"X - MyEyes",logo:b.giftIcon,desc:"Indoor Navigation App for Blind People"},{title:"X - BirthdayBot",logo:b.giftIcon,desc:"Birthday wishing apps, made for individual people...",link:"https://github.com/p32929/my_android_apps/releases/tag/all"}]},{text:"Desktop Apps",arr:[{title:"PotatoTimer",logo:"https://raw.githubusercontent.com/p32929/PotatoTimer/master/resources/icon.ico",desc:"A pomotodo app that forces you to take a break - created using ElectronJS",link:"https://github.com/p32929/Electron-Pomotodo"},{title:"X - Facebook Bot",logo:"https://cdn-icons-png.flaticon.com/128/2504/2504903.png",desc:"Automatically likes posts in facebook and also does relavent comments"},{title:"X - Username Scraper",logo:"https://cdn-icons-png.flaticon.com/128/1409/1409946.png",desc:"Lists all the usernames commented in a post in instagram"},{title:"FayPomotroid",logo:"https://github.com/p32929/FayPomotroid/blob/master/build/icons/256x256.png?raw=true",desc:"Electron based Desktop pomodoro app that forces you to take a break",link:"https://github.com/p32929/FayPomotroid/"},{title:"Pomota",logo:"https://github.com/p32929/pomota/blob/master/src-tauri/icons/128x128.png?raw=true",desc:"A simple user-friendly cross-platform tauri based pomodoro timer app that forces you to take a break",link:"https://github.com/p32929/pomota"}]},{text:"Command Line Interfaces ( CLIs )",arr:[{title:"Shortcut-Virus-Remover",logo:"https://cdn-icons-png.flaticon.com/128/3223/3223766.png",desc:"Shortcut virus remover script for Windows",link:"https://github.com/p32929/Shortcut-Virus-Remover"},{title:"Fay",logo:"https://crates.io/assets/cargo.png",desc:"A simple cross platform CLI app written in Rust to automate multiple shell ( bash or cmd ) commands",link:"https://crates.io/crates/fay"},{title:"SIIN",logo:"https://crates.io/assets/cargo.png",desc:"A batch installer that downloads and installs a list of apps, written in Rust ( Kinda like Ninite )",link:"https://crates.io/crates/siin"}]},{text:"Libraries / Packages / Crates",arr:[{title:"AndroidEasySQL-Library",logo:"https://www.vectorlogo.zone/logos/android/android-icon.svg",desc:"An Easier & Lazier approach to SQL database for Android",link:"https://github.com/p32929/AndroidEasySQL-Library"},{title:"X - FayazPermissions",logo:"https://www.vectorlogo.zone/logos/android/android-icon.svg",desc:"An Easier & Lazier approach to getting runtime permission in Android "},{title:"AndroidAppLockscreen",logo:"https://www.vectorlogo.zone/logos/android/android-icon.svg",desc:"An Easier & Lazier approach to getting runtime permission in Android ",link:"https://github.com/p32929/AndroidAppLockscreen"},{title:"ManufacturerBatteryOptimization",logo:"https://www.vectorlogo.zone/logos/android/android-icon.svg",desc:"Simple helper class for Android Battery Optimization ignoring in some devices",link:"https://gist.github.com/p32929/41e7af650f6a2c11e9306ab600fb9b03"},{title:"MyHouseAdsAndroid",logo:"https://www.vectorlogo.zone/logos/android/android-icon.svg",desc:"A library for cross promoting own apps within own apps - for Android",link:"https://github.com/p32929/MyHouseAdsAndroid"},{title:"HouseAds2",logo:"https://www.vectorlogo.zone/logos/android/android-icon.svg",desc:"A library ( V2 ) for cross promoting own apps within own apps - for Android",link:"https://github.com/p32929/HouseAds2"},{title:"AndroidAppUpdater",logo:"https://www.vectorlogo.zone/logos/android/android-icon.svg",desc:"A simple, Lightweight App Updater Library for Android",link:"https://github.com/p32929/AndroidAppUpdater"},{title:"OfficeAbout",logo:"https://www.vectorlogo.zone/logos/android/android-icon.svg",desc:"A simple about screen library for Android for a Team of people",link:"https://github.com/p32929/OfficeAbout"},{title:"JsonViewerAndroid",logo:"https://www.vectorlogo.zone/logos/android/android-icon.svg",desc:"A simple JSON Viewer for Android"},{title:"Android-Receivers-Library",logo:"https://www.vectorlogo.zone/logos/android/android-icon.svg",desc:"A library for simpler BroadcastReceiver implementations"},{title:"Fay",logo:"https://crates.io/assets/cargo.png",desc:"A simple cross platform CLI app written in Rust to automate multiple shell ( bash or cmd ) commands",link:"https://crates.io/crates/fay"},{title:"fayfetch",logo:"https://avatars.githubusercontent.com/u/6078720?s=200&v=4",desc:"A simple wrapper for Fetch",link:"https://www.npmjs.com/package/fayfetch"},{title:"fjsondb",logo:"https://avatars.githubusercontent.com/u/6078720?s=200&v=4",desc:"A fast and simple JSON database for NodeJS",link:"https://www.npmjs.com/package/fjsondb"},{title:"EasiestDB",logo:b.flutterIcon,desc:"The Easiest and the Laziest approach to Flutter SQL Database.",link:"https://pub.dev/packages/easiestdb"},{title:"Simply Wifi",logo:b.flutterIcon,desc:"A simplified version of the wifi_iot package",link:"https://pub.dev/packages/simply_wifi"}]},{text:"Extensions / Plugins / Addons",arr:[{title:"vscode-nvim-leave-insertmode",logo:"https://code.visualstudio.com/assets/images/code-stable.png",desc:"This basic VSCode extension ensures that neovim is in normal mode switching between text editor panels.",link:"https://marketplace.visualstudio.com/items?itemName=p32929.vscode-nvim-leave-insertmode"}]}],f.contacts=[{text:"Contact me",arr:[{title:"WhatsApp ( Recommended )",logo:"https://user-images.githubusercontent.com/6418354/155842184-b064bf36-de8e-4317-8f8e-cb7755eed995.png",link:"https://api.whatsapp.com/send?phone=8801796306262",desc:"+8801796306262"},{title:"Facebook",logo:"https://user-images.githubusercontent.com/6418354/155840898-9e2327aa-a280-45e3-8266-8268242abda4.png",link:"https://www.facebook.com/p32929"},{title:"Email",logo:"https://cdn3d.iconscout.com/3d/premium/thumb/email-address-4437044-3684811.png",desc:"p32929.ceo@gmail.com",link:"mailto:p32929.ceo@gmail.com"}]},{text:"Others",arr:[{title:"Anywhere on the internet",logo:"https://user-images.githubusercontent.com/6418354/155840900-91ac076a-8d2b-45dc-b346-66f72d376d4b.png",desc:"@p32929"},{title:"GitHub",logo:"https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png",link:"https://github.com/p32929/"},{title:"LinkedIn",logo:"https://user-images.githubusercontent.com/6418354/155841027-8698cb12-7ddd-4604-a4ea-c618ddbc1cd8.png",link:"https://www.linkedin.com/in/p32929/"},{title:"Twitter",logo:"https://user-images.githubusercontent.com/6418354/155841031-532d5d6e-797a-4da1-8064-48d266b69ab2.png",link:"https://twitter.com/p32929"},{title:"Instagram",logo:"https://user-images.githubusercontent.com/6418354/155841023-0b842621-56a3-42ec-81f1-3944034b09c7.png",link:"https://www.instagram.com/p32929/"},{title:"Fiverr",logo:"https://99designs-blog.imgix.net/blog/wp-content/uploads/2018/09/fiverr-2018.png?auto=format&q=60&fit=max&w=200",link:"https://www.fiverr.com/users/fayazbinsalam/"},{title:"Upwork",logo:"https://cdn.worldvectorlogo.com/logos/upwork.svg",link:"https://www.upwork.com/freelancers/~017dbf657b99b0c1c1"},{title:"Medium",logo:"https://seeklogo.com/images/M/medium-logo-93CDCF6451-seeklogo.com.png",link:"https://medium.com/@p32929_77176"},{title:"xda",logo:"https://www.svgrepo.com/show/331651/xda-developers.svg",link:"https://forum.xda-developers.com/m/p32929.5346826/"},{title:"Product Hunt",logo:"https://seeklogo.com/images/P/product-hunt-logo-A144953C4C-seeklogo.com.png?v=637846885100000000",link:"https://www.producthunt.com/@p32929"},{title:"UVA Online Judge",logo:"https://uhunt.onlinejudge.org/images/uva.png",link:"https://uhunt.onlinejudge.org/id/590978"},{title:"URI Online Judge",logo:"https://user-images.githubusercontent.com/26368939/110052090-be0a0b00-7d35-11eb-8827-993190a9568e.png",link:"https://www.beecrowd.com.br/judge/en/profile/76542"},{title:"Buy Me a Coffee",logo:"https://www.buymeacoffee.com/assets/img/guidelines/logo-mark-1.svg",link:"https://www.buymeacoffee.com/p32929"},{title:"Skype",logo:"https://user-images.githubusercontent.com/6418354/155840899-62c1fe8e-66a6-4492-9acc-5bd504ac21ef.png",desc:"p32929",link:"skype:p32929?chat"}]},{text:"Thank you for visiting my portfolio",arr:[{title:"Click on the link button",desc:"To create your own portfolio. It will only take around 3 minutes",logo:b.giftIcon,link:"https://github.com/p32929/p32929.github.io/"}]}];var w={primaryColor:f.primaryColor,isLeftShowing:!0,isColorPickerDialogShowing:!1,isHelperDialogShowing:!1,isMenuClicked:!1},j=function(t,e){t.state.primaryColor=e},v=function(t,e){t.state.isLeftShowing=e},C=function(t,e){t.state.isColorPickerDialogShowing=e},k=function(t,e){t.state.isHelperDialogShowing=e},x=function(t,e){t.state.isMenuClicked=e},y={state:w,actions:i},O=Object(l.c)(),A=Object(l.b)(),L=o(143),z=o(79),S=Object(L.a)({palette:{primary:{main:"#556cd6"},secondary:{main:"#19857b"},error:{main:z.a.A400},background:{default:"#fff"},action:{disabled:"#212121"}},overrides:{MuiAvatar:{img:{objectFit:"contain"}}}}),M=o(7),_=o(291),I=o(292),N=o(298),E=o(11),F=o(303),B=o(293),D=o(3),T=Object(_.a)((function(t){return{avatar:{height:125,width:125},title:{color:"#212121",marginTop:24,fontSize:14,fontWeight:600},subtitle:{fontSize:12,color:"#212121",fontWeight:600}}})),P=function(t){var e;Object(E.a)(A()),Object(E.a)(O());var o=T();return Object(D.jsxs)(I.a,{item:!0,xs:!0,container:!0,direction:"column",justifyContent:"center",alignItems:"center",children:[Object(D.jsx)(F.a,{alt:f.myName+" - "+f.myOccupation,src:null!==(e=f.myLeftAvatarImage)&&void 0!==e?e:u.avatar,className:o.avatar}),Object(D.jsx)(B.a,{className:o.title,children:f.myName.toUpperCase()}),Object(D.jsx)(B.a,{className:o.subtitle,children:f.myOccupation})]})},H=o(304),J=o(295),V=o(296),R=o(297),X=o(59),W=o(136),U=Object(_.a)((function(t){return{}})),G=function(t){Object(E.a)(A());var e=O().primaryColor,o=(U(),t.path),i=t.size,n=t.styles;return Object(D.jsx)("svg",{style:Object(W.a)({width:i,height:i},n),viewBox:"0 0 24 24",children:Object(D.jsx)("path",{fill:e,d:o})})},Y=o(42),q=o(294),Z=Object(d.a)((function t(){Object(m.a)(this,t)}));Z.routes=["About","Skills","Works","Contact"];var Q=Object(_.a)((function(t){return{link:{marginLeft:8,marginRight:8,textDecoration:"none"},divider:{height:1,margin:16,width:90,alignSelf:"center"}}})),K=function(t){var e=A().showLeftPart,o=O().primaryColor,i=Q(),n=Object(Y.a)(),a=Object(q.a)(n.breakpoints.down("sm"));return Object(D.jsxs)(I.a,{container:!0,item:!0,xs:!0,direction:"column",justifyContent:"center",alignContent:"stretch",children:[Object(D.jsx)(H.a,{mdUp:!0,children:Object(D.jsx)(J.a,{size:"small",onClick:function(){e(!1)},children:Object(D.jsx)(G,{size:18,path:h.close})})}),Object(D.jsx)(V.a,{style:{backgroundColor:o},className:i.divider,orientation:"horizontal",flexItem:!0}),Z.routes.map((function(t,n){return Object(D.jsx)(R.a,{activeStyle:{backgroundColor:o,color:"white"},className:i.link,onClick:function(){a&&e(!1)},size:"small",component:X.a,to:t.toLowerCase(),children:t},n)})),Object(D.jsx)(V.a,{style:{backgroundColor:o},className:i.divider,orientation:"horizontal",flexItem:!0})]})},$=Object(_.a)((function(t){return{root:{paddingBottom:8,width:"100%"},iconButton:{margin:3}}})),tt=function(t){Object(E.a)(A()),Object(E.a)(O());var e=$();return Object(D.jsx)(I.a,{container:!0,className:e.root,direction:"row",justifyContent:"center",alignItems:"center",alignContent:"center",children:f.bottomLinks.map((function(t,o){return Object(D.jsx)(J.a,{className:e.iconButton,size:"small",target:"_blank",href:t.link,children:Object(D.jsx)(G,{path:t.svgPath,size:18})},o)}))})},et=Object(_.a)((function(t){return{root:{height:"100%",width:"100%",margin:0,padding:0}}})),ot=function(t){Object(E.a)(A()),Object(E.a)(O());var e=et();return Object(D.jsx)(I.a,{container:!0,direction:"column",item:!0,xs:11,sm:11,md:3,lg:3,xl:2,children:Object(D.jsx)(N.a,{elevation:12,className:e.root,children:Object(D.jsxs)(I.a,{className:e.root,container:!0,direction:"column",justifyContent:"space-around",alignContent:"center",alignItems:"center",children:[Object(D.jsx)(P,{}),Object(D.jsx)(K,{}),Object(D.jsx)(tt,{})]})})})},it=Object(d.a)((function t(){Object(m.a)(this,t)}));it.getHeightWidthWeb=function(){return console.debug("Web"),{width:"calc(100% - 316px)",height:"calc(100% - 168px)"}},it.getHeightWidthMobile=function(){return console.debug("Mobile"),{width:"calc(100% - 48px)",height:"calc(100% - 48px)"}};var nt=o(35),at=o(19),st=Object(_.a)((function(t){return function(t){var e;return{root:{padding:16},divider:(e={height:1,marginTop:8},Object(M.a)(e,t.breakpoints.down("sm"),{width:160}),Object(M.a)(e,t.breakpoints.up("md"),{width:200}),e),currentRoute:{fontSize:14,fontWeight:600,cursor:"none"}}}(t)})),rt=function(t){var e=A(),o=e.showLeftPart,i=e.setMenuClicked,n=Object(at.h)(),a=O(),s=a.primaryColor,r=a.isMenuClicked,c=st();return Object(D.jsxs)(I.a,{item:!0,xs:8,direction:"column",container:!0,justifyContent:"center",children:[Object(D.jsxs)(I.a,{item:!0,xs:!0,children:[Object(D.jsx)(H.a,{mdUp:!0,children:Object(D.jsx)(J.a,{size:"small",onClick:function(){o(!0),i(!0)},children:Object(D.jsx)("div",{className:!0===r?"":"bounce",children:Object(D.jsx)(G,{path:h.menu,styles:{padding:8},size:20})})})}),Object(D.jsx)(R.a,{variant:"text",disabled:!0,className:c.currentRoute,children:n.pathname.replace("/","")})]}),Object(D.jsx)(I.a,{item:!0,xs:!0,children:Object(D.jsx)(V.a,{style:{backgroundColor:s},className:c.divider,orientation:"horizontal",flexItem:!0})})]})},ct=Object(_.a)((function(t){return{iconButton:{padding:8}}})),lt=function(t){var e=A(),o=(e.setPrimaryColor,e.showColorPickerDialog);Object(E.a)(O());ct();return Object(D.jsxs)(I.a,{container:!0,direction:"row",justifyContent:"flex-end",item:!0,xs:4,children:[Object(D.jsx)(J.a,{size:"small",target:"_blank",href:"https://github.com/p32929/p32929.github.io/",children:Object(D.jsx)(G,{styles:{padding:8},path:h.githubIcon,size:20})}),Object(D.jsx)(J.a,{size:"small",onClick:function(){o(!0)},children:Object(D.jsx)(G,{styles:{padding:8},path:h.palette,size:20})})]})},pt=o(53),gt=o(15),dt=o(137),mt=Object(_.a)((function(t){return{root:{marginLeft:8},text:{marginLeft:8,marginRight:8,fontSize:12,fontWeight:600,color:"#757575"}}})),ht=function(t){Object(E.a)(A()),Object(E.a)(O());var e=t.title,o=t.fontStyle,i=mt();return Object(D.jsxs)(I.a,{container:!0,direction:"row",alignItems:"center",alignContent:"center",className:i.root,children:[Object(D.jsx)(G,{size:20,path:h.star}),Object(D.jsx)(B.a,{variant:"body2",style:o,className:i.text,children:e})]})},ut=function(t){A().showHelperDialog;var e=t.url;return e&&(e.toString().includes("http")||e.toString().includes("skype:"))?Object(D.jsx)(I.a,{style:{paddingTop:16},children:Object(D.jsx)(J.a,{onClick:function(t){t.stopPropagation()},target:"_blank",href:e,size:"small",children:Object(D.jsx)(G,{path:h.linkIcon,styles:{padding:8},size:22})})}):Object(D.jsx)(D.Fragment,{})},bt=Object(_.a)((function(t){return{root:{padding:2},textContainer:{paddingTop:16,paddingBottom:16,overflow:"hidden",alignSelf:"center"},avatar:{margin:16},title:{color:"#212121",lineHeight:1.25},desc:{color:"#757575",lineHeight:1.25,overflow:"hidden"}}})),ft=function(t){var e=A().showHelperDialog;Object(E.a)(O());var o=bt(),i=t.item,n=i.logo,a=i.title,s=i.desc,r=i.link;return Object(D.jsx)(I.a,{container:!0,item:!0,xs:12,sm:12,md:6,lg:6,xl:4,className:o.root,children:Object(D.jsx)(N.a,{elevation:4,style:{width:"100%"},onClick:function(){r||e(!0)},children:Object(D.jsxs)(I.a,{container:!0,direction:"row",children:[Object(D.jsx)(F.a,{variant:"square",className:o.avatar,src:n}),Object(D.jsxs)(I.a,{container:!0,direction:"column",item:!0,xs:!0,className:o.textContainer,children:[Object(D.jsx)(B.a,{variant:"body1",className:o.title,children:a}),(s||r)&&Object(D.jsx)(B.a,{variant:"body2",className:o.desc,children:s||r})]}),Object(D.jsx)(ut,{url:r})]})})})},wt=Object(_.a)((function(t){return{root:{marginTop:4,marginLeft:8,marginBottom:16},itemRoot:{marginTop:8}}})),jt=function(t){Object(E.a)(A()),Object(E.a)(O());var e=t.item,o=e.text,i=e.arr,n=wt();return Object(D.jsxs)(I.a,{container:!0,direction:"column",className:n.root,children:[Object(D.jsx)(ht,{title:o}),Object(D.jsx)(I.a,{container:!0,direction:"row",className:n.itemRoot,children:i.sort((function(t,e){return t.title.localeCompare(e.title)})).map((function(t,e){return Object(D.jsx)(ft,{item:t},e)}))})]})},vt=Object(_.a)((function(t){return{}})),Ct={text:"Others",arr:[]},kt=function(t){Object(E.a)(A()),Object(E.a)(O());var e=Object(n.useState)([]),o=Object(nt.a)(e,2),i=o[0],a=o[1],s=(vt(),function(){var t=Object(dt.a)(Object(pt.a)().mark((function t(){var e,o,i,n,s,r,c;return Object(pt.a)().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return console.debug("getGithubRepos"),t.next=3,fetch("https://api.github.com/users/".concat(f.myGithubUsername,"/repos?per_page=999"));case 3:return e=t.sent,t.next=6,e.json();case 6:for(o=t.sent,i=o,n=Object(gt.a)(f.works),s=0;s0?i:f.works).map((function(t,e){return Object(D.jsx)(jt,{item:t},e)}))})},xt=Object(_.a)((function(t){return{}})),yt=function(t){Object(E.a)(A()),Object(E.a)(O());xt();return Object(D.jsx)(I.a,{container:!0,xs:12,item:!0,direction:"column",children:f.contacts.map((function(t,e){return Object(D.jsx)(jt,{item:t},e)}))})},Ot=Object(_.a)((function(t){return{}})),At=function(t){Object(E.a)(A()),Object(E.a)(O());Ot();return Object(D.jsx)(I.a,{container:!0,xs:12,item:!0,direction:"column",children:f.skills.map((function(t,e){return Object(D.jsx)(jt,{item:t},e)}))})},Lt={height:"95%"},zt={height:"75%"},St=Object(_.a)((function(t){return function(t){var e;return{root:{padding:8},text:(e={paddingLeft:8,paddingBottom:8,lineHeight:1.3,fontWeight:400},Object(M.a)(e,t.breakpoints.up("xl"),{fontSize:18}),Object(M.a)(e,t.breakpoints.down("sm"),{fontSize:14}),e)}}(t)})),Mt=[function(t){var e;Object(E.a)(A()),Object(E.a)(O());var o=St(),i=Object(Y.a)(),n=Object(q.a)(i.breakpoints.down("sm"));return Object(D.jsxs)(I.a,{className:o.root,container:!0,item:!0,xs:12,direction:"column",justifyContent:"flex-end",alignItems:"center",alignContent:"center",children:[Object(D.jsx)(I.a,{style:{height:0,padding:4},id:"avatarImageGrid",item:!0,xs:!0,container:!0,justifyContent:"center",alignItems:"center",alignContent:"center",children:Object(D.jsx)("img",{style:n?zt:Lt,src:null!==(e=f.myRightAvatarImage)&&void 0!==e?e:u.avatar_with_laptop})}),Object(D.jsxs)(I.a,{item:!0,container:!0,direction:"column",children:[Object(D.jsx)(ht,{title:"About me",fontStyle:{fontSize:20,fontWeight:"bold",color:"#212121"}}),Object(D.jsx)(B.a,{className:o.text,children:f.myDetails})]})]})},At,kt,yt],_t=Object(_.a)((function(t){return{root:{padding:16},content:{paddingRight:8,maxHeight:"100vh",maxWidth:"100%"}}})),It=function(t){Object(E.a)(A());var e=O().isLeftShowing,o=_t(),i=Object(n.useState)(0),a=Object(nt.a)(i,2),s=a[0],r=a[1],c=Object(Y.a)(),l=Object(q.a)(c.breakpoints.down("sm")),p=Object(at.h)();return Object(n.useEffect)((function(){var t=document.getElementById("container"),e=document.getElementById("right-top");document.getElementById("right-bottom");if(t&&e){var o=(null===t||void 0===t?void 0:t.offsetHeight)-(null===e||void 0===e?void 0:e.offsetHeight);console.log("Height: "+o),r(o)}}),[e,l]),Object(n.useEffect)((function(){var t,e;null===(t=document)||void 0===t||null===(e=t.getElementById("right-bottom"))||void 0===e||e.scroll(0,0)}),[p]),Object(D.jsxs)(I.a,{id:"right-container",container:!0,xs:!0,item:!0,direction:"row",alignContent:"flex-start",children:[Object(D.jsxs)(I.a,{id:"right-top",container:!0,direction:"row",className:o.root,justifyContent:"space-between",alignItems:"flex-start",alignContent:"flex-start",children:[Object(D.jsx)(rt,{}),Object(D.jsx)(lt,{})]}),Object(D.jsx)(I.a,{id:"right-bottom",style:{height:s,maxHeight:s,overflowY:"scroll",overflowX:"hidden"},item:!0,xs:12,container:!0,className:o.content,children:Object(D.jsx)(at.e,{children:Z.routes.map((function(t,e){return Object(D.jsx)(at.c,{exact:!0,path:"/".concat(t.toLowerCase()),component:Mt[e]},e)}))})})]})},Nt=o(302),Et=o(299),Ft=o(142),Bt=Object(_.a)((function(t){return{}})),Dt=function(t){var e=A(),o=e.setPrimaryColor,i=e.showColorPickerDialog,n=O(),a=n.primaryColor,s=n.isColorPickerDialogShowing;Bt();return Object(D.jsx)(Nt.a,{open:s,onClose:function(){i(!1)},children:Object(D.jsx)(Et.a,{children:Object(D.jsx)(Ft.a,{color:a,onChange:function(t,e){o(t.hex),i(!1)},colors:f.otherColors})})})},Tt=o(300),Pt=Object(_.a)((function(t){return{}})),Ht=function(t){var e=A(),o=O();Pt();return Object(D.jsxs)(Nt.a,{open:""!==f.helperTexts&&""!==f.helperFormLink&&o.isHelperDialogShowing,children:[Object(D.jsx)(Et.a,{children:f.helperTexts}),Object(D.jsxs)(Tt.a,{children:[Object(D.jsx)(R.a,{onClick:function(){e.showHelperDialog(!1)},children:"No"}),Object(D.jsx)(R.a,{onClick:function(){var t,o;e.showHelperDialog(!1),null===(t=window)||void 0===t||null===(o=t.open(f.helperFormLink,"_blank"))||void 0===o||o.focus()},children:"Yes"})]})]})},Jt=Object(_.a)((function(t){return function(t){var e;return{root:{height:"100vh",maxHeight:"100vh"},content:{height:"100%",width:"100%"},paper:(e={},Object(M.a)(e,t.breakpoints.down("sm"),it.getHeightWidthMobile()),Object(M.a)(e,t.breakpoints.up("md"),it.getHeightWidthWeb()),e)}}(t)})),Vt=!1,Rt=function(t){var e=A().showLeftPart,o=O(),i=o.primaryColor,n=o.isLeftShowing,a=Jt(),s=Object(Y.a)(),r=Object(q.a)(s.breakpoints.down("sm"));r&&(Vt||setTimeout((function(){e(!1),Vt=!0}),700));return Object(D.jsxs)(I.a,{container:!0,className:a.root,justifyContent:"center",alignContent:"center",alignItems:"center",direction:"column",style:{backgroundColor:i},children:[Object(D.jsx)(Dt,{}),Object(D.jsx)(Ht,{}),Object(D.jsx)(N.a,{id:"container",className:a.paper,elevation:16,children:Object(D.jsxs)(at.a,{children:[Object(D.jsx)(at.c,{exact:!0,path:"/",children:Object(D.jsx)(at.b,{to:"/about"})}),Object(D.jsxs)(I.a,{container:!0,direction:"row",className:a.content,children:[r?n?Object(D.jsx)(ot,{}):void 0:Object(D.jsx)(ot,{}),r&&n?void 0:Object(D.jsx)(It,{})]})]})})]})},Xt=Object(g.d)(y);r.a.render(Object(D.jsx)(a.a.StrictMode,{children:Object(D.jsx)(l.a,{value:Xt,children:Object(D.jsx)(p.a,{theme:S,children:Object(D.jsx)(Rt,{})})})}),document.getElementById("root")),c(),document.title=f.myName}},[[267,1,2]]]); +//# sourceMappingURL=main.1c297acb.chunk.js.map \ No newline at end of file diff --git a/static/js/main.1c297acb.chunk.js.map b/static/js/main.1c297acb.chunk.js.map new file mode 100644 index 0000000..a59ce5c --- /dev/null +++ b/static/js/main.1c297acb.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["reportWebVitals.ts","Others/OurIcons.ts","Others/Images.ts","Others/GlobalVars.ts","Overmind/OvermindState.ts","Overmind/OvermindActions.ts","Overmind/OvermindHelper.ts","Others/Theme.ts","Components/Left/AvatarText.tsx","Helpers/SvgHelper.tsx","Others/Constants.ts","Components/Left/NavigationLinks.tsx","Components/Left/BottomNavigationLinks.tsx","Components/LeftPart.tsx","Others/GlobalMethods.ts","Components/Right/Top/RouteLocation.tsx","Components/Right/Top/TopRightButtons.tsx","Components/Items/ListTitle.tsx","Components/Items/OurListItem.tsx","Components/Items/ListItemWithIcon.tsx","Components/Right/Routes/WorksRoute.tsx","Components/Right/Routes/ContactRoute.tsx","Components/Right/Routes/SkillsRoute.tsx","Components/Right/Routes/AboutRoute.tsx","Components/RightPart.tsx","Components/Dialogs/ColorPickerDialog.tsx","Components/Dialogs/HelperDialog.tsx","App.tsx","index.tsx"],"names":["reportWebVitals","onPerfEntry","Function","then","getCLS","getFID","getFCP","getLCP","getTTFB","OurIcons","githubIcon","facebookIcon","whatsappIcon","wordpressIcon","skypeIcon","emailIcon","buymeacoffee","linkIcon","close","fork","menu","star","palette","circle","LocalImages","avatar","avatar_with_laptop","WebImages","giftIcon","flutterIcon","GlobalVars","primaryColor","otherColors","myGithubUsername","myName","myOccupation","myDetails","myLeftAvatarImage","myRightAvatarImage","helperTexts","helperFormLink","bottomLinks","svgPath","link","skills","text","arr","title","logo","works","desc","contacts","state","isLeftShowing","isColorPickerDialogShowing","isHelperDialogShowing","isMenuClicked","setPrimaryColor","value","showLeftPart","showColorPickerDialog","showHelperDialog","setMenuClicked","config","actions","useAppState","createStateHook","useActions","createActionsHook","theme","createTheme","primary","main","secondary","error","red","A400","background","default","action","disabled","overrides","MuiAvatar","img","objectFit","useStyles","makeStyles","height","width","color","marginTop","fontSize","fontWeight","subtitle","AvatarText","props","classes","Grid","item","xs","container","direction","justifyContent","alignItems","Avatar","alt","src","className","Typography","toUpperCase","SvgHelper","path","size","styles","style","viewBox","fill","d","Constants","routes","marginLeft","marginRight","textDecoration","divider","margin","alignSelf","NavigationLinks","useTheme","belowSm","useMediaQuery","breakpoints","down","alignContent","Hidden","mdUp","IconButton","onClick","Divider","backgroundColor","orientation","flexItem","map","index","Button","activeStyle","component","NavLink","to","toLowerCase","root","paddingBottom","iconButton","BottomNavigationLinks","target","href","padding","LeftPart","sm","md","lg","xl","Paper","elevation","GlobalMethods","getHeightWidthWeb","console","debug","getHeightWidthMobile","up","currentRoute","cursor","getThemeObj","RouteLocation","location","useLocation","variant","pathname","replace","TopRightButtons","ListTitle","fontStyle","LinkIcon","url","toString","includes","paddingTop","e","stopPropagation","textContainer","overflow","lineHeight","OurListItem","marginBottom","itemRoot","ListItemWithIcon","sort","a","b","localeCompare","arrItem","newWOrkObj","WorksRoute","useState","setWorks","getGithubRepos","fetch","data","json","jsonFromFetch","newWorks","i","length","obj","push","name","description","html_url","useEffect","getFetchedWorks","ContactRoute","SkillsRoute","aboveSmAvatarSize","belowSmAvatarSize","paddingLeft","id","content","paddingRight","maxHeight","maxWidth","RightPart","contentHeight","setContentHeight","rc","document","getElementById","rt","offsetHeight","log","scroll","overflowY","overflowX","exact","ColorPickerDialog","Dialog","open","onClose","DialogContent","onChange","event","hex","colors","HelperDialog","states","DialogActions","window","focus","paper","hiddenLeftFirstTime","App","setTimeout","overmind","createOvermind","ReactDOM","render","StrictMode","ThemeProvider"],"mappings":"6cAceA,G,OAZS,SAACC,GACnBA,GAAeA,aAAuBC,UACxC,8BAAqBC,MAAK,YAAkD,IAA/CC,EAAM,EAANA,OAAQC,EAAM,EAANA,OAAQC,EAAM,EAANA,OAAQC,EAAM,EAANA,OAAQC,EAAO,EAAPA,QAC3DJ,EAAOH,GACPI,EAAOJ,GACPK,EAAOL,GACPM,EAAON,GACPO,EAAQP,EACV,GAEJ,G,yCCVaQ,EAAQ,iDAARA,EAEFC,WAAa,8uBAFXD,EAGFE,aAAe,gSAHbF,EAIFG,aAAe,0pCAJbH,EAKFI,cAAgB,09BALdJ,EAMFK,UAAY,8uBANVL,EAOFM,UAAY,m6BAPVN,EAUFO,aAAe,25EAVbP,EAWFQ,SAAW,+sBAXTR,EAYFS,MAAQ,2MAZNT,EAaFU,KAAO,iuBAbLV,EAcFW,KAAO,iDAdLX,EAeFY,KAAO,uGAfLZ,EAgBFa,QAAU,+iBAhBRb,EAmBFc,OAAS,+ECrBb,IAAMC,EAAW,iDAAXA,EACFC,OAAS,cADPD,EAEFE,mBAAqB,eAGzB,IAAMC,EAAS,iDAATA,EACFC,SAAW,uGADTD,EAEFE,YAAc,iECHlB,IAAMC,EAAU,iDAAVA,EAGFC,aAAe,UAHbD,EAIFE,YAA6B,CAChC,UAAW,UAAW,UAAW,UAAW,UAC5C,UAAW,UAAW,UAAW,UAAW,UAC5C,UAAW,UAAW,UAAW,UAAW,UAC5C,WARKF,EAYFG,iBAAmB,SAZjBH,EAaFI,OAAS,kBAbPJ,EAcFK,aAAe,oBAdbL,EAeFM,UAAY,wwBAfVN,EAgBFO,kBAAoB,KAhBlBP,EAiBFQ,mBAAqB,KAjBnBR,EAkBFS,YAAc,mJAlBZT,EAmBFU,eAAiB,GAnBfV,EAsBFW,YAA8C,CACjD,CACIC,QAASjC,EAASG,aAClB+B,KAAM,qDAEV,CACID,QAASjC,EAASM,UAClB4B,KAAM,+BAEV,CACID,QAASjC,EAASE,aAClBgC,KAAM,gCAjCLb,EAqCFc,OAAyC,CAC5C,CACIC,KAAM,iCACNC,IAAK,CACD,CACIC,MAAO,IACPC,KAAM,oEAEV,CACID,MAAO,MACPC,KAAM,oEAEV,CACID,MAAO,OACPC,KAAM,wDAEV,CACID,MAAO,SACPC,KAAM,4DAEV,CACID,MAAO,aACPC,KAAM,oEAEV,CACID,MAAO,OACPC,KAAM,6DAEV,CACID,MAAO,OACPC,KAAM,gEAEV,CACID,MAAO,MACPC,KAAM,uEAEV,CACID,MAAO,aACPC,KAAM,4EAEV,CACID,MAAO,SACPC,KAAM,oEAEV,CACID,MAAO,OACPC,KAAM,kEAIlB,CACIH,KAAM,YACNC,IAAK,CACD,CACIC,MAAO,UACPC,KAAM,2EAEV,CACID,MAAO,MACPC,KAAM,oKAEV,CACID,MAAO,WACPC,KAAM,4DAIlB,CACIH,KAAM,yBACNC,IAAK,CACD,CACIC,MAAO,aACPC,KAAM,uEAEV,CACID,MAAO,cACPC,KAAM,mCAEV,CACID,MAAO,SACPC,KAAM,qCAEV,CACID,MAAO,eACPC,KAAM,kIAEV,CACID,MAAO,YACPC,KAAM,+GAIlB,CACIH,KAAM,iCACNC,IAAK,CACD,CACIC,MAAO,0BACPC,KAAM,8DAEV,CACID,MAAO,SACPC,KAAM,4DAEV,CACID,MAAO,YACPC,KAAM,kEAEV,CACID,MAAO,UACPC,KAAM,8DAEV,CACID,MAAO,QACPC,KAAM,gJAEV,CACID,MAAO,eACPC,KAAM,4GAEV,CACID,MAAO,aACPC,KAAM,oEAEV,CACID,MAAO,YACPC,KAAM,8DAEV,CACID,MAAO,WACPC,KAAM,6DAEV,CACID,MAAO,SACPC,KAAM,uGAEV,CACID,MAAO,SACPC,KAAM,4DAEV,CACID,MAAO,WACPC,KAAM,gEAEV,CACID,MAAO,UACPC,KAAM,kEAEV,CACID,MAAO,iBACPC,KAAM,wGAEV,CACID,MAAO,QACPC,KAAM,qCAEV,CACID,MAAO,QACPC,KAAM,wEAEV,CACID,MAAO,QACPC,KAAM,qCAEV,CACID,MAAO,SACPC,KAAM,mDAEV,CACID,MAAO,aACPC,KAAM,gEAEV,CACID,MAAO,YACPC,KAAM,qCAEV,CACID,MAAO,QACPC,KAAM,0EAEV,CACID,MAAO,SACPC,KAAM,iEAEV,CACID,MAAO,MACPC,KAAM,8DAEV,CACID,MAAO,OACPC,KAAM,4DAEV,CACID,MAAO,QAC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","file":"static/js/main.1c297acb.chunk.js","sourcesContent":["import { ReportHandler } from 'web-vitals';\n\nconst reportWebVitals = (onPerfEntry?: ReportHandler) => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","// These are all svg icon paths copied from https://materialdesignicons.com/\n\nexport class OurIcons {\n // websites\n static githubIcon = 'M12,2A10,10 0 0,0 2,12C2,16.42 4.87,20.17 8.84,21.5C9.34,21.58 9.5,21.27 9.5,21C9.5,20.77 9.5,20.14 9.5,19.31C6.73,19.91 6.14,17.97 6.14,17.97C5.68,16.81 5.03,16.5 5.03,16.5C4.12,15.88 5.1,15.9 5.1,15.9C6.1,15.97 6.63,16.93 6.63,16.93C7.5,18.45 8.97,18 9.54,17.76C9.63,17.11 9.89,16.67 10.17,16.42C7.95,16.17 5.62,15.31 5.62,11.5C5.62,10.39 6,9.5 6.65,8.79C6.55,8.54 6.2,7.5 6.75,6.15C6.75,6.15 7.59,5.88 9.5,7.17C10.29,6.95 11.15,6.84 12,6.84C12.85,6.84 13.71,6.95 14.5,7.17C16.41,5.88 17.25,6.15 17.25,6.15C17.8,7.5 17.45,8.54 17.35,8.79C18,9.5 18.38,10.39 18.38,11.5C18.38,15.32 16.04,16.16 13.81,16.41C14.17,16.72 14.5,17.33 14.5,18.26C14.5,19.6 14.5,20.68 14.5,21C14.5,21.27 14.66,21.59 15.17,21.5C19.14,20.16 22,16.42 22,12A10,10 0 0,0 12,2Z';\n static facebookIcon = 'M12 2.04C6.5 2.04 2 6.53 2 12.06C2 17.06 5.66 21.21 10.44 21.96V14.96H7.9V12.06H10.44V9.85C10.44 7.34 11.93 5.96 14.22 5.96C15.31 5.96 16.45 6.15 16.45 6.15V8.62H15.19C13.95 8.62 13.56 9.39 13.56 10.18V12.06H16.34L15.89 14.96H13.56V21.96A10 10 0 0 0 22 12.06C22 6.53 17.5 2.04 12 2.04Z';\n static whatsappIcon = 'M12.04 2C6.58 2 2.13 6.45 2.13 11.91C2.13 13.66 2.59 15.36 3.45 16.86L2.05 22L7.3 20.62C8.75 21.41 10.38 21.83 12.04 21.83C17.5 21.83 21.95 17.38 21.95 11.92C21.95 9.27 20.92 6.78 19.05 4.91C17.18 3.03 14.69 2 12.04 2M12.05 3.67C14.25 3.67 16.31 4.53 17.87 6.09C19.42 7.65 20.28 9.72 20.28 11.92C20.28 16.46 16.58 20.15 12.04 20.15C10.56 20.15 9.11 19.76 7.85 19L7.55 18.83L4.43 19.65L5.26 16.61L5.06 16.29C4.24 15 3.8 13.47 3.8 11.91C3.81 7.37 7.5 3.67 12.05 3.67M8.53 7.33C8.37 7.33 8.1 7.39 7.87 7.64C7.65 7.89 7 8.5 7 9.71C7 10.93 7.89 12.1 8 12.27C8.14 12.44 9.76 14.94 12.25 16C12.84 16.27 13.3 16.42 13.66 16.53C14.25 16.72 14.79 16.69 15.22 16.63C15.7 16.56 16.68 16.03 16.89 15.45C17.1 14.87 17.1 14.38 17.04 14.27C16.97 14.17 16.81 14.11 16.56 14C16.31 13.86 15.09 13.26 14.87 13.18C14.64 13.1 14.5 13.06 14.31 13.3C14.15 13.55 13.67 14.11 13.53 14.27C13.38 14.44 13.24 14.46 13 14.34C12.74 14.21 11.94 13.95 11 13.11C10.26 12.45 9.77 11.64 9.62 11.39C9.5 11.15 9.61 11 9.73 10.89C9.84 10.78 10 10.6 10.1 10.45C10.23 10.31 10.27 10.2 10.35 10.04C10.43 9.87 10.39 9.73 10.33 9.61C10.27 9.5 9.77 8.26 9.56 7.77C9.36 7.29 9.16 7.35 9 7.34C8.86 7.34 8.7 7.33 8.53 7.33Z';\n static wordpressIcon = \"M3.42,12C3.42,10.76 3.69,9.58 4.16,8.5L8.26,19.72C5.39,18.33 3.42,15.4 3.42,12M17.79,11.57C17.79,12.3 17.5,13.15 17.14,14.34L16.28,17.2L13.18,8L14.16,7.9C14.63,7.84 14.57,7.16 14.11,7.19C14.11,7.19 12.72,7.3 11.82,7.3L9.56,7.19C9.1,7.16 9.05,7.87 9.5,7.9L10.41,8L11.75,11.64L9.87,17.27L6.74,8L7.73,7.9C8.19,7.84 8.13,7.16 7.67,7.19C7.67,7.19 6.28,7.3 5.38,7.3L4.83,7.29C6.37,4.96 9,3.42 12,3.42C14.23,3.42 16.27,4.28 17.79,5.67H17.68C16.84,5.67 16.24,6.4 16.24,7.19C16.24,7.9 16.65,8.5 17.08,9.2C17.41,9.77 17.79,10.5 17.79,11.57M12.15,12.75L14.79,19.97L14.85,20.09C13.96,20.41 13,20.58 12,20.58C11.16,20.58 10.35,20.46 9.58,20.23L12.15,12.75M19.53,7.88C20.2,9.11 20.58,10.5 20.58,12C20.58,15.16 18.86,17.93 16.31,19.41L18.93,11.84C19.42,10.62 19.59,9.64 19.59,8.77L19.53,7.88M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,21.54C17.26,21.54 21.54,17.26 21.54,12C21.54,6.74 17.26,2.46 12,2.46C6.74,2.46 2.46,6.74 2.46,12C2.46,17.26 6.74,21.54 12,21.54Z\";\n static skypeIcon = \"M18,6C20.07,8.04 20.85,10.89 20.36,13.55C20.77,14.27 21,15.11 21,16A5,5 0 0,1 16,21C15.11,21 14.27,20.77 13.55,20.36C10.89,20.85 8.04,20.07 6,18C3.93,15.96 3.15,13.11 3.64,10.45C3.23,9.73 3,8.89 3,8A5,5 0 0,1 8,3C8.89,3 9.73,3.23 10.45,3.64C13.11,3.15 15.96,3.93 18,6M12.04,17.16C14.91,17.16 16.34,15.78 16.34,13.92C16.34,12.73 15.78,11.46 13.61,10.97L11.62,10.53C10.86,10.36 10,10.13 10,9.42C10,8.7 10.6,8.2 11.7,8.2C13.93,8.2 13.72,9.73 14.83,9.73C15.41,9.73 15.91,9.39 15.91,8.8C15.91,7.43 13.72,6.4 11.86,6.4C9.85,6.4 7.7,7.26 7.7,9.54C7.7,10.64 8.09,11.81 10.25,12.35L12.94,13.03C13.75,13.23 13.95,13.68 13.95,14.1C13.95,14.78 13.27,15.45 12.04,15.45C9.63,15.45 9.96,13.6 8.67,13.6C8.09,13.6 7.67,14 7.67,14.57C7.67,15.68 9,17.16 12.04,17.16Z\"\n static emailIcon = 'M12,15C12.81,15 13.5,14.7 14.11,14.11C14.7,13.5 15,12.81 15,12C15,11.19 14.7,10.5 14.11,9.89C13.5,9.3 12.81,9 12,9C11.19,9 10.5,9.3 9.89,9.89C9.3,10.5 9,11.19 9,12C9,12.81 9.3,13.5 9.89,14.11C10.5,14.7 11.19,15 12,15M12,2C14.75,2 17.1,3 19.05,4.95C21,6.9 22,9.25 22,12V13.45C22,14.45 21.65,15.3 21,16C20.3,16.67 19.5,17 18.5,17C17.3,17 16.31,16.5 15.56,15.5C14.56,16.5 13.38,17 12,17C10.63,17 9.45,16.5 8.46,15.54C7.5,14.55 7,13.38 7,12C7,10.63 7.5,9.45 8.46,8.46C9.45,7.5 10.63,7 12,7C13.38,7 14.55,7.5 15.54,8.46C16.5,9.45 17,10.63 17,12V13.45C17,13.86 17.16,14.22 17.46,14.53C17.76,14.84 18.11,15 18.5,15C18.92,15 19.27,14.84 19.57,14.53C19.87,14.22 20,13.86 20,13.45V12C20,9.81 19.23,7.93 17.65,6.35C16.07,4.77 14.19,4 12,4C9.81,4 7.93,4.77 6.35,6.35C4.77,7.93 4,9.81 4,12C4,14.19 4.77,16.07 6.35,17.65C7.93,19.23 9.81,20 12,20H17V22H12C9.25,22 6.9,21 4.95,19.05C3,17.1 2,14.75 2,12C2,9.25 3,6.9 4.95,4.95C6.9,3 9.25,2 12,2Z'\n\n // Common icons\n static buymeacoffee = 'M20.216 6.415l-.132-.666c-.119-.598-.388-1.163-1.001-1.379-.197-.069-.42-.098-.57-.241-.152-.143-.196-.366-.231-.572-.065-.378-.125-.756-.192-1.133-.057-.325-.102-.69-.25-.987-.195-.4-.597-.634-.996-.788a5.723 5.723 0 00-.626-.194c-1-.263-2.05-.36-3.077-.416a25.834 25.834 0 00-3.7.062c-.915.083-1.88.184-2.75.5-.318.116-.646.256-.888.501-.297.302-.393.77-.177 1.146.154.267.415.456.692.58.36.162.737.284 1.123.366 1.075.238 2.189.331 3.287.37 1.218.05 2.437.01 3.65-.118.299-.033.598-.073.896-.119.352-.054.578-.513.474-.834-.124-.383-.457-.531-.834-.473-.466.074-.96.108-1.382.146-1.177.08-2.358.082-3.536.006a22.228 22.228 0 01-1.157-.107c-.086-.01-.18-.025-.258-.036-.243-.036-.484-.08-.724-.13-.111-.027-.111-.185 0-.212h.005c.277-.06.557-.108.838-.147h.002c.131-.009.263-.032.394-.048a25.076 25.076 0 013.426-.12c.674.019 1.347.067 2.017.144l.228.031c.267.04.533.088.798.145.392.085.895.113 1.07.542.055.137.08.288.111.431l.319 1.484a.237.237 0 01-.199.284h-.003c-.037.006-.075.01-.112.015a36.704 36.704 0 01-4.743.295 37.059 37.059 0 01-4.699-.304c-.14-.017-.293-.042-.417-.06-.326-.048-.649-.108-.973-.161-.393-.065-.768-.032-1.123.161-.29.16-.527.404-.675.701-.154.316-.199.66-.267 1-.069.34-.176.707-.135 1.056.087.753.613 1.365 1.37 1.502a39.69 39.69 0 0011.343.376.483.483 0 01.535.53l-.071.697-1.018 9.907c-.041.41-.047.832-.125 1.237-.122.637-.553 1.028-1.182 1.171-.577.131-1.165.2-1.756.205-.656.004-1.31-.025-1.966-.022-.699.004-1.556-.06-2.095-.58-.475-.458-.54-1.174-.605-1.793l-.731-7.013-.322-3.094c-.037-.351-.286-.695-.678-.678-.336.015-.718.3-.678.679l.228 2.185.949 9.112c.147 1.344 1.174 2.068 2.446 2.272.742.12 1.503.144 2.257.156.966.016 1.942.053 2.892-.122 1.408-.258 2.465-1.198 2.616-2.657.34-3.332.683-6.663 1.024-9.995l.215-2.087a.484.484 0 01.39-.426c.402-.078.787-.212 1.074-.518.455-.488.546-1.124.385-1.766zm-1.478.772c-.145.137-.363.201-.578.233-2.416.359-4.866.54-7.308.46-1.748-.06-3.477-.254-5.207-.498-.17-.024-.353-.055-.47-.18-.22-.236-.111-.71-.054-.995.052-.26.152-.609.463-.646.484-.057 1.046.148 1.526.22.577.088 1.156.159 1.737.212 2.48.226 5.002.19 7.472-.14.45-.06.899-.13 1.345-.21.399-.072.84-.206 1.08.206.166.281.188.657.162.974a.544.544 0 01-.169.364zm-6.159 3.9c-.862.37-1.84.788-3.109.788a5.884 5.884 0 01-1.569-.217l.877 9.004c.065.78.717 1.38 1.5 1.38 0 0 1.243.065 1.658.065.447 0 1.786-.065 1.786-.065.783 0 1.434-.6 1.499-1.38l.94-9.95a3.996 3.996 0 00-1.322-.238c-.826 0-1.491.284-2.26.613z'\n static linkIcon = 'M10.59,13.41C11,13.8 11,14.44 10.59,14.83C10.2,15.22 9.56,15.22 9.17,14.83C7.22,12.88 7.22,9.71 9.17,7.76V7.76L12.71,4.22C14.66,2.27 17.83,2.27 19.78,4.22C21.73,6.17 21.73,9.34 19.78,11.29L18.29,12.78C18.3,11.96 18.17,11.14 17.89,10.36L18.36,9.88C19.54,8.71 19.54,6.81 18.36,5.64C17.19,4.46 15.29,4.46 14.12,5.64L10.59,9.17C9.41,10.34 9.41,12.24 10.59,13.41M13.41,9.17C13.8,8.78 14.44,8.78 14.83,9.17C16.78,11.12 16.78,14.29 14.83,16.24V16.24L11.29,19.78C9.34,21.73 6.17,21.73 4.22,19.78C2.27,17.83 2.27,14.66 4.22,12.71L5.71,11.22C5.7,12.04 5.83,12.86 6.11,13.65L5.64,14.12C4.46,15.29 4.46,17.19 5.64,18.36C6.81,19.54 8.71,19.54 9.88,18.36L13.41,14.83C14.59,13.66 14.59,11.76 13.41,10.59C13,10.2 13,9.56 13.41,9.17Z'\n static close = 'M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z'\n static fork = 'M6,2A3,3 0 0,1 9,5C9,6.28 8.19,7.38 7.06,7.81C7.15,8.27 7.39,8.83 8,9.63C9,10.92 11,12.83 12,14.17C13,12.83 15,10.92 16,9.63C16.61,8.83 16.85,8.27 16.94,7.81C15.81,7.38 15,6.28 15,5A3,3 0 0,1 18,2A3,3 0 0,1 21,5C21,6.32 20.14,7.45 18.95,7.85C18.87,8.37 18.64,9 18,9.83C17,11.17 15,13.08 14,14.38C13.39,15.17 13.15,15.73 13.06,16.19C14.19,16.62 15,17.72 15,19A3,3 0 0,1 12,22A3,3 0 0,1 9,19C9,17.72 9.81,16.62 10.94,16.19C10.85,15.73 10.61,15.17 10,14.38C9,13.08 7,11.17 6,9.83C5.36,9 5.13,8.37 5.05,7.85C3.86,7.45 3,6.32 3,5A3,3 0 0,1 6,2M6,4A1,1 0 0,0 5,5A1,1 0 0,0 6,6A1,1 0 0,0 7,5A1,1 0 0,0 6,4M18,4A1,1 0 0,0 17,5A1,1 0 0,0 18,6A1,1 0 0,0 19,5A1,1 0 0,0 18,4M12,18A1,1 0 0,0 11,19A1,1 0 0,0 12,20A1,1 0 0,0 13,19A1,1 0 0,0 12,18Z'\n static menu = 'M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z'\n static star = 'M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z'\n static palette = \"M17.5,12A1.5,1.5 0 0,1 16,10.5A1.5,1.5 0 0,1 17.5,9A1.5,1.5 0 0,1 19,10.5A1.5,1.5 0 0,1 17.5,12M14.5,8A1.5,1.5 0 0,1 13,6.5A1.5,1.5 0 0,1 14.5,5A1.5,1.5 0 0,1 16,6.5A1.5,1.5 0 0,1 14.5,8M9.5,8A1.5,1.5 0 0,1 8,6.5A1.5,1.5 0 0,1 9.5,5A1.5,1.5 0 0,1 11,6.5A1.5,1.5 0 0,1 9.5,8M6.5,12A1.5,1.5 0 0,1 5,10.5A1.5,1.5 0 0,1 6.5,9A1.5,1.5 0 0,1 8,10.5A1.5,1.5 0 0,1 6.5,12M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A1.5,1.5 0 0,0 13.5,19.5C13.5,19.11 13.35,18.76 13.11,18.5C12.88,18.23 12.73,17.88 12.73,17.5A1.5,1.5 0 0,1 14.23,16H16A5,5 0 0,0 21,11C21,6.58 16.97,3 12,3Z\"\n\n // not used anymore\n static circle = 'M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z'\n}","export class LocalImages {\n static avatar = '/avatar.png'\n static avatar_with_laptop = \"/avatar2.png\"\n}\n\nexport class WebImages {\n static giftIcon = 'https://user-images.githubusercontent.com/6418354/155841091-9bdc3b05-fabd-4e58-a0fd-fe90b08275e4.png'\n static flutterIcon = 'https://www.vectorlogo.zone/logos/flutterio/flutterio-icon.svg'\n}","import { OurIcons } from \"./OurIcons\"\r\nimport { NavBottomLinksInterface, TitledListItemInterface } from \"./Interfaces\"\r\nimport { WebImages } from \"./Images\"\r\n\r\nexport class GlobalVars {\r\n\r\n //\r\n static primaryColor = \"#00C853\"\r\n static otherColors: Array = [\r\n '#D50000', '#C51162', '#AA00FF', '#6200EA', '#304FFE',\r\n '#2962FF', '#0091EA', '#00B8D4', '#00BFA5', '#00C853',\r\n '#64DD17', '#AEEA00', '#FFD600', '#FFAB00', '#FF6D00',\r\n '#DD2C00'\r\n ]\r\n\r\n //\r\n static myGithubUsername = \"p32929\"\r\n static myName = 'Fayaz Bin Salam'\r\n static myOccupation = 'Software Engineer'\r\n static myDetails = 'Hark! I am Fayaz Bin Salam, an artful craftsman of software, weaving together intricate webs of code for mobile, web, and desktop. To me, the machines of silicon and plastic are naught but hollow shells, until they hear and heed the whispers of my command. Since 2009, I have honed my skills in the arcane art of programming, penning my first lines of code in Batch and VBScript. Through the years, I have delved deeper into the mysteries of C, C++, Java, Python, and the like, working my magic with libraries and frameworks such as ReactJS and Angular2+. The beauty of my work lies not just in its function, but in its constant evolution and growth. Indeed, I strive to kindle the spark of progress in all that surrounds me, illuminating the way towards a brighter future.'\r\n static myLeftAvatarImage = null\r\n static myRightAvatarImage = null\r\n static helperTexts = \"We have a form available for you to write down any queries you may have, which will be sent directly to me. Would you like to view the form now?\"\r\n static helperFormLink = \"\"\r\n // static helperFormLink = \"https://forms.zohopublic.com/p32929/form/Queries/formperma/-Myh8tIzVwMWI0PlnIk6xAXgecVf9ZH_04CM_KKYG68\"\r\n\r\n static bottomLinks: Array = [\r\n {\r\n svgPath: OurIcons.whatsappIcon,\r\n link: 'https://api.whatsapp.com/send?phone=8801796306262'\r\n },\r\n {\r\n svgPath: OurIcons.emailIcon,\r\n link: 'mailto:p32929.ceo@gmail.com'\r\n },\r\n {\r\n svgPath: OurIcons.facebookIcon,\r\n link: 'https://facebook.com/p32929'\r\n }\r\n ]\r\n\r\n static skills: Array = [\r\n {\r\n text: \"Programming / Markup Languages\",\r\n arr: [\r\n {\r\n title: 'C',\r\n logo: 'https://seeklogo.com/images/C/c-logo-672525892C-seeklogo.com.png',\r\n },\r\n {\r\n title: 'C++',\r\n logo: 'https://seeklogo.com/images/C/c-logo-1B1817C041-seeklogo.com.png',\r\n },\r\n {\r\n title: 'Java',\r\n logo: 'https://www.vectorlogo.zone/logos/java/java-icon.svg',\r\n },\r\n {\r\n title: 'Python',\r\n logo: 'https://www.vectorlogo.zone/logos/python/python-icon.svg',\r\n },\r\n {\r\n title: 'JavaScript',\r\n logo: 'https://www.vectorlogo.zone/logos/javascript/javascript-icon.svg',\r\n },\r\n {\r\n title: 'Rust',\r\n logo: 'https://www.rust-lang.org/static/images/rust-logo-blk.svg',\r\n },\r\n {\r\n title: 'HTML',\r\n logo: 'https://www.vectorlogo.zone/logos/w3_html5/w3_html5-icon.svg',\r\n },\r\n {\r\n title: 'CSS',\r\n logo: 'https://seeklogo.com/images/C/css3-logo-F1923C8D0E-seeklogo.com.png',\r\n },\r\n {\r\n title: 'TypeScript',\r\n logo: 'https://www.vectorlogo.zone/logos/typescriptlang/typescriptlang-icon.svg',\r\n },\r\n {\r\n title: 'Kotlin',\r\n logo: 'https://www.vectorlogo.zone/logos/kotlinlang/kotlinlang-icon.svg',\r\n },\r\n {\r\n title: 'Dart',\r\n logo: 'https://www.vectorlogo.zone/logos/dartlang/dartlang-icon.svg',\r\n },\r\n ]\r\n },\r\n {\r\n text: \"Databases\",\r\n arr: [\r\n {\r\n title: 'MongoDB',\r\n logo: 'https://cdn.iconscout.com/icon/free/png-128/mongodb-3521676-2945120.png'\r\n },\r\n {\r\n title: 'SQL',\r\n logo: 'https://w7.pngwing.com/pngs/28/601/png-transparent-sql-logo-illustration-microsoft-azure-sql-database-microsoft-sql-server-database-blue-text-logo-thumbnail.png',\r\n },\r\n {\r\n title: \"DynamoDB\",\r\n logo: 'https://cdn.worldvectorlogo.com/logos/aws-dynamodb.svg'\r\n },\r\n ]\r\n },\r\n {\r\n text: \"UI Component Libraries\",\r\n arr: [\r\n {\r\n title: 'Ant Design',\r\n logo: 'https://gw.alipayobjects.com/zos/rmsportal/KDpgvguMpGfqaHPjicRK.svg'\r\n },\r\n {\r\n title: 'Material-UI',\r\n logo: 'https://mui.com/static/logo.png'\r\n },\r\n {\r\n title: 'Shadcn',\r\n logo: 'https://ui.shadcn.com/favicon.ico'\r\n },\r\n {\r\n title: 'Tailwind CSS',\r\n logo: 'https://upload.wikimedia.org/wikipedia/commons/thumb/d/d5/Tailwind_CSS_Logo.svg/512px-Tailwind_CSS_Logo.svg.png?20230715030042'\r\n },\r\n {\r\n title: 'Bootstrap',\r\n logo: 'https://upload.wikimedia.org/wikipedia/commons/thumb/b/b2/Bootstrap_logo.svg/512px-Bootstrap_logo.svg.png'\r\n },\r\n ]\r\n },\r\n {\r\n text: \"Libraries / Frameworks / Techs\",\r\n arr: [\r\n {\r\n title: 'Android App Development',\r\n logo: 'https://www.vectorlogo.zone/logos/android/android-icon.svg'\r\n },\r\n {\r\n title: 'NodeJS',\r\n logo: 'https://www.vectorlogo.zone/logos/nodejs/nodejs-icon.svg'\r\n },\r\n {\r\n title: 'ExpressJS',\r\n logo: 'https://www.vectorlogo.zone/logos/expressjs/expressjs-icon.svg'\r\n },\r\n {\r\n title: 'ReactJS',\r\n logo: 'https://www.vectorlogo.zone/logos/reactjs/reactjs-icon.svg'\r\n },\r\n {\r\n title: 'Redux',\r\n logo: 'https://w7.pngwing.com/pngs/669/447/png-transparent-redux-react-javascript-freecodecamp-npm-others-miscellaneous-purple-violet-thumbnail.png'\r\n },\r\n {\r\n title: 'React Native',\r\n logo: 'https://d33wubrfki0l68.cloudfront.net/554c3b0e09cf167f0281fda839a5433f2040b349/ecfc9/img/header_logo.svg'\r\n },\r\n {\r\n title: 'ElectronJS',\r\n logo: 'https://www.vectorlogo.zone/logos/electronjs/electronjs-icon.svg'\r\n },\r\n {\r\n title: 'Angular2+',\r\n logo: 'https://angular.io/assets/images/logos/angular/angular.svg'\r\n },\r\n {\r\n title: 'Mongoose',\r\n logo: 'https://avatars.githubusercontent.com/u/7552965?s=200&v=4'\r\n },\r\n {\r\n title: 'NextJS',\r\n logo: 'https://upload.wikimedia.org/wikipedia/commons/thumb/8/8e/Nextjs-logo.svg/207px-Nextjs-logo.svg.png'\r\n },\r\n {\r\n title: 'OpenCV',\r\n logo: 'https://www.vectorlogo.zone/logos/opencv/opencv-icon.svg'\r\n },\r\n {\r\n title: 'Firebase',\r\n logo: 'https://www.vectorlogo.zone/logos/firebase/firebase-icon.svg'\r\n },\r\n {\r\n title: 'Flutter',\r\n logo: 'https://www.vectorlogo.zone/logos/flutterio/flutterio-icon.svg'\r\n },\r\n {\r\n title: 'Beautiful soup',\r\n logo: 'https://github.com/3r4y/react-portfolio-template/assets/6418354/c9199eab-529b-4314-a990-c46deba899e9'\r\n },\r\n {\r\n title: 'Numpy',\r\n logo: 'https://numpy.org/images/logo.svg'\r\n },\r\n {\r\n title: 'Tauri',\r\n logo: 'https://raw.githubusercontent.com/tauri-apps/tauri/HEAD/app-icon.png'\r\n },\r\n {\r\n title: 'VueJS',\r\n logo: 'https://vuejs.org/images/logo.png'\r\n },\r\n {\r\n title: 'Pandas',\r\n logo: 'https://pandas.pydata.org/static/img/pandas.svg'\r\n },\r\n {\r\n title: 'Matplotlib',\r\n logo: 'https://matplotlib.org/3.1.0/_images/sphx_glr_logos2_001.png'\r\n },\r\n {\r\n title: 'Socket.io',\r\n logo: 'https://socket.io/images/logo.svg'\r\n },\r\n {\r\n title: 'Flask',\r\n logo: 'https://static.javatpoint.com/tutorial/flask/images/flask-tutorial.png'\r\n },\r\n {\r\n title: 'Docker',\r\n logo: 'https://cdn.iconscout.com/icon/free/png-128/docker-226091.png'\r\n },\r\n {\r\n title: 'Git',\r\n logo: 'https://www.vectorlogo.zone/logos/git-scm/git-scm-icon.svg'\r\n },\r\n {\r\n title: 'Expo',\r\n logo: 'https://www.vectorlogo.zone/logos/expoio/expoio-icon.svg'\r\n },\r\n {\r\n title: 'NgInx',\r\n logo: 'https://www.vectorlogo.zone/logos/nginx/nginx-icon.svg'\r\n },\r\n {\r\n title: 'NestJS',\r\n logo: 'https://d33wubrfki0l68.cloudfront.net/e937e774cbbe23635999615ad5d7732decad182a/26072/logo-small.ede75a6b.svg'\r\n },\r\n\r\n ]\r\n },\r\n {\r\n text: \"Others\",\r\n arr: [\r\n {\r\n title: 'Vim',\r\n logo: 'https://upload.wikimedia.org/wikipedia/commons/thumb/9/9f/Vimlogo.svg/544px-Vimlogo.svg.png?20150726190850'\r\n },\r\n {\r\n title: 'Android Studio',\r\n logo: 'https://upload.wikimedia.org/wikipedia/commons/thumb/9/95/Android_Studio_Icon_3.6.svg/512px-Android_Studio_Icon_3.6.svg.png?20210301045217'\r\n },\r\n {\r\n title: 'VS Code',\r\n logo: 'https://cdn.icon-icons.com/icons2/2107/PNG/512/file_type_vscode_icon_130084.png'\r\n },\r\n {\r\n title: 'Jira',\r\n logo: 'https://cdn.iconscout.com/icon/free/png-128/jira-3628861-3030001.png'\r\n },\r\n {\r\n title: 'AWS',\r\n logo: 'https://cdn.iconscout.com/icon/free/png-128/aws-1869025-1583149.png'\r\n },\r\n {\r\n title: 'DigitalOcean',\r\n logo: 'https://res.cloudinary.com/crunchbase-production/image/upload/c_lpad,h_170,w_170,f_auto,b_white,q_auto:eco,dpr_1/v1478792253/gnlwek2zwhq369yryrzv.jpg'\r\n },\r\n {\r\n title: 'Figma',\r\n logo: 'https://www.vectorlogo.zone/logos/figma/figma-icon.svg'\r\n },\r\n {\r\n title: 'Heroku',\r\n logo: 'https://www.vectorlogo.zone/logos/heroku/heroku-icon.svg'\r\n },\r\n {\r\n title: 'Yarn',\r\n logo: 'https://www.vectorlogo.zone/logos/yarnpkg/yarnpkg-icon.svg'\r\n },\r\n {\r\n title: 'npm',\r\n logo: 'https://www.vectorlogo.zone/logos/npmjs/npmjs-icon.svg'\r\n },\r\n {\r\n title: 'Tampermonkey',\r\n logo: 'https://lh3.googleusercontent.com/zoY8FwoOqPlBgFxcmFdNSK2Q4CcLmv-gw7vTjF2KMR9cEabwBsGNrHBTEMitn0Ba6OmCVJ0NcLnFGu3N97BP8Phu0g=w128-h128-e365-rj-sc0x00ffffff'\r\n },\r\n {\r\n title: 'Greasemonkey',\r\n logo: 'https://addons.mozilla.org/user-media/addon_icons/0/748-64.png?modified=1531822767'\r\n },\r\n {\r\n title: 'Linux',\r\n logo: 'https://www.freepnglogos.com/uploads/linux-png/file-icons-flat-linux-svg-wikimedia-commons-6.png'\r\n },\r\n {\r\n title: 'Adobe Photoshop',\r\n logo: 'https://www.adobe.com/content/dam/cc/icons/photoshop-mobile.svg'\r\n },\r\n ]\r\n },\r\n ]\r\n\r\n static works: Array = [\r\n {\r\n text: \"Web Apps\",\r\n arr: [\r\n {\r\n title: \"s3cr3tm3\",\r\n link: \"https://s3cr3tm3.netlify.app/\",\r\n logo: \"https://user-images.githubusercontent.com/6418354/173877444-59dbdd3d-1b5d-4b92-ad53-30fada9362d2.png\",\r\n desc: \"Share secret messages secretely\"\r\n },\r\n {\r\n title: \"FaNote\",\r\n link: \"https://fanote.netlify.app/\",\r\n logo: \"https://user-images.githubusercontent.com/6418354/173878148-81fc6b46-167d-4449-b2b2-de55d048c490.png\",\r\n desc: \"Offline notes for browsers\"\r\n },\r\n {\r\n title: \"dobd.xyz\",\r\n link: \"https://www.dobd.xyz/\",\r\n logo: \"https://www.dobd.xyz/android-chrome-512x512.png\",\r\n desc: \"Best online downloader for YouTube, Facebook, Instagram, Tiktok and more\"\r\n },\r\n {\r\n title: 'X - SendMoney2Me',\r\n logo: 'https://user-images.githubusercontent.com/6418354/173880188-ad66a5d1-9957-42d3-bc67-590da25c43eb.png',\r\n desc: 'Ways to send me money directly',\r\n link: 'https://p32929.github.io/SendMoney2Me/'\r\n },\r\n {\r\n title: 'Sha1ToMd5',\r\n logo: 'https://cdn.iconscout.com/icon/premium/png-128-thumb/encryption-code-1626962-1379033.png',\r\n desc: 'A simple utility tool to convert Google Play Release APK Sha1 value to MD5 for Facebook login to work.',\r\n link: 'https://p32929.github.io/Sha1ToMd5'\r\n },\r\n {\r\n title: 'Offer Bundle Checker',\r\n logo: 'https://cdn.iconscout.com/icon/free/png-128/layer-3307723-2747903.png',\r\n desc: 'Checks whether your bundle validity or the volume is ahead of you',\r\n link: 'https://p32929.github.io/bundle_checker/'\r\n },\r\n {\r\n title: 'StartPage',\r\n logo: 'https://cdn.iconscout.com/icon/premium/png-128-thumb/homepage-2580329-2151669.png',\r\n desc: 'A minimalistic custom browser startpage that can be configured to your needs. ',\r\n link: 'https://p32929.github.io/startpage/'\r\n },\r\n {\r\n title: 'OrderZesty',\r\n logo: 'https://orderzesty.com/wp-content/uploads/2021/10/Zesty-icon@3x-300x300.png',\r\n desc: 'Personal chef service delivering fresh signature meals.',\r\n link: 'https://orderzesty.com/'\r\n },\r\n {\r\n title: 'BadgeGen',\r\n logo: 'https://raw.githubusercontent.com/p32929/Badges/master/public/android-chrome-192x192.png',\r\n desc: 'A simple badge generator for your readme files',\r\n link: 'https://p32929.github.io/Badges/'\r\n },\r\n {\r\n title: 'DramaDB',\r\n logo: 'https://dramadb.vercel.app/apple-icon.png',\r\n desc: 'A serverless hobby project that lets you filter Asian drama by country, genre, status, year and popularity',\r\n link: 'https://dramadb.vercel.app/'\r\n },\r\n {\r\n title: 'Sh0Sh0',\r\n logo: 'https://github.com/3r4y/react-portfolio-template/assets/6418354/a159e1d8-fabc-4f58-9391-0c3be4d14d7e',\r\n desc: 'A beautifully created Absolutely FREE URL shortener for everyone made using React Shadcn Firebase. ',\r\n link: 'https://sh0sh0.netlify.app/'\r\n },\r\n {\r\n title: 'MidnightMart',\r\n logo: 'https://github.com/3r4y/react-portfolio-template/assets/6418354/6c85f00e-770d-4320-93ca-c878933c641c',\r\n desc: 'A simple website containing all my affiliate links',\r\n link: 'https://midnightmart.vercel.app/'\r\n },\r\n {\r\n title: \"TheRealWorldFree\",\r\n logo: \"https://www.therlworld.com/images/Group-427319400-1.webp\",\r\n desc: \"Enjoy the real world for free :)\",\r\n link: \"https://trwfree.vercel.app/\"\r\n }\r\n ]\r\n },\r\n {\r\n text: \"NDAs\",\r\n arr: [\r\n {\r\n title: \"BreakingMars\",\r\n logo: \"https://res.cloudinary.com/crunchbase-production/image/upload/c_lpad,h_170,w_170,f_auto,b_white,q_auto:eco,dpr_1/lg6nxfb2dttgtng5kobb\",\r\n desc: '#1 Leading & Effortless Prospect Perceiving Platform',\r\n },\r\n {\r\n title: \"Voomnow\",\r\n desc: \"Next generation audio recorder\",\r\n logo: \"https://user-images.githubusercontent.com/6418354/173876916-e27cb77f-49f1-4190-be54-4c1ddaa2973d.svg\"\r\n },\r\n {\r\n title: 'Shajao',\r\n logo: 'https://res.cloudinary.com/crunchbase-production/image/upload/c_lpad,h_170,w_170,f_auto,b_white,q_auto:eco,dpr_1/jyjetnzpv9knl6l7qxwz',\r\n desc: 'Framing Happiness',\r\n },\r\n {\r\n title: 'ChargeOnSite',\r\n logo: 'https://static.wixstatic.com/media/182a81_c4e4ee2bac6d4389a866239475519bdf~mv2.png/v1/fill/w_192%2Ch_192%2Clg_1%2Cusm_0.66_1.00_0.01/182a81_c4e4ee2bac6d4389a866239475519bdf~mv2.png',\r\n desc: 'Charge OnSite',\r\n },\r\n\r\n ]\r\n },\r\n {\r\n text: \"iOS Apps\",\r\n arr: [\r\n {\r\n title: \"Adblock for YT\",\r\n link: \"https://apps.apple.com/au/app/adblock-for-youtube/id1592568016\",\r\n logo: \"https://is2-ssl.mzstatic.com/image/thumb/Purple126/v4/65/7e/a8/657ea8d9-c3aa-6951-38c8-948c05cd96c3/AppIcon-0-0-85-220-0-0-0-0-4-0-0-0-2x-sRGB-0-0-0-0-0.png/246x0w.webp\",\r\n desc: \"Removes ads from YT videos, embedded videos on third party websites and streams.\"\r\n },\r\n {\r\n title: \"Al Quran by Quran Touch\",\r\n link: \"https://apps.apple.com/gb/app/al-quran-by-quran-touch/id585240351\",\r\n logo: \"https://is3-ssl.mzstatic.com/image/thumb/Purple112/v4/9d/7e/ed/9d7eedd6-e567-5251-bed6-dce7e868bb57/AppIcon-0-1x_U007emarketing-0-10-0-85-220.png/246x0w.webp\",\r\n desc: \"The most comprehensive Muslim App!\"\r\n },\r\n ]\r\n },\r\n {\r\n text: \"Android Apps\",\r\n arr: [\r\n {\r\n title: \"X - Al Quran by Quran Touch\",\r\n link: \"https://play.google.com/store/apps/details?id=com.qurantouch.qurantouch\",\r\n logo: \"https://is3-ssl.mzstatic.com/image/thumb/Purple112/v4/9d/7e/ed/9d7eedd6-e567-5251-bed6-dce7e868bb57/AppIcon-0-1x_U007emarketing-0-10-0-85-220.png/246x0w.webp\",\r\n desc: \"The most comprehensive Muslim App!\"\r\n },\r\n {\r\n title: 'X - Thamao',\r\n logo: 'https://cdn.apkmonk.com/logos/com.thamao_150x150.png',\r\n desc: 'বাংলাদেশে স্মার্টফোনের চুরি এবার অসম্ভব',\r\n },\r\n {\r\n title: 'X - Desplash',\r\n logo: 'https://lh3.googleusercontent.com/ILrto9KguXlr-clbhYKUonpnHszgNp_N5Qvc8_u9QaM71oaqNKcYql2sV3sqZ7nqzsc=s180',\r\n desc: 'Automatic Free High Quality Wallpapers powered by Unsplash.com',\r\n link: 'https://www.xda-developers.com/desplash-wallpaper-app-unsplash/'\r\n },\r\n {\r\n title: 'X - The Great Postman',\r\n logo: 'https://lh3.googleusercontent.com/ni-lk3b2nTMZyC7r1wYBW6cm9eYqGAN-t6fXV-kD0lSyw1lO3kenC1We71fZjSryvFII=s180',\r\n desc: 'Powerful, Lightweight REST API client for Android',\r\n link: 'https://apkpure.com/rest-api-client-the-great-postman/p32929.greatpostman'\r\n },\r\n {\r\n title: 'X - Sleepy - Addiction Remover',\r\n logo: 'https://user-images.githubusercontent.com/6418354/192146268-29e1bac2-e477-4010-ae03-96adecbf07e6.png',\r\n desc: 'The one and only EFFECTIVE addiction remover on Google Play store',\r\n link: 'https://github.com/p32929/my_android_apps/releases/tag/all'\r\n },\r\n {\r\n title: 'X - Best CGPA Calculator',\r\n logo: 'https://user-images.githubusercontent.com/6418354/192146303-6e04c9ac-ffb2-4931-bb10-ef54ff7af382.png',\r\n desc: 'A simple yet effective CGPA Calculator for University students',\r\n link: 'https://github.com/p32929/my_android_apps/releases/tag/all'\r\n },\r\n {\r\n title: 'X - Buy Sell BD',\r\n logo: 'https://image.winudf.com/v2/image1/cDMyOTI5LmJ1eXNlbGxiZF9pY29uXzE1NTkyOTQ5NjVfMDYz/icon.png?w=170&fakeurl=1',\r\n desc: 'A better & more reliable alternative for Bikroy.com - A marketplace app for buying-selling new/used goods',\r\n link: 'https://apkpure.com/p/p32929.buysellbd'\r\n },\r\n {\r\n title: 'X - ExIn',\r\n logo: 'https://lh3.googleusercontent.com/X8mRJd7JajvDXoW7NaluKt2IvC3osH6czkTPoWeSYJ96U2LWLKT4xiFgvNouwf-UvEk=s180',\r\n desc: 'A Simple & user friendly income-expense tracker ',\r\n },\r\n {\r\n title: 'X - ফিফা ওয়ার্ল্ডকাপ ২০১৮',\r\n logo: 'https://cdn-icons-png.flaticon.com/128/33/33736.png',\r\n desc: 'FIFA Worldcup 2018 All In One ',\r\n link: 'https://apkpure.com/%E0%A6%AB%E0%A6%BF%E0%A6%AB%E0%A6%BE-%E0%A6%93%E0%A7%9F%E0%A6%BE%E0%A6%B0%E0%A7%8D%E0%A6%B2%E0%A7%8D%E0%A6%A1%E0%A6%95%E0%A6%BE%E0%A6%AA-%E0%A7%A8%E0%A7%A6%E0%A7%A7%E0%A7%AE-live-tv-scores-more/p32929.worldcup2018'\r\n },\r\n {\r\n title: 'X - I am free',\r\n logo: 'https://image.winudf.com/v2/image1/cDMyOTI5LmltZnJlZV9pY29uXzE1NzY4ODAwNzVfMDU3/icon.png?w=170&fakeurl=1',\r\n desc: 'বেকার মুক্ত বাংলাদেশ গড়ার লক্ষ্যে - I am FREE',\r\n link: 'https://apkpure.com/i-am-free/p32929.imfree'\r\n },\r\n {\r\n title: 'X - Awesome NCTB',\r\n logo: 'https://image.winudf.com/v2/image1/b3JnLnJpY2hpdC5uY3RiX2ljb25fMTU3NjU3MjcwNF8wMjI/icon.png?fakeurl=1',\r\n desc: 'Download NCTB Books easily and Free',\r\n link: 'https://github.com/richinfotech/rich_android_apps/releases/tag/all'\r\n },\r\n {\r\n title: 'X - বৃক্ষ ( Brikkho )',\r\n logo: 'https://image.winudf.com/v2/image1/b3JnLnJpY2hpdC5icmlra2hvX2ljb25fMTU3MDEyMTU0Ml8wODA/icon.png?fakeurl=1',\r\n desc: 'Learn about trees in your fingertips',\r\n link: 'https://github.com/richinfotech/rich_android_apps/releases/tag/all'\r\n },\r\n {\r\n title: 'X - IQQuiz',\r\n logo: 'https://image.winudf.com/v2/image1/b3JnLnJpY2hpdC5pcXF1aXphcHBfaWNvbl8xNTcxMDE0NzcxXzA2Mg/icon.png?fakeurl=1',\r\n desc: 'A simple IQ game',\r\n link: 'https://github.com/richinfotech/rich_android_apps/releases/tag/all'\r\n },\r\n {\r\n title: 'X - BirdsLover',\r\n logo: 'https://image.winudf.com/v2/image1/b3JnLnJpY2hpdC5iaXJkc2xvdmVyX2ljb25fMTU3MjAwNDIxNl8wOTE/icon.png?fakeurl=1',\r\n desc: 'Learn about birds in your fingertips',\r\n link: 'https://github.com/richinfotech/rich_android_apps/releases/tag/all'\r\n },\r\n {\r\n title: 'X - Animal Lover',\r\n logo: 'https://image.winudf.com/v2/image1/b3JnLnJpY2hpdC5hbmltYWxfaWNvbl8xNTc3MjkyMzIzXzAyMw/icon.png?fakeurl=1',\r\n desc: 'Learn about birds in your fingertips',\r\n link: 'https://github.com/richinfotech/rich_android_apps/releases/tag/all'\r\n },\r\n {\r\n title: 'X - Jibanananda Recitation (Abritti)',\r\n logo: 'https://image.winudf.com/v2/image1/b3JnLnJpY2hpdC5qaWJvbmFuZG9rb2JpdGFzb21vZ3JvX2ljb25fMTU3MDEwNDExNF8wNDc/icon.png?fakeurl=1',\r\n desc: '50+ poems of Jibanananda Das with audio recitation',\r\n link: 'https://github.com/richinfotech/rich_android_apps/releases/tag/all'\r\n },\r\n {\r\n title: 'X - MyEyes',\r\n logo: WebImages.giftIcon,\r\n desc: 'Indoor Navigation App for Blind People',\r\n },\r\n {\r\n title: 'X - BirthdayBot',\r\n logo: WebImages.giftIcon,\r\n desc: 'Birthday wishing apps, made for individual people...',\r\n link: 'https://github.com/p32929/my_android_apps/releases/tag/all'\r\n },\r\n ]\r\n },\r\n {\r\n text: \"Desktop Apps\",\r\n arr: [\r\n {\r\n title: 'PotatoTimer',\r\n logo: 'https://raw.githubusercontent.com/p32929/PotatoTimer/master/resources/icon.ico',\r\n desc: 'A pomotodo app that forces you to take a break - created using ElectronJS',\r\n link: 'https://github.com/p32929/Electron-Pomotodo'\r\n },\r\n {\r\n title: 'X - Facebook Bot',\r\n logo: 'https://cdn-icons-png.flaticon.com/128/2504/2504903.png',\r\n desc: 'Automatically likes posts in facebook and also does relavent comments',\r\n },\r\n {\r\n title: 'X - Username Scraper',\r\n logo: 'https://cdn-icons-png.flaticon.com/128/1409/1409946.png',\r\n desc: 'Lists all the usernames commented in a post in instagram',\r\n },\r\n {\r\n title: 'FayPomotroid',\r\n logo: 'https://github.com/p32929/FayPomotroid/blob/master/build/icons/256x256.png?raw=true',\r\n desc: 'Electron based Desktop pomodoro app that forces you to take a break',\r\n link: 'https://github.com/p32929/FayPomotroid/'\r\n },\r\n {\r\n title: 'Pomota',\r\n logo: 'https://github.com/p32929/pomota/blob/master/src-tauri/icons/128x128.png?raw=true',\r\n desc: 'A simple user-friendly cross-platform tauri based pomodoro timer app that forces you to take a break',\r\n link: 'https://github.com/p32929/pomota'\r\n },\r\n ]\r\n },\r\n {\r\n text: \"Command Line Interfaces ( CLIs )\",\r\n arr: [\r\n {\r\n title: 'Shortcut-Virus-Remover',\r\n logo: 'https://cdn-icons-png.flaticon.com/128/3223/3223766.png',\r\n desc: 'Shortcut virus remover script for Windows',\r\n link: 'https://github.com/p32929/Shortcut-Virus-Remover'\r\n },\r\n {\r\n title: 'Fay',\r\n logo: 'https://crates.io/assets/cargo.png',\r\n desc: 'A simple cross platform CLI app written in Rust to automate multiple shell ( bash or cmd ) commands',\r\n link: 'https://crates.io/crates/fay'\r\n },\r\n {\r\n title: 'SIIN',\r\n logo: 'https://crates.io/assets/cargo.png',\r\n desc: 'A batch installer that downloads and installs a list of apps, written in Rust ( Kinda like Ninite )',\r\n link: 'https://crates.io/crates/siin'\r\n },\r\n\r\n ]\r\n },\r\n {\r\n text: \"Libraries / Packages / Crates\",\r\n arr: [\r\n {\r\n title: 'AndroidEasySQL-Library',\r\n logo: 'https://www.vectorlogo.zone/logos/android/android-icon.svg',\r\n desc: 'An Easier & Lazier approach to SQL database for Android',\r\n link: 'https://github.com/p32929/AndroidEasySQL-Library'\r\n },\r\n {\r\n title: 'X - FayazPermissions',\r\n logo: 'https://www.vectorlogo.zone/logos/android/android-icon.svg',\r\n desc: 'An Easier & Lazier approach to getting runtime permission in Android ',\r\n },\r\n {\r\n title: 'AndroidAppLockscreen',\r\n logo: 'https://www.vectorlogo.zone/logos/android/android-icon.svg',\r\n desc: 'An Easier & Lazier approach to getting runtime permission in Android ',\r\n link: 'https://github.com/p32929/AndroidAppLockscreen'\r\n },\r\n {\r\n title: 'ManufacturerBatteryOptimization',\r\n logo: 'https://www.vectorlogo.zone/logos/android/android-icon.svg',\r\n desc: 'Simple helper class for Android Battery Optimization ignoring in some devices',\r\n link: 'https://gist.github.com/p32929/41e7af650f6a2c11e9306ab600fb9b03'\r\n },\r\n {\r\n title: 'MyHouseAdsAndroid',\r\n logo: 'https://www.vectorlogo.zone/logos/android/android-icon.svg',\r\n desc: 'A library for cross promoting own apps within own apps - for Android',\r\n link: 'https://github.com/p32929/MyHouseAdsAndroid'\r\n },\r\n {\r\n title: 'HouseAds2',\r\n logo: 'https://www.vectorlogo.zone/logos/android/android-icon.svg',\r\n desc: 'A library ( V2 ) for cross promoting own apps within own apps - for Android',\r\n link: 'https://github.com/p32929/HouseAds2'\r\n },\r\n {\r\n title: 'AndroidAppUpdater',\r\n logo: 'https://www.vectorlogo.zone/logos/android/android-icon.svg',\r\n desc: 'A simple, Lightweight App Updater Library for Android',\r\n link: 'https://github.com/p32929/AndroidAppUpdater'\r\n },\r\n {\r\n title: 'OfficeAbout',\r\n logo: 'https://www.vectorlogo.zone/logos/android/android-icon.svg',\r\n desc: 'A simple about screen library for Android for a Team of people',\r\n link: 'https://github.com/p32929/OfficeAbout'\r\n },\r\n {\r\n title: 'JsonViewerAndroid',\r\n logo: 'https://www.vectorlogo.zone/logos/android/android-icon.svg',\r\n desc: 'A simple JSON Viewer for Android',\r\n },\r\n {\r\n title: 'Android-Receivers-Library',\r\n logo: 'https://www.vectorlogo.zone/logos/android/android-icon.svg',\r\n desc: 'A library for simpler BroadcastReceiver implementations',\r\n },\r\n {\r\n title: 'Fay',\r\n logo: 'https://crates.io/assets/cargo.png',\r\n desc: 'A simple cross platform CLI app written in Rust to automate multiple shell ( bash or cmd ) commands',\r\n link: 'https://crates.io/crates/fay'\r\n },\r\n {\r\n title: 'fayfetch',\r\n logo: 'https://avatars.githubusercontent.com/u/6078720?s=200&v=4',\r\n desc: 'A simple wrapper for Fetch',\r\n link: 'https://www.npmjs.com/package/fayfetch'\r\n },\r\n {\r\n title: 'fjsondb',\r\n logo: 'https://avatars.githubusercontent.com/u/6078720?s=200&v=4',\r\n desc: 'A fast and simple JSON database for NodeJS',\r\n link: 'https://www.npmjs.com/package/fjsondb'\r\n },\r\n {\r\n title: 'EasiestDB',\r\n logo: WebImages.flutterIcon,\r\n desc: 'The Easiest and the Laziest approach to Flutter SQL Database.',\r\n link: 'https://pub.dev/packages/easiestdb'\r\n },\r\n {\r\n title: \"Simply Wifi\",\r\n logo: WebImages.flutterIcon,\r\n desc: \"A simplified version of the wifi_iot package\",\r\n link: \"https://pub.dev/packages/simply_wifi\"\r\n }\r\n ]\r\n },\r\n {\r\n text: \"Extensions / Plugins / Addons\",\r\n arr: [\r\n {\r\n title: 'vscode-nvim-leave-insertmode',\r\n logo: 'https://code.visualstudio.com/assets/images/code-stable.png',\r\n desc: 'This basic VSCode extension ensures that neovim is in normal mode switching between text editor panels.',\r\n link: 'https://marketplace.visualstudio.com/items?itemName=p32929.vscode-nvim-leave-insertmode'\r\n }\r\n ]\r\n },\r\n ]\r\n\r\n static contacts: Array = [\r\n {\r\n text: \"Contact me\",\r\n arr: [\r\n {\r\n title: 'WhatsApp ( Recommended )',\r\n logo: 'https://user-images.githubusercontent.com/6418354/155842184-b064bf36-de8e-4317-8f8e-cb7755eed995.png',\r\n link: 'https://api.whatsapp.com/send?phone=8801796306262',\r\n desc: \"+8801796306262\"\r\n },\r\n {\r\n title: 'Facebook',\r\n logo: 'https://user-images.githubusercontent.com/6418354/155840898-9e2327aa-a280-45e3-8266-8268242abda4.png',\r\n link: 'https://www.facebook.com/p32929'\r\n },\r\n {\r\n title: 'Email',\r\n logo: 'https://cdn3d.iconscout.com/3d/premium/thumb/email-address-4437044-3684811.png',\r\n desc: 'p32929.ceo@gmail.com',\r\n link: 'mailto:p32929.ceo@gmail.com'\r\n },\r\n ]\r\n },\r\n {\r\n text: \"Others\",\r\n arr: [\r\n {\r\n title: 'Anywhere on the internet',\r\n logo: 'https://user-images.githubusercontent.com/6418354/155840900-91ac076a-8d2b-45dc-b346-66f72d376d4b.png',\r\n desc: \"@p32929\"\r\n },\r\n {\r\n title: 'GitHub',\r\n logo: 'https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png',\r\n link: 'https://github.com/p32929/'\r\n },\r\n {\r\n title: 'LinkedIn',\r\n logo: 'https://user-images.githubusercontent.com/6418354/155841027-8698cb12-7ddd-4604-a4ea-c618ddbc1cd8.png',\r\n link: 'https://www.linkedin.com/in/p32929/'\r\n },\r\n {\r\n title: 'Twitter',\r\n logo: 'https://user-images.githubusercontent.com/6418354/155841031-532d5d6e-797a-4da1-8064-48d266b69ab2.png',\r\n link: 'https://twitter.com/p32929'\r\n },\r\n {\r\n title: 'Instagram',\r\n logo: 'https://user-images.githubusercontent.com/6418354/155841023-0b842621-56a3-42ec-81f1-3944034b09c7.png',\r\n link: 'https://www.instagram.com/p32929/'\r\n },\r\n {\r\n title: 'Fiverr',\r\n logo: 'https://99designs-blog.imgix.net/blog/wp-content/uploads/2018/09/fiverr-2018.png?auto=format&q=60&fit=max&w=200',\r\n link: 'https://www.fiverr.com/users/fayazbinsalam/'\r\n },\r\n {\r\n title: \"Upwork\",\r\n logo: \"https://cdn.worldvectorlogo.com/logos/upwork.svg\",\r\n link: \"https://www.upwork.com/freelancers/~017dbf657b99b0c1c1\"\r\n },\r\n {\r\n title: \"Medium\",\r\n logo: \"https://seeklogo.com/images/M/medium-logo-93CDCF6451-seeklogo.com.png\",\r\n link: \"https://medium.com/@p32929_77176\"\r\n },\r\n {\r\n title: \"xda\",\r\n logo: \"https://www.svgrepo.com/show/331651/xda-developers.svg\",\r\n link: \"https://forum.xda-developers.com/m/p32929.5346826/\"\r\n },\r\n {\r\n title: \"Product Hunt\",\r\n logo: \"https://seeklogo.com/images/P/product-hunt-logo-A144953C4C-seeklogo.com.png?v=637846885100000000\",\r\n link: \"https://www.producthunt.com/@p32929\"\r\n },\r\n {\r\n title: \"UVA Online Judge\",\r\n logo: \"https://uhunt.onlinejudge.org/images/uva.png\",\r\n link: \"https://uhunt.onlinejudge.org/id/590978\"\r\n },\r\n {\r\n title: \"URI Online Judge\",\r\n logo: \"https://user-images.githubusercontent.com/26368939/110052090-be0a0b00-7d35-11eb-8827-993190a9568e.png\",\r\n link: \"https://www.beecrowd.com.br/judge/en/profile/76542\"\r\n },\r\n {\r\n title: \"Buy Me a Coffee\",\r\n logo: \"https://www.buymeacoffee.com/assets/img/guidelines/logo-mark-1.svg\",\r\n link: \"https://www.buymeacoffee.com/p32929\"\r\n },\r\n {\r\n title: 'Skype',\r\n logo: 'https://user-images.githubusercontent.com/6418354/155840899-62c1fe8e-66a6-4492-9acc-5bd504ac21ef.png',\r\n desc: 'p32929',\r\n link: 'skype:p32929?chat'\r\n },\r\n ]\r\n },\r\n {\r\n text: \"Thank you for visiting my portfolio\",\r\n arr: [\r\n {\r\n title: \"Click on the link button\",\r\n desc: 'To create your own portfolio. It will only take around 3 minutes',\r\n logo: WebImages.giftIcon,\r\n link: 'https://github.com/p32929/p32929.github.io/'\r\n }\r\n ]\r\n }\r\n ]\r\n}\r\n\r\n\r\n","import { GlobalVars } from \"../Others/GlobalVars\";\n\nexport interface State {\n primaryColor: string,\n isLeftShowing: boolean,\n isColorPickerDialogShowing: boolean,\n isHelperDialogShowing: boolean,\n isMenuClicked: boolean,\n}\n\nexport const state: State = {\n primaryColor: GlobalVars.primaryColor,\n isLeftShowing: true,\n isColorPickerDialogShowing: false,\n isHelperDialogShowing: false,\n isMenuClicked: false,\n}\n","import { Context } from './OvermindHelper'\n\n// export const increaseCounter = ({state}: Context, value: number) => {\n// state.counter += value;\n// }\n\nexport const setPrimaryColor = ({ state }: Context, value: string) => {\n state.primaryColor = value;\n}\n\nexport const showLeftPart = ({ state }: Context, value: boolean) => {\n state.isLeftShowing = value;\n}\n\nexport const showColorPickerDialog = ({ state }: Context, value: boolean) => {\n state.isColorPickerDialogShowing = value;\n}\n\nexport const showHelperDialog = ({ state }: Context, value: boolean) => {\n state.isHelperDialogShowing = value;\n}\n\nexport const setMenuClicked = ({ state }: Context, value: boolean) => {\n state.isMenuClicked = value;\n}\n\n","import {IContext} from 'overmind'\nimport {state} from './OvermindState'\nimport * as actions from './OvermindActions'\nimport {createActionsHook, createStateHook} from 'overmind-react'\n\nexport const config = {\n state,\n actions\n};\n\nexport type Context = IContext<{\n state: typeof config.state\n actions: typeof config.actions\n}>\n\n\nexport const useAppState = createStateHook()\nexport const useActions = createActionsHook()\n","import {createTheme} from '@material-ui/core/styles';\nimport {red} from '@material-ui/core/colors';\n\n// Create a theme instance.\nexport const theme = createTheme({\n palette: {\n primary: {\n main: '#556cd6',\n },\n secondary: {\n main: '#19857b',\n },\n error: {\n main: red.A400,\n },\n background: {\n default: '#fff',\n },\n action: {\n disabled: \"#212121\"\n }\n },\n overrides: {\n MuiAvatar: {\n img: {\n objectFit: 'contain',\n }\n }\n }\n});\n","import React from 'react'\nimport {makeStyles} from '@material-ui/core/styles';\nimport {Avatar, Grid, Theme, Typography} from \"@material-ui/core\";\nimport {useActions, useAppState} from '../../Overmind/OvermindHelper';\nimport {GlobalVars} from '../../Others/GlobalVars';\nimport {LocalImages} from '../../Others/Images';\n\ninterface Props {\n\n}\n\nconst getThemeObj = (theme: Theme) => {\n return {\n avatar: {\n height: 125,\n width: 125,\n },\n title: {\n color: \"#212121\",\n marginTop: 24,\n fontSize: 14,\n fontWeight: 600\n },\n subtitle: {\n fontSize: 12,\n color: \"#212121\",\n fontWeight: 600\n },\n }\n}\n\nconst useStyles = makeStyles((theme: Theme) => (getThemeObj(theme)))\n\nconst AvatarText: React.FC = (props) => {\n const {} = useActions()\n const {} = useAppState()\n\n const classes = useStyles();\n\n return \n \n {GlobalVars.myName.toUpperCase()}\n {GlobalVars.myOccupation}\n \n}\n\nexport default AvatarText;","import React from 'react'\nimport { makeStyles } from '@material-ui/core/styles';\nimport { Grid, Theme } from \"@material-ui/core\";\nimport { useActions, useAppState } from '../Overmind/OvermindHelper';\n\ninterface Props {\n size: number,\n path: string,\n styles?: any,\n}\n\nconst getThemeObj = (theme: Theme) => {\n return {}\n}\n\nconst useStyles = makeStyles((theme: Theme) => (getThemeObj(theme)))\n\nconst SvgHelper: React.FC = (props) => {\n const { } = useActions()\n const { primaryColor } = useAppState()\n\n const classes = useStyles();\n const { path, size, styles } = props\n\n return \n \n \n}\n\nexport default SvgHelper;","export class Constants {\r\n static routes: Array = [\r\n \"About\",\r\n \"Skills\",\r\n \"Works\",\r\n \"Contact\",\r\n ]\r\n}","import React from 'react'\nimport { makeStyles } from '@material-ui/core/styles';\nimport { Button, Divider, Grid, Hidden, IconButton, Theme } from \"@material-ui/core\";\nimport { useActions, useAppState } from '../../Overmind/OvermindHelper';\nimport { GlobalVars } from '../../Others/GlobalVars';\nimport { NavLink } from \"react-router-dom\";\nimport SvgHelper from '../../Helpers/SvgHelper';\nimport { OurIcons } from '../../Others/OurIcons';\nimport { useTheme } from \"@material-ui/core/styles\";\nimport useMediaQuery from \"@material-ui/core/useMediaQuery\";\nimport { Constants } from '../../Others/Constants';\n\ninterface Props {\n\n}\n\nconst getThemeObj = (theme: Theme) => {\n return {\n link: {\n marginLeft: 8,\n marginRight: 8,\n textDecoration: 'none'\n },\n divider: {\n height: 1,\n margin: 16,\n width: 90,\n alignSelf: 'center'\n },\n }\n}\n\nconst useStyles = makeStyles((theme: Theme) => (getThemeObj(theme)))\n\nconst NavigationLinks: React.FC = (props) => {\n const { showLeftPart } = useActions()\n const { primaryColor } = useAppState()\n const classes = useStyles();\n\n const theme = useTheme()\n const belowSm = useMediaQuery(theme.breakpoints.down('sm'))\n\n return \n\n {/* @ts-ignore */}\n \n {\n showLeftPart(false)\n }}>\n \n \n \n\n \n\n {\n Constants.routes.map((item, index) => {\n return {\n if (belowSm) {\n showLeftPart(false)\n }\n }}\n size='small'\n component={NavLink}\n to={item.toLowerCase()}\n >{item}\n\n })\n }\n\n \n\n \n}\n\nexport default NavigationLinks;","import React from 'react'\nimport { makeStyles } from '@material-ui/core/styles';\nimport { Grid, IconButton, Theme } from \"@material-ui/core\";\nimport { useActions, useAppState } from '../../Overmind/OvermindHelper';\nimport { GlobalVars } from '../../Others/GlobalVars';\nimport SvgHelper from '../../Helpers/SvgHelper';\n\ninterface Props {\n\n}\n\nconst getThemeObj = (theme: Theme) => {\n return {\n root: { paddingBottom: 8, width: '100%' },\n iconButton: { margin: 3 }\n }\n}\n\nconst useStyles = makeStyles((theme: Theme) => (getThemeObj(theme)))\n\nconst BottomNavigationLinks: React.FC = (props) => {\n const { } = useActions()\n const { } = useAppState()\n\n const classes = useStyles();\n\n return \n {\n GlobalVars.bottomLinks.map((item, index) => {\n return \n \n \n })\n }\n \n}\n\nexport default BottomNavigationLinks;","import React from 'react'\nimport { makeStyles } from '@material-ui/core/styles';\nimport { Theme, Grid, Paper } from \"@material-ui/core\";\nimport { useActions, useAppState } from '../Overmind/OvermindHelper';\nimport AvatarText from './Left/AvatarText';\nimport NavigationLinks from './Left/NavigationLinks';\nimport BottomNavigationLinks from './Left/BottomNavigationLinks';\n\ninterface Props {\n\n}\n\nconst getThemeObj = (theme: Theme) => {\n return {\n root: {\n height: '100%',\n width: '100%',\n margin: 0,\n padding: 0\n }\n }\n}\n\nconst useStyles = makeStyles((theme: Theme) => (getThemeObj(theme)))\n\nconst LeftPart: React.FC = (props) => {\n const { } = useActions()\n const { } = useAppState()\n\n const classes = useStyles();\n\n return \n \n \n \n \n \n \n \n \n}\n\nexport default LeftPart;","export class GlobalMethods {\n static getHeightWidthWeb = () => {\n console.debug(\"Web\");\n\n return {\n width: `calc(100% - 316px)`,\n height: `calc(100% - 168px)`\n }\n }\n\n static getHeightWidthMobile = () => {\n console.debug(\"Mobile\");\n\n return {\n width: `calc(100% - 48px)`,\n height: `calc(100% - 48px)`\n }\n }\n}","import React, { useState } from 'react'\nimport { makeStyles } from '@material-ui/core/styles';\nimport { Button, Divider, Grid, Hidden, IconButton, Theme } from \"@material-ui/core\";\nimport { useActions, useAppState } from '../../../Overmind/OvermindHelper';\nimport SvgHelper from '../../../Helpers/SvgHelper';\nimport { OurIcons } from '../../../Others/OurIcons';\nimport { useLocation } from \"react-router-dom\";\n\ninterface Props {\n\n}\n\nconst getThemeObj = (theme: Theme) => {\n return {\n root: {\n padding: 16\n },\n divider: {\n height: 1,\n marginTop: 8,\n [theme.breakpoints.down('sm')]: {\n width: 160\n },\n [theme.breakpoints.up('md')]: {\n width: 200\n },\n },\n currentRoute: {\n fontSize: 14,\n fontWeight: 600,\n cursor: 'none',\n }\n }\n}\n\nconst useStyles = makeStyles((theme: Theme) => (getThemeObj(theme)))\n\nconst RouteLocation: React.FC = (props) => {\n const { showLeftPart, setMenuClicked } = useActions()\n let location = useLocation();\n const { primaryColor, isMenuClicked } = useAppState()\n\n const classes = useStyles();\n\n return \n \n {/* @ts-ignore */}\n \n {\n showLeftPart(true)\n setMenuClicked(true)\n }}>\n
\n \n
\n
\n
\n \n
\n\n \n \n \n
\n\n}\n\nexport default RouteLocation;","import React from 'react'\nimport { makeStyles } from '@material-ui/core/styles';\nimport { Button, Divider, Grid, IconButton, Theme } from \"@material-ui/core\";\nimport { useActions, useAppState } from '../../../Overmind/OvermindHelper';\nimport SvgHelper from '../../../Helpers/SvgHelper';\nimport { OurIcons } from '../../../Others/OurIcons';\n\ninterface Props {\n\n}\n\nconst getThemeObj = (theme: Theme) => {\n return {\n iconButton: {\n padding: 8\n }\n }\n}\n\nconst useStyles = makeStyles((theme: Theme) => (getThemeObj(theme)))\n\nconst TopRightButtons: React.FC = (props) => {\n const { setPrimaryColor, showColorPickerDialog } = useActions()\n const { } = useAppState()\n\n const classes = useStyles();\n\n return \n {/*\n PLEASE, DON'T CHANGE THIS GITHUB URL.\n ( https://github.com/p32929/p32929.github.io/ )\n */}\n \n \n \n\n {/*\n YOU MAY USE THE SOURCE CODE HOWEVER YOU WANT, BUT PLEASE,\n KEEP THE GITHUB-ICON & the GITHUB-URL under the icon UNCHANGED,\n SO THAT OTHERS CAN ALSO BENIFIT FROM THE ORIGINAL REPOSITORY.\n THANKS... :)\n */}\n\n {\n showColorPickerDialog(true)\n }}>\n \n \n \n\n}\n\nexport default TopRightButtons;","import React from 'react'\nimport {makeStyles} from '@material-ui/core/styles';\nimport {Grid, Theme, Typography} from \"@material-ui/core\";\nimport {useActions, useAppState} from '../../Overmind/OvermindHelper';\nimport SvgHelper from '../../Helpers/SvgHelper';\nimport {OurIcons} from '../../Others/OurIcons';\n\ninterface Props {\n title: string,\n fontStyle?: any\n}\n\nconst getThemeObj = (theme: Theme) => {\n return {\n root: {\n marginLeft: 8,\n },\n text: {\n marginLeft: 8,\n marginRight: 8,\n fontSize: 12,\n fontWeight: 600,\n color: \"#757575\"\n }\n }\n}\n\nconst useStyles = makeStyles((theme: Theme) => (getThemeObj(theme)))\n\nconst ListTitle: React.FC = (props) => {\n const {} = useActions()\n const {} = useAppState()\n const {title, fontStyle} = props\n const classes = useStyles();\n\n return \n \n {title}\n \n\n}\n\nexport default ListTitle;","import React from 'react'\nimport { makeStyles } from '@material-ui/core/styles';\nimport { Avatar, Grid, IconButton, Paper, Theme, Typography } from \"@material-ui/core\";\nimport { useActions, useAppState } from '../../Overmind/OvermindHelper';\nimport { ListItemInterface } from '../../Others/Interfaces';\nimport SvgHelper from '../../Helpers/SvgHelper';\nimport { OurIcons } from '../../Others/OurIcons';\n\ninterface Props {\n item: ListItemInterface\n}\n\nconst getThemeObj = (theme: Theme) => {\n return {\n root: {\n padding: 2,\n },\n textContainer: {\n paddingTop: 16,\n paddingBottom: 16,\n overflow: 'hidden',\n alignSelf: 'center'\n },\n avatar: {\n margin: 16,\n },\n title: {\n color: \"#212121\",\n lineHeight: 1.25\n },\n desc: {\n color: \"#757575\",\n lineHeight: 1.25,\n overflow: 'hidden',\n }\n }\n}\n\nconst getLinkIcon = (url: string | undefined) => {\n if (url) {\n if (url.toString().includes('http') || url.toString().includes('skype:')) {\n return \n {\n setTimeout(() => {\n\n }, 500)\n }}\n target=\"_blank\"\n href={url}\n size='small'>\n \n \n \n }\n }\n}\n\ninterface LinkIconProps {\n url: string | undefined;\n}\n\nconst LinkIcon: React.FC = (props) => {\n const { showHelperDialog } = useActions()\n const { url } = props\n\n if (url) {\n if (url.toString().includes('http') || url.toString().includes('skype:')) {\n return \n {\n e.stopPropagation()\n // setTimeout(() => {\n // showHelperDialog(false)\n // }, 500)\n }}\n target=\"_blank\"\n href={url}\n size='small'>\n \n \n \n }\n }\n\n return <>\n}\n\nconst useStyles = makeStyles((theme: Theme) => (getThemeObj(theme)))\n\nconst OurListItem: React.FC = (props) => {\n const { showHelperDialog } = useActions()\n const { } = useAppState()\n\n const classes = useStyles();\n const { item } = props\n const { logo, title, desc, link } = item\n\n return \n {\n if (!link) {\n showHelperDialog(true)\n }\n }}>\n \n \n\n \n {title}\n {\n (desc || link) &&\n {desc || link}\n }\n \n\n \n\n \n \n \n\n}\n\nexport default OurListItem;","import React from 'react'\nimport { makeStyles } from '@material-ui/core/styles';\nimport { Button, Divider, Grid, Theme } from \"@material-ui/core\";\nimport { useActions, useAppState } from '../../Overmind/OvermindHelper';\nimport { TitledListItemInterface } from '../../Others/Interfaces';\nimport ListTitle from './ListTitle';\nimport OurListItem from './OurListItem';\n\ninterface Props {\n item: TitledListItemInterface\n}\n\nconst getThemeObj = (theme: Theme) => {\n return {\n root: {\n marginTop: 4,\n marginLeft: 8,\n marginBottom: 16,\n },\n itemRoot: {\n marginTop: 8\n }\n }\n}\n\nconst useStyles = makeStyles((theme: Theme) => (getThemeObj(theme)))\n\nconst ListItemWithIcon: React.FC = (props) => {\n const { } = useActions()\n const { } = useAppState()\n const { item } = props\n const { text, arr } = item\n\n const classes = useStyles();\n\n return \n \n \n {\n arr.sort((a, b) => a.title.localeCompare(b.title)).map((arrItem, index) => {\n return \n })\n }\n \n \n\n}\n\nexport default ListItemWithIcon;","import React, { useEffect, useState } from 'react'\nimport { makeStyles } from '@material-ui/core/styles';\nimport { Button, Divider, Grid, Theme } from \"@material-ui/core\";\nimport { useActions, useAppState } from '../../../Overmind/OvermindHelper';\nimport { GlobalVars } from '../../../Others/GlobalVars';\nimport ListItemWithIcon from '../../Items/ListItemWithIcon';\nimport { OurIcons } from \"../../../Others/OurIcons\";\nimport { WebImages } from \"../../../Others/Images\";\nimport { TitledListItemInterface } from \"../../../Others/Interfaces\";\n\ninterface Props {\n\n}\n\nconst getThemeObj = (theme: Theme) => {\n return {}\n}\n\ninterface GithubResp {\n name: string;\n html_url: string;\n description: string;\n}\n\nconst useStyles = makeStyles((theme: Theme) => (getThemeObj(theme)))\nvar newWOrkObj: TitledListItemInterface = {\n text: \"Others\",\n arr: []\n}\n\nconst WorksRoute: React.FC = (props) => {\n const { } = useActions()\n const { } = useAppState()\n const [works, setWorks] = useState>([])\n const classes = useStyles();\n\n const getGithubRepos = async () => {\n console.debug(`getGithubRepos`)\n const data = await fetch(`https://api.github.com/users/${GlobalVars.myGithubUsername}/repos?per_page=999`)\n const jsonFromFetch = await data.json()\n const json: Array = jsonFromFetch\n\n var newWorks: Array = [\n ...GlobalVars.works\n ]\n\n for (var i = 0; i < json.length; i++) {\n const obj = json[i]\n newWOrkObj?.arr?.push({\n title: obj.name,\n logo: WebImages.giftIcon,\n desc: obj.description,\n link: obj.html_url\n })\n }\n newWorks.push(newWOrkObj)\n setWorks(newWorks)\n }\n\n const getFetchedWorks = () => {\n console.debug(`getFetchedWorks`)\n var newWorks: Array = [\n ...GlobalVars.works\n ]\n newWorks.push(newWOrkObj)\n setWorks(newWorks)\n }\n\n useEffect(() => {\n if (GlobalVars.myGithubUsername) {\n if (newWOrkObj.arr.length === 0) {\n getGithubRepos()\n }\n else {\n getFetchedWorks()\n }\n }\n }, [])\n\n const getWorks = () => {\n if (works.length > 0) {\n return works\n } else {\n return GlobalVars.works\n }\n }\n\n return \n {\n getWorks().map((item, index) => {\n return \n })\n }\n \n\n}\n\nexport default WorksRoute;","import React from 'react'\nimport { makeStyles } from '@material-ui/core/styles';\nimport { Button, Divider, Grid, Theme } from \"@material-ui/core\";\nimport { useActions, useAppState } from '../../../Overmind/OvermindHelper';\nimport { GlobalVars } from '../../../Others/GlobalVars';\nimport ListItemWithIcon from '../../Items/ListItemWithIcon';\n\ninterface Props {\n\n}\n\nconst getThemeObj = (theme: Theme) => {\n return {}\n}\n\nconst useStyles = makeStyles((theme: Theme) => (getThemeObj(theme)))\n\nconst ContactRoute: React.FC = (props) => {\n const { } = useActions()\n const { } = useAppState()\n\n const classes = useStyles();\n\n return \n {\n GlobalVars.contacts.map((item, index) => {\n return \n })\n }\n \n\n}\n\nexport default ContactRoute;","import React from 'react'\nimport { makeStyles } from '@material-ui/core/styles';\nimport { Button, Divider, Grid, Theme } from \"@material-ui/core\";\nimport { useActions, useAppState } from '../../../Overmind/OvermindHelper';\nimport { GlobalVars } from '../../../Others/GlobalVars';\nimport ListItemWithIcon from '../../Items/ListItemWithIcon';\n\ninterface Props {\n\n}\n\nconst getThemeObj = (theme: Theme) => {\n return {}\n}\n\nconst useStyles = makeStyles((theme: Theme) => (getThemeObj(theme)))\n\nconst SkillsRoute: React.FC = (props) => {\n const { } = useActions()\n const { } = useAppState()\n\n const classes = useStyles();\n\n return \n {\n GlobalVars.skills.map((item, index) => {\n return \n })\n }\n \n\n}\n\nexport default SkillsRoute;","import React from 'react'\r\nimport {makeStyles, useTheme} from '@material-ui/core/styles';\r\nimport {Grid, Theme, Typography} from \"@material-ui/core\";\r\nimport {useActions, useAppState} from '../../../Overmind/OvermindHelper';\r\nimport {LocalImages} from '../../../Others/Images';\r\nimport useMediaQuery from \"@material-ui/core/useMediaQuery\";\r\nimport ListTitle from '../../Items/ListTitle';\r\nimport {GlobalVars} from '../../../Others/GlobalVars';\r\n\r\ninterface Props {\r\n\r\n}\r\n\r\nconst aboveSmAvatarSize = {height: '95%'}\r\nconst belowSmAvatarSize = {height: '75%'}\r\n\r\nconst getThemeObj = (theme: Theme) => {\r\n return {\r\n root: {\r\n padding: 8\r\n },\r\n text: {\r\n paddingLeft: 8,\r\n paddingBottom: 8,\r\n lineHeight: 1.3,\r\n fontWeight: 400,\r\n [theme.breakpoints.up('xl')]: {\r\n fontSize: 18,\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n fontSize: 14,\r\n },\r\n }\r\n }\r\n}\r\n\r\nconst useStyles = makeStyles((theme: Theme) => (getThemeObj(theme)))\r\n\r\nconst AboutRoute: React.FC = (props) => {\r\n const {} = useActions()\r\n const {} = useAppState()\r\n\r\n const classes = useStyles();\r\n\r\n const theme = useTheme()\r\n const belowSm = useMediaQuery(theme.breakpoints.down('sm'))\r\n\r\n return \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {GlobalVars.myDetails}\r\n \r\n \r\n\r\n \r\n\r\n}\r\n\r\nexport default AboutRoute;","import React, { useEffect, useState } from 'react'\nimport { makeStyles } from '@material-ui/core/styles';\nimport { Theme, Grid, useMediaQuery, useTheme } from \"@material-ui/core\";\nimport { useActions, useAppState } from '../Overmind/OvermindHelper';\nimport RouteLocation from './Right/Top/RouteLocation';\nimport TopRightButtons from './Right/Top/TopRightButtons';\nimport WorksRoute from './Right/Routes/WorksRoute';\nimport ContactRoute from './Right/Routes/ContactRoute';\nimport SkillsRoute from './Right/Routes/SkillsRoute';\nimport AboutRoute from './Right/Routes/AboutRoute';\nimport { GlobalVars } from '../Others/GlobalVars';\nimport {\n BrowserRouter as Router,\n Switch,\n Route,\n Link,\n useLocation\n} from \"react-router-dom\";\nimport { Constants } from '../Others/Constants';\n\ninterface Props {\n\n}\n\nconst getThemeObj = (theme: Theme) => {\n return {\n root: {\n padding: 16,\n },\n content: {\n paddingRight: 8,\n maxHeight: '100vh',\n maxWidth: '100%',\n }\n }\n}\n\nconst routes = [\n AboutRoute,\n SkillsRoute,\n WorksRoute,\n ContactRoute,\n]\n\nconst useStyles = makeStyles((theme: Theme) => (getThemeObj(theme)))\n\nconst RightPart: React.FC = (props) => {\n const { } = useActions()\n const { isLeftShowing } = useAppState()\n const classes = useStyles();\n const [contentHeight, setContentHeight] = useState(0)\n\n const theme = useTheme()\n const belowSm = useMediaQuery(theme.breakpoints.down('sm'))\n let location = useLocation();\n\n useEffect(() => {\n const rc = document.getElementById('container')\n const rt = document.getElementById('right-top')\n const rb = document.getElementById('right-bottom')\n\n if (rc && rt) {\n const height = rc?.offsetHeight - rt?.offsetHeight\n console.log(\"Height: \" + height);\n\n setContentHeight(height)\n }\n }, [isLeftShowing, belowSm])\n\n useEffect(() => {\n document?.getElementById('right-bottom')?.scroll(0, 0)\n }, [location])\n\n return \n \n \n \n \n \n \n {\n Constants.routes.map((item, index) => {\n return \n })\n }\n \n \n \n}\n\nexport default RightPart;","import React from 'react'\nimport { makeStyles } from '@material-ui/core/styles';\nimport { Button, Dialog, DialogContent, Divider, Grid, Theme } from \"@material-ui/core\";\nimport { useActions, useAppState } from '../../Overmind/OvermindHelper';\nimport { BlockPicker } from 'react-color'\nimport { GlobalVars } from '../../Others/GlobalVars';\n\ninterface Props {\n\n}\n\nconst getThemeObj = (theme: Theme) => {\n return {}\n}\n\nconst useStyles = makeStyles((theme: Theme) => (getThemeObj(theme)))\n\nconst ColorPickerDialog: React.FC = (props) => {\n const { setPrimaryColor, showColorPickerDialog } = useActions()\n const { primaryColor, isColorPickerDialogShowing } = useAppState()\n\n const classes = useStyles();\n\n return {\n showColorPickerDialog(false)\n }}>\n \n {\n setPrimaryColor(color.hex)\n showColorPickerDialog(false)\n }}\n colors={GlobalVars.otherColors}\n />\n \n \n}\n\nexport default ColorPickerDialog;","import React from 'react'\r\nimport { Button, Dialog, DialogActions, DialogContent, DialogTitle, Grid, makeStyles } from \"@material-ui/core\";\r\nimport { useActions, useAppState } from '../../Overmind/OvermindHelper';\r\nimport { GlobalVars } from '../../Others/GlobalVars';\r\n\r\ninterface Props {\r\n\r\n}\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n // Define your styles here\r\n}));\r\n\r\nconst HelperDialog: React.FC = (props) => {\r\n // Hooks\r\n const actions = useActions()\r\n const states = useAppState()\r\n const classes = useStyles();\r\n\r\n return (\r\n \r\n \r\n {GlobalVars.helperTexts}\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n )\r\n\r\n}\r\n\r\nexport default HelperDialog;","import React from 'react'\nimport { makeStyles } from '@material-ui/core/styles';\nimport { Theme, Grid, Paper } from \"@material-ui/core\";\nimport { useActions, useAppState } from './Overmind/OvermindHelper';\nimport LeftPart from './Components/LeftPart';\nimport { GlobalMethods } from './Others/GlobalMethods';\nimport RightPart from './Components/RightPart';\nimport { useTheme } from \"@material-ui/core/styles\";\nimport useMediaQuery from \"@material-ui/core/useMediaQuery\";\nimport { MemoryRouter, Route, Redirect } from 'react-router-dom';\nimport ColorPickerDialog from './Components/Dialogs/ColorPickerDialog';\nimport HelperDialog from './Components/Dialogs/HelperDialog';\n\ninterface Props {\n\n}\n\nconst getThemeObj = (theme: Theme) => {\n return {\n root: {\n height: '100vh',\n maxHeight: '100vh',\n },\n content: {\n height: '100%',\n width: '100%'\n },\n paper: {\n [theme.breakpoints.down('sm')]: GlobalMethods.getHeightWidthMobile(),\n [theme.breakpoints.up('md')]: GlobalMethods.getHeightWidthWeb(),\n }\n }\n}\n\nconst useStyles = makeStyles((theme: Theme) => (getThemeObj(theme)))\nvar hiddenLeftFirstTime = false\n\nconst App: React.FC = (props) => {\n const { showLeftPart } = useActions()\n const { primaryColor, isLeftShowing } = useAppState()\n const classes = useStyles();\n\n const theme = useTheme()\n const belowSm = useMediaQuery(theme.breakpoints.down('sm'))\n\n if (belowSm) {\n if (!hiddenLeftFirstTime) {\n setTimeout(() => {\n showLeftPart(false)\n hiddenLeftFirstTime = true\n }, 700)\n }\n }\n\n const getLeftPart = () => {\n if (belowSm) {\n if (isLeftShowing) {\n return \n }\n } else {\n return \n }\n }\n\n const getRightPart = () => {\n if (belowSm) {\n if (!isLeftShowing) {\n return \n }\n } else {\n return \n }\n }\n\n return \n \n \n \n \n \n \n {/* */}\n \n\n \n {\n getLeftPart()\n }\n\n {\n getRightPart()\n }\n \n \n \n \n}\n\nexport default App;","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport reportWebVitals from './reportWebVitals';\nimport { Provider } from \"overmind-react\";\nimport { ThemeProvider } from '@material-ui/core';\nimport { createOvermind } from 'overmind'\nimport { config } from './Overmind/OvermindHelper'\nimport { theme } from \"./Others/Theme\";\nimport App from './App';\nimport { GlobalVars } from './Others/GlobalVars';\n\nconst overmind = createOvermind(config)\n\nReactDOM.render(\n \n \n \n \n \n \n ,\n document.getElementById('root')\n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\ndocument.title = GlobalVars.myName;\n"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/main.b5cd1fe3.chunk.js.map b/static/js/main.b5cd1fe3.chunk.js.map deleted file mode 100644 index 11e530e..0000000 --- a/static/js/main.b5cd1fe3.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["reportWebVitals.ts","Others/OurIcons.ts","Others/Images.ts","Others/GlobalVars.ts","Overmind/OvermindState.ts","Overmind/OvermindActions.ts","Overmind/OvermindHelper.ts","Others/Theme.ts","Components/Left/AvatarText.tsx","Helpers/SvgHelper.tsx","Others/Constants.ts","Components/Left/NavigationLinks.tsx","Components/Left/BottomNavigationLinks.tsx","Components/LeftPart.tsx","Others/GlobalMethods.ts","Components/Right/Top/RouteLocation.tsx","Components/Right/Top/TopRightButtons.tsx","Components/Items/ListTitle.tsx","Components/Items/OurListItem.tsx","Components/Items/ListItemWithIcon.tsx","Components/Right/Routes/WorksRoute.tsx","Components/Right/Routes/ContactRoute.tsx","Components/Right/Routes/SkillsRoute.tsx","Components/Right/Routes/AboutRoute.tsx","Components/RightPart.tsx","Components/Dialogs/ColorPickerDialog.tsx","Components/Dialogs/HelperDialog.tsx","App.tsx","index.tsx"],"names":["reportWebVitals","onPerfEntry","Function","then","getCLS","getFID","getFCP","getLCP","getTTFB","OurIcons","githubIcon","facebookIcon","whatsappIcon","wordpressIcon","skypeIcon","emailIcon","buymeacoffee","linkIcon","close","fork","menu","star","palette","circle","LocalImages","avatar","avatar_with_laptop","WebImages","giftIcon","flutterIcon","GlobalVars","primaryColor","otherColors","myGithubUsername","myName","myOccupation","myDetails","myLeftAvatarImage","myRightAvatarImage","helperTexts","helperFormLink","bottomLinks","svgPath","link","skills","text","arr","title","logo","works","desc","contacts","state","isLeftShowing","isColorPickerDialogShowing","isHelperDialogShowing","isMenuClicked","setPrimaryColor","value","showLeftPart","showColorPickerDialog","showHelperDialog","setMenuClicked","config","actions","useAppState","createStateHook","useActions","createActionsHook","theme","createTheme","primary","main","secondary","error","red","A400","background","default","action","disabled","overrides","MuiAvatar","img","objectFit","useStyles","makeStyles","height","width","color","marginTop","fontSize","fontWeight","subtitle","AvatarText","props","classes","Grid","item","xs","container","direction","justifyContent","alignItems","Avatar","alt","src","className","Typography","toUpperCase","SvgHelper","path","size","styles","style","viewBox","fill","d","Constants","routes","marginLeft","marginRight","textDecoration","divider","margin","alignSelf","NavigationLinks","useTheme","belowSm","useMediaQuery","breakpoints","down","alignContent","Hidden","mdUp","IconButton","onClick","Divider","backgroundColor","orientation","flexItem","map","index","Button","activeStyle","component","NavLink","to","toLowerCase","root","paddingBottom","iconButton","BottomNavigationLinks","target","href","padding","LeftPart","sm","md","lg","xl","Paper","elevation","GlobalMethods","getHeightWidthWeb","console","debug","getHeightWidthMobile","up","currentRoute","cursor","getThemeObj","RouteLocation","location","useLocation","variant","pathname","replace","TopRightButtons","ListTitle","fontStyle","LinkIcon","url","toString","includes","paddingTop","e","stopPropagation","textContainer","overflow","lineHeight","OurListItem","marginBottom","itemRoot","ListItemWithIcon","sort","a","b","localeCompare","arrItem","newWOrkObj","WorksRoute","useState","setWorks","getGithubRepos","fetch","data","json","jsonFromFetch","newWorks","i","length","obj","push","name","description","html_url","useEffect","getFetchedWorks","ContactRoute","SkillsRoute","aboveSmAvatarSize","belowSmAvatarSize","paddingLeft","id","content","paddingRight","maxHeight","maxWidth","RightPart","contentHeight","setContentHeight","rc","document","getElementById","rt","offsetHeight","log","scroll","overflowY","overflowX","exact","ColorPickerDialog","Dialog","open","onClose","DialogContent","onChange","event","hex","colors","HelperDialog","states","DialogActions","window","focus","paper","hiddenLeftFirstTime","App","setTimeout","overmind","createOvermind","ReactDOM","render","StrictMode","ThemeProvider"],"mappings":"6cAceA,G,OAZS,SAACC,GACnBA,GAAeA,aAAuBC,UACxC,8BAAqBC,MAAK,YAAkD,IAA/CC,EAAM,EAANA,OAAQC,EAAM,EAANA,OAAQC,EAAM,EAANA,OAAQC,EAAM,EAANA,OAAQC,EAAO,EAAPA,QAC3DJ,EAAOH,GACPI,EAAOJ,GACPK,EAAOL,GACPM,EAAON,GACPO,EAAQP,EACV,GAEJ,G,yCCVaQ,EAAQ,iDAARA,EAEFC,WAAa,8uBAFXD,EAGFE,aAAe,gSAHbF,EAIFG,aAAe,0pCAJbH,EAKFI,cAAgB,09BALdJ,EAMFK,UAAY,8uBANVL,EAOFM,UAAY,m6BAPVN,EAUFO,aAAe,25EAVbP,EAWFQ,SAAW,+sBAXTR,EAYFS,MAAQ,2MAZNT,EAaFU,KAAO,iuBAbLV,EAcFW,KAAO,iDAdLX,EAeFY,KAAO,uGAfLZ,EAgBFa,QAAU,+iBAhBRb,EAmBFc,OAAS,+ECrBb,IAAMC,EAAW,iDAAXA,EACFC,OAAS,cADPD,EAEFE,mBAAqB,eAGzB,IAAMC,EAAS,iDAATA,EACFC,SAAW,uGADTD,EAEFE,YAAc,iECHlB,IAAMC,EAAU,iDAAVA,EAGFC,aAAe,UAHbD,EAIFE,YAA6B,CAChC,UAAW,UAAW,UAAW,UAAW,UAC5C,UAAW,UAAW,UAAW,UAAW,UAC5C,UAAW,UAAW,UAAW,UAAW,UAC5C,WARKF,EAYFG,iBAAmB,SAZjBH,EAaFI,OAAS,kBAbPJ,EAcFK,aAAe,oBAdbL,EAeFM,UAAY,wwBAfVN,EAgBFO,kBAAoB,KAhBlBP,EAiBFQ,mBAAqB,KAjBnBR,EAkBFS,YAAc,mJAlBZT,EAmBFU,eAAiB,GAnBfV,EAsBFW,YAA8C,CACjD,CACIC,QAASjC,EAASG,aAClB+B,KAAM,qDAEV,CACID,QAASjC,EAASM,UAClB4B,KAAM,+BAEV,CACID,QAASjC,EAASE,aAClBgC,KAAM,gCAjCLb,EAqCFc,OAAyC,CAC5C,CACIC,KAAM,iCACNC,IAAK,CACD,CACIC,MAAO,IACPC,KAAM,oEAEV,CACID,MAAO,MACPC,KAAM,oEAEV,CACID,MAAO,OACPC,KAAM,wDAEV,CACID,MAAO,SACPC,KAAM,4DAEV,CACID,MAAO,aACPC,KAAM,oEAEV,CACID,MAAO,OACPC,KAAM,6DAEV,CACID,MAAO,OACPC,KAAM,gEAEV,CACID,MAAO,MACPC,KAAM,uEAEV,CACID,MAAO,aACPC,KAAM,4EAEV,CACID,MAAO,SACPC,KAAM,oEAEV,CACID,MAAO,OACPC,KAAM,kEAIlB,CACIH,KAAM,YACNC,IAAK,CACD,CACIC,MAAO,UACPC,KAAM,2EAEV,CACID,MAAO,MACPC,KAAM,oKAEV,CACID,MAAO,WACPC,KAAM,4DAIlB,CACIH,KAAM,yBACNC,IAAK,CACD,CACIC,MAAO,aACPC,KAAM,uEAEV,CACID,MAAO,cACPC,KAAM,mCAEV,CACID,MAAO,SACPC,KAAM,qCAEV,CACID,MAAO,eACPC,KAAM,kIAEV,CACID,MAAO,YACPC,KAAM,+GAIlB,CACIH,KAAM,iCACNC,IAAK,CACD,CACIC,MAAO,0BACPC,KAAM,8DAEV,CACID,MAAO,SACPC,KAAM,4DAEV,CACID,MAAO,YACPC,KAAM,kEAEV,CACID,MAAO,UACPC,KAAM,8DAEV,CACID,MAAO,QACPC,KAAM,gJAEV,CACID,MAAO,eACPC,KAAM,4GAEV,CACID,MAAO,aACPC,KAAM,oEAEV,CACID,MAAO,YACPC,KAAM,8DAEV,CACID,MAAO,WACPC,KAAM,6DAEV,CACID,MAAO,SACPC,KAAM,uGAEV,CACID,MAAO,SACPC,KAAM,4DAEV,CACID,MAAO,WACPC,KAAM,gEAEV,CACID,MAAO,UACPC,KAAM,kEAEV,CACID,MAAO,iBACPC,KAAM,wGAEV,CACID,MAAO,QACPC,KAAM,qCAEV,CACID,MAAO,QACPC,KAAM,wEAEV,CACID,MAAO,QACPC,KAAM,qCAEV,CACID,MAAO,SACPC,KAAM,mDAEV,CACID,MAAO,aACPC,KAAM,gEAEV,CACID,MAAO,YACPC,KAAM,qCAEV,CACID,MAAO,QACPC,KAAM,0EAEV,CACID,MAAO,SACPC,KAAM,iEAEV,CACID,MAAO,MACPC,KAAM,8DAEV,CACID,MAAO,OACPC,KAAM,4DAEV,CACID,MAAO,QAC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","file":"static/js/main.b5cd1fe3.chunk.js","sourcesContent":["import { ReportHandler } from 'web-vitals';\n\nconst reportWebVitals = (onPerfEntry?: ReportHandler) => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","// These are all svg icon paths copied from https://materialdesignicons.com/\n\nexport class OurIcons {\n // websites\n static githubIcon = 'M12,2A10,10 0 0,0 2,12C2,16.42 4.87,20.17 8.84,21.5C9.34,21.58 9.5,21.27 9.5,21C9.5,20.77 9.5,20.14 9.5,19.31C6.73,19.91 6.14,17.97 6.14,17.97C5.68,16.81 5.03,16.5 5.03,16.5C4.12,15.88 5.1,15.9 5.1,15.9C6.1,15.97 6.63,16.93 6.63,16.93C7.5,18.45 8.97,18 9.54,17.76C9.63,17.11 9.89,16.67 10.17,16.42C7.95,16.17 5.62,15.31 5.62,11.5C5.62,10.39 6,9.5 6.65,8.79C6.55,8.54 6.2,7.5 6.75,6.15C6.75,6.15 7.59,5.88 9.5,7.17C10.29,6.95 11.15,6.84 12,6.84C12.85,6.84 13.71,6.95 14.5,7.17C16.41,5.88 17.25,6.15 17.25,6.15C17.8,7.5 17.45,8.54 17.35,8.79C18,9.5 18.38,10.39 18.38,11.5C18.38,15.32 16.04,16.16 13.81,16.41C14.17,16.72 14.5,17.33 14.5,18.26C14.5,19.6 14.5,20.68 14.5,21C14.5,21.27 14.66,21.59 15.17,21.5C19.14,20.16 22,16.42 22,12A10,10 0 0,0 12,2Z';\n static facebookIcon = 'M12 2.04C6.5 2.04 2 6.53 2 12.06C2 17.06 5.66 21.21 10.44 21.96V14.96H7.9V12.06H10.44V9.85C10.44 7.34 11.93 5.96 14.22 5.96C15.31 5.96 16.45 6.15 16.45 6.15V8.62H15.19C13.95 8.62 13.56 9.39 13.56 10.18V12.06H16.34L15.89 14.96H13.56V21.96A10 10 0 0 0 22 12.06C22 6.53 17.5 2.04 12 2.04Z';\n static whatsappIcon = 'M12.04 2C6.58 2 2.13 6.45 2.13 11.91C2.13 13.66 2.59 15.36 3.45 16.86L2.05 22L7.3 20.62C8.75 21.41 10.38 21.83 12.04 21.83C17.5 21.83 21.95 17.38 21.95 11.92C21.95 9.27 20.92 6.78 19.05 4.91C17.18 3.03 14.69 2 12.04 2M12.05 3.67C14.25 3.67 16.31 4.53 17.87 6.09C19.42 7.65 20.28 9.72 20.28 11.92C20.28 16.46 16.58 20.15 12.04 20.15C10.56 20.15 9.11 19.76 7.85 19L7.55 18.83L4.43 19.65L5.26 16.61L5.06 16.29C4.24 15 3.8 13.47 3.8 11.91C3.81 7.37 7.5 3.67 12.05 3.67M8.53 7.33C8.37 7.33 8.1 7.39 7.87 7.64C7.65 7.89 7 8.5 7 9.71C7 10.93 7.89 12.1 8 12.27C8.14 12.44 9.76 14.94 12.25 16C12.84 16.27 13.3 16.42 13.66 16.53C14.25 16.72 14.79 16.69 15.22 16.63C15.7 16.56 16.68 16.03 16.89 15.45C17.1 14.87 17.1 14.38 17.04 14.27C16.97 14.17 16.81 14.11 16.56 14C16.31 13.86 15.09 13.26 14.87 13.18C14.64 13.1 14.5 13.06 14.31 13.3C14.15 13.55 13.67 14.11 13.53 14.27C13.38 14.44 13.24 14.46 13 14.34C12.74 14.21 11.94 13.95 11 13.11C10.26 12.45 9.77 11.64 9.62 11.39C9.5 11.15 9.61 11 9.73 10.89C9.84 10.78 10 10.6 10.1 10.45C10.23 10.31 10.27 10.2 10.35 10.04C10.43 9.87 10.39 9.73 10.33 9.61C10.27 9.5 9.77 8.26 9.56 7.77C9.36 7.29 9.16 7.35 9 7.34C8.86 7.34 8.7 7.33 8.53 7.33Z';\n static wordpressIcon = \"M3.42,12C3.42,10.76 3.69,9.58 4.16,8.5L8.26,19.72C5.39,18.33 3.42,15.4 3.42,12M17.79,11.57C17.79,12.3 17.5,13.15 17.14,14.34L16.28,17.2L13.18,8L14.16,7.9C14.63,7.84 14.57,7.16 14.11,7.19C14.11,7.19 12.72,7.3 11.82,7.3L9.56,7.19C9.1,7.16 9.05,7.87 9.5,7.9L10.41,8L11.75,11.64L9.87,17.27L6.74,8L7.73,7.9C8.19,7.84 8.13,7.16 7.67,7.19C7.67,7.19 6.28,7.3 5.38,7.3L4.83,7.29C6.37,4.96 9,3.42 12,3.42C14.23,3.42 16.27,4.28 17.79,5.67H17.68C16.84,5.67 16.24,6.4 16.24,7.19C16.24,7.9 16.65,8.5 17.08,9.2C17.41,9.77 17.79,10.5 17.79,11.57M12.15,12.75L14.79,19.97L14.85,20.09C13.96,20.41 13,20.58 12,20.58C11.16,20.58 10.35,20.46 9.58,20.23L12.15,12.75M19.53,7.88C20.2,9.11 20.58,10.5 20.58,12C20.58,15.16 18.86,17.93 16.31,19.41L18.93,11.84C19.42,10.62 19.59,9.64 19.59,8.77L19.53,7.88M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,21.54C17.26,21.54 21.54,17.26 21.54,12C21.54,6.74 17.26,2.46 12,2.46C6.74,2.46 2.46,6.74 2.46,12C2.46,17.26 6.74,21.54 12,21.54Z\";\n static skypeIcon = \"M18,6C20.07,8.04 20.85,10.89 20.36,13.55C20.77,14.27 21,15.11 21,16A5,5 0 0,1 16,21C15.11,21 14.27,20.77 13.55,20.36C10.89,20.85 8.04,20.07 6,18C3.93,15.96 3.15,13.11 3.64,10.45C3.23,9.73 3,8.89 3,8A5,5 0 0,1 8,3C8.89,3 9.73,3.23 10.45,3.64C13.11,3.15 15.96,3.93 18,6M12.04,17.16C14.91,17.16 16.34,15.78 16.34,13.92C16.34,12.73 15.78,11.46 13.61,10.97L11.62,10.53C10.86,10.36 10,10.13 10,9.42C10,8.7 10.6,8.2 11.7,8.2C13.93,8.2 13.72,9.73 14.83,9.73C15.41,9.73 15.91,9.39 15.91,8.8C15.91,7.43 13.72,6.4 11.86,6.4C9.85,6.4 7.7,7.26 7.7,9.54C7.7,10.64 8.09,11.81 10.25,12.35L12.94,13.03C13.75,13.23 13.95,13.68 13.95,14.1C13.95,14.78 13.27,15.45 12.04,15.45C9.63,15.45 9.96,13.6 8.67,13.6C8.09,13.6 7.67,14 7.67,14.57C7.67,15.68 9,17.16 12.04,17.16Z\"\n static emailIcon = 'M12,15C12.81,15 13.5,14.7 14.11,14.11C14.7,13.5 15,12.81 15,12C15,11.19 14.7,10.5 14.11,9.89C13.5,9.3 12.81,9 12,9C11.19,9 10.5,9.3 9.89,9.89C9.3,10.5 9,11.19 9,12C9,12.81 9.3,13.5 9.89,14.11C10.5,14.7 11.19,15 12,15M12,2C14.75,2 17.1,3 19.05,4.95C21,6.9 22,9.25 22,12V13.45C22,14.45 21.65,15.3 21,16C20.3,16.67 19.5,17 18.5,17C17.3,17 16.31,16.5 15.56,15.5C14.56,16.5 13.38,17 12,17C10.63,17 9.45,16.5 8.46,15.54C7.5,14.55 7,13.38 7,12C7,10.63 7.5,9.45 8.46,8.46C9.45,7.5 10.63,7 12,7C13.38,7 14.55,7.5 15.54,8.46C16.5,9.45 17,10.63 17,12V13.45C17,13.86 17.16,14.22 17.46,14.53C17.76,14.84 18.11,15 18.5,15C18.92,15 19.27,14.84 19.57,14.53C19.87,14.22 20,13.86 20,13.45V12C20,9.81 19.23,7.93 17.65,6.35C16.07,4.77 14.19,4 12,4C9.81,4 7.93,4.77 6.35,6.35C4.77,7.93 4,9.81 4,12C4,14.19 4.77,16.07 6.35,17.65C7.93,19.23 9.81,20 12,20H17V22H12C9.25,22 6.9,21 4.95,19.05C3,17.1 2,14.75 2,12C2,9.25 3,6.9 4.95,4.95C6.9,3 9.25,2 12,2Z'\n\n // Common icons\n static buymeacoffee = 'M20.216 6.415l-.132-.666c-.119-.598-.388-1.163-1.001-1.379-.197-.069-.42-.098-.57-.241-.152-.143-.196-.366-.231-.572-.065-.378-.125-.756-.192-1.133-.057-.325-.102-.69-.25-.987-.195-.4-.597-.634-.996-.788a5.723 5.723 0 00-.626-.194c-1-.263-2.05-.36-3.077-.416a25.834 25.834 0 00-3.7.062c-.915.083-1.88.184-2.75.5-.318.116-.646.256-.888.501-.297.302-.393.77-.177 1.146.154.267.415.456.692.58.36.162.737.284 1.123.366 1.075.238 2.189.331 3.287.37 1.218.05 2.437.01 3.65-.118.299-.033.598-.073.896-.119.352-.054.578-.513.474-.834-.124-.383-.457-.531-.834-.473-.466.074-.96.108-1.382.146-1.177.08-2.358.082-3.536.006a22.228 22.228 0 01-1.157-.107c-.086-.01-.18-.025-.258-.036-.243-.036-.484-.08-.724-.13-.111-.027-.111-.185 0-.212h.005c.277-.06.557-.108.838-.147h.002c.131-.009.263-.032.394-.048a25.076 25.076 0 013.426-.12c.674.019 1.347.067 2.017.144l.228.031c.267.04.533.088.798.145.392.085.895.113 1.07.542.055.137.08.288.111.431l.319 1.484a.237.237 0 01-.199.284h-.003c-.037.006-.075.01-.112.015a36.704 36.704 0 01-4.743.295 37.059 37.059 0 01-4.699-.304c-.14-.017-.293-.042-.417-.06-.326-.048-.649-.108-.973-.161-.393-.065-.768-.032-1.123.161-.29.16-.527.404-.675.701-.154.316-.199.66-.267 1-.069.34-.176.707-.135 1.056.087.753.613 1.365 1.37 1.502a39.69 39.69 0 0011.343.376.483.483 0 01.535.53l-.071.697-1.018 9.907c-.041.41-.047.832-.125 1.237-.122.637-.553 1.028-1.182 1.171-.577.131-1.165.2-1.756.205-.656.004-1.31-.025-1.966-.022-.699.004-1.556-.06-2.095-.58-.475-.458-.54-1.174-.605-1.793l-.731-7.013-.322-3.094c-.037-.351-.286-.695-.678-.678-.336.015-.718.3-.678.679l.228 2.185.949 9.112c.147 1.344 1.174 2.068 2.446 2.272.742.12 1.503.144 2.257.156.966.016 1.942.053 2.892-.122 1.408-.258 2.465-1.198 2.616-2.657.34-3.332.683-6.663 1.024-9.995l.215-2.087a.484.484 0 01.39-.426c.402-.078.787-.212 1.074-.518.455-.488.546-1.124.385-1.766zm-1.478.772c-.145.137-.363.201-.578.233-2.416.359-4.866.54-7.308.46-1.748-.06-3.477-.254-5.207-.498-.17-.024-.353-.055-.47-.18-.22-.236-.111-.71-.054-.995.052-.26.152-.609.463-.646.484-.057 1.046.148 1.526.22.577.088 1.156.159 1.737.212 2.48.226 5.002.19 7.472-.14.45-.06.899-.13 1.345-.21.399-.072.84-.206 1.08.206.166.281.188.657.162.974a.544.544 0 01-.169.364zm-6.159 3.9c-.862.37-1.84.788-3.109.788a5.884 5.884 0 01-1.569-.217l.877 9.004c.065.78.717 1.38 1.5 1.38 0 0 1.243.065 1.658.065.447 0 1.786-.065 1.786-.065.783 0 1.434-.6 1.499-1.38l.94-9.95a3.996 3.996 0 00-1.322-.238c-.826 0-1.491.284-2.26.613z'\n static linkIcon = 'M10.59,13.41C11,13.8 11,14.44 10.59,14.83C10.2,15.22 9.56,15.22 9.17,14.83C7.22,12.88 7.22,9.71 9.17,7.76V7.76L12.71,4.22C14.66,2.27 17.83,2.27 19.78,4.22C21.73,6.17 21.73,9.34 19.78,11.29L18.29,12.78C18.3,11.96 18.17,11.14 17.89,10.36L18.36,9.88C19.54,8.71 19.54,6.81 18.36,5.64C17.19,4.46 15.29,4.46 14.12,5.64L10.59,9.17C9.41,10.34 9.41,12.24 10.59,13.41M13.41,9.17C13.8,8.78 14.44,8.78 14.83,9.17C16.78,11.12 16.78,14.29 14.83,16.24V16.24L11.29,19.78C9.34,21.73 6.17,21.73 4.22,19.78C2.27,17.83 2.27,14.66 4.22,12.71L5.71,11.22C5.7,12.04 5.83,12.86 6.11,13.65L5.64,14.12C4.46,15.29 4.46,17.19 5.64,18.36C6.81,19.54 8.71,19.54 9.88,18.36L13.41,14.83C14.59,13.66 14.59,11.76 13.41,10.59C13,10.2 13,9.56 13.41,9.17Z'\n static close = 'M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z'\n static fork = 'M6,2A3,3 0 0,1 9,5C9,6.28 8.19,7.38 7.06,7.81C7.15,8.27 7.39,8.83 8,9.63C9,10.92 11,12.83 12,14.17C13,12.83 15,10.92 16,9.63C16.61,8.83 16.85,8.27 16.94,7.81C15.81,7.38 15,6.28 15,5A3,3 0 0,1 18,2A3,3 0 0,1 21,5C21,6.32 20.14,7.45 18.95,7.85C18.87,8.37 18.64,9 18,9.83C17,11.17 15,13.08 14,14.38C13.39,15.17 13.15,15.73 13.06,16.19C14.19,16.62 15,17.72 15,19A3,3 0 0,1 12,22A3,3 0 0,1 9,19C9,17.72 9.81,16.62 10.94,16.19C10.85,15.73 10.61,15.17 10,14.38C9,13.08 7,11.17 6,9.83C5.36,9 5.13,8.37 5.05,7.85C3.86,7.45 3,6.32 3,5A3,3 0 0,1 6,2M6,4A1,1 0 0,0 5,5A1,1 0 0,0 6,6A1,1 0 0,0 7,5A1,1 0 0,0 6,4M18,4A1,1 0 0,0 17,5A1,1 0 0,0 18,6A1,1 0 0,0 19,5A1,1 0 0,0 18,4M12,18A1,1 0 0,0 11,19A1,1 0 0,0 12,20A1,1 0 0,0 13,19A1,1 0 0,0 12,18Z'\n static menu = 'M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z'\n static star = 'M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z'\n static palette = \"M17.5,12A1.5,1.5 0 0,1 16,10.5A1.5,1.5 0 0,1 17.5,9A1.5,1.5 0 0,1 19,10.5A1.5,1.5 0 0,1 17.5,12M14.5,8A1.5,1.5 0 0,1 13,6.5A1.5,1.5 0 0,1 14.5,5A1.5,1.5 0 0,1 16,6.5A1.5,1.5 0 0,1 14.5,8M9.5,8A1.5,1.5 0 0,1 8,6.5A1.5,1.5 0 0,1 9.5,5A1.5,1.5 0 0,1 11,6.5A1.5,1.5 0 0,1 9.5,8M6.5,12A1.5,1.5 0 0,1 5,10.5A1.5,1.5 0 0,1 6.5,9A1.5,1.5 0 0,1 8,10.5A1.5,1.5 0 0,1 6.5,12M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A1.5,1.5 0 0,0 13.5,19.5C13.5,19.11 13.35,18.76 13.11,18.5C12.88,18.23 12.73,17.88 12.73,17.5A1.5,1.5 0 0,1 14.23,16H16A5,5 0 0,0 21,11C21,6.58 16.97,3 12,3Z\"\n\n // not used anymore\n static circle = 'M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z'\n}","export class LocalImages {\n static avatar = '/avatar.png'\n static avatar_with_laptop = \"/avatar2.png\"\n}\n\nexport class WebImages {\n static giftIcon = 'https://user-images.githubusercontent.com/6418354/155841091-9bdc3b05-fabd-4e58-a0fd-fe90b08275e4.png'\n static flutterIcon = 'https://www.vectorlogo.zone/logos/flutterio/flutterio-icon.svg'\n}","import { OurIcons } from \"./OurIcons\"\r\nimport { NavBottomLinksInterface, TitledListItemInterface } from \"./Interfaces\"\r\nimport { WebImages } from \"./Images\"\r\n\r\nexport class GlobalVars {\r\n\r\n //\r\n static primaryColor = \"#00C853\"\r\n static otherColors: Array = [\r\n '#D50000', '#C51162', '#AA00FF', '#6200EA', '#304FFE',\r\n '#2962FF', '#0091EA', '#00B8D4', '#00BFA5', '#00C853',\r\n '#64DD17', '#AEEA00', '#FFD600', '#FFAB00', '#FF6D00',\r\n '#DD2C00'\r\n ]\r\n\r\n //\r\n static myGithubUsername = \"p32929\"\r\n static myName = 'Fayaz Bin Salam'\r\n static myOccupation = 'Software Engineer'\r\n static myDetails = 'Hark! I am Fayaz Bin Salam, an artful craftsman of software, weaving together intricate webs of code for mobile, web, and desktop. To me, the machines of silicon and plastic are naught but hollow shells, until they hear and heed the whispers of my command. Since 2009, I have honed my skills in the arcane art of programming, penning my first lines of code in Batch and VBScript. Through the years, I have delved deeper into the mysteries of C, C++, Java, Python, and the like, working my magic with libraries and frameworks such as ReactJS and Angular2+. The beauty of my work lies not just in its function, but in its constant evolution and growth. Indeed, I strive to kindle the spark of progress in all that surrounds me, illuminating the way towards a brighter future.'\r\n static myLeftAvatarImage = null\r\n static myRightAvatarImage = null\r\n static helperTexts = \"We have a form available for you to write down any queries you may have, which will be sent directly to me. Would you like to view the form now?\"\r\n static helperFormLink = \"\"\r\n // static helperFormLink = \"https://forms.zohopublic.com/p32929/form/Queries/formperma/-Myh8tIzVwMWI0PlnIk6xAXgecVf9ZH_04CM_KKYG68\"\r\n\r\n static bottomLinks: Array = [\r\n {\r\n svgPath: OurIcons.whatsappIcon,\r\n link: 'https://api.whatsapp.com/send?phone=8801796306262'\r\n },\r\n {\r\n svgPath: OurIcons.emailIcon,\r\n link: 'mailto:p32929.ceo@gmail.com'\r\n },\r\n {\r\n svgPath: OurIcons.facebookIcon,\r\n link: 'https://facebook.com/p32929'\r\n }\r\n ]\r\n\r\n static skills: Array = [\r\n {\r\n text: \"Programming / Markup Languages\",\r\n arr: [\r\n {\r\n title: 'C',\r\n logo: 'https://seeklogo.com/images/C/c-logo-672525892C-seeklogo.com.png',\r\n },\r\n {\r\n title: 'C++',\r\n logo: 'https://seeklogo.com/images/C/c-logo-1B1817C041-seeklogo.com.png',\r\n },\r\n {\r\n title: 'Java',\r\n logo: 'https://www.vectorlogo.zone/logos/java/java-icon.svg',\r\n },\r\n {\r\n title: 'Python',\r\n logo: 'https://www.vectorlogo.zone/logos/python/python-icon.svg',\r\n },\r\n {\r\n title: 'JavaScript',\r\n logo: 'https://www.vectorlogo.zone/logos/javascript/javascript-icon.svg',\r\n },\r\n {\r\n title: 'Rust',\r\n logo: 'https://www.rust-lang.org/static/images/rust-logo-blk.svg',\r\n },\r\n {\r\n title: 'HTML',\r\n logo: 'https://www.vectorlogo.zone/logos/w3_html5/w3_html5-icon.svg',\r\n },\r\n {\r\n title: 'CSS',\r\n logo: 'https://seeklogo.com/images/C/css3-logo-F1923C8D0E-seeklogo.com.png',\r\n },\r\n {\r\n title: 'TypeScript',\r\n logo: 'https://www.vectorlogo.zone/logos/typescriptlang/typescriptlang-icon.svg',\r\n },\r\n {\r\n title: 'Kotlin',\r\n logo: 'https://www.vectorlogo.zone/logos/kotlinlang/kotlinlang-icon.svg',\r\n },\r\n {\r\n title: 'Dart',\r\n logo: 'https://www.vectorlogo.zone/logos/dartlang/dartlang-icon.svg',\r\n },\r\n ]\r\n },\r\n {\r\n text: \"Databases\",\r\n arr: [\r\n {\r\n title: 'MongoDB',\r\n logo: 'https://cdn.iconscout.com/icon/free/png-128/mongodb-3521676-2945120.png'\r\n },\r\n {\r\n title: 'SQL',\r\n logo: 'https://w7.pngwing.com/pngs/28/601/png-transparent-sql-logo-illustration-microsoft-azure-sql-database-microsoft-sql-server-database-blue-text-logo-thumbnail.png',\r\n },\r\n {\r\n title: \"DynamoDB\",\r\n logo: 'https://cdn.worldvectorlogo.com/logos/aws-dynamodb.svg'\r\n },\r\n ]\r\n },\r\n {\r\n text: \"UI Component Libraries\",\r\n arr: [\r\n {\r\n title: 'Ant Design',\r\n logo: 'https://gw.alipayobjects.com/zos/rmsportal/KDpgvguMpGfqaHPjicRK.svg'\r\n },\r\n {\r\n title: 'Material-UI',\r\n logo: 'https://mui.com/static/logo.png'\r\n },\r\n {\r\n title: 'Shadcn',\r\n logo: 'https://ui.shadcn.com/favicon.ico'\r\n },\r\n {\r\n title: 'Tailwind CSS',\r\n logo: 'https://upload.wikimedia.org/wikipedia/commons/thumb/d/d5/Tailwind_CSS_Logo.svg/512px-Tailwind_CSS_Logo.svg.png?20230715030042'\r\n },\r\n {\r\n title: 'Bootstrap',\r\n logo: 'https://upload.wikimedia.org/wikipedia/commons/thumb/b/b2/Bootstrap_logo.svg/512px-Bootstrap_logo.svg.png'\r\n },\r\n ]\r\n },\r\n {\r\n text: \"Libraries / Frameworks / Techs\",\r\n arr: [\r\n {\r\n title: 'Android App Development',\r\n logo: 'https://www.vectorlogo.zone/logos/android/android-icon.svg'\r\n },\r\n {\r\n title: 'NodeJS',\r\n logo: 'https://www.vectorlogo.zone/logos/nodejs/nodejs-icon.svg'\r\n },\r\n {\r\n title: 'ExpressJS',\r\n logo: 'https://www.vectorlogo.zone/logos/expressjs/expressjs-icon.svg'\r\n },\r\n {\r\n title: 'ReactJS',\r\n logo: 'https://www.vectorlogo.zone/logos/reactjs/reactjs-icon.svg'\r\n },\r\n {\r\n title: 'Redux',\r\n logo: 'https://w7.pngwing.com/pngs/669/447/png-transparent-redux-react-javascript-freecodecamp-npm-others-miscellaneous-purple-violet-thumbnail.png'\r\n },\r\n {\r\n title: 'React Native',\r\n logo: 'https://d33wubrfki0l68.cloudfront.net/554c3b0e09cf167f0281fda839a5433f2040b349/ecfc9/img/header_logo.svg'\r\n },\r\n {\r\n title: 'ElectronJS',\r\n logo: 'https://www.vectorlogo.zone/logos/electronjs/electronjs-icon.svg'\r\n },\r\n {\r\n title: 'Angular2+',\r\n logo: 'https://angular.io/assets/images/logos/angular/angular.svg'\r\n },\r\n {\r\n title: 'Mongoose',\r\n logo: 'https://avatars.githubusercontent.com/u/7552965?s=200&v=4'\r\n },\r\n {\r\n title: 'NextJS',\r\n logo: 'https://upload.wikimedia.org/wikipedia/commons/thumb/8/8e/Nextjs-logo.svg/207px-Nextjs-logo.svg.png'\r\n },\r\n {\r\n title: 'OpenCV',\r\n logo: 'https://www.vectorlogo.zone/logos/opencv/opencv-icon.svg'\r\n },\r\n {\r\n title: 'Firebase',\r\n logo: 'https://www.vectorlogo.zone/logos/firebase/firebase-icon.svg'\r\n },\r\n {\r\n title: 'Flutter',\r\n logo: 'https://www.vectorlogo.zone/logos/flutterio/flutterio-icon.svg'\r\n },\r\n {\r\n title: 'Beautiful soup',\r\n logo: 'https://github.com/3r4y/react-portfolio-template/assets/6418354/c9199eab-529b-4314-a990-c46deba899e9'\r\n },\r\n {\r\n title: 'Numpy',\r\n logo: 'https://numpy.org/images/logo.svg'\r\n },\r\n {\r\n title: 'Tauri',\r\n logo: 'https://raw.githubusercontent.com/tauri-apps/tauri/HEAD/app-icon.png'\r\n },\r\n {\r\n title: 'VueJS',\r\n logo: 'https://vuejs.org/images/logo.png'\r\n },\r\n {\r\n title: 'Pandas',\r\n logo: 'https://pandas.pydata.org/static/img/pandas.svg'\r\n },\r\n {\r\n title: 'Matplotlib',\r\n logo: 'https://matplotlib.org/3.1.0/_images/sphx_glr_logos2_001.png'\r\n },\r\n {\r\n title: 'Socket.io',\r\n logo: 'https://socket.io/images/logo.svg'\r\n },\r\n {\r\n title: 'Flask',\r\n logo: 'https://static.javatpoint.com/tutorial/flask/images/flask-tutorial.png'\r\n },\r\n {\r\n title: 'Docker',\r\n logo: 'https://cdn.iconscout.com/icon/free/png-128/docker-226091.png'\r\n },\r\n {\r\n title: 'Git',\r\n logo: 'https://www.vectorlogo.zone/logos/git-scm/git-scm-icon.svg'\r\n },\r\n {\r\n title: 'Expo',\r\n logo: 'https://www.vectorlogo.zone/logos/expoio/expoio-icon.svg'\r\n },\r\n {\r\n title: 'NgInx',\r\n logo: 'https://www.vectorlogo.zone/logos/nginx/nginx-icon.svg'\r\n },\r\n {\r\n title: 'NestJS',\r\n logo: 'https://d33wubrfki0l68.cloudfront.net/e937e774cbbe23635999615ad5d7732decad182a/26072/logo-small.ede75a6b.svg'\r\n },\r\n\r\n ]\r\n },\r\n {\r\n text: \"Others\",\r\n arr: [\r\n {\r\n title: 'Vim',\r\n logo: 'https://upload.wikimedia.org/wikipedia/commons/thumb/9/9f/Vimlogo.svg/544px-Vimlogo.svg.png?20150726190850'\r\n },\r\n {\r\n title: 'Android Studio',\r\n logo: 'https://upload.wikimedia.org/wikipedia/commons/thumb/9/95/Android_Studio_Icon_3.6.svg/512px-Android_Studio_Icon_3.6.svg.png?20210301045217'\r\n },\r\n {\r\n title: 'VS Code',\r\n logo: 'https://cdn.icon-icons.com/icons2/2107/PNG/512/file_type_vscode_icon_130084.png'\r\n },\r\n {\r\n title: 'Jira',\r\n logo: 'https://cdn.iconscout.com/icon/free/png-128/jira-3628861-3030001.png'\r\n },\r\n {\r\n title: 'AWS',\r\n logo: 'https://cdn.iconscout.com/icon/free/png-128/aws-1869025-1583149.png'\r\n },\r\n {\r\n title: 'DigitalOcean',\r\n logo: 'https://res.cloudinary.com/crunchbase-production/image/upload/c_lpad,h_170,w_170,f_auto,b_white,q_auto:eco,dpr_1/v1478792253/gnlwek2zwhq369yryrzv.jpg'\r\n },\r\n {\r\n title: 'Figma',\r\n logo: 'https://www.vectorlogo.zone/logos/figma/figma-icon.svg'\r\n },\r\n {\r\n title: 'Heroku',\r\n logo: 'https://www.vectorlogo.zone/logos/heroku/heroku-icon.svg'\r\n },\r\n {\r\n title: 'Yarn',\r\n logo: 'https://www.vectorlogo.zone/logos/yarnpkg/yarnpkg-icon.svg'\r\n },\r\n {\r\n title: 'npm',\r\n logo: 'https://www.vectorlogo.zone/logos/npmjs/npmjs-icon.svg'\r\n },\r\n {\r\n title: 'Tampermonkey',\r\n logo: 'https://lh3.googleusercontent.com/zoY8FwoOqPlBgFxcmFdNSK2Q4CcLmv-gw7vTjF2KMR9cEabwBsGNrHBTEMitn0Ba6OmCVJ0NcLnFGu3N97BP8Phu0g=w128-h128-e365-rj-sc0x00ffffff'\r\n },\r\n {\r\n title: 'Greasemonkey',\r\n logo: 'https://addons.mozilla.org/user-media/addon_icons/0/748-64.png?modified=1531822767'\r\n },\r\n {\r\n title: 'Linux',\r\n logo: 'https://www.freepnglogos.com/uploads/linux-png/file-icons-flat-linux-svg-wikimedia-commons-6.png'\r\n },\r\n {\r\n title: 'Adobe Photoshop',\r\n logo: 'https://www.adobe.com/content/dam/cc/icons/photoshop-mobile.svg'\r\n },\r\n ]\r\n },\r\n ]\r\n\r\n static works: Array = [\r\n {\r\n text: \"Web Apps\",\r\n arr: [\r\n {\r\n title: \"s3cr3tm3\",\r\n link: \"https://s3cr3tm3.netlify.app/\",\r\n logo: \"https://user-images.githubusercontent.com/6418354/173877444-59dbdd3d-1b5d-4b92-ad53-30fada9362d2.png\",\r\n desc: \"Share secret messages secretely\"\r\n },\r\n {\r\n title: \"FaNote\",\r\n link: \"https://fanote.netlify.app/\",\r\n logo: \"https://user-images.githubusercontent.com/6418354/173878148-81fc6b46-167d-4449-b2b2-de55d048c490.png\",\r\n desc: \"Offline notes for browsers\"\r\n },\r\n {\r\n title: \"dobd.xyz\",\r\n link: \"https://www.dobd.xyz/\",\r\n logo: \"https://www.dobd.xyz/android-chrome-512x512.png\",\r\n desc: \"Best online downloader for YouTube, Facebook, Instagram, Tiktok and more\"\r\n },\r\n {\r\n title: 'X - SendMoney2Me',\r\n logo: 'https://user-images.githubusercontent.com/6418354/173880188-ad66a5d1-9957-42d3-bc67-590da25c43eb.png',\r\n desc: 'Ways to send me money directly',\r\n link: 'https://p32929.github.io/SendMoney2Me/'\r\n },\r\n {\r\n title: 'Sha1ToMd5',\r\n logo: 'https://cdn.iconscout.com/icon/premium/png-128-thumb/encryption-code-1626962-1379033.png',\r\n desc: 'A simple utility tool to convert Google Play Release APK Sha1 value to MD5 for Facebook login to work.',\r\n link: 'https://p32929.github.io/Sha1ToMd5'\r\n },\r\n {\r\n title: 'Offer Bundle Checker',\r\n logo: 'https://cdn.iconscout.com/icon/free/png-128/layer-3307723-2747903.png',\r\n desc: 'Checks whether your bundle validity or the volume is ahead of you',\r\n link: 'https://p32929.github.io/bundle_checker/'\r\n },\r\n {\r\n title: 'StartPage',\r\n logo: 'https://cdn.iconscout.com/icon/premium/png-128-thumb/homepage-2580329-2151669.png',\r\n desc: 'A minimalistic custom browser startpage that can be configured to your needs. ',\r\n link: 'https://p32929.github.io/startpage/'\r\n },\r\n {\r\n title: 'OrderZesty',\r\n logo: 'https://orderzesty.com/wp-content/uploads/2021/10/Zesty-icon@3x-300x300.png',\r\n desc: 'Personal chef service delivering fresh signature meals.',\r\n link: 'https://orderzesty.com/'\r\n },\r\n {\r\n title: 'BadgeGen',\r\n logo: 'https://raw.githubusercontent.com/p32929/Badges/master/public/android-chrome-192x192.png',\r\n desc: 'A simple badge generator for your readme files',\r\n link: 'https://p32929.github.io/Badges/'\r\n },\r\n {\r\n title: 'DramaDB',\r\n logo: 'https://dramadb.vercel.app/apple-icon.png',\r\n desc: 'A serverless hobby project that lets you filter Asian drama by country, genre, status, year and popularity',\r\n link: 'https://dramadb.vercel.app/'\r\n },\r\n {\r\n title: 'Sh0Sh0',\r\n logo: 'https://github.com/3r4y/react-portfolio-template/assets/6418354/a159e1d8-fabc-4f58-9391-0c3be4d14d7e',\r\n desc: 'A beautifully created Absolutely FREE URL shortener for everyone made using React Shadcn Firebase. ',\r\n link: 'https://sh0sh0.netlify.app/'\r\n },\r\n {\r\n title: 'MidnightMart',\r\n logo: 'https://github.com/3r4y/react-portfolio-template/assets/6418354/6c85f00e-770d-4320-93ca-c878933c641c',\r\n desc: 'A simple website containing all my affiliate links',\r\n link: 'https://midnightmart.vercel.app/'\r\n },\r\n {\r\n title: \"TheRealWorldFree\",\r\n logo: \"https://www.therlworld.com/images/Group-427319400-1.webp\",\r\n desc: \"Enjoy the real world for free :)\",\r\n link: \"https://trwfree.vercel.app/\"\r\n }\r\n ]\r\n },\r\n {\r\n text: \"NDAs\",\r\n arr: [\r\n {\r\n title: \"BreakingMars\",\r\n logo: \"https://res.cloudinary.com/crunchbase-production/image/upload/c_lpad,h_170,w_170,f_auto,b_white,q_auto:eco,dpr_1/lg6nxfb2dttgtng5kobb\",\r\n desc: '#1 Leading & Effortless Prospect Perceiving Platform',\r\n },\r\n {\r\n title: \"Voomnow\",\r\n desc: \"Next generation audio recorder\",\r\n logo: \"https://user-images.githubusercontent.com/6418354/173876916-e27cb77f-49f1-4190-be54-4c1ddaa2973d.svg\"\r\n },\r\n {\r\n title: 'Shajao',\r\n logo: 'https://res.cloudinary.com/crunchbase-production/image/upload/c_lpad,h_170,w_170,f_auto,b_white,q_auto:eco,dpr_1/jyjetnzpv9knl6l7qxwz',\r\n desc: 'Framing Happiness',\r\n },\r\n {\r\n title: 'ChargeOnSite',\r\n logo: 'https://static.wixstatic.com/media/182a81_c4e4ee2bac6d4389a866239475519bdf~mv2.png/v1/fill/w_192%2Ch_192%2Clg_1%2Cusm_0.66_1.00_0.01/182a81_c4e4ee2bac6d4389a866239475519bdf~mv2.png',\r\n desc: 'Charge OnSite',\r\n },\r\n\r\n ]\r\n },\r\n {\r\n text: \"iOS Apps\",\r\n arr: [\r\n {\r\n title: \"Adblock for YT\",\r\n link: \"https://apps.apple.com/au/app/adblock-for-youtube/id1592568016\",\r\n logo: \"https://is2-ssl.mzstatic.com/image/thumb/Purple126/v4/65/7e/a8/657ea8d9-c3aa-6951-38c8-948c05cd96c3/AppIcon-0-0-85-220-0-0-0-0-4-0-0-0-2x-sRGB-0-0-0-0-0.png/246x0w.webp\",\r\n desc: \"Removes ads from YT videos, embedded videos on third party websites and streams.\"\r\n },\r\n {\r\n title: \"Al Quran by Quran Touch\",\r\n link: \"https://apps.apple.com/gb/app/al-quran-by-quran-touch/id585240351\",\r\n logo: \"https://is3-ssl.mzstatic.com/image/thumb/Purple112/v4/9d/7e/ed/9d7eedd6-e567-5251-bed6-dce7e868bb57/AppIcon-0-1x_U007emarketing-0-10-0-85-220.png/246x0w.webp\",\r\n desc: \"The most comprehensive Muslim App!\"\r\n },\r\n ]\r\n },\r\n {\r\n text: \"Android Apps\",\r\n arr: [\r\n {\r\n title: \"X - Al Quran by Quran Touch\",\r\n link: \"https://play.google.com/store/apps/details?id=com.qurantouch.qurantouch\",\r\n logo: \"https://is3-ssl.mzstatic.com/image/thumb/Purple112/v4/9d/7e/ed/9d7eedd6-e567-5251-bed6-dce7e868bb57/AppIcon-0-1x_U007emarketing-0-10-0-85-220.png/246x0w.webp\",\r\n desc: \"The most comprehensive Muslim App!\"\r\n },\r\n {\r\n title: 'X - Thamao',\r\n logo: 'https://cdn.apkmonk.com/logos/com.thamao_150x150.png',\r\n desc: 'বাংলাদেশে স্মার্টফোনের চুরি এবার অসম্ভব',\r\n },\r\n {\r\n title: 'X - Desplash',\r\n logo: 'https://lh3.googleusercontent.com/ILrto9KguXlr-clbhYKUonpnHszgNp_N5Qvc8_u9QaM71oaqNKcYql2sV3sqZ7nqzsc=s180',\r\n desc: 'Automatic Free High Quality Wallpapers powered by Unsplash.com',\r\n link: 'https://www.xda-developers.com/desplash-wallpaper-app-unsplash/'\r\n },\r\n {\r\n title: 'X - The Great Postman',\r\n logo: 'https://lh3.googleusercontent.com/ni-lk3b2nTMZyC7r1wYBW6cm9eYqGAN-t6fXV-kD0lSyw1lO3kenC1We71fZjSryvFII=s180',\r\n desc: 'Powerful, Lightweight REST API client for Android',\r\n link: 'https://apkpure.com/rest-api-client-the-great-postman/p32929.greatpostman'\r\n },\r\n {\r\n title: 'X - Sleepy - Addiction Remover',\r\n logo: 'https://user-images.githubusercontent.com/6418354/192146268-29e1bac2-e477-4010-ae03-96adecbf07e6.png',\r\n desc: 'The one and only EFFECTIVE addiction remover on Google Play store',\r\n link: 'https://github.com/p32929/my_android_apps/releases/tag/all'\r\n },\r\n {\r\n title: 'X - Best CGPA Calculator',\r\n logo: 'https://user-images.githubusercontent.com/6418354/192146303-6e04c9ac-ffb2-4931-bb10-ef54ff7af382.png',\r\n desc: 'A simple yet effective CGPA Calculator for University students',\r\n link: 'https://github.com/p32929/my_android_apps/releases/tag/all'\r\n },\r\n {\r\n title: 'X - Buy Sell BD',\r\n logo: 'https://image.winudf.com/v2/image1/cDMyOTI5LmJ1eXNlbGxiZF9pY29uXzE1NTkyOTQ5NjVfMDYz/icon.png?w=170&fakeurl=1',\r\n desc: 'A better & more reliable alternative for Bikroy.com - A marketplace app for buying-selling new/used goods',\r\n link: 'https://apkpure.com/p/p32929.buysellbd'\r\n },\r\n {\r\n title: 'X - ExIn',\r\n logo: 'https://lh3.googleusercontent.com/X8mRJd7JajvDXoW7NaluKt2IvC3osH6czkTPoWeSYJ96U2LWLKT4xiFgvNouwf-UvEk=s180',\r\n desc: 'A Simple & user friendly income-expense tracker ',\r\n },\r\n {\r\n title: 'X - ফিফা ওয়ার্ল্ডকাপ ২০১৮',\r\n logo: 'https://cdn-icons-png.flaticon.com/128/33/33736.png',\r\n desc: 'FIFA Worldcup 2018 All In One ',\r\n link: 'https://apkpure.com/%E0%A6%AB%E0%A6%BF%E0%A6%AB%E0%A6%BE-%E0%A6%93%E0%A7%9F%E0%A6%BE%E0%A6%B0%E0%A7%8D%E0%A6%B2%E0%A7%8D%E0%A6%A1%E0%A6%95%E0%A6%BE%E0%A6%AA-%E0%A7%A8%E0%A7%A6%E0%A7%A7%E0%A7%AE-live-tv-scores-more/p32929.worldcup2018'\r\n },\r\n {\r\n title: 'X - I am free',\r\n logo: 'https://image.winudf.com/v2/image1/cDMyOTI5LmltZnJlZV9pY29uXzE1NzY4ODAwNzVfMDU3/icon.png?w=170&fakeurl=1',\r\n desc: 'বেকার মুক্ত বাংলাদেশ গড়ার লক্ষ্যে - I am FREE',\r\n link: 'https://apkpure.com/i-am-free/p32929.imfree'\r\n },\r\n {\r\n title: 'X - Awesome NCTB',\r\n logo: 'https://image.winudf.com/v2/image1/b3JnLnJpY2hpdC5uY3RiX2ljb25fMTU3NjU3MjcwNF8wMjI/icon.png?fakeurl=1',\r\n desc: 'Download NCTB Books easily and Free',\r\n link: 'https://github.com/richinfotech/rich_android_apps/releases/tag/all'\r\n },\r\n {\r\n title: 'X - বৃক্ষ ( Brikkho )',\r\n logo: 'https://image.winudf.com/v2/image1/b3JnLnJpY2hpdC5icmlra2hvX2ljb25fMTU3MDEyMTU0Ml8wODA/icon.png?fakeurl=1',\r\n desc: 'Learn about trees in your fingertips',\r\n link: 'https://github.com/richinfotech/rich_android_apps/releases/tag/all'\r\n },\r\n {\r\n title: 'X - IQQuiz',\r\n logo: 'https://image.winudf.com/v2/image1/b3JnLnJpY2hpdC5pcXF1aXphcHBfaWNvbl8xNTcxMDE0NzcxXzA2Mg/icon.png?fakeurl=1',\r\n desc: 'A simple IQ game',\r\n link: 'https://github.com/richinfotech/rich_android_apps/releases/tag/all'\r\n },\r\n {\r\n title: 'X - BirdsLover',\r\n logo: 'https://image.winudf.com/v2/image1/b3JnLnJpY2hpdC5iaXJkc2xvdmVyX2ljb25fMTU3MjAwNDIxNl8wOTE/icon.png?fakeurl=1',\r\n desc: 'Learn about birds in your fingertips',\r\n link: 'https://github.com/richinfotech/rich_android_apps/releases/tag/all'\r\n },\r\n {\r\n title: 'X - Animal Lover',\r\n logo: 'https://image.winudf.com/v2/image1/b3JnLnJpY2hpdC5hbmltYWxfaWNvbl8xNTc3MjkyMzIzXzAyMw/icon.png?fakeurl=1',\r\n desc: 'Learn about birds in your fingertips',\r\n link: 'https://github.com/richinfotech/rich_android_apps/releases/tag/all'\r\n },\r\n {\r\n title: 'X - Jibanananda Recitation (Abritti)',\r\n logo: 'https://image.winudf.com/v2/image1/b3JnLnJpY2hpdC5qaWJvbmFuZG9rb2JpdGFzb21vZ3JvX2ljb25fMTU3MDEwNDExNF8wNDc/icon.png?fakeurl=1',\r\n desc: '50+ poems of Jibanananda Das with audio recitation',\r\n link: 'https://github.com/richinfotech/rich_android_apps/releases/tag/all'\r\n },\r\n {\r\n title: 'X - MyEyes',\r\n logo: WebImages.giftIcon,\r\n desc: 'Indoor Navigation App for Blind People',\r\n },\r\n {\r\n title: 'X - BirthdayBot',\r\n logo: WebImages.giftIcon,\r\n desc: 'Birthday wishing apps, made for individual people...',\r\n link: 'https://github.com/p32929/my_android_apps/releases/tag/all'\r\n },\r\n ]\r\n },\r\n {\r\n text: \"Desktop Apps\",\r\n arr: [\r\n {\r\n title: 'PotatoTimer',\r\n logo: 'https://raw.githubusercontent.com/p32929/PotatoTimer/master/resources/icon.ico',\r\n desc: 'A pomotodo app that forces you to take a break - created using ElectronJS',\r\n link: 'https://github.com/p32929/Electron-Pomotodo'\r\n },\r\n {\r\n title: 'X - Facebook Bot',\r\n logo: 'https://cdn-icons-png.flaticon.com/128/2504/2504903.png',\r\n desc: 'Automatically likes posts in facebook and also does relavent comments',\r\n },\r\n {\r\n title: 'X - Username Scraper',\r\n logo: 'https://cdn-icons-png.flaticon.com/128/1409/1409946.png',\r\n desc: 'Lists all the usernames commented in a post in instagram',\r\n },\r\n {\r\n title: 'FayPomotroid',\r\n logo: 'https://github.com/p32929/FayPomotroid/blob/master/build/icons/256x256.png?raw=true',\r\n desc: 'Electron based Desktop pomodoro app that forces you to take a break',\r\n link: 'https://github.com/p32929/FayPomotroid/'\r\n },\r\n {\r\n title: 'Pomota',\r\n logo: 'https://github.com/p32929/pomota/blob/master/src-tauri/icons/128x128.png?raw=true',\r\n desc: 'A simple user-friendly cross-platform tauri based pomodoro timer app that forces you to take a break',\r\n link: 'https://github.com/p32929/pomota'\r\n },\r\n ]\r\n },\r\n {\r\n text: \"Command Line Interfaces ( CLIs )\",\r\n arr: [\r\n {\r\n title: 'Shortcut-Virus-Remover',\r\n logo: 'https://cdn-icons-png.flaticon.com/128/3223/3223766.png',\r\n desc: 'Shortcut virus remover script for Windows',\r\n link: 'https://github.com/p32929/Shortcut-Virus-Remover'\r\n },\r\n {\r\n title: 'Fay',\r\n logo: 'https://crates.io/assets/cargo.png',\r\n desc: 'A simple cross platform CLI app written in Rust to automate multiple shell ( bash or cmd ) commands',\r\n link: 'https://crates.io/crates/fay'\r\n },\r\n {\r\n title: 'SIIN',\r\n logo: 'https://crates.io/assets/cargo.png',\r\n desc: 'A batch installer that downloads and installs a list of apps, written in Rust ( Kinda like Ninite )',\r\n link: 'https://crates.io/crates/siin'\r\n },\r\n\r\n ]\r\n },\r\n {\r\n text: \"Libraries / Packages / Crates\",\r\n arr: [\r\n {\r\n title: 'AndroidEasySQL-Library',\r\n logo: 'https://www.vectorlogo.zone/logos/android/android-icon.svg',\r\n desc: 'An Easier & Lazier approach to SQL database for Android',\r\n link: 'https://github.com/p32929/AndroidEasySQL-Library'\r\n },\r\n {\r\n title: 'X - FayazPermissions',\r\n logo: 'https://www.vectorlogo.zone/logos/android/android-icon.svg',\r\n desc: 'An Easier & Lazier approach to getting runtime permission in Android ',\r\n },\r\n {\r\n title: 'AndroidAppLockscreen',\r\n logo: 'https://www.vectorlogo.zone/logos/android/android-icon.svg',\r\n desc: 'An Easier & Lazier approach to getting runtime permission in Android ',\r\n link: 'https://github.com/p32929/AndroidAppLockscreen'\r\n },\r\n {\r\n title: 'ManufacturerBatteryOptimization',\r\n logo: 'https://www.vectorlogo.zone/logos/android/android-icon.svg',\r\n desc: 'Simple helper class for Android Battery Optimization ignoring in some devices',\r\n link: 'https://gist.github.com/p32929/41e7af650f6a2c11e9306ab600fb9b03'\r\n },\r\n {\r\n title: 'MyHouseAdsAndroid',\r\n logo: 'https://www.vectorlogo.zone/logos/android/android-icon.svg',\r\n desc: 'A library for cross promoting own apps within own apps - for Android',\r\n link: 'https://github.com/p32929/MyHouseAdsAndroid'\r\n },\r\n {\r\n title: 'HouseAds2',\r\n logo: 'https://www.vectorlogo.zone/logos/android/android-icon.svg',\r\n desc: 'A library ( V2 ) for cross promoting own apps within own apps - for Android',\r\n link: 'https://github.com/p32929/HouseAds2'\r\n },\r\n {\r\n title: 'AndroidAppUpdater',\r\n logo: 'https://www.vectorlogo.zone/logos/android/android-icon.svg',\r\n desc: 'A simple, Lightweight App Updater Library for Android',\r\n link: 'https://github.com/p32929/AndroidAppUpdater'\r\n },\r\n {\r\n title: 'OfficeAbout',\r\n logo: 'https://www.vectorlogo.zone/logos/android/android-icon.svg',\r\n desc: 'A simple about screen library for Android for a Team of people',\r\n link: 'https://github.com/p32929/OfficeAbout'\r\n },\r\n {\r\n title: 'JsonViewerAndroid',\r\n logo: 'https://www.vectorlogo.zone/logos/android/android-icon.svg',\r\n desc: 'A simple JSON Viewer for Android',\r\n },\r\n {\r\n title: 'Android-Receivers-Library',\r\n logo: 'https://www.vectorlogo.zone/logos/android/android-icon.svg',\r\n desc: 'A library for simpler BroadcastReceiver implementations',\r\n },\r\n {\r\n title: 'Fay',\r\n logo: 'https://crates.io/assets/cargo.png',\r\n desc: 'A simple cross platform CLI app written in Rust to automate multiple shell ( bash or cmd ) commands',\r\n link: 'https://crates.io/crates/fay'\r\n },\r\n {\r\n title: 'fayfetch',\r\n logo: 'https://avatars.githubusercontent.com/u/6078720?s=200&v=4',\r\n desc: 'A simple wrapper for Fetch',\r\n link: 'https://www.npmjs.com/package/fayfetch'\r\n },\r\n {\r\n title: 'EasiestDB',\r\n logo: WebImages.flutterIcon,\r\n desc: 'The Easiest and the Laziest approach to Flutter SQL Database.',\r\n link: 'https://pub.dev/packages/easiestdb'\r\n },\r\n {\r\n title: \"Simply Wifi\",\r\n logo: WebImages.flutterIcon,\r\n desc: \"A simplified version of the wifi_iot package\",\r\n link: \"https://pub.dev/packages/simply_wifi\"\r\n }\r\n ]\r\n },\r\n {\r\n text: \"Extensions / Plugins / Addons\",\r\n arr: [\r\n {\r\n title: 'vscode-nvim-leave-insertmode',\r\n logo: 'https://code.visualstudio.com/assets/images/code-stable.png',\r\n desc: 'This basic VSCode extension ensures that neovim is in normal mode switching between text editor panels.',\r\n link: 'https://marketplace.visualstudio.com/items?itemName=p32929.vscode-nvim-leave-insertmode'\r\n }\r\n ]\r\n },\r\n ]\r\n\r\n static contacts: Array = [\r\n {\r\n text: \"Contact me\",\r\n arr: [\r\n {\r\n title: 'WhatsApp ( Recommended )',\r\n logo: 'https://user-images.githubusercontent.com/6418354/155842184-b064bf36-de8e-4317-8f8e-cb7755eed995.png',\r\n link: 'https://api.whatsapp.com/send?phone=8801796306262',\r\n desc: \"+8801796306262\"\r\n },\r\n {\r\n title: 'Facebook',\r\n logo: 'https://user-images.githubusercontent.com/6418354/155840898-9e2327aa-a280-45e3-8266-8268242abda4.png',\r\n link: 'https://www.facebook.com/p32929'\r\n },\r\n {\r\n title: 'Email',\r\n logo: 'https://cdn3d.iconscout.com/3d/premium/thumb/email-address-4437044-3684811.png',\r\n desc: 'p32929.ceo@gmail.com',\r\n link: 'mailto:p32929.ceo@gmail.com'\r\n },\r\n ]\r\n },\r\n {\r\n text: \"Others\",\r\n arr: [\r\n {\r\n title: 'Anywhere on the internet',\r\n logo: 'https://user-images.githubusercontent.com/6418354/155840900-91ac076a-8d2b-45dc-b346-66f72d376d4b.png',\r\n desc: \"@p32929\"\r\n },\r\n {\r\n title: 'GitHub',\r\n logo: 'https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png',\r\n link: 'https://github.com/p32929/'\r\n },\r\n {\r\n title: 'LinkedIn',\r\n logo: 'https://user-images.githubusercontent.com/6418354/155841027-8698cb12-7ddd-4604-a4ea-c618ddbc1cd8.png',\r\n link: 'https://www.linkedin.com/in/p32929/'\r\n },\r\n {\r\n title: 'Twitter',\r\n logo: 'https://user-images.githubusercontent.com/6418354/155841031-532d5d6e-797a-4da1-8064-48d266b69ab2.png',\r\n link: 'https://twitter.com/p32929'\r\n },\r\n {\r\n title: 'Instagram',\r\n logo: 'https://user-images.githubusercontent.com/6418354/155841023-0b842621-56a3-42ec-81f1-3944034b09c7.png',\r\n link: 'https://www.instagram.com/p32929/'\r\n },\r\n {\r\n title: 'Fiverr',\r\n logo: 'https://99designs-blog.imgix.net/blog/wp-content/uploads/2018/09/fiverr-2018.png?auto=format&q=60&fit=max&w=200',\r\n link: 'https://www.fiverr.com/users/fayazbinsalam/'\r\n },\r\n {\r\n title: \"Upwork\",\r\n logo: \"https://cdn.worldvectorlogo.com/logos/upwork.svg\",\r\n link: \"https://www.upwork.com/freelancers/~017dbf657b99b0c1c1\"\r\n },\r\n {\r\n title: \"Medium\",\r\n logo: \"https://seeklogo.com/images/M/medium-logo-93CDCF6451-seeklogo.com.png\",\r\n link: \"https://medium.com/@p32929_77176\"\r\n },\r\n {\r\n title: \"xda\",\r\n logo: \"https://www.svgrepo.com/show/331651/xda-developers.svg\",\r\n link: \"https://forum.xda-developers.com/m/p32929.5346826/\"\r\n },\r\n {\r\n title: \"Product Hunt\",\r\n logo: \"https://seeklogo.com/images/P/product-hunt-logo-A144953C4C-seeklogo.com.png?v=637846885100000000\",\r\n link: \"https://www.producthunt.com/@p32929\"\r\n },\r\n {\r\n title: \"UVA Online Judge\",\r\n logo: \"https://uhunt.onlinejudge.org/images/uva.png\",\r\n link: \"https://uhunt.onlinejudge.org/id/590978\"\r\n },\r\n {\r\n title: \"URI Online Judge\",\r\n logo: \"https://user-images.githubusercontent.com/26368939/110052090-be0a0b00-7d35-11eb-8827-993190a9568e.png\",\r\n link: \"https://www.beecrowd.com.br/judge/en/profile/76542\"\r\n },\r\n {\r\n title: \"Buy Me a Coffee\",\r\n logo: \"https://www.buymeacoffee.com/assets/img/guidelines/logo-mark-1.svg\",\r\n link: \"https://www.buymeacoffee.com/p32929\"\r\n },\r\n {\r\n title: 'Skype',\r\n logo: 'https://user-images.githubusercontent.com/6418354/155840899-62c1fe8e-66a6-4492-9acc-5bd504ac21ef.png',\r\n desc: 'p32929',\r\n link: 'skype:p32929?chat'\r\n },\r\n ]\r\n },\r\n {\r\n text: \"Thank you for visiting my portfolio\",\r\n arr: [\r\n {\r\n title: \"Click on the link button\",\r\n desc: 'To create your own portfolio. It will only take around 3 minutes',\r\n logo: WebImages.giftIcon,\r\n link: 'https://github.com/p32929/p32929.github.io/'\r\n }\r\n ]\r\n }\r\n ]\r\n}\r\n\r\n\r\n","import { GlobalVars } from \"../Others/GlobalVars\";\n\nexport interface State {\n primaryColor: string,\n isLeftShowing: boolean,\n isColorPickerDialogShowing: boolean,\n isHelperDialogShowing: boolean,\n isMenuClicked: boolean,\n}\n\nexport const state: State = {\n primaryColor: GlobalVars.primaryColor,\n isLeftShowing: true,\n isColorPickerDialogShowing: false,\n isHelperDialogShowing: false,\n isMenuClicked: false,\n}\n","import { Context } from './OvermindHelper'\n\n// export const increaseCounter = ({state}: Context, value: number) => {\n// state.counter += value;\n// }\n\nexport const setPrimaryColor = ({ state }: Context, value: string) => {\n state.primaryColor = value;\n}\n\nexport const showLeftPart = ({ state }: Context, value: boolean) => {\n state.isLeftShowing = value;\n}\n\nexport const showColorPickerDialog = ({ state }: Context, value: boolean) => {\n state.isColorPickerDialogShowing = value;\n}\n\nexport const showHelperDialog = ({ state }: Context, value: boolean) => {\n state.isHelperDialogShowing = value;\n}\n\nexport const setMenuClicked = ({ state }: Context, value: boolean) => {\n state.isMenuClicked = value;\n}\n\n","import {IContext} from 'overmind'\nimport {state} from './OvermindState'\nimport * as actions from './OvermindActions'\nimport {createActionsHook, createStateHook} from 'overmind-react'\n\nexport const config = {\n state,\n actions\n};\n\nexport type Context = IContext<{\n state: typeof config.state\n actions: typeof config.actions\n}>\n\n\nexport const useAppState = createStateHook()\nexport const useActions = createActionsHook()\n","import {createTheme} from '@material-ui/core/styles';\nimport {red} from '@material-ui/core/colors';\n\n// Create a theme instance.\nexport const theme = createTheme({\n palette: {\n primary: {\n main: '#556cd6',\n },\n secondary: {\n main: '#19857b',\n },\n error: {\n main: red.A400,\n },\n background: {\n default: '#fff',\n },\n action: {\n disabled: \"#212121\"\n }\n },\n overrides: {\n MuiAvatar: {\n img: {\n objectFit: 'contain',\n }\n }\n }\n});\n","import React from 'react'\nimport {makeStyles} from '@material-ui/core/styles';\nimport {Avatar, Grid, Theme, Typography} from \"@material-ui/core\";\nimport {useActions, useAppState} from '../../Overmind/OvermindHelper';\nimport {GlobalVars} from '../../Others/GlobalVars';\nimport {LocalImages} from '../../Others/Images';\n\ninterface Props {\n\n}\n\nconst getThemeObj = (theme: Theme) => {\n return {\n avatar: {\n height: 125,\n width: 125,\n },\n title: {\n color: \"#212121\",\n marginTop: 24,\n fontSize: 14,\n fontWeight: 600\n },\n subtitle: {\n fontSize: 12,\n color: \"#212121\",\n fontWeight: 600\n },\n }\n}\n\nconst useStyles = makeStyles((theme: Theme) => (getThemeObj(theme)))\n\nconst AvatarText: React.FC = (props) => {\n const {} = useActions()\n const {} = useAppState()\n\n const classes = useStyles();\n\n return \n \n {GlobalVars.myName.toUpperCase()}\n {GlobalVars.myOccupation}\n \n}\n\nexport default AvatarText;","import React from 'react'\nimport { makeStyles } from '@material-ui/core/styles';\nimport { Grid, Theme } from \"@material-ui/core\";\nimport { useActions, useAppState } from '../Overmind/OvermindHelper';\n\ninterface Props {\n size: number,\n path: string,\n styles?: any,\n}\n\nconst getThemeObj = (theme: Theme) => {\n return {}\n}\n\nconst useStyles = makeStyles((theme: Theme) => (getThemeObj(theme)))\n\nconst SvgHelper: React.FC = (props) => {\n const { } = useActions()\n const { primaryColor } = useAppState()\n\n const classes = useStyles();\n const { path, size, styles } = props\n\n return \n \n \n}\n\nexport default SvgHelper;","export class Constants {\r\n static routes: Array = [\r\n \"About\",\r\n \"Skills\",\r\n \"Works\",\r\n \"Contact\",\r\n ]\r\n}","import React from 'react'\nimport { makeStyles } from '@material-ui/core/styles';\nimport { Button, Divider, Grid, Hidden, IconButton, Theme } from \"@material-ui/core\";\nimport { useActions, useAppState } from '../../Overmind/OvermindHelper';\nimport { GlobalVars } from '../../Others/GlobalVars';\nimport { NavLink } from \"react-router-dom\";\nimport SvgHelper from '../../Helpers/SvgHelper';\nimport { OurIcons } from '../../Others/OurIcons';\nimport { useTheme } from \"@material-ui/core/styles\";\nimport useMediaQuery from \"@material-ui/core/useMediaQuery\";\nimport { Constants } from '../../Others/Constants';\n\ninterface Props {\n\n}\n\nconst getThemeObj = (theme: Theme) => {\n return {\n link: {\n marginLeft: 8,\n marginRight: 8,\n textDecoration: 'none'\n },\n divider: {\n height: 1,\n margin: 16,\n width: 90,\n alignSelf: 'center'\n },\n }\n}\n\nconst useStyles = makeStyles((theme: Theme) => (getThemeObj(theme)))\n\nconst NavigationLinks: React.FC = (props) => {\n const { showLeftPart } = useActions()\n const { primaryColor } = useAppState()\n const classes = useStyles();\n\n const theme = useTheme()\n const belowSm = useMediaQuery(theme.breakpoints.down('sm'))\n\n return \n\n {/* @ts-ignore */}\n \n {\n showLeftPart(false)\n }}>\n \n \n \n\n \n\n {\n Constants.routes.map((item, index) => {\n return {\n if (belowSm) {\n showLeftPart(false)\n }\n }}\n size='small'\n component={NavLink}\n to={item.toLowerCase()}\n >{item}\n\n })\n }\n\n \n\n \n}\n\nexport default NavigationLinks;","import React from 'react'\nimport { makeStyles } from '@material-ui/core/styles';\nimport { Grid, IconButton, Theme } from \"@material-ui/core\";\nimport { useActions, useAppState } from '../../Overmind/OvermindHelper';\nimport { GlobalVars } from '../../Others/GlobalVars';\nimport SvgHelper from '../../Helpers/SvgHelper';\n\ninterface Props {\n\n}\n\nconst getThemeObj = (theme: Theme) => {\n return {\n root: { paddingBottom: 8, width: '100%' },\n iconButton: { margin: 3 }\n }\n}\n\nconst useStyles = makeStyles((theme: Theme) => (getThemeObj(theme)))\n\nconst BottomNavigationLinks: React.FC = (props) => {\n const { } = useActions()\n const { } = useAppState()\n\n const classes = useStyles();\n\n return \n {\n GlobalVars.bottomLinks.map((item, index) => {\n return \n \n \n })\n }\n \n}\n\nexport default BottomNavigationLinks;","import React from 'react'\nimport { makeStyles } from '@material-ui/core/styles';\nimport { Theme, Grid, Paper } from \"@material-ui/core\";\nimport { useActions, useAppState } from '../Overmind/OvermindHelper';\nimport AvatarText from './Left/AvatarText';\nimport NavigationLinks from './Left/NavigationLinks';\nimport BottomNavigationLinks from './Left/BottomNavigationLinks';\n\ninterface Props {\n\n}\n\nconst getThemeObj = (theme: Theme) => {\n return {\n root: {\n height: '100%',\n width: '100%',\n margin: 0,\n padding: 0\n }\n }\n}\n\nconst useStyles = makeStyles((theme: Theme) => (getThemeObj(theme)))\n\nconst LeftPart: React.FC = (props) => {\n const { } = useActions()\n const { } = useAppState()\n\n const classes = useStyles();\n\n return \n \n \n \n \n \n \n \n \n}\n\nexport default LeftPart;","export class GlobalMethods {\n static getHeightWidthWeb = () => {\n console.debug(\"Web\");\n\n return {\n width: `calc(100% - 316px)`,\n height: `calc(100% - 168px)`\n }\n }\n\n static getHeightWidthMobile = () => {\n console.debug(\"Mobile\");\n\n return {\n width: `calc(100% - 48px)`,\n height: `calc(100% - 48px)`\n }\n }\n}","import React, { useState } from 'react'\nimport { makeStyles } from '@material-ui/core/styles';\nimport { Button, Divider, Grid, Hidden, IconButton, Theme } from \"@material-ui/core\";\nimport { useActions, useAppState } from '../../../Overmind/OvermindHelper';\nimport SvgHelper from '../../../Helpers/SvgHelper';\nimport { OurIcons } from '../../../Others/OurIcons';\nimport { useLocation } from \"react-router-dom\";\n\ninterface Props {\n\n}\n\nconst getThemeObj = (theme: Theme) => {\n return {\n root: {\n padding: 16\n },\n divider: {\n height: 1,\n marginTop: 8,\n [theme.breakpoints.down('sm')]: {\n width: 160\n },\n [theme.breakpoints.up('md')]: {\n width: 200\n },\n },\n currentRoute: {\n fontSize: 14,\n fontWeight: 600,\n cursor: 'none',\n }\n }\n}\n\nconst useStyles = makeStyles((theme: Theme) => (getThemeObj(theme)))\n\nconst RouteLocation: React.FC = (props) => {\n const { showLeftPart, setMenuClicked } = useActions()\n let location = useLocation();\n const { primaryColor, isMenuClicked } = useAppState()\n\n const classes = useStyles();\n\n return \n \n {/* @ts-ignore */}\n \n {\n showLeftPart(true)\n setMenuClicked(true)\n }}>\n
\n \n
\n
\n
\n \n
\n\n \n \n \n
\n\n}\n\nexport default RouteLocation;","import React from 'react'\nimport { makeStyles } from '@material-ui/core/styles';\nimport { Button, Divider, Grid, IconButton, Theme } from \"@material-ui/core\";\nimport { useActions, useAppState } from '../../../Overmind/OvermindHelper';\nimport SvgHelper from '../../../Helpers/SvgHelper';\nimport { OurIcons } from '../../../Others/OurIcons';\n\ninterface Props {\n\n}\n\nconst getThemeObj = (theme: Theme) => {\n return {\n iconButton: {\n padding: 8\n }\n }\n}\n\nconst useStyles = makeStyles((theme: Theme) => (getThemeObj(theme)))\n\nconst TopRightButtons: React.FC = (props) => {\n const { setPrimaryColor, showColorPickerDialog } = useActions()\n const { } = useAppState()\n\n const classes = useStyles();\n\n return \n {/*\n PLEASE, DON'T CHANGE THIS GITHUB URL.\n ( https://github.com/p32929/p32929.github.io/ )\n */}\n \n \n \n\n {/*\n YOU MAY USE THE SOURCE CODE HOWEVER YOU WANT, BUT PLEASE,\n KEEP THE GITHUB-ICON & the GITHUB-URL under the icon UNCHANGED,\n SO THAT OTHERS CAN ALSO BENIFIT FROM THE ORIGINAL REPOSITORY.\n THANKS... :)\n */}\n\n {\n showColorPickerDialog(true)\n }}>\n \n \n \n\n}\n\nexport default TopRightButtons;","import React from 'react'\nimport {makeStyles} from '@material-ui/core/styles';\nimport {Grid, Theme, Typography} from \"@material-ui/core\";\nimport {useActions, useAppState} from '../../Overmind/OvermindHelper';\nimport SvgHelper from '../../Helpers/SvgHelper';\nimport {OurIcons} from '../../Others/OurIcons';\n\ninterface Props {\n title: string,\n fontStyle?: any\n}\n\nconst getThemeObj = (theme: Theme) => {\n return {\n root: {\n marginLeft: 8,\n },\n text: {\n marginLeft: 8,\n marginRight: 8,\n fontSize: 12,\n fontWeight: 600,\n color: \"#757575\"\n }\n }\n}\n\nconst useStyles = makeStyles((theme: Theme) => (getThemeObj(theme)))\n\nconst ListTitle: React.FC = (props) => {\n const {} = useActions()\n const {} = useAppState()\n const {title, fontStyle} = props\n const classes = useStyles();\n\n return \n \n {title}\n \n\n}\n\nexport default ListTitle;","import React from 'react'\nimport { makeStyles } from '@material-ui/core/styles';\nimport { Avatar, Grid, IconButton, Paper, Theme, Typography } from \"@material-ui/core\";\nimport { useActions, useAppState } from '../../Overmind/OvermindHelper';\nimport { ListItemInterface } from '../../Others/Interfaces';\nimport SvgHelper from '../../Helpers/SvgHelper';\nimport { OurIcons } from '../../Others/OurIcons';\n\ninterface Props {\n item: ListItemInterface\n}\n\nconst getThemeObj = (theme: Theme) => {\n return {\n root: {\n padding: 2,\n },\n textContainer: {\n paddingTop: 16,\n paddingBottom: 16,\n overflow: 'hidden',\n alignSelf: 'center'\n },\n avatar: {\n margin: 16,\n },\n title: {\n color: \"#212121\",\n lineHeight: 1.25\n },\n desc: {\n color: \"#757575\",\n lineHeight: 1.25,\n overflow: 'hidden',\n }\n }\n}\n\nconst getLinkIcon = (url: string | undefined) => {\n if (url) {\n if (url.toString().includes('http') || url.toString().includes('skype:')) {\n return \n {\n setTimeout(() => {\n\n }, 500)\n }}\n target=\"_blank\"\n href={url}\n size='small'>\n \n \n \n }\n }\n}\n\ninterface LinkIconProps {\n url: string | undefined;\n}\n\nconst LinkIcon: React.FC = (props) => {\n const { showHelperDialog } = useActions()\n const { url } = props\n\n if (url) {\n if (url.toString().includes('http') || url.toString().includes('skype:')) {\n return \n {\n e.stopPropagation()\n // setTimeout(() => {\n // showHelperDialog(false)\n // }, 500)\n }}\n target=\"_blank\"\n href={url}\n size='small'>\n \n \n \n }\n }\n\n return <>\n}\n\nconst useStyles = makeStyles((theme: Theme) => (getThemeObj(theme)))\n\nconst OurListItem: React.FC = (props) => {\n const { showHelperDialog } = useActions()\n const { } = useAppState()\n\n const classes = useStyles();\n const { item } = props\n const { logo, title, desc, link } = item\n\n return \n {\n if (!link) {\n showHelperDialog(true)\n }\n }}>\n \n \n\n \n {title}\n {\n (desc || link) &&\n {desc || link}\n }\n \n\n \n\n \n \n \n\n}\n\nexport default OurListItem;","import React from 'react'\nimport { makeStyles } from '@material-ui/core/styles';\nimport { Button, Divider, Grid, Theme } from \"@material-ui/core\";\nimport { useActions, useAppState } from '../../Overmind/OvermindHelper';\nimport { TitledListItemInterface } from '../../Others/Interfaces';\nimport ListTitle from './ListTitle';\nimport OurListItem from './OurListItem';\n\ninterface Props {\n item: TitledListItemInterface\n}\n\nconst getThemeObj = (theme: Theme) => {\n return {\n root: {\n marginTop: 4,\n marginLeft: 8,\n marginBottom: 16,\n },\n itemRoot: {\n marginTop: 8\n }\n }\n}\n\nconst useStyles = makeStyles((theme: Theme) => (getThemeObj(theme)))\n\nconst ListItemWithIcon: React.FC = (props) => {\n const { } = useActions()\n const { } = useAppState()\n const { item } = props\n const { text, arr } = item\n\n const classes = useStyles();\n\n return \n \n \n {\n arr.sort((a, b) => a.title.localeCompare(b.title)).map((arrItem, index) => {\n return \n })\n }\n \n \n\n}\n\nexport default ListItemWithIcon;","import React, { useEffect, useState } from 'react'\nimport { makeStyles } from '@material-ui/core/styles';\nimport { Button, Divider, Grid, Theme } from \"@material-ui/core\";\nimport { useActions, useAppState } from '../../../Overmind/OvermindHelper';\nimport { GlobalVars } from '../../../Others/GlobalVars';\nimport ListItemWithIcon from '../../Items/ListItemWithIcon';\nimport { OurIcons } from \"../../../Others/OurIcons\";\nimport { WebImages } from \"../../../Others/Images\";\nimport { TitledListItemInterface } from \"../../../Others/Interfaces\";\n\ninterface Props {\n\n}\n\nconst getThemeObj = (theme: Theme) => {\n return {}\n}\n\ninterface GithubResp {\n name: string;\n html_url: string;\n description: string;\n}\n\nconst useStyles = makeStyles((theme: Theme) => (getThemeObj(theme)))\nvar newWOrkObj: TitledListItemInterface = {\n text: \"Others\",\n arr: []\n}\n\nconst WorksRoute: React.FC = (props) => {\n const { } = useActions()\n const { } = useAppState()\n const [works, setWorks] = useState>([])\n const classes = useStyles();\n\n const getGithubRepos = async () => {\n console.debug(`getGithubRepos`)\n const data = await fetch(`https://api.github.com/users/${GlobalVars.myGithubUsername}/repos?per_page=999`)\n const jsonFromFetch = await data.json()\n const json: Array = jsonFromFetch\n\n var newWorks: Array = [\n ...GlobalVars.works\n ]\n\n for (var i = 0; i < json.length; i++) {\n const obj = json[i]\n newWOrkObj?.arr?.push({\n title: obj.name,\n logo: WebImages.giftIcon,\n desc: obj.description,\n link: obj.html_url\n })\n }\n newWorks.push(newWOrkObj)\n setWorks(newWorks)\n }\n\n const getFetchedWorks = () => {\n console.debug(`getFetchedWorks`)\n var newWorks: Array = [\n ...GlobalVars.works\n ]\n newWorks.push(newWOrkObj)\n setWorks(newWorks)\n }\n\n useEffect(() => {\n if (GlobalVars.myGithubUsername) {\n if (newWOrkObj.arr.length === 0) {\n getGithubRepos()\n }\n else {\n getFetchedWorks()\n }\n }\n }, [])\n\n const getWorks = () => {\n if (works.length > 0) {\n return works\n } else {\n return GlobalVars.works\n }\n }\n\n return \n {\n getWorks().map((item, index) => {\n return \n })\n }\n \n\n}\n\nexport default WorksRoute;","import React from 'react'\nimport { makeStyles } from '@material-ui/core/styles';\nimport { Button, Divider, Grid, Theme } from \"@material-ui/core\";\nimport { useActions, useAppState } from '../../../Overmind/OvermindHelper';\nimport { GlobalVars } from '../../../Others/GlobalVars';\nimport ListItemWithIcon from '../../Items/ListItemWithIcon';\n\ninterface Props {\n\n}\n\nconst getThemeObj = (theme: Theme) => {\n return {}\n}\n\nconst useStyles = makeStyles((theme: Theme) => (getThemeObj(theme)))\n\nconst ContactRoute: React.FC = (props) => {\n const { } = useActions()\n const { } = useAppState()\n\n const classes = useStyles();\n\n return \n {\n GlobalVars.contacts.map((item, index) => {\n return \n })\n }\n \n\n}\n\nexport default ContactRoute;","import React from 'react'\nimport { makeStyles } from '@material-ui/core/styles';\nimport { Button, Divider, Grid, Theme } from \"@material-ui/core\";\nimport { useActions, useAppState } from '../../../Overmind/OvermindHelper';\nimport { GlobalVars } from '../../../Others/GlobalVars';\nimport ListItemWithIcon from '../../Items/ListItemWithIcon';\n\ninterface Props {\n\n}\n\nconst getThemeObj = (theme: Theme) => {\n return {}\n}\n\nconst useStyles = makeStyles((theme: Theme) => (getThemeObj(theme)))\n\nconst SkillsRoute: React.FC = (props) => {\n const { } = useActions()\n const { } = useAppState()\n\n const classes = useStyles();\n\n return \n {\n GlobalVars.skills.map((item, index) => {\n return \n })\n }\n \n\n}\n\nexport default SkillsRoute;","import React from 'react'\r\nimport {makeStyles, useTheme} from '@material-ui/core/styles';\r\nimport {Grid, Theme, Typography} from \"@material-ui/core\";\r\nimport {useActions, useAppState} from '../../../Overmind/OvermindHelper';\r\nimport {LocalImages} from '../../../Others/Images';\r\nimport useMediaQuery from \"@material-ui/core/useMediaQuery\";\r\nimport ListTitle from '../../Items/ListTitle';\r\nimport {GlobalVars} from '../../../Others/GlobalVars';\r\n\r\ninterface Props {\r\n\r\n}\r\n\r\nconst aboveSmAvatarSize = {height: '95%'}\r\nconst belowSmAvatarSize = {height: '75%'}\r\n\r\nconst getThemeObj = (theme: Theme) => {\r\n return {\r\n root: {\r\n padding: 8\r\n },\r\n text: {\r\n paddingLeft: 8,\r\n paddingBottom: 8,\r\n lineHeight: 1.3,\r\n fontWeight: 400,\r\n [theme.breakpoints.up('xl')]: {\r\n fontSize: 18,\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n fontSize: 14,\r\n },\r\n }\r\n }\r\n}\r\n\r\nconst useStyles = makeStyles((theme: Theme) => (getThemeObj(theme)))\r\n\r\nconst AboutRoute: React.FC = (props) => {\r\n const {} = useActions()\r\n const {} = useAppState()\r\n\r\n const classes = useStyles();\r\n\r\n const theme = useTheme()\r\n const belowSm = useMediaQuery(theme.breakpoints.down('sm'))\r\n\r\n return \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {GlobalVars.myDetails}\r\n \r\n \r\n\r\n \r\n\r\n}\r\n\r\nexport default AboutRoute;","import React, { useEffect, useState } from 'react'\nimport { makeStyles } from '@material-ui/core/styles';\nimport { Theme, Grid, useMediaQuery, useTheme } from \"@material-ui/core\";\nimport { useActions, useAppState } from '../Overmind/OvermindHelper';\nimport RouteLocation from './Right/Top/RouteLocation';\nimport TopRightButtons from './Right/Top/TopRightButtons';\nimport WorksRoute from './Right/Routes/WorksRoute';\nimport ContactRoute from './Right/Routes/ContactRoute';\nimport SkillsRoute from './Right/Routes/SkillsRoute';\nimport AboutRoute from './Right/Routes/AboutRoute';\nimport { GlobalVars } from '../Others/GlobalVars';\nimport {\n BrowserRouter as Router,\n Switch,\n Route,\n Link,\n useLocation\n} from \"react-router-dom\";\nimport { Constants } from '../Others/Constants';\n\ninterface Props {\n\n}\n\nconst getThemeObj = (theme: Theme) => {\n return {\n root: {\n padding: 16,\n },\n content: {\n paddingRight: 8,\n maxHeight: '100vh',\n maxWidth: '100%',\n }\n }\n}\n\nconst routes = [\n AboutRoute,\n SkillsRoute,\n WorksRoute,\n ContactRoute,\n]\n\nconst useStyles = makeStyles((theme: Theme) => (getThemeObj(theme)))\n\nconst RightPart: React.FC = (props) => {\n const { } = useActions()\n const { isLeftShowing } = useAppState()\n const classes = useStyles();\n const [contentHeight, setContentHeight] = useState(0)\n\n const theme = useTheme()\n const belowSm = useMediaQuery(theme.breakpoints.down('sm'))\n let location = useLocation();\n\n useEffect(() => {\n const rc = document.getElementById('container')\n const rt = document.getElementById('right-top')\n const rb = document.getElementById('right-bottom')\n\n if (rc && rt) {\n const height = rc?.offsetHeight - rt?.offsetHeight\n console.log(\"Height: \" + height);\n\n setContentHeight(height)\n }\n }, [isLeftShowing, belowSm])\n\n useEffect(() => {\n document?.getElementById('right-bottom')?.scroll(0, 0)\n }, [location])\n\n return \n \n \n \n \n \n \n {\n Constants.routes.map((item, index) => {\n return \n })\n }\n \n \n \n}\n\nexport default RightPart;","import React from 'react'\nimport { makeStyles } from '@material-ui/core/styles';\nimport { Button, Dialog, DialogContent, Divider, Grid, Theme } from \"@material-ui/core\";\nimport { useActions, useAppState } from '../../Overmind/OvermindHelper';\nimport { BlockPicker } from 'react-color'\nimport { GlobalVars } from '../../Others/GlobalVars';\n\ninterface Props {\n\n}\n\nconst getThemeObj = (theme: Theme) => {\n return {}\n}\n\nconst useStyles = makeStyles((theme: Theme) => (getThemeObj(theme)))\n\nconst ColorPickerDialog: React.FC = (props) => {\n const { setPrimaryColor, showColorPickerDialog } = useActions()\n const { primaryColor, isColorPickerDialogShowing } = useAppState()\n\n const classes = useStyles();\n\n return {\n showColorPickerDialog(false)\n }}>\n \n {\n setPrimaryColor(color.hex)\n showColorPickerDialog(false)\n }}\n colors={GlobalVars.otherColors}\n />\n \n \n}\n\nexport default ColorPickerDialog;","import React from 'react'\r\nimport { Button, Dialog, DialogActions, DialogContent, DialogTitle, Grid, makeStyles } from \"@material-ui/core\";\r\nimport { useActions, useAppState } from '../../Overmind/OvermindHelper';\r\nimport { GlobalVars } from '../../Others/GlobalVars';\r\n\r\ninterface Props {\r\n\r\n}\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n // Define your styles here\r\n}));\r\n\r\nconst HelperDialog: React.FC = (props) => {\r\n // Hooks\r\n const actions = useActions()\r\n const states = useAppState()\r\n const classes = useStyles();\r\n\r\n return (\r\n \r\n \r\n {GlobalVars.helperTexts}\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n )\r\n\r\n}\r\n\r\nexport default HelperDialog;","import React from 'react'\nimport { makeStyles } from '@material-ui/core/styles';\nimport { Theme, Grid, Paper } from \"@material-ui/core\";\nimport { useActions, useAppState } from './Overmind/OvermindHelper';\nimport LeftPart from './Components/LeftPart';\nimport { GlobalMethods } from './Others/GlobalMethods';\nimport RightPart from './Components/RightPart';\nimport { useTheme } from \"@material-ui/core/styles\";\nimport useMediaQuery from \"@material-ui/core/useMediaQuery\";\nimport { MemoryRouter, Route, Redirect } from 'react-router-dom';\nimport ColorPickerDialog from './Components/Dialogs/ColorPickerDialog';\nimport HelperDialog from './Components/Dialogs/HelperDialog';\n\ninterface Props {\n\n}\n\nconst getThemeObj = (theme: Theme) => {\n return {\n root: {\n height: '100vh',\n maxHeight: '100vh',\n },\n content: {\n height: '100%',\n width: '100%'\n },\n paper: {\n [theme.breakpoints.down('sm')]: GlobalMethods.getHeightWidthMobile(),\n [theme.breakpoints.up('md')]: GlobalMethods.getHeightWidthWeb(),\n }\n }\n}\n\nconst useStyles = makeStyles((theme: Theme) => (getThemeObj(theme)))\nvar hiddenLeftFirstTime = false\n\nconst App: React.FC = (props) => {\n const { showLeftPart } = useActions()\n const { primaryColor, isLeftShowing } = useAppState()\n const classes = useStyles();\n\n const theme = useTheme()\n const belowSm = useMediaQuery(theme.breakpoints.down('sm'))\n\n if (belowSm) {\n if (!hiddenLeftFirstTime) {\n setTimeout(() => {\n showLeftPart(false)\n hiddenLeftFirstTime = true\n }, 700)\n }\n }\n\n const getLeftPart = () => {\n if (belowSm) {\n if (isLeftShowing) {\n return \n }\n } else {\n return \n }\n }\n\n const getRightPart = () => {\n if (belowSm) {\n if (!isLeftShowing) {\n return \n }\n } else {\n return \n }\n }\n\n return \n \n \n \n \n \n \n {/* */}\n \n\n \n {\n getLeftPart()\n }\n\n {\n getRightPart()\n }\n \n \n \n \n}\n\nexport default App;","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport reportWebVitals from './reportWebVitals';\nimport { Provider } from \"overmind-react\";\nimport { ThemeProvider } from '@material-ui/core';\nimport { createOvermind } from 'overmind'\nimport { config } from './Overmind/OvermindHelper'\nimport { theme } from \"./Others/Theme\";\nimport App from './App';\nimport { GlobalVars } from './Others/GlobalVars';\n\nconst overmind = createOvermind(config)\n\nReactDOM.render(\n \n \n \n \n \n \n ,\n document.getElementById('root')\n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\ndocument.title = GlobalVars.myName;\n"],"sourceRoot":""} \ No newline at end of file