From 62d1cb490b20675b49cd4811059ee016eb9362b2 Mon Sep 17 00:00:00 2001
From: Mar0xy <marie@kaifa.ch>
Date: Tue, 5 Dec 2023 20:58:53 +0100
Subject: [PATCH] add: custom icon font

---
 .../sharkey-icons/custom-sharkey-icons.svg    |  11 +++++++
 .../sharkey-icons/custom-sharkey-icons.ttf    | Bin 0 -> 1644 bytes
 .../sharkey-icons/custom-sharkey-icons.woff   | Bin 0 -> 1088 bytes
 .../assets/fonts/sharkey-icons/style.css      |  27 ++++++++++++++++++
 .../backend/src/server/web/views/base.pug     |   1 +
 .../src/components/MkVisitorDashboard.vue     |   2 +-
 packages/frontend/src/ui/_common_/common.ts   |   1 +
 7 files changed, 41 insertions(+), 1 deletion(-)
 create mode 100644 packages/backend/assets/fonts/sharkey-icons/custom-sharkey-icons.svg
 create mode 100644 packages/backend/assets/fonts/sharkey-icons/custom-sharkey-icons.ttf
 create mode 100644 packages/backend/assets/fonts/sharkey-icons/custom-sharkey-icons.woff
 create mode 100644 packages/backend/assets/fonts/sharkey-icons/style.css

diff --git a/packages/backend/assets/fonts/sharkey-icons/custom-sharkey-icons.svg b/packages/backend/assets/fonts/sharkey-icons/custom-sharkey-icons.svg
new file mode 100644
index 0000000000..c5f79a9861
--- /dev/null
+++ b/packages/backend/assets/fonts/sharkey-icons/custom-sharkey-icons.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg">
+<metadata>Generated by Fontastic.me</metadata>
+<defs>
+<font id="custom-sharkey-icons" horiz-adv-x="512">
+<font-face font-family="custom-sharkey-icons" units-per-em="512" ascent="480" descent="-32"/>
+<missing-glyph horiz-adv-x="512" />
+
+<glyph glyph-name="shark" unicode="&#97;" d="M469 171l0-43-42 0c-30 0-60 9-86 21-53-27-117-27-170 0-26-12-56-21-86-21l-42 0 0 43 42 0c30 0 60 10 86 27 51-36 119-36 170 0 26-17 56-27 86-27z m-356 47c11 3 23 9 34 16l24 16c14 49 16 107-9 174 93-16 177-97 209-193 16-10 32-16 48-17-30 140-155 255-291 255-7 0-14-4-18-10-4-6-4-14-1-21 46-92 32-167 4-220m228-105c-51-36-119-36-170 0-26-17-56-28-86-28l-42 0 0-42 42 0c30 0 60 8 86 21 53-28 117-28 170 0 26-13 56-21 86-21l42 0 0 42-42 0c-30 0-60 11-86 28z"/>
+</font></defs></svg>
diff --git a/packages/backend/assets/fonts/sharkey-icons/custom-sharkey-icons.ttf b/packages/backend/assets/fonts/sharkey-icons/custom-sharkey-icons.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..f4d6d406b8eefd56f73d876a0fa6e4f348948480
GIT binary patch
literal 1644
zcmc&!O-~b16g{ug4qr78r3HkTk<WI<sig=iYGeT=8jU0feny#;LMyaG+7cmdT)1)P
zLQRZ2H!dW`rArsan7Gh|T^L=!4{+gvgoRqqn@$x!Vl*y%nK$p8bMJd|@0<571b{8L
z3I${F_{rmU0-sI+>KN6w(czIe!l)&WlJ7V%zB_i})%h!cI88p8$XE+_txS<WVLv)+
z<rhjNt^_qid-d%6^349)m1RI_CSOS<t?ADA#$Dof>;owZ${UZ5a~sJ!Q<=h&3K-;%
z$Q$PEgoQ~WD1N?bGuF}qj^GgO`^dGdl}UEyk1x^w6!7d>u=9oVrORu8Z-e$IWNz#q
zZoPeevHsvX>O2&HwVUT&ejN=Mq9}^w)hL^tIgS!33&e7z&CTm5UJS}?*`%Xzv>{2^
zga_gVe5e-3#0>eUJFcSz*W?6WjpOI|enkXhGb7U&f(1*gmR1oF#gdH9ji3^u9ND>7
zP6RTFHrHpEiu7)S7xF)-9EB61#lIt)GnVdE*5u;c_DYHjyqu5Y>b@$*&D!7M@=pEj
ztpDLJ&z!=&EuW07=)!)WE6~y2qxPtV=<kc|4f5&h8aONldUlAWU{geNv{$JFDxC}w
za9s|F{*HE0)Whb)gc;U#Gu(ZlJ8XV_R==&edFM!>xuvP;ezLAg^$k9x#V~YzmmWGB
z;#)T!7y*M%E8A|bzhUBxfBr~=xOA(w#=rQgwY5zTu<6bQ`ElF*fdY-tUF_k_KIdYE
z_u++$y=WBOF7}~LjJsH+eqEj(Zw(cBcFNd;?KtdW1ye}7Se~zsF7_cP4!BrFNL)k$
zi^!t@8yT2HDW2&Z=8(iPd75?`S?WkE<_mVl%%`l}Tyoh=C+sZM-%R+yGwv)@fE;s}
z<p(sx5Mja^FR1p%ft0=b8C);to9t2cJ|J#q3voL)o77^Fs5YqmDqza}W^c@lMPr=t
zkGW4Wha7hx?PR7g9+?d$lev7_&T738l7IX}rI3{G*U$IcO9QKh@c5kFmW<VdMU6;S
a;~=|aiu~uSFyCs1vsUr_$YW~X)!HvMdf*-a

literal 0
HcmV?d00001

diff --git a/packages/backend/assets/fonts/sharkey-icons/custom-sharkey-icons.woff b/packages/backend/assets/fonts/sharkey-icons/custom-sharkey-icons.woff
new file mode 100644
index 0000000000000000000000000000000000000000..2ee0f12d8554dff7998fcb4b00a0031a15e1b235
GIT binary patch
literal 1088
zcmXT-cXMN4WB>vd2L@gc&6We<gV?CR%`L>2fq~HgC@KZSGBZX0hP%7Cx&g&}fP6VH
z)@0!F57svVisb<L&OjXIe<7wiIXAHYD7FE}cL&m53|E*F(i4k8Vn2Xl93cGvKLc}m
zPGuSc0~3(Tump(LSaPkY%t%d40g8e6`ao=^;`U>922c<vb_K|n0b&*An@p@3xg`}q
zu@68#KM)JBF)(Q7<R=5wF$1{_Twol=z>u3*0koHy2gnDxS%JZm!8R{3Hx($R1LS`N
znqi_+>|0TgUt9tV7Zsow$PR<dtn!BybCMGh5>gnNR_Di-H@s*MUUdF&216JN`+uMc
zP&k526$4@>AdeXc85vl>JRkwmo060;=fHte2M)eCJmc7b0}uF??l<x<+G1c}V7Q^k
z=m3K<vk-?zv2S8Qf=7x+O3jD=jLmY7ul^5D%wp)?$^8y&MnXbbLxLom8=F7@<0pxO
zHDYYM3TN4tNJ`FVSaan6|ASfwzWjF$`08-r#4(2F22CMGh6|Y7*iJDTi=J7a$iVQ3
zg&i0@K-U7pn+fEmv<pDE=Tya1#}3D-2PZW;hK59X&h?$^JNx358z*9TI(kCSzL7k8
z<*CHcqes3<Or3h;W&@9z>I9*{6++o=!KtdpR!7a+wQ%9CSy55DW@Qy-&D!<9?<2Rj
zhsLgH9v)rY`u<PT(v!DFu}`^p?b@YF7cX^OVwe<lYxP#wt&JX19A6?USe%qAi)>gW
zHZLnG{4^zQ!nA1@g;<$%+1MC#ugV64!!03!;Zc9^`|u;5Z`Y(gNK0a91c!ZQE?e%g
z)ji>jF??(rOc-L1b6<mmb3($NQwI(#IDUkI$-zvSSu25&LEnP$G0?1}1_m{bYrw=&
z%m5AtP*?y{DKvh7v75LdDItx4QB5H&g`v~3;U^CR#}tNkko?mAvtEZCL|XU1l<(N3
ztrv6FtII&Kvm{vj-7h95^Vkf|g}h58XDsQqYtnz<{nJa&rgO89;6mo<KcAhkyi?t%
zeb2DuxWQAqPYv1ECbloBagj4LEuVNiX4dl)!Y}iSW?gKZ5;^}>#Q|OaiS2uWT;)!F
zmaII}TiIiim=>pDap}S%%LgvjW-Q;P%=xnJ%lnl}gJou4laJYayQQ|WDD+|W%6gVM
zi|KpseJfAU-mj{D@zAu^SNof5c0a#l^mMLPsO^fz^|zPu-@f$BGfVv2_D0q7vD0?j
zoSkY>{C#SV<NeV5&9j!@ZVQ#1b?UmA_od?K8pf2CbRl5SfWkk?fvtz<MFXqOsUs(j
QM9rBPF@=|by_ZP`07@x<!2kdN

literal 0
HcmV?d00001

diff --git a/packages/backend/assets/fonts/sharkey-icons/style.css b/packages/backend/assets/fonts/sharkey-icons/style.css
new file mode 100644
index 0000000000..36279ac0eb
--- /dev/null
+++ b/packages/backend/assets/fonts/sharkey-icons/style.css
@@ -0,0 +1,27 @@
+@charset "UTF-8";
+
+@font-face {
+  font-family: "custom-sharkey-icons";
+  src: url("./custom-sharkey-icons.woff") format("woff"),
+    url("./custom-sharkey-icons.ttf") format("truetype"),
+    url("./custom-sharkey-icons.svg#custom-sharkey-icons") format("svg");
+  font-weight: normal;
+  font-style: normal;
+  font-display: block;
+}
+
+.sk-icons {
+  font-family: "custom-sharkey-icons" !important;
+  font-style: normal;
+  font-weight: normal;
+  font-variant: normal;
+  text-transform: none;
+  line-height: 1;
+  speak: none;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+}
+
+.sk-icons.sk-shark:before {
+  content: "\61";
+}
diff --git a/packages/backend/src/server/web/views/base.pug b/packages/backend/src/server/web/views/base.pug
index 243d18202f..018b0bed16 100644
--- a/packages/backend/src/server/web/views/base.pug
+++ b/packages/backend/src/server/web/views/base.pug
@@ -41,6 +41,7 @@ html
 		link(rel='prefetch' href=notFoundImageUrl)
 		//- https://github.com/misskey-dev/misskey/issues/9842
 		link(rel='stylesheet' href='/assets/phosphor-icons/bold/style.css')
+		link(rel='stylesheet' href='/static-assets/fonts/sharkey-icons/style.css')
 		link(rel='modulepreload' href=`/vite/${clientEntry.file}`)
 		script(src='/client-assets/libopenmpt.js')
 
diff --git a/packages/frontend/src/components/MkVisitorDashboard.vue b/packages/frontend/src/components/MkVisitorDashboard.vue
index 79465e6ab4..fe76ded7b4 100644
--- a/packages/frontend/src/components/MkVisitorDashboard.vue
+++ b/packages/frontend/src/components/MkVisitorDashboard.vue
@@ -103,7 +103,7 @@ function showMenu(ev) {
 		},
 	}, {
 		text: i18n.ts.aboutMisskey,
-		icon: 'ph-info ph-bold ph-lg',
+		icon: 'sk-icons sk-shark ph-bold',
 		action: () => {
 			os.pageWindow('/about-sharkey');
 		},
diff --git a/packages/frontend/src/ui/_common_/common.ts b/packages/frontend/src/ui/_common_/common.ts
index 9baf5861d7..7a3f643561 100644
--- a/packages/frontend/src/ui/_common_/common.ts
+++ b/packages/frontend/src/ui/_common_/common.ts
@@ -112,6 +112,7 @@ export function openInstanceMenu(ev: MouseEvent) {
 	} : undefined, {
 		type: 'link',
 		text: i18n.ts.aboutMisskey,
+		icon: 'sk-icons sk-shark ph-bold',
 		to: '/about-sharkey',
 	}], ev.currentTarget ?? ev.target, {
 		align: 'left',