From 44691d3f86aa20efbac017de81f712c510326f1f Mon Sep 17 00:00:00 2001 From: mantaohuang Date: Tue, 22 Dec 2020 14:15:26 -0500 Subject: [PATCH] generalize to other domains, changed icons --- .gitignore | 1 + manifest.json | 16 ++-- resources/icons/action-bookmarked-16.png | Bin 701 -> 0 bytes resources/icons/action-bookmarked-32.png | Bin 1384 -> 0 bytes resources/icons/action-bookmarked-64.png | Bin 2478 -> 0 bytes resources/icons/action-default-16.png | Bin 645 -> 0 bytes resources/icons/action-default-32.png | Bin 1106 -> 0 bytes resources/icons/action-default-64.png | Bin 1931 -> 0 bytes resources/icons/icon-16.png | Bin 883 -> 0 bytes resources/icons/icon-24.png | Bin 1578 -> 0 bytes resources/icons/icon-48.png | Bin 4277 -> 0 bytes resources/icons/leaf_off.svg | 74 ++++++++++++++++ resources/icons/leaf_on.svg | 75 +++++++++++++++++ src/background-page.html | 18 ++-- src/background.js | 60 +++++++------ src/close_helper.js | 3 - src/lib/client.js | 9 +- src/login_close_helper.js | 27 ++++++ src/login_helper.js | 10 --- src/options/options.html | 103 ++++++++++++----------- src/storage.js | 2 +- 21 files changed, 283 insertions(+), 115 deletions(-) delete mode 100644 resources/icons/action-bookmarked-16.png delete mode 100644 resources/icons/action-bookmarked-32.png delete mode 100644 resources/icons/action-bookmarked-64.png delete mode 100644 resources/icons/action-default-16.png delete mode 100644 resources/icons/action-default-32.png delete mode 100644 resources/icons/action-default-64.png delete mode 100644 resources/icons/icon-16.png delete mode 100644 resources/icons/icon-24.png delete mode 100644 resources/icons/icon-48.png create mode 100644 resources/icons/leaf_off.svg create mode 100644 resources/icons/leaf_on.svg delete mode 100644 src/close_helper.js create mode 100644 src/login_close_helper.js delete mode 100644 src/login_helper.js diff --git a/.gitignore b/.gitignore index 7f9db6a..16d6845 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ +examples web-ext-artifacts node_modules diff --git a/manifest.json b/manifest.json index 871a039..4b0f4f9 100644 --- a/manifest.json +++ b/manifest.json @@ -1,11 +1,11 @@ { "name": "Web Extension for Shaarli modified", "description": "Share your link to your Shaarli, test version", - "version": "2.0.2", + "version": "2.0.3", "homepage_url": "https://git.hmthsn.com/mantao/shaarli-web-extension", "manifest_version": 2, "icons": { - "48": "resources/icons/icon-48.png" + "48": "resources/icons/leaf_on.svg" }, "permissions": [ "tabs", @@ -19,22 +19,18 @@ "page": "src/background-page.html" }, "browser_action": { - "default_icon": "resources/icons/icon-24.png", + "default_icon": "resources/icons/leaf_on.svg", "default_title": "Share" }, "page_action": { "browser_style": false, - "default_icon": "resources/icons/icon-24.png", + "default_icon": "resources/icons/leaf_on.svg", "default_title": "Share" }, "content_scripts": [ { - "matches": ["*://sl.hmthsn.com/login*"], - "js": ["src/login_helper.js"] - }, - { - "matches": ["*://sl.hmthsn.com/*"], - "js": ["src/close_helper.js"] + "matches": [""], + "js": ["src/login_close_helper.js"] } ] } diff --git a/resources/icons/action-bookmarked-16.png b/resources/icons/action-bookmarked-16.png deleted file mode 100644 index 9d4e2fd7e5b6cc049077b6dfb882370594fb6823..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 701 zcmV;u0z&n~H?_O(QI< zYQ;iASRh?sgN22)l(HfbEB*pO(vl`kT1^@Wl18KvHX_8wOgl6)_gEBZ2Z_6T?|bff z&+}dZRFcAVU^z`E5GGChXec!I05alc8bGjCXhjqfY_WM8;DhWLD=Y|jolQU#1rxw$ zfQXmPbM)Q~*-E+azFI0?Zk|>vb+uQLVtuOId13CoK6Q6($;A38;b;^<2ZW!4UqI?T zYSb|8wz7zWMni%43cw*ePiGq6S4pX@1`C35t6?>el^U<3sR=eBG)o)T8rlHtI5RKi z*Q9u^niTytDIWP>gfxIbwNmj!gkD+0xwz;yz|@}3Z2&C~M#lg43%?Df%biDY>;uMA znQ&MS9@hb=$NrzX9se>=rF;AFP!EL|*d^ky&~L7YN&o>5&Mr|&uqP}}0@NLb(u!fd zgSQI4fHoTtl3}A@;Vh!skl%pcMX?0f29Q>KtL8|~=NDI(hC4Xy7V#4(1?0dtS_a0> z3Oo;CZt*246jD|{XpHe`9F6TuLuGm89beGvA&X9S0AmvXpZVNAEVH-i$V`F!RF3L)}rg8gb(00000NkvXXu0mjfk7p*% diff --git a/resources/icons/action-bookmarked-32.png b/resources/icons/action-bookmarked-32.png deleted file mode 100644 index c6d2f54ebf5aaa974c25a7987ba5828f950a6be4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1384 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 diff --git a/resources/icons/action-default-16.png b/resources/icons/action-default-16.png deleted file mode 100644 index 405b099dee18a3a60905bc299854cf7c4a242b20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 645 zcmV;00($+4P)#MV|+gcOanDw z89>z+w{^AFEyl4sH)x`@?xl0?^hPXz{js$xm)9YUMP$-iHzJ~+M5OIKNBgQ(b=q2Y zq!;>HFfy_lb~-w-R<2?}4~md@FM)_}ipWHs6IG6h=sp1N&F@VT>-7&gT*}XmW&ld1(x|H31Ky?S%KV0jbJn`K-5N-eB*#@{9P|`O z4bb(pR&(0Z9N4tRLP4HOk|a~Wr2)N9suJbFFA@E?mC@~*`?7jFa$#dosZ`3w1PeW>dL7It$Y1Zx9b;snSd8{&S^G86>DTnPV4QR3TdnpZ5e|2| zg)3>A*7~Gov++XJUj?1A);-RDY7wAdt(}RYq1&od!8}RRl^dN-YZ)L6qZxoKYd_1f z>}RPovUE?>3vw&ja3M%^HoyAK<37_MxiG8YAC#;}gf_ fY8;oVyK(*j|Jt<{98FWQhbW?9;ba!ELWdL_~cP?peYja~^ zaAhuUa%Y?FJQ@H11J6lBK~z|U#a2y-97Py?Uv*FKOjq?}U0g2;9t05))Ep#|oFe34 z@Sp@iFob{xjc$yfNiYf`>M`IR^dK98c-STW5D&qC2`EHCHWC$oF$v1%hqz{TXR5cC zndy2Sw#S|Q$)kFZNI6i1tQ4MXG#bBZZB7ERu9&nt z7{~DmRgARy@H>rm+xyP<)3+B+ksTy%6~P$554t0s=U)K;QXNvt^>oKb*$2QE;TZrY z=4VY)_fsy1T1SVqjz+bPhH?=y7!#e&c>9)`x8@~Sa{~eZ#+Z9ZIZ~YN_A8|>I)@LJ zBOb?%4QsvwJ^(1CE;;8GxdBk5ybQntcwPj<-9hL0i|2V$WP1VkMz^4oVo7&l7_QGw z@~GDOg*+?jU^Q-m67invbVTHfA_nr}dInVH{N9-^Pg`sAJsbt$&mS zKO%T*5pGziRBi%*BuQ!jrj}!1&JKiObt@nr0g{R1YMT1HthHC?6SdZxl=6=$u7&RT!d#x8JrDs5a4+L{b}mn55sW%su`$Ot9{0pK>*t_vER$(@=GGF`JX&F>3QlI z5&Q*6B;vhij2Qq>T9JV$iXKc;H%!WgZ0Kwdl%5?QA8*W`Td&uzrD=N)fJ*>8Qg&z^ z4VBBiw-+{GjOjPVyx|-MXY0(*vp@n zmz1rTx%NJQ&CX%7*7|@-lKLpgZ!_U35e@}G@QAf`WF_JqOiWBnSZiMg+|wk#nT_yV z9LJ}80IsJecx`&R^>`4JjxKe`R)RQ=&jJ{TqUbK?uu}xbv62O9t+#ajFK$^ir~fzp Y1z#O{52}y-uK)l507*qoM6N<$f;&3rD*ylh diff --git a/resources/icons/action-default-64.png b/resources/icons/action-default-64.png deleted file mode 100644 index e6400f46efc8f4efa6a9a3fe9922c9e8f3b0b05c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1931 zcmV;62Xy#}P)5Q?HP@|vVJDwIN0p_{-Z~awKfln;N*VB zth0yN-!Pp=3IXRe3jz!}fk87AZKk&Y)Z)32QGiBTY@Y!1VaHk`6V1ms0DxlzTn?b6 zgO&pT{Xa%s0C>Ogpv@={AEk=x0lB2fDalrA?eBZ_9UV{a2B_F*3j*h&sj0~W-S|7< zAAtn{2A#m5SrA~*2@IMOUVx@yP;0$Pgf^xW`w3?MCIB$Td^Zenb4qam0L=b*0H#j( zJ77V8K_@V1n$`kgNY-(1a4rr+Fxu(|5TA&=S?Y}+iyJbL6DzI=mSX0G`;Z9LSP3_{ z0(xHyI9i*hMc_6XiR4ae?am&3M>4P00!pdVS{n}lBJ$r}{H94y0*KIeBCI|$ztM}| zH0fG^LZNW7GA4V#_woo)rlI?m9oBFMECh{&T+73M452tZov8v&f&S|B2O znfaC8(@KvvTVid=XstIzJ^Mtc3=L(rB$QWb#1>$9czAIT1b2wgIZ@>zbkF4E;<9QLiyLj(EXF<0do!+&r06Js)_MhiwIXtM zyEzk)?6cP13?PgfGzjDh$HDo{HarF3`nW!lqOAa~>z*k>_oDM`agVij6ON-{ua&l= zK&e!ESwx=gPqkx1n z8CnnElh!g3yeSg?5;LaP&SgrO-vG_?hNMVZfc%kUol9E_h)@jz=lV`-erA3Wpt~cA z&R5FZtF``YqS+!r0bJKTNhy6FfNw+;*8sV(T=r&to|(O^0R26p=u{DGGsb+i=VTj5 zL;z#VxkSzb04nh;LMrpnAyXWXvnEksDDFWz7zo750?^yLj*8&)0mMf+22XHYW=M&K+)_NU)MP0_|N`QjadR-V|D?ndrbIzfmq0E|6sq|8}iPaHn?L9>D zYea9pWJGASQsyDoEna{wCU$cYKx@5HDYHX_R-?@`NF*<2GPHVfvb(pnQCMpqB9e{u zC36&`L~^@Q=C7{no;erau>{asuh3fmQG|X6U}>Av1i*vV+Mjx!m-xEgTDzxK%Unhz zorFD&DDx+!%%8Q^UyI|n<4kbTqTy5W`P>ZvZ2+jlT3yD8a0|2Dh8X*Vxm^C60KV8_ zey3WkJlUyUtu{4LsVv@=%T>P+QNNMT0rahWKL6!hF6UP&m3Pr*CK-7fYpqv^(2s%e z>zMs6*^|jQoBMIqqxpcDaf8+=AtYWMo9#r>oRjg?CNKe}v5FNn2vN1;%7)^UbzL&S^P7M227TdM_EDP^7^l3mu? ze*>rt0dVT8w(p7Hq!__N5qUhH&;DV2e7w7z$b=}D%kKfWTq(7Rh^`bN)#-c@WC5%c zp_N*j_pJ3VbO3}${`3&5@vj5nno`Mb9(3ay2$^{s5nV_myAX5LC_;|_2ps@m_QwFc z*6w5?d51`T#_a!ynO{vL?S%1t|6^$A%#prI3F=0nDqTfz`yfb0jHzgg=&f#dY` zSGnvx2jDql%()_RNxfqyA{?~VPJhPJGz|K_zqeQ{UhH}PejEo^I}X0@?**`TczF1f zYBl&FAp3x0A63qn2Y8MSW_1N2`5dTYNxq-I0-zrn|58Pt6OY#HUiRt!7wk R#pVD2002ovPDHLkV1f@8kBk5S diff --git a/resources/icons/icon-16.png b/resources/icons/icon-16.png deleted file mode 100644 index 259bf2f743748d7c5ba28eeb5347aefd85434e03..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 883 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 diff --git a/resources/icons/icon-48.png b/resources/icons/icon-48.png deleted file mode 100644 index e8b1307e86fb0f8a628316b2a473a22b94733d16..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4277 zcmV;m5K8ZfP)(5L?X2Az50ay7LiUZNB7Ceri-5hs#mdEb#EN6!DjD8FpkGIKB(e36Jq(IeCp zeN*?AKmJ#e zB)Z#@@1R@W%!mN}D~Je)s-4&uc?^OGlh^CLcKi12j_(D)6Hh$hcDYTJJ1ng3gCv@!Fvd#07XWkT&OOU)viRd_D+T23&-ZCVjeRvdo15_ z8S@w>4u04442ZCL6e+D6zHHy51q&7!|E2)y>+2;|)p9`)BI@yBHqPLH%TNwY<9b_r z+mn)Dh09QRnlB`^D8lMda9uCC;)*MLe^UU97A?{^=LP^s@!nzfFTe(q=!L4Pu^l^h z>;(Xem^a)H2vBqxF|`dQqfsg^FCX)5^pMVkX~~i$S+i%)&UZSUC9*8%0&sB7&7|v- z!2nGss5(IX$3bL(03#SYGQSh+*H|ak?;k^#hN#wo6z?U;Y%DiftmSTZ`OTWD;qABIITndTHbx@h zHxr3OV|{&n=#^Jq(Z3SF?%lg{{C@xK4!iSuqrp@mNQ5L0A)+2fOzuJ|-h;Frfl5gb zam3V4v?aH)VERii00Z@aP7(xWgdhk>CJ5R<2G;2G6KsmSiSE>1CNT?Kh9dG9OIfz5 z5%$aQ?0@$!&LuGk+`RgX5>1>7K!k5uE zaUk+0g6aK~;vuH!N$8}4m3cHj;xt4QSmFqf`Ixnxvv*$hH^=93;ef#!%&pYqDcZLCIXlN*|t*u>YG#aXo zCAQKBU3a4+)i_|TUtcesq7^3w5Ca&~8Do^W6^vj)r!P(#R78>FQ5Hxa#-8vRgwt>&CShsmzS460{}vOeZ5pvRJ6!!GFLUn*3qjiSFxk5I+9(at3n7vG^Bwt>qfFq3a=nq)J6a#Sb+%AGjC*q=^$J zdh9mmf*9|{+pWJ~VWk%$%Y?b1OYc8vI`z=|f202Y1qKvar@<)Lkxut~YPZ|NAn<(4 zBr(fWfslL%0u#X?fJlc<90U$d1WuXj78oF&a_?zP#fI*sj7Xrm{3YJ}ywP{Iw6uIC zx!vwkx64`hS??MInAe!M2eK1Qdm;@)B#$1>LCoG~H zPQxfvxMnj=NL#Y34lY&#=L^Z zQR%9KNp!;`T2Hn7feRqwU_{^=SNb}-+n2VqwCtZhe?DKkcI};0r%w52NwoZEl(o_! z%W1ADDtFlO1VLb|-_NA}#L5&sfzLwAv9|r65Ys}#bV}$^9FA>;Kj$o8C=?neDT?9% zfQS-0EzuAGg|?}flyw6n!8DTV>iy;&Oe7P#T3T8*nM|hMSS+@;wzhW10ORc0vs(`z zKKvghqp8$vwv3HNBXT?*j~5gam;|Fi>{r|kzzBdD1sg8RxfA;%o3Nv2_3$W1Kv?Mn z0LZeOB}tN$0sxcXgi5DG6aqR^hY(61$0$qLNZp(WKmScIlX1A^!t=1A<+ zzawm<6JV2^sB~QlP1Pe7i?vyJ_uY5Hp`PGshvdTzWB!$_q6e~uVYRzH5Z?MXIGsd{ zaZH9uut8Cj^#=|dxFtU?f0fNeWYJ@*<}a)dHzcaofWwy_8K}AYh=CY zP(~=ex=H6ckYz5STgE-b47#=F-S^)8O-)VhYh+Bj|NX#E@qYW$D0Wn{EOWld2&%{A z7xS%W(T<*VETJYwmah-pm%%JKQRA({t>d1hbA4AcuJJ%;XUDH9Dk@qAFKWe#6_s=5 z%vou-+pEG#02?}A#Al)R=tQc8C3y_0o`z0*gwzlG-Pnilg;+rC8tbd#*F#x z`|b7g!ogoKP1jNBz5u_hd>MJxG6I2vLEP2zA$$73EeOgT!tUVz0u_%Im>YLq}VC+v>8ivWNSWZsRLQ9z;NHV+5c( z)sEwdeRPiZQf4(cK}5RWS}GLVCeWARZ7i(x4Q6`+5Yr;?n({Gw^g`rWOPN`)MH7j{ zniIhj&u`wm`M#-Br|uqcGWYuHuSbiEi#Pdld~c=G=|d*TVsjh(zOk-qV_50I#?BRk z`9UYZAQrHpD6)jIN znbR;w;X8Nzg)90_lXluow z@9=(~c(3(U+}n69`{cxjY#-x$0Ern8Rl^W)dNT#4qdn0=nyxZMQO-Ie0Gx9#5h1B1pz1nK zO<{ZcKF9rye-E8F(z*=BFpNjxz?B6zpvseZNt*7Thev8&ru%o?$f9cOWWB|JxSANO zfB0YNxfNaO53?klkqH?Lh9itIc+I&GnCY~!pr!)}ErAr52TO{f--_*H=%?lPgLF!@ zx3~WxnN04x#6OQMp7;{7O`}K~!auYu8Ig#=D!IUz06`GKX9VDyYp(esEvJJMJm;a% zRz|A+)iu#j2lp6r=$B{x9)XM4|w$V5nzwB?Kd1cN~}nM(d4$DD_Ms9MT==21v$nefI(AVmif8c=8-i{I6} zfLWujVWD7X&nKUJawh;>aKQz;4jw#sbt;+q^W^NAcxv)$_OtO1l0~vZ<|E7G1jrmH zaa7QB{}l-LMLItJ{PWMx_>r%!u5Q2G?wDNRn^1Id-W)oSYGobCRw!IM8Rh^8%z#{L zKCT~g8L1;}DHSpO`Xb%7$bz#`gxg1J8DMchB?@P&2j*5!TYXVz`owmIVQc#$m2{sI3H1VMJWT!B%eMs@Al zwJW(`!2 + + + + + image/svg+xml + + + + + + + + + + + + + + diff --git a/resources/icons/leaf_on.svg b/resources/icons/leaf_on.svg new file mode 100644 index 0000000..3ee2089 --- /dev/null +++ b/resources/icons/leaf_on.svg @@ -0,0 +1,75 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + diff --git a/src/background-page.html b/src/background-page.html index dde7644..5fa28bc 100644 --- a/src/background-page.html +++ b/src/background-page.html @@ -1,13 +1,13 @@ - - - "scripts": ["src/storage.js", "src/background.js"] - - - - - - + + + + + + + + + \ No newline at end of file diff --git a/src/background.js b/src/background.js index fd2964b..f42c02f 100644 --- a/src/background.js +++ b/src/background.js @@ -1,7 +1,3 @@ - - - - /** * Open the given url in a popup * @param {string} url - @@ -9,6 +5,7 @@ * @param {number} height - * @return {void} - */ + function openInPopup(url, width, height) { browser.windows.create({ url, @@ -26,7 +23,7 @@ var last_tab; function shareCurrentTab(tab) { const url = tab.url; const title = tab.title || url; - browser.storage.local.get().then((storage) => { + browser.storage.local.get("url").then((storage) => { if(!storage.url){ browser.runtime.openOptionsPage(); return; @@ -42,7 +39,7 @@ function shareCurrentTab(tab) { * @return {void} - */ function showPageAction(tabId){ - browser.storage.local.get().then((storage) => { + browser.storage.local.get("pageAction").then((storage) => { storage.pageAction ? browser.pageAction.show(tabId) : browser.pageAction.hide(tabId); }); } @@ -97,9 +94,9 @@ async function updateIcon() { // Set initial icon var runtimeUrl = await browser.runtime.getURL("/"), icon = {path: { - 16: "../resources/icons/action-default-16.png", - 32: "../resources/icons/action-default-32.png", - 64: "../resources/icons/action-default-64.png" + 16: "../resources/icons/leaf_off.svg", + 32: "../resources/icons/leaf_off.svg", + 64: "../resources/icons/leaf_off.svg" }}; // Firefox allows using empty object as default icon. @@ -113,9 +110,9 @@ async function updateIcon() { var local = await findLocalBookmark(tab.url); if (local) icon.path = { - 16: "../resources/icons/action-bookmarked-16.png", - 32: "../resources/icons/action-bookmarked-32.png", - 64: "../resources/icons/action-bookmarked-64.png" + 16: "../resources/icons/leaf_on.svg", + 32: "../resources/icons/leaf_on.svg", + 64: "../resources/icons/leaf_on.svg" } // console.log("tab:", tab); @@ -152,29 +149,38 @@ browser.contextMenus.create({ }, onCreated); async function sync_links(){ - var token = await browser.storage.local.get("token") - token = token.token - var result = await getLinks(token); + // get server url from storage + var storage_server_url = await browser.storage.local.get("url") + if(!storage_server_url.url){ + return + } + let server_url = storage_server_url.url; + // get token from storage + var storage_token = await browser.storage.local.get("token") + if(!storage_token.token){ + return + } + let token = storage_token.token; + // construct api url + let api_url = new URL(server_url); + api_url.pathname = "/api/v1/links"; + api_url.searchParams.append("limit", "all"); + // get links + var result = await getLinks(token, api_url.href); + // generate link dictionary let links = {} result.forEach((value)=>{ links[value.url] = true; }) + // save link dictionary browser.storage.local.set({"links":links}); - console.log(links); } browser.contextMenus.onClicked.addListener(async function(info, tab) { - switch (info.menuItemId) { - case "log-selection": await sync_links(); - break; - - } }) -console.log("addon loaded") + browser.runtime.onMessage.addListener(async (message) => { - - console.log("sync signal received",message) if (message === "sync") { await new Promise(r => setTimeout(r, 1000)); await sync_links(); @@ -183,5 +189,9 @@ browser.runtime.onMessage.addListener(async (message) => { } }); + + +console.log("addon loaded"); sync_links(); -browser.storage.local.set({"attempt":0}); \ No newline at end of file +browser.storage.local.set({"attempt":0}); + diff --git a/src/close_helper.js b/src/close_helper.js deleted file mode 100644 index 6c210a3..0000000 --- a/src/close_helper.js +++ /dev/null @@ -1,3 +0,0 @@ -window.onbeforeunload = function() { - browser.runtime.sendMessage("sync"); -} diff --git a/src/lib/client.js b/src/lib/client.js index 162df19..a03f5c3 100644 --- a/src/lib/client.js +++ b/src/lib/client.js @@ -9,21 +9,16 @@ function generateToken(secret){ payload = base64url(`{ "iat": ${Math.floor(Date.now() / 1000)} }`) - console.log(payload) - // payload = base64url(`{ - // "iat": 1605996074 - // }`) var hash = CryptoJS.HmacSHA512(header + '.'+ payload, secret); var signature = hash.toString(CryptoJS.enc.Base64).replace(/\=+$/m,'').replaceAll('/','_').replaceAll('+','-'); return header + "." + payload + "." + signature } -async function getLinks(api_token){ +async function getLinks(api_token, url){ let token = generateToken(api_token) var result = await $.ajax( { - url: "https://sl.hmthsn.com/api/v1/links?limit=all", - //url: "http://127.0.0.1:8081/", + url: url, type: 'GET', headers:{"Authorization": 'Bearer ' + token} } ) diff --git a/src/login_close_helper.js b/src/login_close_helper.js new file mode 100644 index 0000000..91099c3 --- /dev/null +++ b/src/login_close_helper.js @@ -0,0 +1,27 @@ +(function() { + browser.storage.local.get("url", (storage)=>{ + server_url = storage.url; + if(!server_url){ + return + } + server_host = new URL(server_url).host; + if(window.location.host==server_host){ + if (window.location.pathname=="/login"){ + browser.storage.local.get().then(async (storage) => { + if(storage.attempt==0 && storage.login.length && storage.password.length){ + await browser.storage.local.set({ + attempt: 1 + }) + document.getElementsByName("login")[0].value=storage.login + document.getElementsByName("password")[0].value=storage.password + document.getElementsByName("loginform")[0].submit() + } + }) + } + window.onbeforeunload = function() { + browser.runtime.sendMessage("sync"); + } + } + }) +})(); + diff --git a/src/login_helper.js b/src/login_helper.js deleted file mode 100644 index 23ed663..0000000 --- a/src/login_helper.js +++ /dev/null @@ -1,10 +0,0 @@ -browser.storage.local.get().then(async (storage) => { - if(storage.attempt==0 && storage.login.length && storage.password.length){ - await browser.storage.local.set({ - attempt: 1 - }) - document.getElementsByName("login")[0].value=storage.login - document.getElementsByName("password")[0].value=storage.password - document.getElementsByName("loginform")[0].submit() - } -}) \ No newline at end of file diff --git a/src/options/options.html b/src/options/options.html index 312a3da..9f2a41b 100644 --- a/src/options/options.html +++ b/src/options/options.html @@ -1,56 +1,59 @@ - - - - - -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
-   - -
+ + + + + + +
+
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+   + +
+
+
Icons made by Freepik from www.flaticon.com
+ + - - - - + \ No newline at end of file diff --git a/src/storage.js b/src/storage.js index 4df7be5..a8e1d9b 100644 --- a/src/storage.js +++ b/src/storage.js @@ -5,7 +5,7 @@ var storage = { url: '', pageAction: false, popupWidth: 900, - popupHeight: 600, + popupHeight: 900, login: "", password: "", token: "",