Skip to content

Commit 3275698

Browse files
committed
Migrate to @aminya/solid-icons and update dependencies for improved build performance
- Switch icon library from 'solid-icons' to '@aminya/solid-icons' (see x64Bits/solid-icons#28) - Update various package dependencies to their latest versions - Remove 'solid-icons' exclusion from Vite optimization, no longer needed with new package
1 parent 48ec756 commit 3275698

File tree

12 files changed

+114
-92
lines changed

12 files changed

+114
-92
lines changed

app.config.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,6 @@ export default defineConfig({
88
tailwindcss(),
99
glslPlugin()
1010
],
11-
optimizeDeps: {
12-
exclude: ['solid-icons'], // See https://stackoverflow.com/a/79316833
13-
}
1411
},
1512
server: {
1613
prerender: {

bun.lock

Lines changed: 57 additions & 33 deletions
Large diffs are not rendered by default.

package.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,16 @@
77
"start": "vinxi start"
88
},
99
"dependencies": {
10+
"@aminya/solid-icons": "^2.0.12",
1011
"@solidjs/router": "^0.15.3",
11-
"@solidjs/start": "^1.1.3",
12-
"solid-icons": "^1.1.0",
13-
"solid-js": "^1.9.6",
12+
"@solidjs/start": "^1.1.4",
13+
"solid-js": "^1.9.7",
1414
"twgl.js": "^5.5.4",
1515
"vinxi": "^0.5.6"
1616
},
1717
"devDependencies": {
18-
"@tailwindcss/vite": "^4.1.6",
19-
"tailwindcss": "^4.1.6",
18+
"@tailwindcss/vite": "^4.1.8",
19+
"tailwindcss": "^4.1.8",
2020
"vite-plugin-glsl": "^1.4.1"
2121
},
2222
"engines": {

src/app.jsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ import { Suspense, createSignal, onMount, onCleanup } from "solid-js";
44
import { clientOnly } from "@solidjs/start";
55
import { useThemeStore } from "~/stores/theme";
66
import { useAnimationStore } from "~/stores/animation";
7-
import { BsFullscreen, BsFullscreenExit } from 'solid-icons/bs';
7+
import { BsFullscreen } from '@aminya/solid-icons/bs/BsFullscreen';
8+
import { BsFullscreenExit } from '@aminya/solid-icons/bs/BsFullscreenExit';
89
import TopMenu from "~/components/TopMenu";
910
import MobileMenu from "~/components/MobileMenu";
1011
import LavaBackground from "~/components/LavaBackground";

src/components/MobileMenu.jsx

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
import { useLocation } from "@solidjs/router";
22
import { A } from "@solidjs/router";
3-
import { BsHouseFill, BsPeopleFill, BsList, BsX } from "solid-icons/bs";
4-
import { FaSolidHotel } from "solid-icons/fa";
5-
import { BiSolidHeartCircle } from "solid-icons/bi";
3+
import { BsHouseFill } from "@aminya/solid-icons/bs/BsHouseFill";
4+
import { BsPeopleFill } from "@aminya/solid-icons/bs/BsPeopleFill";
5+
import { BsList } from "@aminya/solid-icons/bs/BsList";
6+
import { BsX } from "@aminya/solid-icons/bs/BsX";
7+
import { FaSolidHotel } from "@aminya/solid-icons/fa/FaSolidHotel";
8+
import { BiSolidHeartCircle } from "@aminya/solid-icons/bi/BiSolidHeartCircle";
69
import { LogoMenu } from "./Logo";
710

811
export default function MobileMenu() {
@@ -46,9 +49,8 @@ export default function MobileMenu() {
4649
{/* Home */}
4750
<A
4851
href="/"
49-
class={`text-white hover:text-white/80 transition-all duration-75 font-bold text-lg flex items-center justify-end gap-2 ${
50-
isActive("/") ? "underline" : ""
51-
}`}
52+
class={`text-white hover:text-white/80 transition-all duration-75 font-bold text-lg flex items-center justify-end gap-2 ${isActive("/") ? "underline" : ""
53+
}`}
5254
aria-label="Home"
5355
onClick={() => {
5456
document.getElementById("mobile-menu-toggle").checked = false;
@@ -61,9 +63,8 @@ export default function MobileMenu() {
6163
{/* Sponsorship */}
6264
<A
6365
href="/sponsorship"
64-
class={`text-white hover:text-white/80 transition-all duration-75 font-bold text-lg flex items-center justify-end gap-2 ${
65-
isActive("/sponsorship") ? "underline" : ""
66-
}`}
66+
class={`text-white hover:text-white/80 transition-all duration-75 font-bold text-lg flex items-center justify-end gap-2 ${isActive("/sponsorship") ? "underline" : ""
67+
}`}
6768
aria-label="Sponsorship"
6869
onClick={() => {
6970
document.getElementById("mobile-menu-toggle").checked = false;
@@ -76,9 +77,8 @@ export default function MobileMenu() {
7677
{/* Accommodation */}
7778
<A
7879
href="/hotels"
79-
class={`text-white hover:text-white/80 transition-all duration-75 font-bold text-lg flex items-center justify-end gap-2 ${
80-
isActive("/hotels") ? "underline" : ""
81-
}`}
80+
class={`text-white hover:text-white/80 transition-all duration-75 font-bold text-lg flex items-center justify-end gap-2 ${isActive("/hotels") ? "underline" : ""
81+
}`}
8282
aria-label="Accommodation"
8383
onClick={() => {
8484
document.getElementById("mobile-menu-toggle").checked = false;
@@ -91,9 +91,8 @@ export default function MobileMenu() {
9191
{/* Organizers */}
9292
<A
9393
href="/organizers"
94-
class={`text-white hover:text-white/80 transition-all duration-75 font-bold text-lg flex items-center justify-end gap-2 ${
95-
isActive("/organizers") ? "underline" : ""
96-
}`}
94+
class={`text-white hover:text-white/80 transition-all duration-75 font-bold text-lg flex items-center justify-end gap-2 ${isActive("/organizers") ? "underline" : ""
95+
}`}
9796
aria-label="Organizers"
9897
onClick={() => {
9998
document.getElementById("mobile-menu-toggle").checked = false;

src/routes/[...404].jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { A } from "@solidjs/router";
2-
import { BsExclamationTriangleFill } from 'solid-icons/bs';
2+
import { BsExclamationTriangleFill } from '@aminya/solid-icons/bs/BsExclamationTriangleFill';
33
import PageLayout from '~/components/PageLayout';
44

55
export default function NotFound() {

src/routes/hotels.jsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1-
import { FaSolidComments, FaSolidHotel, FaSolidLink } from 'solid-icons/fa';
2-
import { FaSolidMapLocationDot } from 'solid-icons/fa'
1+
import { FaSolidComments } from '@aminya/solid-icons/fa/FaSolidComments';
2+
import { FaSolidHotel } from '@aminya/solid-icons/fa/FaSolidHotel';
3+
import { FaSolidLink } from '@aminya/solid-icons/fa/FaSolidLink';
4+
import { FaSolidMapLocationDot } from '@aminya/solid-icons/fa/FaSolidMapLocationDot';
35
import { For } from 'solid-js';
46
import PageLayout from '~/components/PageLayout';
57

src/routes/index.jsx

Lines changed: 24 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,22 @@
11
import { A } from "@solidjs/router";
22
import { createEffect, onMount } from "solid-js";
33
import { useAnimationStore } from "~/stores/animation";
4-
import {
5-
BsTicket,
6-
BsFileText,
7-
BsQuestionCircle,
8-
BsChatDots,
9-
BsCalendar3Event,
10-
BsSnow,
11-
BsGeoFill,
12-
BsTicketFill,
13-
BsFileTextFill,
14-
BsQuestionCircleFill,
15-
BsChatDotsFill,
16-
BsCalendarEventFill,
17-
BsGeo,
18-
BsChevronDown,
19-
BsPlayFill,
20-
BsPauseFill
21-
} from 'solid-icons/bs';
4+
import { BsTicket } from '@aminya/solid-icons/bs/BsTicket';
5+
import { BsFileText } from '@aminya/solid-icons/bs/BsFileText';
6+
import { BsQuestionCircle } from '@aminya/solid-icons/bs/BsQuestionCircle';
7+
import { BsChatDots } from '@aminya/solid-icons/bs/BsChatDots';
8+
import { BsCalendar3Event } from '@aminya/solid-icons/bs/BsCalendar3Event';
9+
import { BsSnow } from '@aminya/solid-icons/bs/BsSnow';
10+
import { BsGeoFill } from '@aminya/solid-icons/bs/BsGeoFill';
11+
import { BsTicketFill } from '@aminya/solid-icons/bs/BsTicketFill';
12+
import { BsFileTextFill } from '@aminya/solid-icons/bs/BsFileTextFill';
13+
import { BsQuestionCircleFill } from '@aminya/solid-icons/bs/BsQuestionCircleFill';
14+
import { BsChatDotsFill } from '@aminya/solid-icons/bs/BsChatDotsFill';
15+
import { BsCalendarEventFill } from '@aminya/solid-icons/bs/BsCalendarEventFill';
16+
import { BsGeo } from '@aminya/solid-icons/bs/BsGeo';
17+
import { BsChevronDown } from '@aminya/solid-icons/bs/BsChevronDown';
18+
import { BsPlayFill } from '@aminya/solid-icons/bs/BsPlayFill';
19+
import { BsPauseFill } from '@aminya/solid-icons/bs/BsPauseFill';
2220
import { Logo } from "~/components/Logo";
2321
import PageLayout from "~/components/PageLayout";
2422

@@ -151,14 +149,14 @@ export default function Home() {
151149
<div class="">
152150
<p class="text-center text-lg">Tickets are available now!</p>
153151
<div class="flex justify-center">
154-
<a
155-
href="https://tickets.nixcon.org/2025/"
156-
target="_blank"
157-
rel="noopener noreferrer"
158-
class="px-4 py-2 bg-white/10 hover:bg-white/20 transition-colors rounded-lg text-white"
159-
>
160-
Get your tickets
161-
</a>
152+
<a
153+
href="https://tickets.nixcon.org/2025/"
154+
target="_blank"
155+
rel="noopener noreferrer"
156+
class="px-4 py-2 bg-white/10 hover:bg-white/20 transition-colors rounded-lg text-white"
157+
>
158+
Get your tickets
159+
</a>
162160
</div>
163161
</div>
164162
</ContentSection>

src/routes/legal.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { BsFileTextFill } from 'solid-icons/bs';
1+
import { BsFileTextFill } from '@aminya/solid-icons/bs/BsFileTextFill';
22
import PageLayout from '~/components/PageLayout';
33

44
export default function Legal() {

src/routes/organizers.jsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
import { BsPeopleFill } from 'solid-icons/bs';
2-
import { FaBrandsGithub, FaBrandsDiscourse } from 'solid-icons/fa';
3-
import { SiMatrix } from 'solid-icons/si';
1+
import { BsPeopleFill } from '@aminya/solid-icons/bs/BsPeopleFill';
2+
import { FaBrandsGithub } from '@aminya/solid-icons/fa/FaBrandsGithub';
3+
import { FaBrandsDiscourse } from '@aminya/solid-icons/fa/FaBrandsDiscourse';
4+
import { SiMatrix } from '@aminya/solid-icons/si/SiMatrix';
45
import PageLayout from '~/components/PageLayout';
56

67
// Define the organizer type

src/routes/privacy.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { BsFileTextFill } from 'solid-icons/bs';
1+
import { BsFileTextFill } from '@aminya/solid-icons/bs/BsFileTextFill';
22
import PageLayout from '~/components/PageLayout';
33

44
export default function Privacy() {

src/routes/sponsorship.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { BiSolidHeartCircle } from 'solid-icons/bi';
1+
import { BiSolidHeartCircle } from '@aminya/solid-icons/bi/BiSolidHeartCircle';
22
import PageLayout from '~/components/PageLayout';
33

44
// Expandable footnote component

0 commit comments

Comments
 (0)