From 5b51794d45a9b89fa4bcf9890598d6f5d4216da8 Mon Sep 17 00:00:00 2001 From: Igor ESCHALIER Date: Tue, 27 Sep 2022 14:40:35 +0200 Subject: [PATCH] =?UTF-8?q?feat(chrome):=20create=20extension=20?= =?UTF-8?q?=F0=9F=92=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/chrome-extension/background.js | 67 ++++++++++++++++++ .../images/get_started128.png | Bin 0 -> 1731 bytes web/chrome-extension/images/get_started16.png | Bin 0 -> 342 bytes web/chrome-extension/images/get_started32.png | Bin 0 -> 436 bytes web/chrome-extension/images/get_started48.png | Bin 0 -> 634 bytes web/chrome-extension/manifest.json | 16 +++++ 6 files changed, 83 insertions(+) create mode 100644 web/chrome-extension/background.js create mode 100644 web/chrome-extension/images/get_started128.png create mode 100644 web/chrome-extension/images/get_started16.png create mode 100644 web/chrome-extension/images/get_started32.png create mode 100644 web/chrome-extension/images/get_started48.png create mode 100644 web/chrome-extension/manifest.json diff --git a/web/chrome-extension/background.js b/web/chrome-extension/background.js new file mode 100644 index 0000000..7558f68 --- /dev/null +++ b/web/chrome-extension/background.js @@ -0,0 +1,67 @@ +// const CLIPDROP_DOMAIN = 'http://localhost:3000' +const CLIPDROP_DOMAIN = + 'https://clipdrop-home-git-chore-stack-structureimage-url-clipdrop.vercel.app' +// const CLIPDROP_DOMAIN = 'https://clipdrop.co' + +const PROXY_DOMAIN = 'http://localhost:3001' + +function transferToClipDropApp(app, targetUrl) { + const url = `${CLIPDROP_DOMAIN}/${app}?i=${encodeURIComponent(targetUrl)}` + chrome.tabs.create({ url }) +} + +function setContextsMenu() { + chrome.contextMenus.create({ + id: '@initml/remove-background', + title: 'Remove Background', + contexts: ['image'], + }) + + chrome.contextMenus.create({ + id: '@initml/enhance', + title: 'Image Upscaler', + contexts: ['image'], + }) + + chrome.contextMenus.create({ + id: '@initml/cleanup', + title: 'Cleanup', + contexts: ['image'], + }) + + chrome.contextMenus.create({ + id: '@initml/relight', + title: 'Relight', + contexts: ['image'], + }) + + chrome.contextMenus.onClicked.addListener((info, tab) => { + switch (info.menuItemId) { + case '@initml/remove-background': { + const targetUrl = info.srcUrl + transferToClipDropApp('remove-background', targetUrl) + break + } + case '@initml/enhance': { + const targetUrl = info.srcUrl + transferToClipDropApp('image-upscaler', targetUrl) + break + } + case '@initml/cleanup': { + const targetUrl = info.srcUrl + transferToClipDropApp('cleanup', targetUrl) + break + } + case '@initml/relight': { + const targetUrl = info.srcUrl + transferToClipDropApp('relight', targetUrl) + break + } + default: + console.warn('Unknown menu item clicked', info) + break + } + }) +} + +setContextsMenu() diff --git a/web/chrome-extension/images/get_started128.png b/web/chrome-extension/images/get_started128.png new file mode 100644 index 0000000000000000000000000000000000000000..d7a9d971b23db1ffbf245535958fa4ba25fc9cd2 GIT binary patch literal 1731 zcmaKt`8OMg7RQr_h$WSoh!R57`cOt|E7}NsLK}M!Q-)|!OB+LxW*U;H*P$ZmC|XM? zUNyGzOr7a;NHIlEiBJ-BXi$@)MrhR*O#A`!&bjw~&b{aR^XKLT_~Bt{C^Y~80Q2!a z8>ArPu%Qse>^(z%t$=EZcX%2AppH0fAfT*5M{xwE1>rpaEdu>T#R87U`QiY8HjcWS ztPB7^NIqwAL@IEll9T?{5#E2go-E=bL_7}n{yuAa$|Tr8-LX&+zbCDcC1omGpg)y}qI*th;!FaR|icsq`* zPm=5Q(i>btm4w~G(03;ufF`|Vo(%gFL%P*YLUC2$8nRCdR=q?T_tBmKCj9=j9FAd= z48MaaRx8yFn;8Q){W?`+bfMl5LfendA$!Y&2gI$K}Ocm&>a1T`ZlGs z;S@4CzoV%OGR7aludKeeqQD$>+0EScNTm-EsjI-=yyUsLmYu!HD;kyiL#7MCMYc=$ zix%be`|ZY2rPBc^gXM@RK&Ld)eh=RddYabPP{_>DQFE73ew1=z|8R+)l3;y41;KCl z3eS{042whe76{MdWe(k)eI(b|(Lj;j%L%x=54_33cb&QfFQ(*#-n|8!S|Kz=K3Y^| zBEJn6L4LViowdxR`bPWY`rD?sIySNql?bYEP8bkH#(EqOBuxCXt`Mc)x(m<$r?M#f zRYVLwIbsY@Qgkx=E9yG>Le^8q7p6>eI`-bme8*qS5Uo?%aenAe-pyeXNF+C z`oiW4XXbx_epC*2IrkYEs%jC>)IY=d$HWSsqnyJ+~mcA(q_<&_U0R$0NN3|>j{&zF=YiWav&G3E`Nu=`wE9-nmT+*zqaZ4J)1sv zoQY)7(UFvRAuH^ z`(wzq<>XLn`e2hWA;n@!Cw^-@w}EawpC%=^_JDUEuU*;D8|TEf2tHBuCPX>GjjXrg z1>OBv{xp1bVj5FpG;AV>;SIZ`WkuqMO%KF$KGQApM7ep@go}Nu7(lZ_Z`&kxCzjq> z{d{1Np1XIe=?t{-WifK0m9(V!g>c~Xelg#=PW?jCdTp~)Sm_mBjsd^?yXw2;K|`;^ zNvaFQ{xQ-?K1WSwhsCkO9kF2$t7+Mfup4LBjEJ-TDs?@dC3P}Si?u-E+-+$Auhhkl z>Q>@Bv8J!Ckjm%`#csETwGpz6i2aJZh`r7U{5{O`RLfC?m5?=%izo~d)2#^%0w$)^ z07nN*6;eVyLshJ)8K^2%w3HF3DpogvJG|bk=lo9Sd<7D5XfwibCI0qUL8Fr_&id1_ z+WcmC--zDeTD|hHSWCDUiyN)21;GMr2FWl;^zQ-{_S_R#Uq;aH=Yb3RsaA1 literal 0 HcmV?d00001 diff --git a/web/chrome-extension/images/get_started16.png b/web/chrome-extension/images/get_started16.png new file mode 100644 index 0000000000000000000000000000000000000000..41745136ee1b4c1c30a5b749b2d6b7a861f6d0fe GIT binary patch literal 342 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>``W z$lZxy-8q?;Kn_c~qpu?a!^VE@KZ&eB{%cPc$B+ufqm%8$4mt=Nb2llus2Qwf$!I0J z)M#m+pQhgf%O>FpOGdv2;SRr~b}Kk5Cj`u+63=EgT~-W4<~I>>eBK=+SH zr?x-4n&v!z{pX`b9vo{J9FP5qtbP4M=irn!_eG4`6`s|wtW$WhgZb72&1>7f2gS6j z$g<1#PfqM)P~SFBS#)W7fbitUewXHaUQ)*U>rdpYLo#O$$l7rIs!Wm#_GgdeSNE@b z6#i4p#NkL?d{_1vvrEPqjg2$*>{@WrY}%KoQs3fv4XhG{ar1vKpRvW@l-T5J-LF6B lJG*u3ERX+dS}wbvaiX!?JI;pK!$5B{c)I$ztaD0e0ss$Ch6Mls literal 0 HcmV?d00001 diff --git a/web/chrome-extension/images/get_started32.png b/web/chrome-extension/images/get_started32.png new file mode 100644 index 0000000000000000000000000000000000000000..6eb0a51d91e9a119559de699edcffe9b100d6568 GIT binary patch literal 436 zcmV;l0ZaagP)qBx}B!+37k`A=m?S+~CC!-yt76!^AV+)E*NdKMnMO z+H;c`QnZG9l;fmbENK8&Yv3rZz2fgUiu3oo`GD5~{!~s%queZ7A8Y_O{yp*~Eb(GE zOsnFT7MDvUmSU#Xv{DL=OYzw7U!Zce1_%YwDwPKLAw`Faq3ugDhch-20Z2pxyC|)e zBoDiMZt=a;u3+PXmarvQf+g5N=s-GvR1mGeO9iF_Cl#0uG!^9C0tNCe=L_4gxkRJWYE22q$iv@@dEy}58;%A zv3jq$zAL0 U6}{!5