[READ-ONLY] Mirror of https://github.com/probablykasper/ferrum. Music library app for Mac, Linux and Windows ferrum.kasper.space
electron linux macos music music-library music-player napi windows
0

Configure Feed

Select the types of activity you want to include in your feed.

Add Tailwind

Kasper (Mar 5, 2026, 1:28 PM +0100) 0ddbbcf7 0a8c2d66

+619 -19
+597
mobile/package-lock.json
··· 17 17 "@sveltejs/adapter-static": "^3.0.6", 18 18 "@sveltejs/kit": "^2.9.0", 19 19 "@sveltejs/vite-plugin-svelte": "^5.0.0", 20 + "@tailwindcss/vite": "^4.1.18", 20 21 "@tauri-apps/cli": "^2", 21 22 "svelte": "^5.0.0", 22 23 "svelte-check": "^4.0.0", 24 + "tailwindcss": "^4.1.18", 23 25 "typescript": "~5.6.2", 24 26 "vite": "^6.0.3" 25 27 } ··· 984 986 "vite": "^6.0.0" 985 987 } 986 988 }, 989 + "node_modules/@tailwindcss/node": { 990 + "version": "4.2.1", 991 + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.2.1.tgz", 992 + "integrity": "sha512-jlx6sLk4EOwO6hHe1oCGm1Q4AN/s0rSrTTPBGPM0/RQ6Uylwq17FuU8IeJJKEjtc6K6O07zsvP+gDO6MMWo7pg==", 993 + "dev": true, 994 + "license": "MIT", 995 + "dependencies": { 996 + "@jridgewell/remapping": "^2.3.5", 997 + "enhanced-resolve": "^5.19.0", 998 + "jiti": "^2.6.1", 999 + "lightningcss": "1.31.1", 1000 + "magic-string": "^0.30.21", 1001 + "source-map-js": "^1.2.1", 1002 + "tailwindcss": "4.2.1" 1003 + } 1004 + }, 1005 + "node_modules/@tailwindcss/oxide": { 1006 + "version": "4.2.1", 1007 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.2.1.tgz", 1008 + "integrity": "sha512-yv9jeEFWnjKCI6/T3Oq50yQEOqmpmpfzG1hcZsAOaXFQPfzWprWrlHSdGPEF3WQTi8zu8ohC9Mh9J470nT5pUw==", 1009 + "dev": true, 1010 + "license": "MIT", 1011 + "engines": { 1012 + "node": ">= 20" 1013 + }, 1014 + "optionalDependencies": { 1015 + "@tailwindcss/oxide-android-arm64": "4.2.1", 1016 + "@tailwindcss/oxide-darwin-arm64": "4.2.1", 1017 + "@tailwindcss/oxide-darwin-x64": "4.2.1", 1018 + "@tailwindcss/oxide-freebsd-x64": "4.2.1", 1019 + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.2.1", 1020 + "@tailwindcss/oxide-linux-arm64-gnu": "4.2.1", 1021 + "@tailwindcss/oxide-linux-arm64-musl": "4.2.1", 1022 + "@tailwindcss/oxide-linux-x64-gnu": "4.2.1", 1023 + "@tailwindcss/oxide-linux-x64-musl": "4.2.1", 1024 + "@tailwindcss/oxide-wasm32-wasi": "4.2.1", 1025 + "@tailwindcss/oxide-win32-arm64-msvc": "4.2.1", 1026 + "@tailwindcss/oxide-win32-x64-msvc": "4.2.1" 1027 + } 1028 + }, 1029 + "node_modules/@tailwindcss/oxide-android-arm64": { 1030 + "version": "4.2.1", 1031 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.2.1.tgz", 1032 + "integrity": "sha512-eZ7G1Zm5EC8OOKaesIKuw77jw++QJ2lL9N+dDpdQiAB/c/B2wDh0QPFHbkBVrXnwNugvrbJFk1gK2SsVjwWReg==", 1033 + "cpu": [ 1034 + "arm64" 1035 + ], 1036 + "dev": true, 1037 + "license": "MIT", 1038 + "optional": true, 1039 + "os": [ 1040 + "android" 1041 + ], 1042 + "engines": { 1043 + "node": ">= 20" 1044 + } 1045 + }, 1046 + "node_modules/@tailwindcss/oxide-darwin-arm64": { 1047 + "version": "4.2.1", 1048 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.2.1.tgz", 1049 + "integrity": "sha512-q/LHkOstoJ7pI1J0q6djesLzRvQSIfEto148ppAd+BVQK0JYjQIFSK3JgYZJa+Yzi0DDa52ZsQx2rqytBnf8Hw==", 1050 + "cpu": [ 1051 + "arm64" 1052 + ], 1053 + "dev": true, 1054 + "license": "MIT", 1055 + "optional": true, 1056 + "os": [ 1057 + "darwin" 1058 + ], 1059 + "engines": { 1060 + "node": ">= 20" 1061 + } 1062 + }, 1063 + "node_modules/@tailwindcss/oxide-darwin-x64": { 1064 + "version": "4.2.1", 1065 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.2.1.tgz", 1066 + "integrity": "sha512-/f/ozlaXGY6QLbpvd/kFTro2l18f7dHKpB+ieXz+Cijl4Mt9AI2rTrpq7V+t04nK+j9XBQHnSMdeQRhbGyt6fw==", 1067 + "cpu": [ 1068 + "x64" 1069 + ], 1070 + "dev": true, 1071 + "license": "MIT", 1072 + "optional": true, 1073 + "os": [ 1074 + "darwin" 1075 + ], 1076 + "engines": { 1077 + "node": ">= 20" 1078 + } 1079 + }, 1080 + "node_modules/@tailwindcss/oxide-freebsd-x64": { 1081 + "version": "4.2.1", 1082 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.2.1.tgz", 1083 + "integrity": "sha512-5e/AkgYJT/cpbkys/OU2Ei2jdETCLlifwm7ogMC7/hksI2fC3iiq6OcXwjibcIjPung0kRtR3TxEITkqgn0TcA==", 1084 + "cpu": [ 1085 + "x64" 1086 + ], 1087 + "dev": true, 1088 + "license": "MIT", 1089 + "optional": true, 1090 + "os": [ 1091 + "freebsd" 1092 + ], 1093 + "engines": { 1094 + "node": ">= 20" 1095 + } 1096 + }, 1097 + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { 1098 + "version": "4.2.1", 1099 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.2.1.tgz", 1100 + "integrity": "sha512-Uny1EcVTTmerCKt/1ZuKTkb0x8ZaiuYucg2/kImO5A5Y/kBz41/+j0gxUZl+hTF3xkWpDmHX+TaWhOtba2Fyuw==", 1101 + "cpu": [ 1102 + "arm" 1103 + ], 1104 + "dev": true, 1105 + "license": "MIT", 1106 + "optional": true, 1107 + "os": [ 1108 + "linux" 1109 + ], 1110 + "engines": { 1111 + "node": ">= 20" 1112 + } 1113 + }, 1114 + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { 1115 + "version": "4.2.1", 1116 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.2.1.tgz", 1117 + "integrity": "sha512-CTrwomI+c7n6aSSQlsPL0roRiNMDQ/YzMD9EjcR+H4f0I1SQ8QqIuPnsVp7QgMkC1Qi8rtkekLkOFjo7OlEFRQ==", 1118 + "cpu": [ 1119 + "arm64" 1120 + ], 1121 + "dev": true, 1122 + "license": "MIT", 1123 + "optional": true, 1124 + "os": [ 1125 + "linux" 1126 + ], 1127 + "engines": { 1128 + "node": ">= 20" 1129 + } 1130 + }, 1131 + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { 1132 + "version": "4.2.1", 1133 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.2.1.tgz", 1134 + "integrity": "sha512-WZA0CHRL/SP1TRbA5mp9htsppSEkWuQ4KsSUumYQnyl8ZdT39ntwqmz4IUHGN6p4XdSlYfJwM4rRzZLShHsGAQ==", 1135 + "cpu": [ 1136 + "arm64" 1137 + ], 1138 + "dev": true, 1139 + "license": "MIT", 1140 + "optional": true, 1141 + "os": [ 1142 + "linux" 1143 + ], 1144 + "engines": { 1145 + "node": ">= 20" 1146 + } 1147 + }, 1148 + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { 1149 + "version": "4.2.1", 1150 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.2.1.tgz", 1151 + "integrity": "sha512-qMFzxI2YlBOLW5PhblzuSWlWfwLHaneBE0xHzLrBgNtqN6mWfs+qYbhryGSXQjFYB1Dzf5w+LN5qbUTPhW7Y5g==", 1152 + "cpu": [ 1153 + "x64" 1154 + ], 1155 + "dev": true, 1156 + "license": "MIT", 1157 + "optional": true, 1158 + "os": [ 1159 + "linux" 1160 + ], 1161 + "engines": { 1162 + "node": ">= 20" 1163 + } 1164 + }, 1165 + "node_modules/@tailwindcss/oxide-linux-x64-musl": { 1166 + "version": "4.2.1", 1167 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.2.1.tgz", 1168 + "integrity": "sha512-5r1X2FKnCMUPlXTWRYpHdPYUY6a1Ar/t7P24OuiEdEOmms5lyqjDRvVY1yy9Rmioh+AunQ0rWiOTPE8F9A3v5g==", 1169 + "cpu": [ 1170 + "x64" 1171 + ], 1172 + "dev": true, 1173 + "license": "MIT", 1174 + "optional": true, 1175 + "os": [ 1176 + "linux" 1177 + ], 1178 + "engines": { 1179 + "node": ">= 20" 1180 + } 1181 + }, 1182 + "node_modules/@tailwindcss/oxide-wasm32-wasi": { 1183 + "version": "4.2.1", 1184 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.2.1.tgz", 1185 + "integrity": "sha512-MGFB5cVPvshR85MTJkEvqDUnuNoysrsRxd6vnk1Lf2tbiqNlXpHYZqkqOQalydienEWOHHFyyuTSYRsLfxFJ2Q==", 1186 + "bundleDependencies": [ 1187 + "@napi-rs/wasm-runtime", 1188 + "@emnapi/core", 1189 + "@emnapi/runtime", 1190 + "@tybys/wasm-util", 1191 + "@emnapi/wasi-threads", 1192 + "tslib" 1193 + ], 1194 + "cpu": [ 1195 + "wasm32" 1196 + ], 1197 + "dev": true, 1198 + "license": "MIT", 1199 + "optional": true, 1200 + "dependencies": { 1201 + "@emnapi/core": "^1.8.1", 1202 + "@emnapi/runtime": "^1.8.1", 1203 + "@emnapi/wasi-threads": "^1.1.0", 1204 + "@napi-rs/wasm-runtime": "^1.1.1", 1205 + "@tybys/wasm-util": "^0.10.1", 1206 + "tslib": "^2.8.1" 1207 + }, 1208 + "engines": { 1209 + "node": ">=14.0.0" 1210 + } 1211 + }, 1212 + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { 1213 + "version": "4.2.1", 1214 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.2.1.tgz", 1215 + "integrity": "sha512-YlUEHRHBGnCMh4Nj4GnqQyBtsshUPdiNroZj8VPkvTZSoHsilRCwXcVKnG9kyi0ZFAS/3u+qKHBdDc81SADTRA==", 1216 + "cpu": [ 1217 + "arm64" 1218 + ], 1219 + "dev": true, 1220 + "license": "MIT", 1221 + "optional": true, 1222 + "os": [ 1223 + "win32" 1224 + ], 1225 + "engines": { 1226 + "node": ">= 20" 1227 + } 1228 + }, 1229 + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { 1230 + "version": "4.2.1", 1231 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.2.1.tgz", 1232 + "integrity": "sha512-rbO34G5sMWWyrN/idLeVxAZgAKWrn5LiR3/I90Q9MkA67s6T1oB0xtTe+0heoBvHSpbU9Mk7i6uwJnpo4u21XQ==", 1233 + "cpu": [ 1234 + "x64" 1235 + ], 1236 + "dev": true, 1237 + "license": "MIT", 1238 + "optional": true, 1239 + "os": [ 1240 + "win32" 1241 + ], 1242 + "engines": { 1243 + "node": ">= 20" 1244 + } 1245 + }, 1246 + "node_modules/@tailwindcss/vite": { 1247 + "version": "4.2.1", 1248 + "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.2.1.tgz", 1249 + "integrity": "sha512-TBf2sJjYeb28jD2U/OhwdW0bbOsxkWPwQ7SrqGf9sVcoYwZj7rkXljroBO9wKBut9XnmQLXanuDUeqQK0lGg/w==", 1250 + "dev": true, 1251 + "license": "MIT", 1252 + "dependencies": { 1253 + "@tailwindcss/node": "4.2.1", 1254 + "@tailwindcss/oxide": "4.2.1", 1255 + "tailwindcss": "4.2.1" 1256 + }, 1257 + "peerDependencies": { 1258 + "vite": "^5.2.0 || ^6 || ^7" 1259 + } 1260 + }, 987 1261 "node_modules/@tauri-apps/api": { 988 1262 "version": "2.10.1", 989 1263 "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-2.10.1.tgz", ··· 1348 1622 "node": ">=0.10.0" 1349 1623 } 1350 1624 }, 1625 + "node_modules/detect-libc": { 1626 + "version": "2.1.2", 1627 + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", 1628 + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", 1629 + "dev": true, 1630 + "license": "Apache-2.0", 1631 + "engines": { 1632 + "node": ">=8" 1633 + } 1634 + }, 1351 1635 "node_modules/devalue": { 1352 1636 "version": "5.6.3", 1353 1637 "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.6.3.tgz", 1354 1638 "integrity": "sha512-nc7XjUU/2Lb+SvEFVGcWLiKkzfw8+qHI7zn8WYXKkLMgfGSHbgCEaR6bJpev8Cm6Rmrb19Gfd/tZvGqx9is3wg==", 1355 1639 "dev": true, 1356 1640 "license": "MIT" 1641 + }, 1642 + "node_modules/enhanced-resolve": { 1643 + "version": "5.20.0", 1644 + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.20.0.tgz", 1645 + "integrity": "sha512-/ce7+jQ1PQ6rVXwe+jKEg5hW5ciicHwIQUagZkp6IufBoY3YDgdTTY1azVs0qoRgVmvsNB+rbjLJxDAeHHtwsQ==", 1646 + "dev": true, 1647 + "license": "MIT", 1648 + "dependencies": { 1649 + "graceful-fs": "^4.2.4", 1650 + "tapable": "^2.3.0" 1651 + }, 1652 + "engines": { 1653 + "node": ">=10.13.0" 1654 + } 1357 1655 }, 1358 1656 "node_modules/esbuild": { 1359 1657 "version": "0.25.12", ··· 1447 1745 "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 1448 1746 } 1449 1747 }, 1748 + "node_modules/graceful-fs": { 1749 + "version": "4.2.11", 1750 + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", 1751 + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", 1752 + "dev": true, 1753 + "license": "ISC" 1754 + }, 1450 1755 "node_modules/is-reference": { 1451 1756 "version": "3.0.3", 1452 1757 "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.3.tgz", ··· 1457 1762 "@types/estree": "^1.0.6" 1458 1763 } 1459 1764 }, 1765 + "node_modules/jiti": { 1766 + "version": "2.6.1", 1767 + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", 1768 + "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", 1769 + "dev": true, 1770 + "license": "MIT", 1771 + "bin": { 1772 + "jiti": "lib/jiti-cli.mjs" 1773 + } 1774 + }, 1460 1775 "node_modules/kleur": { 1461 1776 "version": "4.1.5", 1462 1777 "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", ··· 1467 1782 "node": ">=6" 1468 1783 } 1469 1784 }, 1785 + "node_modules/lightningcss": { 1786 + "version": "1.31.1", 1787 + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.31.1.tgz", 1788 + "integrity": "sha512-l51N2r93WmGUye3WuFoN5k10zyvrVs0qfKBhyC5ogUQ6Ew6JUSswh78mbSO+IU3nTWsyOArqPCcShdQSadghBQ==", 1789 + "dev": true, 1790 + "license": "MPL-2.0", 1791 + "dependencies": { 1792 + "detect-libc": "^2.0.3" 1793 + }, 1794 + "engines": { 1795 + "node": ">= 12.0.0" 1796 + }, 1797 + "funding": { 1798 + "type": "opencollective", 1799 + "url": "https://opencollective.com/parcel" 1800 + }, 1801 + "optionalDependencies": { 1802 + "lightningcss-android-arm64": "1.31.1", 1803 + "lightningcss-darwin-arm64": "1.31.1", 1804 + "lightningcss-darwin-x64": "1.31.1", 1805 + "lightningcss-freebsd-x64": "1.31.1", 1806 + "lightningcss-linux-arm-gnueabihf": "1.31.1", 1807 + "lightningcss-linux-arm64-gnu": "1.31.1", 1808 + "lightningcss-linux-arm64-musl": "1.31.1", 1809 + "lightningcss-linux-x64-gnu": "1.31.1", 1810 + "lightningcss-linux-x64-musl": "1.31.1", 1811 + "lightningcss-win32-arm64-msvc": "1.31.1", 1812 + "lightningcss-win32-x64-msvc": "1.31.1" 1813 + } 1814 + }, 1815 + "node_modules/lightningcss-android-arm64": { 1816 + "version": "1.31.1", 1817 + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.31.1.tgz", 1818 + "integrity": "sha512-HXJF3x8w9nQ4jbXRiNppBCqeZPIAfUo8zE/kOEGbW5NZvGc/K7nMxbhIr+YlFlHW5mpbg/YFPdbnCh1wAXCKFg==", 1819 + "cpu": [ 1820 + "arm64" 1821 + ], 1822 + "dev": true, 1823 + "license": "MPL-2.0", 1824 + "optional": true, 1825 + "os": [ 1826 + "android" 1827 + ], 1828 + "engines": { 1829 + "node": ">= 12.0.0" 1830 + }, 1831 + "funding": { 1832 + "type": "opencollective", 1833 + "url": "https://opencollective.com/parcel" 1834 + } 1835 + }, 1836 + "node_modules/lightningcss-darwin-arm64": { 1837 + "version": "1.31.1", 1838 + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.31.1.tgz", 1839 + "integrity": "sha512-02uTEqf3vIfNMq3h/z2cJfcOXnQ0GRwQrkmPafhueLb2h7mqEidiCzkE4gBMEH65abHRiQvhdcQ+aP0D0g67sg==", 1840 + "cpu": [ 1841 + "arm64" 1842 + ], 1843 + "dev": true, 1844 + "license": "MPL-2.0", 1845 + "optional": true, 1846 + "os": [ 1847 + "darwin" 1848 + ], 1849 + "engines": { 1850 + "node": ">= 12.0.0" 1851 + }, 1852 + "funding": { 1853 + "type": "opencollective", 1854 + "url": "https://opencollective.com/parcel" 1855 + } 1856 + }, 1857 + "node_modules/lightningcss-darwin-x64": { 1858 + "version": "1.31.1", 1859 + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.31.1.tgz", 1860 + "integrity": "sha512-1ObhyoCY+tGxtsz1lSx5NXCj3nirk0Y0kB/g8B8DT+sSx4G9djitg9ejFnjb3gJNWo7qXH4DIy2SUHvpoFwfTA==", 1861 + "cpu": [ 1862 + "x64" 1863 + ], 1864 + "dev": true, 1865 + "license": "MPL-2.0", 1866 + "optional": true, 1867 + "os": [ 1868 + "darwin" 1869 + ], 1870 + "engines": { 1871 + "node": ">= 12.0.0" 1872 + }, 1873 + "funding": { 1874 + "type": "opencollective", 1875 + "url": "https://opencollective.com/parcel" 1876 + } 1877 + }, 1878 + "node_modules/lightningcss-freebsd-x64": { 1879 + "version": "1.31.1", 1880 + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.31.1.tgz", 1881 + "integrity": "sha512-1RINmQKAItO6ISxYgPwszQE1BrsVU5aB45ho6O42mu96UiZBxEXsuQ7cJW4zs4CEodPUioj/QrXW1r9pLUM74A==", 1882 + "cpu": [ 1883 + "x64" 1884 + ], 1885 + "dev": true, 1886 + "license": "MPL-2.0", 1887 + "optional": true, 1888 + "os": [ 1889 + "freebsd" 1890 + ], 1891 + "engines": { 1892 + "node": ">= 12.0.0" 1893 + }, 1894 + "funding": { 1895 + "type": "opencollective", 1896 + "url": "https://opencollective.com/parcel" 1897 + } 1898 + }, 1899 + "node_modules/lightningcss-linux-arm-gnueabihf": { 1900 + "version": "1.31.1", 1901 + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.31.1.tgz", 1902 + "integrity": "sha512-OOCm2//MZJ87CdDK62rZIu+aw9gBv4azMJuA8/KB74wmfS3lnC4yoPHm0uXZ/dvNNHmnZnB8XLAZzObeG0nS1g==", 1903 + "cpu": [ 1904 + "arm" 1905 + ], 1906 + "dev": true, 1907 + "license": "MPL-2.0", 1908 + "optional": true, 1909 + "os": [ 1910 + "linux" 1911 + ], 1912 + "engines": { 1913 + "node": ">= 12.0.0" 1914 + }, 1915 + "funding": { 1916 + "type": "opencollective", 1917 + "url": "https://opencollective.com/parcel" 1918 + } 1919 + }, 1920 + "node_modules/lightningcss-linux-arm64-gnu": { 1921 + "version": "1.31.1", 1922 + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.31.1.tgz", 1923 + "integrity": "sha512-WKyLWztD71rTnou4xAD5kQT+982wvca7E6QoLpoawZ1gP9JM0GJj4Tp5jMUh9B3AitHbRZ2/H3W5xQmdEOUlLg==", 1924 + "cpu": [ 1925 + "arm64" 1926 + ], 1927 + "dev": true, 1928 + "license": "MPL-2.0", 1929 + "optional": true, 1930 + "os": [ 1931 + "linux" 1932 + ], 1933 + "engines": { 1934 + "node": ">= 12.0.0" 1935 + }, 1936 + "funding": { 1937 + "type": "opencollective", 1938 + "url": "https://opencollective.com/parcel" 1939 + } 1940 + }, 1941 + "node_modules/lightningcss-linux-arm64-musl": { 1942 + "version": "1.31.1", 1943 + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.31.1.tgz", 1944 + "integrity": "sha512-mVZ7Pg2zIbe3XlNbZJdjs86YViQFoJSpc41CbVmKBPiGmC4YrfeOyz65ms2qpAobVd7WQsbW4PdsSJEMymyIMg==", 1945 + "cpu": [ 1946 + "arm64" 1947 + ], 1948 + "dev": true, 1949 + "license": "MPL-2.0", 1950 + "optional": true, 1951 + "os": [ 1952 + "linux" 1953 + ], 1954 + "engines": { 1955 + "node": ">= 12.0.0" 1956 + }, 1957 + "funding": { 1958 + "type": "opencollective", 1959 + "url": "https://opencollective.com/parcel" 1960 + } 1961 + }, 1962 + "node_modules/lightningcss-linux-x64-gnu": { 1963 + "version": "1.31.1", 1964 + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.31.1.tgz", 1965 + "integrity": "sha512-xGlFWRMl+0KvUhgySdIaReQdB4FNudfUTARn7q0hh/V67PVGCs3ADFjw+6++kG1RNd0zdGRlEKa+T13/tQjPMA==", 1966 + "cpu": [ 1967 + "x64" 1968 + ], 1969 + "dev": true, 1970 + "license": "MPL-2.0", 1971 + "optional": true, 1972 + "os": [ 1973 + "linux" 1974 + ], 1975 + "engines": { 1976 + "node": ">= 12.0.0" 1977 + }, 1978 + "funding": { 1979 + "type": "opencollective", 1980 + "url": "https://opencollective.com/parcel" 1981 + } 1982 + }, 1983 + "node_modules/lightningcss-linux-x64-musl": { 1984 + "version": "1.31.1", 1985 + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.31.1.tgz", 1986 + "integrity": "sha512-eowF8PrKHw9LpoZii5tdZwnBcYDxRw2rRCyvAXLi34iyeYfqCQNA9rmUM0ce62NlPhCvof1+9ivRaTY6pSKDaA==", 1987 + "cpu": [ 1988 + "x64" 1989 + ], 1990 + "dev": true, 1991 + "license": "MPL-2.0", 1992 + "optional": true, 1993 + "os": [ 1994 + "linux" 1995 + ], 1996 + "engines": { 1997 + "node": ">= 12.0.0" 1998 + }, 1999 + "funding": { 2000 + "type": "opencollective", 2001 + "url": "https://opencollective.com/parcel" 2002 + } 2003 + }, 2004 + "node_modules/lightningcss-win32-arm64-msvc": { 2005 + "version": "1.31.1", 2006 + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.31.1.tgz", 2007 + "integrity": "sha512-aJReEbSEQzx1uBlQizAOBSjcmr9dCdL3XuC/6HLXAxmtErsj2ICo5yYggg1qOODQMtnjNQv2UHb9NpOuFtYe4w==", 2008 + "cpu": [ 2009 + "arm64" 2010 + ], 2011 + "dev": true, 2012 + "license": "MPL-2.0", 2013 + "optional": true, 2014 + "os": [ 2015 + "win32" 2016 + ], 2017 + "engines": { 2018 + "node": ">= 12.0.0" 2019 + }, 2020 + "funding": { 2021 + "type": "opencollective", 2022 + "url": "https://opencollective.com/parcel" 2023 + } 2024 + }, 2025 + "node_modules/lightningcss-win32-x64-msvc": { 2026 + "version": "1.31.1", 2027 + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.31.1.tgz", 2028 + "integrity": "sha512-I9aiFrbd7oYHwlnQDqr1Roz+fTz61oDDJX7n9tYF9FJymH1cIN1DtKw3iYt6b8WZgEjoNwVSncwF4wx/ZedMhw==", 2029 + "cpu": [ 2030 + "x64" 2031 + ], 2032 + "dev": true, 2033 + "license": "MPL-2.0", 2034 + "optional": true, 2035 + "os": [ 2036 + "win32" 2037 + ], 2038 + "engines": { 2039 + "node": ">= 12.0.0" 2040 + }, 2041 + "funding": { 2042 + "type": "opencollective", 2043 + "url": "https://opencollective.com/parcel" 2044 + } 2045 + }, 1470 2046 "node_modules/locate-character": { 1471 2047 "version": "3.0.0", 1472 2048 "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz", ··· 1735 2311 "peerDependencies": { 1736 2312 "svelte": "^4.0.0 || ^5.0.0-next.0", 1737 2313 "typescript": ">=5.0.0" 2314 + } 2315 + }, 2316 + "node_modules/tailwindcss": { 2317 + "version": "4.2.1", 2318 + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.2.1.tgz", 2319 + "integrity": "sha512-/tBrSQ36vCleJkAOsy9kbNTgaxvGbyOamC30PRePTQe/o1MFwEKHQk4Cn7BNGaPtjp+PuUrByJehM1hgxfq4sw==", 2320 + "dev": true, 2321 + "license": "MIT" 2322 + }, 2323 + "node_modules/tapable": { 2324 + "version": "2.3.0", 2325 + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", 2326 + "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", 2327 + "dev": true, 2328 + "license": "MIT", 2329 + "engines": { 2330 + "node": ">=6" 2331 + }, 2332 + "funding": { 2333 + "type": "opencollective", 2334 + "url": "https://opencollective.com/webpack" 1738 2335 } 1739 2336 }, 1740 2337 "node_modules/tinyglobby": {
+2
mobile/package.json
··· 22 22 "@sveltejs/adapter-static": "^3.0.6", 23 23 "@sveltejs/kit": "^2.9.0", 24 24 "@sveltejs/vite-plugin-svelte": "^5.0.0", 25 + "@tailwindcss/vite": "^4.1.18", 25 26 "@tauri-apps/cli": "^2", 26 27 "svelte": "^5.0.0", 27 28 "svelte-check": "^4.0.0", 29 + "tailwindcss": "^4.1.18", 28 30 "typescript": "~5.6.2", 29 31 "vite": "^6.0.3" 30 32 }
+7
mobile/src/routes/+layout.svelte
··· 1 + <script lang="ts"> 2 + import './layout.css'; 3 + 4 + const { children } = $props(); 5 + </script> 6 + 7 + {@render children()}
+1
mobile/src/routes/layout.css
··· 1 + @import 'tailwindcss';
+12 -19
mobile/vite.config.ts
··· 1 - import { defineConfig } from 'vite' 2 - import { sveltekit } from '@sveltejs/kit/vite' 1 + import tailwindcss from '@tailwindcss/vite'; 2 + import { defineConfig } from 'vite'; 3 + import { sveltekit } from '@sveltejs/kit/vite'; 3 4 4 5 // @ts-expect-error process is a nodejs global 5 - const host = process.env.TAURI_DEV_HOST 6 + const host = process.env.TAURI_DEV_HOST; 6 7 7 8 // https://vite.dev/config/ 8 9 export default defineConfig(async () => ({ 9 - plugins: [sveltekit()], 10 - 10 + plugins: [tailwindcss(), sveltekit()], 11 11 // Vite options tailored for Tauri development and only applied in `tauri dev` or `tauri build` 12 12 // 13 13 // 1. prevent Vite from obscuring rust errors 14 14 clearScreen: false, 15 + 15 16 // 2. tauri expects a fixed port, fail if that port is not available 16 17 server: { 17 18 port: 1420, 18 19 strictPort: true, 19 20 host: host || false, 20 - hmr: host 21 - ? { 22 - protocol: 'ws', 23 - host, 24 - port: 1421, 25 - } 26 - : undefined, 27 - fs: { 28 - allow: ['./bindings.ts'], 29 - }, 21 + hmr: host ? { protocol: 'ws', host, port: 1421 } : undefined, 22 + fs: { allow: ['./bindings.ts'] }, 30 23 watch: { 31 24 // 3. tell Vite to ignore watching `src-tauri` 32 - ignored: ['**/src-tauri/**'], 33 - }, 34 - }, 35 - })) 25 + ignored: ['**/src-tauri/**'] 26 + } 27 + } 28 + }));