2121 :rel =" item.external ? 'noopener noreferrer' : undefined"
2222 :disabled =" item.disabled"
2323 >
24- <i :class =" item.icon" ></i >
24+ <i v-if =" typeof item.icon === 'string'" :class =" item.icon" ></i >
25+ <component v-else :is =" item.icon" ></component >
2526 <span v-if =" !item.iconOnly" >{{ item.label }}</span >
2627 </component >
2728 </nav >
@@ -60,6 +61,13 @@ import Button from "primevue/button";
6061import " primeflex/primeflex.css" ;
6162import " primeicons/primeicons.css" ;
6263
64+ import SimpleIconsMastodon from ' ~icons/simple-icons/mastodon'
65+ import SimpleIconsBluesky from ' ~icons/simple-icons/bluesky'
66+ import SimpleIconsDiscord from ' ~icons/simple-icons/discord'
67+ import SimpleIconsGithub from ' ~icons/simple-icons/github'
68+ import SimpleIconsX from ' ~icons/simple-icons/x'
69+ import SimpleIconsGmail from ' ~icons/simple-icons/gmail'
70+
6371const menuItems = ref ([
6472 { label: " Home" , icon: " pi pi-home" , to: { name: " Home" } },
6573 {
@@ -91,15 +99,39 @@ const menuItems = ref([
9199 },
92100 {
93101 label: " Github" ,
94- icon: " pi pi-github " ,
102+ icon: SimpleIconsGithub ,
95103 to: " //github.com/CynToolkit/pipelab" ,
96104 external: true ,
97105 disabled: false ,
98106 iconOnly: true ,
99107 },
108+ {
109+ label: " X" ,
110+ icon: SimpleIconsX ,
111+ to: " //x.com/pipelabapp" ,
112+ external: true ,
113+ disabled: false ,
114+ iconOnly: true ,
115+ },
116+ {
117+ label: " Mastodon" ,
118+ icon: SimpleIconsMastodon ,
119+ to: " //mastodon.gamedev.place/@pipelab" ,
120+ external: true ,
121+ disabled: false ,
122+ iconOnly: true ,
123+ },
124+ {
125+ label: " Bluesky" ,
126+ icon: SimpleIconsBluesky ,
127+ to: " //bsky.app/profile/pipelab.bsky.social" ,
128+ external: true ,
129+ disabled: false ,
130+ iconOnly: true ,
131+ },
100132 {
101133 label: " Discord" ,
102- icon: " pi pi-discord " ,
134+ icon: SimpleIconsDiscord ,
103135 to: " //discord.gg/MzNw26cBb5" ,
104136 external: true ,
105137 disabled: false ,
@@ -108,9 +140,10 @@ const menuItems = ref([
108140
109141 {
110142 label: " Contact" ,
111- icon: " pi pi-envelope" ,
112- to: { name: " Contact" },
113- disabled: true ,
143+ icon: SimpleIconsGmail ,
144+ to: " mailto:contact@pipelab.app" ,
145+ external: true ,
146+ disabled: false ,
114147 iconOnly: true ,
115148 },
116149]);
0 commit comments