From 7ded8a39be1cfa2b9a1fd70a239a4150e0d3ac2f Mon Sep 17 00:00:00 2001 From: talksik Date: Thu, 19 Mar 2026 13:22:41 -0700 Subject: [PATCH] feat: add app icon --- js/assets/flowy.ico | Bin 0 -> 6792 bytes js/forge.config.ts | 1 + js/src/main.ts | 5 +++++ 3 files changed, 6 insertions(+) create mode 100644 js/assets/flowy.ico diff --git a/js/assets/flowy.ico b/js/assets/flowy.ico new file mode 100644 index 0000000000000000000000000000000000000000..f097dba266b29e0280413fe218d01951f029e301 GIT binary patch literal 6792 zcmb7I2{hF2*M9~fSxc5|LnX^3l2UfYHWY@0?1Nzy9xg&U?=P{h#xG&-u=Cp69vqJ z01p2<|49MBTWC#O{O??Z5`d>vkO1`jk^g)WfCd@>qI7SmGtix(gO(XIHIQg%guV!v zX{n)KzV#z3XgKbsVeAP2W6PfxmL$r^1$~1<6RBh%-APDnbZ8c5eyAXNi=H}MFN0sD zDW-3>G*Vt;&xZK8U1-2lk&Skhmy+{z$F$PY<5w*^{esS}GVbJw)my$K^_V!G+yP2m zFpH|EF(G&dQ|qGMQ}kS83+Xp$41#SXDf}`x%C9V9LdRHCSb&y5bwJCXU+BPWOR&9~ zZuRK;F+2tUeyZ9cuI;(Cltr(A+iF3(k8L^iD$&GqGx23!YETSzS(L zZeNQJujc5hx;PmKe#_D*qBPU;q!-+}&8YoWjR}U7Bf(SU=EVtUfn2I;S`tl@M-6xW zh|4=8$71Js7i#{9t;zG!-)V7q_m`MI&c=OL?Z2`)B9Uaf2uX@2pIb_Q%Rb&BWv{4rlaO+m99kPCY$N zfB#%e^yA1AcXE-EPjzdFm<F`9m`j~Myv&Bv z0p=`yCY;f~$91WhxwaylF+AZ@yTlcswmB0+~n_{wxe zqotit?qh+_7t*+-QT7YC0{6!)XFPaX=QjuhtkW^D-$uE(&ZuBmC z!37d*W7nOj6did?&@7<~{;85W43@@*Kk0>Xp=~#B?@d2|q-qw|6=I$C@9cSEDn>)_ z{(gGG=opepAk41(c)NSnK<30Ii3A9na}-@&-e&XRoqN9*5l2i*0i-Ltz~(Sau>ye0&y*=irB;zC*U z5;(q!w>$_#)=1XGiv_`Nwsp0%m^yY}UBB5~GquBe4W`C1V;epzYbwNQ2eYXhlBDEU z8K82rAM<(dO7VL~ma>G=l2VZoaFMb_fGWs@1$lF;Zz8gEh3flEu#_dz=N|5#%VDZ= zzJobY&EI$eE@_jV3`1Ox(~m_=w_UAMk=?1%wkIS&gE?0;)^)` zO}qr-f-KXO&%`oJ51;Z%H?P$nb>}X=OI=3&q;Wot=#Z_%P!N)J>e_>QamaC;fk-4$ zz{H4|3PN-JVGfd_z<>_8xx2%J=lf4+2qqdC8%LRYqpSi0xzMPto*s;g3nOsz@Sqs> z-ZSJ#urfBRPnM(>aEOUb`_OO?PD|m|efAV7m=7iF=>W}ER#rHM?`BGw8*-f&u({0n zC^lC0_tD5msxd|0>(`|vCCoeiJ?qnZhaJknFIvcY#lzW^jFq}?1~1>mIgjZmd)Q~hD&TQ z3cR-|m6$gIGM!H$a)UO$tTc|RrBkmv`<#a7%6{C8*T_>k&L3Ax_ibvb_&z}^uXNZX z8I_B^h-R=STw`D@;jF=P#kM^g3h06V4vba9h?e0{xe)0r`c3XIz%4d|u>^Dh-pF~t zdqTf^rwsj>*JMz{*0Vd=Y*>!LjFvCp!_LkQU+zG1L4j~Qe)43WXv_Y+@@tcyPb&xg zmR-fvm>%*tCef-~PPJL|x*>V}dg}R{RM<%Fr|SxD2OW~$yb%p$QRB!KJ)~e7)AKXU zd^`<-|35GVO4d+j{)Z{19{G0A?B8XClR`y~F^0o8vPZH8Qry5Ov z^R5WbPqtKcv*{{b3sV|Z>nyxU-F;p<)|+AS9JG&Xi}VzWRjsIs`g7d+PUyZ;CFHq% z%~N7HdzxY-#~xK?v#h2mSo2E5LDl0<;8e}?ewu_rr_PhYpX$mbkN6aSeh~D%XV-YN z({0*Kf&BkI8y%Vv@63o}?~1>8Pw;~G0$)W1(kq9Y1mTA_+UM?*A;s7LdLh-3Jg3x*dvp78jk9Rc70(hhNy!1mW2x$hNtNS zCUCZ2nURyBYoS zLb;ZYgn?f($2$83os8$jgU+Q6o3Tvv^!p9?eGTEww-SQghM6L^JLPQpDB`uYpqF)Z zGEy=!fe&~TZGY^@wWTytk@k6L!t)FDDG8hDpaJ{)`zIo7OI>^F3UrIj)al$3=9khQTTdTR&1+|5}^3wQbz<89_zetd{2q-PlZuMU6nlb#?V7%ZOlW9#clSP&X#6_HiGK0f9z($n88rBU2|K|#;NLHn2XY z$YLno#x3o=WN|;U?E+K|Bq$%O)Ul^l0e5gU+JxWN!d*vh9z0^2~ zAJQ6l;B2!2l~R{^%s(%Wf}pPbxZ8si;ya zm%jpQ5(P-dqEym2ZNzji!*!NY@hA!{Nr0D@hJNrcMI=2C$e_$G0Mq(7B+DJk}#M z^YR4!GT!|ljZ`|amyIBbEE>C+@tdCD?2)hR+vxh2oj{O zI*&#?d-jZmP8&my=u~!fz2wS>0S1kyR98v%J{K5#P?Y``yaSj7J?y4Ok}L z%vb|v7D^nx@)LjyKr0de|1tIgEb3qOCLP-_GEqOIYzl4y_;VO~Hg@*2b*8EKECZ35 zA79ezMdM-29~kb?NlHo@85u!UO9EY3QY8>Gug3?;_egP_MU?4KM$>Y)e~3DDp(J?E z$IHj(W7%5`r$G74_W90a2?+_7ROdVqYDL}5eKacD2x0ByL?0U)TS6o)WJ^%bdvMNs zq_*-o%^06VbX?5CDM^8Nzh-h~fa5PUUa`zx}oLwQrbse%^S9Vvs>3Q)bdR$UfV_hBB-FGgLt9vs%Y87n{7`RFT z$u5w{^UUp0mW($*iN~z2wpKvm+LkPnv$M0ki_4E|Fui$7I9^pyAi;=we=F3GuGHvJ zre9&uU)Mp3RM6F*di;+fcxVQh;IAv~8Me<8S^$1l$&jwblo2{a{IUKEZgMzvc!z54 z)3D{*?Vm5>r)$MBsn1b2y?j;4=;Y}9Na<>NYvc)baRmj)3Vuy^7%AWAS)^97n3aQr z$m7=eJ$Y2_SK{gT{HiuKYDEU2BvgmZ3Cq&0TjFs|W zgn!ivV=1M~@0Cr(OCN*hfI&eBbHXY}So8T0|BKuIf+GiDz1qgH-C&V4)=@d6w9RH) zM5EYuF=VW2t>u(X*2|YKbK*^6Xz3y;1TS1j&=!2NlX7jCGRvL~i(qSpf^Og7;4zGL zYaI@vqL;7l+{R)*#BSP62NXS^Vp)JxfAP@k#(^%`FEE4Li+!0V zk3jLixb@ONL~h_}PfyR36m&U`o3nIxFI{4q#?uB(wSWAmoFDIML#Zen2^Gq((8AxU z-sgoQ1fY6Ax75LOI(l zumwLGlAfO4yuUANUHYvsq@5h>mqC*|5KK-*)1_)tV=x#<<f&d+*YsxOBxVji#d+bPSbK>nMlVsaU=>Sp=K7r*F~=~^hE|e+OF|>e@`eqmQ++c zT?;-s>jRMFRZua+cM*a3u6zoBtV;P0&01dAqGiLkh9YcW-oszpk+?=WIpLY*Wjf4r z!VExdp7pjA(dX366Xgd-ejy=;K|d*`M=Kq*G8TAj0dsH&*lxgHN&JL}6a&v*!xV;< zc7OZkSXLg@nu;COKPfiu0}#T_HmrJ{QS?ggo8s_1pM;8yxC)+pvOzl@SU~#pP~(i9^7}*y*7oq}U77anr-O=~kF=ln_v7YtGnt;uv z(!%Ygk9j$iv!*Da8>c8P@MxJ_|mltAO zN!D#8UP2%c^-FspPm+%bJ0Pht7S6M?v6&y!#ajbQ7nfg7P!*8GM-!c6UAi4!Q&UrZ zo2Xn^&s2YcU2H#bPFj{gJGQBv!3N>;81 zl|$>FY<|l?Ro5KQ9-wTpDIZyeGTY*V2M>zFrtWCWFoH{opX#qjNo|%p#2+dh2Y{qs zFfh-+b@lC=H*dz;Pe%y9C1A64w`X#-k`L)_%dW9QO<_Q8i{-ipCHoE0Qlk~k2OyHL zt(E)rE=1NnNpJ$HvX$rnCENnRrc(@M8XW}NvMsHyQFNoJ7+?DH=Rtk$&kG!S_QKBq zV9DLCncO*_xIA1u)v^G1!2B-MRvUB?P!;zuHIlvtfOGC+I8rps%g1jrg2Vmr!+3US5u^udd#P6_Q?A zT!ebx+mXsv{Fy!RZ|}YX(o<;{P@vcMWxxv%xpsc znXObgS5{W#zRB_q6j(oRZ*Nb5YTlOX*o#nu-5#_WhVmdSHKl{}BT`7Waa9G)}e%->c_U)WKqp-le6bHDJbkXc`@Gg;Gm_8OdD>>sUE? z`NK=VE>uXZ8o06%@U+SubC|zIOz{ppi4a9cv~$*agp0H`=c8s0o7T%dL6tWIH(L zz8sp7mVte+h)8=s&QjqrS?}-b=(v1md3iZg59O?n3bj&X(%tAau@Fw~Tt$e99j@$d zF5iP8cx3%byf%LJ=^`BY+WLPwT&GRr;^GP%9UG&8Oc8RHH=fD(*=7X#GqsxxJqI0P zOXg_MB(Pys=SG}lTF=7KAAG*1i~LBB8_!mGh=SSz#|JqVN-Wf4iX)UDG(st5)z!&q z9~B&Y;4)UVmxO*HP!@82P56f44P}hBnxovR|77)?^gSq)r+VFxGZ$igQeA1_dmPr7 z`Vdx9ThwIE7_sdEcQShCVy5otx&F*gwxPA`typK7NfMgt&mC=Pl|C{_EA~yzC~2|t ziD=`?$~K2$!*Sx#`}NgHV&lcBM`cT7|Kj0;jb(+7z@v@8ot&zp?%|rTtxLZC=Lz0Q zjxV-?v7g8XkV$1Tdlv4MjW~Vvp4jmCAk(Q}PUuE<^wT literal 0 HcmV?d00001 diff --git a/js/forge.config.ts b/js/forge.config.ts index 2b90693..ba80079 100644 --- a/js/forge.config.ts +++ b/js/forge.config.ts @@ -10,6 +10,7 @@ import { FuseV1Options, FuseVersion } from '@electron/fuses'; const config: ForgeConfig = { packagerConfig: { asar: true, + icon: './assets/flowy', }, rebuildConfig: {}, makers: [ diff --git a/js/src/main.ts b/js/src/main.ts index aa99405..f33768d 100644 --- a/js/src/main.ts +++ b/js/src/main.ts @@ -7,6 +7,11 @@ if (started) { app.quit(); } +// Set the dock icon for development mode on macOS. +if (process.platform === 'darwin' && !app.isPackaged) { + app.dock.setIcon(path.join(__dirname, '../../assets/icon.png')); +} + const createWindow = () => { // Create the browser window. const mainWindow = new BrowserWindow({