diff --git a/CHANGELOG.md b/CHANGELOG.md index faa9d02..8790c2a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. Dates are displayed in UTC. ## [Unreleased] +## [0.5.2 - 0.5.3](https://github.com/averrin/alpha-suit/compare/0.5.2...0.5.3) +!!! All premium features are now FREE! Only until 1 Jan 2023. !!! + +Added: + * Button in tabbed grids to open the standalone one + * Tools settings page. Now you can hide any toolbar button. + +Fixed: + * Some search issues in File Manager + * Missed label for "Ignored compendiums" setting + ## [0.5.1 - 0.5.2](https://github.com/averrin/alpha-suit/compare/0.5.1...0.5.2) Added: * Expanding dropped folders for grid diff --git a/assets/Dwarf_Santa_A.png b/assets/Dwarf_Santa_A.png new file mode 100644 index 0000000..6eaebc5 Binary files /dev/null and b/assets/Dwarf_Santa_A.png differ diff --git a/package-lock.json b/package-lock.json index 073158c..f4efe8d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -318,9 +318,9 @@ } }, "node_modules/@es-joy/jsdoccomment": { - "version": "0.36.0", - "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.36.0.tgz", - "integrity": "sha512-u0XZyvUF6Urb2cSivSXA8qXIpT/CxkHcdtZKoWusAzgzmsTWpg0F2FpWXsolHmMUyVY3dLWaoy+0ccJ5uf2QjA==", + "version": "0.36.1", + "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.36.1.tgz", + "integrity": "sha512-922xqFsTpHs6D0BUiG4toiyPOMc8/jafnWKxz1KWgS4XzKPy2qXf1Pe6UFuNSCQqt6tOuhAWXBNuuyUhJmw9Vg==", "dev": true, "dependencies": { "comment-parser": "1.3.1", @@ -332,9 +332,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.15.15", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.15.tgz", - "integrity": "sha512-JJjZjJi2eBL01QJuWjfCdZxcIgot+VoK6Fq7eKF9w4YHm9hwl7nhBR1o2Wnt/WcANk5l9SkpvrldW1PLuXxcbw==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.18.tgz", + "integrity": "sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==", "cpu": [ "arm" ], @@ -347,9 +347,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.15.15", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.15.tgz", - "integrity": "sha512-lhz6UNPMDXUhtXSulw8XlFAtSYO26WmHQnCi2Lg2p+/TMiJKNLtZCYUxV4wG6rZMzXmr8InGpNwk+DLT2Hm0PA==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.18.tgz", + "integrity": "sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==", "cpu": [ "loong64" ], @@ -520,9 +520,9 @@ } }, "node_modules/@sveltejs/vite-plugin-svelte": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-1.3.1.tgz", - "integrity": "sha512-2Uu2sDdIR+XQWF7QWOVSF2jR9EU6Ciw1yWfYnfLYj8HIgnNxkh/8g22Fw2pBUI8QNyW/KxtqJUWBI+8ypamSrQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-1.4.0.tgz", + "integrity": "sha512-6QupI/jemMfK+yI2pMtJcu5iO2gtgTfcBdGwMZZt+lgbFELhszbDl6Qjh000HgAV8+XUA+8EY8DusOFk8WhOIg==", "dependencies": { "debug": "^4.3.4", "deepmerge": "^4.2.2", @@ -535,14 +535,8 @@ "node": "^14.18.0 || >= 16" }, "peerDependencies": { - "diff-match-patch": "^1.0.5", "svelte": "^3.44.0", "vite": "^3.0.0" - }, - "peerDependenciesMeta": { - "diff-match-patch": { - "optional": true - } } }, "node_modules/@tootallnate/once": { @@ -567,9 +561,9 @@ "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==" }, "node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" + "version": "18.11.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.12.tgz", + "integrity": "sha512-FgD3NtTAKvyMmD44T07zz2fEf+OKwutgBCEVM8GcvMGVGaDktiLNTDvPwC/LUe3PinMW+X6CuLOF2Ui1mAlSXg==" }, "node_modules/@types/pug": { "version": "2.0.6", @@ -1020,9 +1014,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001434", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001434.tgz", - "integrity": "sha512-aOBHrLmTQw//WFa2rcF1If9fa3ypkC1wzqqiKHgfdrXTWcU8C4gKVZT77eQAPWN1APys3+uQ0Df07rKauXGEYA==", + "version": "1.0.30001439", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001439.tgz", + "integrity": "sha512-1MgUzEkoMO6gKfXflStpYgZDlFM7M/ck/bgfVCACO5vnAf0fXoNVHdWtqGU+MYca+4bL9Z5bpOVmR33cWW9G2A==", "funding": [ { "type": "opencollective", @@ -1318,9 +1312,9 @@ } }, "node_modules/cssdb": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.1.0.tgz", - "integrity": "sha512-Sd99PrFgx28ez4GHu8yoQIufc/70h9oYowDf4EjeIKi8mac9whxRjhM3IaMr6EllP6KKKWtJrMfN6C7T9tIWvQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.2.0.tgz", + "integrity": "sha512-JYlIsE7eKHSi0UNuCyo96YuIDFqvhGgHw4Ck6lsN+DP0Tp8M64UTDT2trGbkMDqnCoEjks7CkS0XcjU0rkvBdg==", "funding": { "type": "opencollective", "url": "https://opencollective.com/csstools" @@ -1443,9 +1437,9 @@ "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" }, "node_modules/daisyui": { - "version": "2.42.0", - "resolved": "https://registry.npmjs.org/daisyui/-/daisyui-2.42.0.tgz", - "integrity": "sha512-OCrpiKKzgLeWbEC8qykewAGKYTeRbnzdsKOICOwUlz/1eFz/2spgeNm62fDY5P9SsXKARTkAgf/J2NOA+1wngQ==", + "version": "2.42.1", + "resolved": "https://registry.npmjs.org/daisyui/-/daisyui-2.42.1.tgz", + "integrity": "sha512-IVeEvP8gvOzHR47fMrOp2YocQJMRmYskhdt7OsuhKJNn+YzLRGOpVpY7AGXt/56pYeYy7h03THHXRTW5cVU9rQ==", "dependencies": { "color": "^4.2", "css-selector-tokenizer": "^0.8.0", @@ -1499,9 +1493,9 @@ } }, "node_modules/decimal.js": { - "version": "10.4.2", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.2.tgz", - "integrity": "sha512-ic1yEvwT6GuvaYwBLLY6/aFFgjZdySKTE8en/fkU3QICTmRtgtSlFn0u0BXN06InZwtfCelR7j8LRiDI/02iGA==" + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" }, "node_modules/deep-is": { "version": "0.1.4", @@ -1665,9 +1659,9 @@ "integrity": "sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==" }, "node_modules/esbuild": { - "version": "0.15.15", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.15.tgz", - "integrity": "sha512-TEw/lwK4Zzld9x3FedV6jy8onOUHqcEX3ADFk4k+gzPUwrxn8nWV62tH0udo8jOtjFodlEfc4ypsqX3e+WWO6w==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.18.tgz", + "integrity": "sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==", "hasInstallScript": true, "bin": { "esbuild": "bin/esbuild" @@ -1676,34 +1670,34 @@ "node": ">=12" }, "optionalDependencies": { - "@esbuild/android-arm": "0.15.15", - "@esbuild/linux-loong64": "0.15.15", - "esbuild-android-64": "0.15.15", - "esbuild-android-arm64": "0.15.15", - "esbuild-darwin-64": "0.15.15", - "esbuild-darwin-arm64": "0.15.15", - "esbuild-freebsd-64": "0.15.15", - "esbuild-freebsd-arm64": "0.15.15", - "esbuild-linux-32": "0.15.15", - "esbuild-linux-64": "0.15.15", - "esbuild-linux-arm": "0.15.15", - "esbuild-linux-arm64": "0.15.15", - "esbuild-linux-mips64le": "0.15.15", - "esbuild-linux-ppc64le": "0.15.15", - "esbuild-linux-riscv64": "0.15.15", - "esbuild-linux-s390x": "0.15.15", - "esbuild-netbsd-64": "0.15.15", - "esbuild-openbsd-64": "0.15.15", - "esbuild-sunos-64": "0.15.15", - "esbuild-windows-32": "0.15.15", - "esbuild-windows-64": "0.15.15", - "esbuild-windows-arm64": "0.15.15" + "@esbuild/android-arm": "0.15.18", + "@esbuild/linux-loong64": "0.15.18", + "esbuild-android-64": "0.15.18", + "esbuild-android-arm64": "0.15.18", + "esbuild-darwin-64": "0.15.18", + "esbuild-darwin-arm64": "0.15.18", + "esbuild-freebsd-64": "0.15.18", + "esbuild-freebsd-arm64": "0.15.18", + "esbuild-linux-32": "0.15.18", + "esbuild-linux-64": "0.15.18", + "esbuild-linux-arm": "0.15.18", + "esbuild-linux-arm64": "0.15.18", + "esbuild-linux-mips64le": "0.15.18", + "esbuild-linux-ppc64le": "0.15.18", + "esbuild-linux-riscv64": "0.15.18", + "esbuild-linux-s390x": "0.15.18", + "esbuild-netbsd-64": "0.15.18", + "esbuild-openbsd-64": "0.15.18", + "esbuild-sunos-64": "0.15.18", + "esbuild-windows-32": "0.15.18", + "esbuild-windows-64": "0.15.18", + "esbuild-windows-arm64": "0.15.18" } }, "node_modules/esbuild-android-64": { - "version": "0.15.15", - "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.15.tgz", - "integrity": "sha512-F+WjjQxO+JQOva3tJWNdVjouFMLK6R6i5gjDvgUthLYJnIZJsp1HlF523k73hELY20WPyEO8xcz7aaYBVkeg5Q==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.18.tgz", + "integrity": "sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==", "cpu": [ "x64" ], @@ -1716,9 +1710,9 @@ } }, "node_modules/esbuild-android-arm64": { - "version": "0.15.15", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.15.tgz", - "integrity": "sha512-attlyhD6Y22jNyQ0fIIQ7mnPvDWKw7k6FKnsXlBvQE6s3z6s6cuEHcSgoirquQc7TmZgVCK5fD/2uxmRN+ZpcQ==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.18.tgz", + "integrity": "sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==", "cpu": [ "arm64" ], @@ -1731,9 +1725,9 @@ } }, "node_modules/esbuild-darwin-64": { - "version": "0.15.15", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.15.tgz", - "integrity": "sha512-ohZtF8W1SHJ4JWldsPVdk8st0r9ExbAOSrBOh5L+Mq47i696GVwv1ab/KlmbUoikSTNoXEhDzVpxUR/WIO19FQ==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.18.tgz", + "integrity": "sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==", "cpu": [ "x64" ], @@ -1746,9 +1740,9 @@ } }, "node_modules/esbuild-darwin-arm64": { - "version": "0.15.15", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.15.tgz", - "integrity": "sha512-P8jOZ5zshCNIuGn+9KehKs/cq5uIniC+BeCykvdVhx/rBXSxmtj3CUIKZz4sDCuESMbitK54drf/2QX9QHG5Ag==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.18.tgz", + "integrity": "sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==", "cpu": [ "arm64" ], @@ -1761,9 +1755,9 @@ } }, "node_modules/esbuild-freebsd-64": { - "version": "0.15.15", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.15.tgz", - "integrity": "sha512-KkTg+AmDXz1IvA9S1gt8dE24C8Thx0X5oM0KGF322DuP+P3evwTL9YyusHAWNsh4qLsR80nvBr/EIYs29VSwuA==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.18.tgz", + "integrity": "sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==", "cpu": [ "x64" ], @@ -1776,9 +1770,9 @@ } }, "node_modules/esbuild-freebsd-arm64": { - "version": "0.15.15", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.15.tgz", - "integrity": "sha512-FUcML0DRsuyqCMfAC+HoeAqvWxMeq0qXvclZZ/lt2kLU6XBnDA5uKTLUd379WYEyVD4KKFctqWd9tTuk8C/96g==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.18.tgz", + "integrity": "sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==", "cpu": [ "arm64" ], @@ -1791,9 +1785,9 @@ } }, "node_modules/esbuild-linux-32": { - "version": "0.15.15", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.15.tgz", - "integrity": "sha512-q28Qn5pZgHNqug02aTkzw5sW9OklSo96b5nm17Mq0pDXrdTBcQ+M6Q9A1B+dalFeynunwh/pvfrNucjzwDXj+Q==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.18.tgz", + "integrity": "sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==", "cpu": [ "ia32" ], @@ -1806,9 +1800,9 @@ } }, "node_modules/esbuild-linux-64": { - "version": "0.15.15", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.15.tgz", - "integrity": "sha512-217KPmWMirkf8liO+fj2qrPwbIbhNTGNVtvqI1TnOWJgcMjUWvd677Gq3fTzXEjilkx2yWypVnTswM2KbXgoAg==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.18.tgz", + "integrity": "sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==", "cpu": [ "x64" ], @@ -1821,9 +1815,9 @@ } }, "node_modules/esbuild-linux-arm": { - "version": "0.15.15", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.15.tgz", - "integrity": "sha512-RYVW9o2yN8yM7SB1yaWr378CwrjvGCyGybX3SdzPHpikUHkME2AP55Ma20uNwkNyY2eSYFX9D55kDrfQmQBR4w==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.18.tgz", + "integrity": "sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==", "cpu": [ "arm" ], @@ -1836,9 +1830,9 @@ } }, "node_modules/esbuild-linux-arm64": { - "version": "0.15.15", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.15.tgz", - "integrity": "sha512-/ltmNFs0FivZkYsTzAsXIfLQX38lFnwJTWCJts0IbCqWZQe+jjj0vYBNbI0kmXLb3y5NljiM5USVAO1NVkdh2g==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.18.tgz", + "integrity": "sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==", "cpu": [ "arm64" ], @@ -1851,9 +1845,9 @@ } }, "node_modules/esbuild-linux-mips64le": { - "version": "0.15.15", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.15.tgz", - "integrity": "sha512-PksEPb321/28GFFxtvL33yVPfnMZihxkEv5zME2zapXGp7fA1X2jYeiTUK+9tJ/EGgcNWuwvtawPxJG7Mmn86A==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.18.tgz", + "integrity": "sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==", "cpu": [ "mips64el" ], @@ -1866,9 +1860,9 @@ } }, "node_modules/esbuild-linux-ppc64le": { - "version": "0.15.15", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.15.tgz", - "integrity": "sha512-ek8gJBEIhcpGI327eAZigBOHl58QqrJrYYIZBWQCnH3UnXoeWMrMZLeeZL8BI2XMBhP+sQ6ERctD5X+ajL/AIA==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.18.tgz", + "integrity": "sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==", "cpu": [ "ppc64" ], @@ -1881,9 +1875,9 @@ } }, "node_modules/esbuild-linux-riscv64": { - "version": "0.15.15", - "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.15.tgz", - "integrity": "sha512-H5ilTZb33/GnUBrZMNJtBk7/OXzDHDXjIzoLXHSutwwsLxSNaLxzAaMoDGDd/keZoS+GDBqNVxdCkpuiRW4OSw==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.18.tgz", + "integrity": "sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==", "cpu": [ "riscv64" ], @@ -1896,9 +1890,9 @@ } }, "node_modules/esbuild-linux-s390x": { - "version": "0.15.15", - "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.15.tgz", - "integrity": "sha512-jKaLUg78mua3rrtrkpv4Or2dNTJU7bgHN4bEjT4OX4GR7nLBSA9dfJezQouTxMmIW7opwEC5/iR9mpC18utnxQ==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.18.tgz", + "integrity": "sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==", "cpu": [ "s390x" ], @@ -1911,9 +1905,9 @@ } }, "node_modules/esbuild-netbsd-64": { - "version": "0.15.15", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.15.tgz", - "integrity": "sha512-aOvmF/UkjFuW6F36HbIlImJTTx45KUCHJndtKo+KdP8Dhq3mgLRKW9+6Ircpm8bX/RcS3zZMMmaBLkvGY06Gvw==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.18.tgz", + "integrity": "sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==", "cpu": [ "x64" ], @@ -1926,9 +1920,9 @@ } }, "node_modules/esbuild-openbsd-64": { - "version": "0.15.15", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.15.tgz", - "integrity": "sha512-HFFX+WYedx1w2yJ1VyR1Dfo8zyYGQZf1cA69bLdrHzu9svj6KH6ZLK0k3A1/LFPhcEY9idSOhsB2UyU0tHPxgQ==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.18.tgz", + "integrity": "sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==", "cpu": [ "x64" ], @@ -1941,9 +1935,9 @@ } }, "node_modules/esbuild-sunos-64": { - "version": "0.15.15", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.15.tgz", - "integrity": "sha512-jOPBudffG4HN8yJXcK9rib/ZTFoTA5pvIKbRrt3IKAGMq1EpBi4xoVoSRrq/0d4OgZLaQbmkHp8RO9eZIn5atA==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.18.tgz", + "integrity": "sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==", "cpu": [ "x64" ], @@ -1956,9 +1950,9 @@ } }, "node_modules/esbuild-windows-32": { - "version": "0.15.15", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.15.tgz", - "integrity": "sha512-MDkJ3QkjnCetKF0fKxCyYNBnOq6dmidcwstBVeMtXSgGYTy8XSwBeIE4+HuKiSsG6I/mXEb++px3IGSmTN0XiA==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.18.tgz", + "integrity": "sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==", "cpu": [ "ia32" ], @@ -1971,9 +1965,9 @@ } }, "node_modules/esbuild-windows-64": { - "version": "0.15.15", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.15.tgz", - "integrity": "sha512-xaAUIB2qllE888SsMU3j9nrqyLbkqqkpQyWVkfwSil6BBPgcPk3zOFitTTncEKCLTQy3XV9RuH7PDj3aJDljWA==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.18.tgz", + "integrity": "sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==", "cpu": [ "x64" ], @@ -1986,9 +1980,9 @@ } }, "node_modules/esbuild-windows-arm64": { - "version": "0.15.15", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.15.tgz", - "integrity": "sha512-ttuoCYCIJAFx4UUKKWYnFdrVpoXa3+3WWkXVI6s09U+YjhnyM5h96ewTq/WgQj9LFSIlABQvadHSOQyAVjW5xQ==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.18.tgz", + "integrity": "sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==", "cpu": [ "arm64" ], @@ -2089,9 +2083,9 @@ } }, "node_modules/eslint": { - "version": "8.28.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.28.0.tgz", - "integrity": "sha512-S27Di+EVyMxcHiwDrFzk8dJYAaD+/5SoWKxL1ri/71CRHsnJnRDPNt2Kzj24+MT9FDupf4aqqyqPrvI8MvQ4VQ==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.29.0.tgz", + "integrity": "sha512-isQ4EEiyUjZFbEKvEGJKKGBwXtvXX+zJbkVKCgTuB9t/+jUBcy8avhkEwWJecI15BkRkOYmvIM5ynbhRjEkoeg==", "dev": true, "dependencies": { "@eslint/eslintrc": "^1.3.3", @@ -2145,12 +2139,12 @@ } }, "node_modules/eslint-plugin-jsdoc": { - "version": "39.6.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-39.6.2.tgz", - "integrity": "sha512-dvgY/W7eUFoAIIiaWHERIMI61ZWqcz9YFjEeyTzdPlrZc3TY/3aZm5aB91NUoTLWYZmO/vFlYSuQi15tF7uE5A==", + "version": "39.6.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-39.6.4.tgz", + "integrity": "sha512-fskvdLCfwmPjHb6e+xNGDtGgbF8X7cDwMtVLAP2WwSf9Htrx68OAx31BESBM1FAwsN2HTQyYQq7m4aW4Q4Nlag==", "dev": true, "dependencies": { - "@es-joy/jsdoccomment": "~0.36.0", + "@es-joy/jsdoccomment": "~0.36.1", "comment-parser": "1.3.1", "debug": "^4.3.4", "escape-string-regexp": "^4.0.0", @@ -2344,9 +2338,9 @@ "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==" }, "node_modules/fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.14.0.tgz", + "integrity": "sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg==", "dependencies": { "reusify": "^1.0.4" } @@ -2614,9 +2608,9 @@ } }, "node_modules/iconify-icon": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/iconify-icon/-/iconify-icon-1.0.1.tgz", - "integrity": "sha512-8qXahj8q0fJ1uMkVJ1DujJw35CWBFxUY9UFCzytfItNjcoj+Dz7yUakuXTzaByIc8seQCnw9CuLVzHdw7yEkBQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/iconify-icon/-/iconify-icon-1.0.2.tgz", + "integrity": "sha512-mehAvz2a4eUAlPo76Wul4zzsPNr3hbOHiauMhPrTVIdLOt0AnccnNloh1EeTO3tYeBv7iaJZfdCPHczvi+CkXQ==", "dependencies": { "@iconify/types": "^2.0.0" }, @@ -2636,9 +2630,9 @@ } }, "node_modules/ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.1.tgz", + "integrity": "sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA==", "dev": true, "engines": { "node": ">= 4" @@ -3468,9 +3462,9 @@ } }, "node_modules/postcss-custom-properties": { - "version": "12.1.10", - "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.10.tgz", - "integrity": "sha512-U3BHdgrYhCrwTVcByFHs9EOBoqcKq4Lf3kXwbTi4hhq0qWhl/pDWq2THbv/ICX/Fl9KqeHBb8OVrTf2OaYF07A==", + "version": "12.1.11", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz", + "integrity": "sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -4511,9 +4505,9 @@ } }, "node_modules/sass": { - "version": "1.56.1", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.56.1.tgz", - "integrity": "sha512-VpEyKpyBPCxE7qGDtOcdJ6fFbcpOM+Emu7uZLxVrkX8KVU/Dp5UF7WLvzqRuUhB6mqqQt1xffLoG+AndxTZrCQ==", + "version": "1.56.2", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.56.2.tgz", + "integrity": "sha512-ciEJhnyCRwzlBCB+h5cCPM6ie/6f8HrhZMQOf5vlU60Y1bI1rx5Zb0vlDZvaycHsg/MqFfF1Eq2eokAa32iw8w==", "dependencies": { "chokidar": ">=3.0.0 <4.0.0", "immutable": "^4.0.0", @@ -4654,7 +4648,8 @@ "node_modules/sourcemap-codec": { "version": "1.4.8", "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "deprecated": "Please use @jridgewell/sourcemap-codec instead" }, "node_modules/spdx-exceptions": { "version": "2.3.0", @@ -4758,9 +4753,9 @@ } }, "node_modules/svelte": { - "version": "3.53.1", - "resolved": "https://registry.npmjs.org/svelte/-/svelte-3.53.1.tgz", - "integrity": "sha512-Q4/hHkktZogGhN5iqxqSi9sjEVoe/NbIxX4hXEHoasTxj+TxEQVAq66LnDMdAZxjmsodkoI5F3slqsS68U7FNw==", + "version": "3.54.0", + "resolved": "https://registry.npmjs.org/svelte/-/svelte-3.54.0.tgz", + "integrity": "sha512-tdrgeJU0hob0ZWAMoKXkhcxXA7dpTg6lZGxUeko5YqvPdJBiyRspGsCwV27kIrbrqPP2WUoSV9ca0gnLlw8YzQ==", "engines": { "node": ">= 8" } @@ -5215,9 +5210,9 @@ } }, "node_modules/vite": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/vite/-/vite-3.2.4.tgz", - "integrity": "sha512-Z2X6SRAffOUYTa+sLy3NQ7nlHFU100xwanq1WDwqaiFiCe+25zdxP1TfCS5ojPV2oDDcXudHIoPnI1Z/66B7Yw==", + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-3.2.5.tgz", + "integrity": "sha512-4mVEpXpSOgrssFZAOmGIr85wPHKvaDAcXqxVxVRZhljkJOMZi1ibLibzjLHzJvcok8BMguLc7g1W6W/GqZbLdQ==", "dependencies": { "esbuild": "^0.15.9", "postcss": "^8.4.18", @@ -5281,11 +5276,11 @@ } }, "node_modules/vitefu": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-0.2.2.tgz", - "integrity": "sha512-8CKEIWPm4B4DUDN+h+hVJa9pyNi7rzc5MYmbxhs1wcMakueGFNWB5/DL30USm9qU3xUPnL4/rrLEAwwFiD1tag==", + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-0.2.3.tgz", + "integrity": "sha512-75l7TTuU8isAhz1QFtNKjDkqjxvndfMC1AfIMjJ0ZQ59ZD0Ow9QOIsJJX16Wv9PS8f+zMzp6fHy5cCbKG/yVUQ==", "peerDependencies": { - "vite": "^3.0.0" + "vite": "^3.0.0 || ^4.0.0" }, "peerDependenciesMeta": { "vite": { diff --git a/src/api.js b/src/api.js index c528a2a..1c96361 100644 --- a/src/api.js +++ b/src/api.js @@ -16,5 +16,8 @@ export function createAPI() { helpTree.set(buildHelpTree()) }, notify, + showApp: (a) => getApp(a).show(), + toggleApp: (a) => getApp(a).toggle(), + closeApp: (a) => getApp(a).close(), } } diff --git a/src/apps.js b/src/apps.js index c5fb588..bcdf29c 100644 --- a/src/apps.js +++ b/src/apps.js @@ -1,4 +1,4 @@ -import { moduleId } from "./modules/constants.js"; +import { moduleId, SETTINGS } from "./modules/constants.js"; import { theme, scale } from "crew-components/stores"; import CreateApplication from 'crew-components/AlphaApplication'; @@ -9,6 +9,11 @@ import SettingsUI from './view/SettingsUI.svelte'; import FilesUI from './view/FilesUI.svelte'; // import HUDApplication from './view/HUDApplication.js'; import GridUI from './view/GridUI.svelte'; +import CreatorUI from './view/CreatorUI.svelte'; +import EditWidgetDialog from "./view/EditWidgetDialog.svelte"; +import TrialDialog from "./view/TrialDialog.svelte" +import { isTrial } from "crew-components/premium"; +import { setting } from "crew-components/helpers"; const apps = {}; const appSpecs = [ @@ -17,7 +22,26 @@ const appSpecs = [ { app_id: "help", title: "Alpha Help Center", component: HelpUI, isGM: true }, { app_id: "settings", title: "Alpha Settings", component: SettingsUI, isGM: true }, { app_id: "files", title: "Alpha File Manager [BETA]", component: FilesUI, isGM: true }, - { app_id: "grid", title: "Alpha Grid [ALPHA]", component: GridUI, isGM: false, trackSize: true}, + { app_id: "grid", title: "Alpha Grid [ALPHA]", component: GridUI, isGM: false, trackSize: true }, + { app_id: "creator", title: "Alpha Creator [ALPHA]", component: CreatorUI, isGM: true }, + { + app_id: "edit-widget", + title: "Edit widget", + component: EditWidgetDialog, + height: 600, + width: 600, + isTemp: true, + }, + { + app_id: "trial", + title: "Merry Christmas!", + component: TrialDialog, + height: 810, + width: 800, + isTemp: true, + showIf: _ => isTrial() && !setting(SETTINGS.HIDE_TRIAL_2023), + isGM: true, + } ] export function createApps() { @@ -34,6 +58,9 @@ export function startUserApps() { for (const spec of appSpecs) { if (!spec.isGM) { getApp(spec.app_id).start() + if (spec.showIf && spec.showIf()) { + getApp(spec.app_id).show(); + } } } } @@ -42,6 +69,9 @@ export function startGMApps() { for (const spec of appSpecs) { if (spec.isGM) { getApp(spec.app_id).start() + if (spec.showIf && spec.showIf()) { + getApp(spec.app_id).show(); + } } } diff --git a/src/index.js b/src/index.js index 8ffc9fc..3f12cff 100644 --- a/src/index.js +++ b/src/index.js @@ -1,3 +1,4 @@ +import {isPremium} from "crew-components/premium" import "crew-components/styles/foundry-fixes.scss"; import "crew-components/styles/alpha-ui.scss"; import "crew-components/styles/global.scss"; @@ -81,7 +82,7 @@ Hooks.once('ready', () => { initStores(); startUserApps() - if (game.settings.get(moduleId, SETTINGS.GRID_IN_SIDEBAR)) { + if (isPremium() && game.settings.get(moduleId, SETTINGS.GRID_IN_SIDEBAR)) { const inlineGrid = { moduleId: "alpha-suit", isTemp: true, app_id: "grid", target: "#grid", title: "Alpha Grid [ALPHA]", component: GridUI_inline } addSidebarTab("grid", inlineGrid) } diff --git a/src/main.scss b/src/main.scss index 8740682..02b514b 100644 --- a/src/main.scss +++ b/src/main.scss @@ -13,9 +13,36 @@ overflow-y: hidden; background: hsl(var(--window-background)); } + + .prosemirror { + textarea { + color: hsl(var(--bc)) + } + + a.editor-edit, .editor-menu button:not(.pm-dropdown) { + width: 2rem; + } + + .pm-dropdown ul { + background-color: hsl(var(--b1)); + } + + a.editor-edit, .editor-menu button, .pm-dropdown li { + background-color: hsl(var(--b1)); + color: hsl(var(--bc)); + height: 2rem; + display: flex; + align-items: center; + justify-content: center; + } + .pm-dropdown li:hover { + background-color: hsl(var(--b3)); + } +} } #alpha-grid { .window-content { overflow: visible !important; } } + diff --git a/src/modules/constants.js b/src/modules/constants.js index ed7f56f..d42c800 100644 --- a/src/modules/constants.js +++ b/src/modules/constants.js @@ -5,6 +5,15 @@ export const FLAGS = { } export const SETTINGS = { + TOOLS_TREE: "tools-tree", + TOOLS_BROWSER: "tools-browser", + TOOLS_FILES: "tools-files", + TOOLS_SETTINGS: "tools-settings", + TOOLS_HELP: "tools-help", + TOOLS_GRID: "tools-grid", + TOOLS_CREATOR: "tools-creator", + + HIDE_TRIAL_2023: "hide-trial-2023", GRID_IN_SIDEBAR: "grid-in-sidebar", GRID_IN_TREE: "grid-in-tree", GRID_FOR_PLAYERS: "grid-for-players", diff --git a/src/modules/file_index.js b/src/modules/file_index.js index 9e5ed70..e477836 100644 --- a/src/modules/file_index.js +++ b/src/modules/file_index.js @@ -51,7 +51,7 @@ export async function startCache() { indexPercents.set(0) indexInProcess.set(true); - if (setting(SETTINGS.FILES_SHOW_INDEX_STATUS)) { + if (setting(SETTINGS.FILES_SHOW_INDEX_STATUS) || !isPremium()) { notify.component(IndexStatus, "indexing") } diff --git a/src/modules/settings.js b/src/modules/settings.js index 3f29228..dc1fe7d 100644 --- a/src/modules/settings.js +++ b/src/modules/settings.js @@ -92,6 +92,7 @@ export function initSettings() { game.settings.register(moduleId, SETTINGS.IGNORED_PACKS, { + name: "Ignored compendiums", config: false, type: Array, default: [], @@ -414,4 +415,69 @@ export function initSettings() { type: Boolean, default: false, }); + + game.settings.register(moduleId, SETTINGS.HIDE_TRIAL_2023, { + name: "Do not show this window again", + scope: "world", + config: false, + type: Boolean, + default: false, + }); + + + game.settings.register(moduleId, SETTINGS.TOOLS_TREE, { + name: "Enable Alpha Tree", + scope: "world", + config: false, + type: Boolean, + default: true, + }); + + game.settings.register(moduleId, SETTINGS.TOOLS_BROWSER, { + name: "Enable Alpha Browser", + scope: "world", + config: false, + type: Boolean, + default: true, + }); + + game.settings.register(moduleId, SETTINGS.TOOLS_FILES, { + name: "Enable Alpha File Manager", + scope: "world", + config: false, + type: Boolean, + default: true, + }); + + game.settings.register(moduleId, SETTINGS.TOOLS_SETTINGS, { + name: "Enable Alpha Settings", + scope: "world", + config: false, + type: Boolean, + default: true, + }); + + game.settings.register(moduleId, SETTINGS.TOOLS_HELP, { + name: "Enable Alpha Help Center", + scope: "world", + config: false, + type: Boolean, + default: true, + }); + + game.settings.register(moduleId, SETTINGS.TOOLS_GRID, { + name: "Enable Alpha Grid", + scope: "world", + config: false, + type: Boolean, + default: true, + }); + + game.settings.register(moduleId, SETTINGS.TOOLS_CREATOR, { + name: "Enable Alpha Creator", + scope: "world", + config: false, + type: Boolean, + default: true, + }); } diff --git a/src/modules/settings_content.js b/src/modules/settings_content.js index fb105be..35d2fb2 100644 --- a/src/modules/settings_content.js +++ b/src/modules/settings_content.js @@ -9,6 +9,7 @@ import PremiumSettings from "../view/settings/PremiumSettings.svelte"; import SupportSettings from "../view/settings/SupportSettings.svelte"; import DNDSettings from "../view/settings/DNDSettings.svelte"; import GridSettings from "../view/settings/GridSettings.svelte"; +import ToolsSettings from "../view/settings/ToolsSettings.svelte" import DirectorSettings from "../view/settings/DirectorSettings.svelte"; import EffectEditorSettings from "../view/settings/EffectEditorSettings.svelte"; @@ -22,6 +23,13 @@ export const settingsContent = { component: GeneralSettings, content: [], children: [], }, + { + id: "s-alpha-tools", + name: "Tools", + icon: "vaadin:tools", + component: ToolsSettings, + content: [], children: [], + }, { id: "s-alpha-browser", name: "Alpha Browser", diff --git a/src/tools.js b/src/tools.js index f00ab7c..506ba0f 100644 --- a/src/tools.js +++ b/src/tools.js @@ -1,6 +1,6 @@ import { addTools, setting } from "crew-components/helpers" import { getApp } from "./apps"; -import {SETTINGS} from "./modules/constants.js" +import { SETTINGS } from "./modules/constants.js" const specs = { name: "alpha-suit", @@ -17,6 +17,7 @@ const specs = { }, toggle: true, isActive: _ => setting("show-tree"), + showIf: _ => setting(SETTINGS.TOOLS_TREE), isGM: true, }, { @@ -28,6 +29,7 @@ const specs = { }, toggle: true, isActive: _ => setting("show-browser"), + showIf: _ => setting(SETTINGS.TOOLS_BROWSER), isGM: true, }, @@ -40,6 +42,7 @@ const specs = { }, toggle: true, isActive: _ => setting("show-files"), + showIf: _ => setting(SETTINGS.TOOLS_FILES), isGM: true, }, { @@ -51,6 +54,7 @@ const specs = { }, toggle: true, isActive: _ => setting("show-settings"), + showIf: _ => setting(SETTINGS.TOOLS_SETTINGS), isGM: true, }, { @@ -62,6 +66,7 @@ const specs = { }, toggle: true, isActive: _ => setting("show-help"), + showIf: _ => setting(SETTINGS.TOOLS_HELP), isGM: true, }, { @@ -73,8 +78,22 @@ const specs = { }, toggle: true, isActive: _ => setting("show-grid"), + showIf: _ => setting(SETTINGS.TOOLS_GRID), isGM: false, isDev: false, + }, + { + name: "alpha-creator-btn", + title: "Toggle Alpha Creator", + icon: "eva:file-add-fill", + onClick: () => { + getApp("creator").toggle(); + }, + toggle: true, + isActive: _ => setting("show-creator"), + showIf: _ => setting(SETTINGS.TOOLS_CREATOR), + isGM: true, + isDev: true, } ] @@ -89,17 +108,25 @@ export function addTool(spec) { export function initTools() { const dev = setting(SETTINGS.DEV_FEATURES); - specs.tools = specs.tools.filter(t => { - if (!game.user.isGM) { - return !t.isGM; - } - return true; - }).filter(t => { - if (!dev) { - return !t.isDev; - } - return true - }); + specs.tools = specs.tools + .filter(t => { + if (t.showIf) { + return t.showIf(); + } + return true; + }) + .filter(t => { + if (!game.user.isGM) { + return !t.isGM; + } + return true; + }) + .filter(t => { + if (!dev) { + return !t.isDev; + } + return true + }); if (specs.tools?.length > 0 && !document.querySelector(`[data-control='${specs.name}']`)) { addTools(specs); diff --git a/src/view/CreatorUI.svelte b/src/view/CreatorUI.svelte new file mode 100644 index 0000000..0268d29 --- /dev/null +++ b/src/view/CreatorUI.svelte @@ -0,0 +1,223 @@ + + + + + +
+
+ + +
+
+ {#each subtypes[documentType] as l (l.type)} + { + documentSubtype = l.type; + }} + > + {l.name} + + {/each} +
+
+
+ +
+
+ +
+ + + (item.system.rarit = e.detail.value)} + /> +
+
+
+ +
+ { + item.system.description.value = e.detail.content; + item = { ...item }; + }} + bind:content={item.system.description.value} + options={{ editable: true, saveOnBlur: true }} + /> +
+
+
+ +
+ f.type == documentType) + .map((n) => { + return { value: n.id, label: n.name || "Root" }; + }), + ], + }} + size="md" + bind:value={moveTo} + on:change={(e) => (moveTo = e.detail)} + /> +
+ {#each createdDocuments as doc (doc.id)} +
docClick(e, doc)}> + +
+ {/each} +
+
+
+ + + +
+
+
diff --git a/src/view/EditWidgetDialog.svelte b/src/view/EditWidgetDialog.svelte index 510b152..af7f28f 100644 --- a/src/view/EditWidgetDialog.svelte +++ b/src/view/EditWidgetDialog.svelte @@ -3,14 +3,15 @@ + + +
+
Merry Christmas and the Happy New Year!
+ +
+ Santa +
+ +
+

+ Long winter nights are the best time to play TTRPGs! And I want to celebrate this time with you. So, this is + my present for you: all the premium features are free until 1 January. +

+

+ I hope you find something for yourself. If you want to continue using one of the premium features for more + time, you can always subscribe to my Patreon. +

+
+ +
+ + Become a Patron + +
+
+ +
+ +
+
diff --git a/src/view/components/GridComponent.svelte b/src/view/components/GridComponent.svelte index 606043d..0b1b6d1 100644 --- a/src/view/components/GridComponent.svelte +++ b/src/view/components/GridComponent.svelte @@ -11,26 +11,23 @@ import ActiveEffectThumb from "./ActiveEffectThumb.svelte"; import RemoveButton from "crew-components/RemoveButton"; import ArgInput from "crew-components/ArgInput"; - import EditWidgetDialog from "../EditWidgetDialog.svelte"; import { gridLayout, gridSizes, lastEditGrid } from "../../modules/stores.js"; import { getContext, onDestroy, tick } from "svelte"; const { application } = getContext("external"); const position = application.position; const { width, height, top, left } = position.stores; import { writable } from "svelte/store"; - import { moduleId } from "../../modules/constants.js"; import { editingWidget } from "../../modules/stores.js"; export let elementRoot; export let id; + const widgetsEnabled = false; - import { TJSProseMirror } from "@typhonjs-fvtt/svelte-standard/component"; - + import TextGridWidget from "./TextGridWidget.svelte"; import Grid from "svelte-grid"; import gridHelp from "svelte-grid/build/helper/index.mjs"; import FileThumb from "./FileThumb.svelte"; import { notify } from "../../modules/notify"; - import CreateApplication from "crew-components/AlphaApplication"; import { isPremium } from "crew-components/premium"; async function setVideoThumb(effect) { @@ -89,6 +86,7 @@ const old_items = [...items]; items = []; for (const item of old_items) { + if (!item || Object.keys(item).length == 0) continue; let oc = $gridSizes[$lastEditGrid] ?? Object.keys(item)[0]; if (!item[oc]) { oc = Object.keys(item)[0]; @@ -116,6 +114,7 @@ layoutId = l?.layoutId ?? layoutId; layoutName = l?.name ?? layoutName; rowHeight = l?.options?.rowHeight ?? rowHeight; + for (const i of layout) { let source; if (i.uuid) { @@ -125,7 +124,7 @@ source.persist = i.persist; } else if (i.type == "Text") { source = { - text: i.persist, + ...i.persist, ...i, }; } else if (i.type == "Effect") { @@ -145,6 +144,9 @@ } else { continue; } + if (!source) { + continue; + } i.source = source; source.widgetId = i.widgetId; entities.push(source); @@ -433,20 +435,26 @@ function editWidget() { editingWidget.set(null); - const dialogClass = CreateApplication({ - moduleId, - app_id: "edit-widget", - title: "Edit widget", - component: EditWidgetDialog, - height: 600, - width: 600, - isTemp: true, - }); - const dialog = new dialogClass(); - dialog.start(); - dialog.show(); + AlphaSuit.showApp("edit-widget"); } + onDestroy( + editingWidget.subscribe((w) => { + if (!w) return; + logger.info(w); + const item = items.find((i) => i.widgetId == w.widgetId); + if (!item) { + items = [...items, w]; + } else { + items[items.indexOf(item)] = w; + items = [...items]; + } + logger.info(items); + serializeItems(); + resizeItems(); + }) + ); + async function removeGrid() { gridLayout.update((gl) => { gl = gl.filter((l) => l.layoutId != layoutId); @@ -500,7 +508,6 @@ } function onDragStartEffect(event, effect) { - // debugger; let section = { ...effect.section }; section.id = uuidv4(); section.savedId = null; @@ -564,6 +571,9 @@ /> + {#if id != "standalone"} + AlphaSuit.showApp("grid")} /> + {/if} {#if !locked}
@@ -577,18 +587,14 @@ foundry.utils.debounce(serializeItems, 500)(); }} /> - - - - - - - - - - + + {#if widgetsEnabled} + + {/if}
@@ -630,9 +636,7 @@ {:else if dataItem.type == "File"} {:else if dataItem.type == "Text"} -
- -
+ {:else if dataItem.type == "JournalEntry"} {/if}
diff --git a/src/view/components/LeftPane.svelte b/src/view/components/LeftPane.svelte index 478015e..7e29082 100644 --- a/src/view/components/LeftPane.svelte +++ b/src/view/components/LeftPane.svelte @@ -11,6 +11,7 @@ import Tags from "crew-components/Tags"; import { createFilter } from "crew-components/helpers"; import { onDestroy } from "svelte"; + import {isPremium} from "crew-components/premium" export let elementRoot; @@ -34,7 +35,7 @@ icon: "fa-solid:magic", }); } - if (setting(SETTINGS.GRID_IN_TREE)) { + if (isPremium() && setting(SETTINGS.GRID_IN_TREE)) { availableTabs.push({ title: "Grid", icon: "ic:twotone-widgets", diff --git a/src/view/components/TextGridWidget.svelte b/src/view/components/TextGridWidget.svelte new file mode 100644 index 0000000..7315d80 --- /dev/null +++ b/src/view/components/TextGridWidget.svelte @@ -0,0 +1,44 @@ + + + +
+ +
diff --git a/src/view/settings/PremiumSettings.svelte b/src/view/settings/PremiumSettings.svelte index 4976306..dfd1395 100644 --- a/src/view/settings/PremiumSettings.svelte +++ b/src/view/settings/PremiumSettings.svelte @@ -36,8 +36,12 @@

- If you already have the Patreon Subscription, please install the Unlocker module from HERE -

+ If you already have the Patreon Subscription, please install the Unlocker module from HERE +

{/if}

Premium features

@@ -47,5 +51,6 @@
  • Option to hide Indexing Status widget
  • Changing token art by dropping image file
  • Default path setting for File Manager
  • +
  • Embedded versions of Grid (sidebar & Alpha Tree)
  • diff --git a/src/view/settings/SupportSettings.svelte b/src/view/settings/SupportSettings.svelte index c5ea757..8d3f96e 100644 --- a/src/view/settings/SupportSettings.svelte +++ b/src/view/settings/SupportSettings.svelte @@ -14,6 +14,7 @@
  • Oshy
  • TehT
  • Aaron Dougherty
  • +
  • Shadow
  • Special Thanks

    diff --git a/src/view/settings/ToolsSettings.svelte b/src/view/settings/ToolsSettings.svelte new file mode 100644 index 0000000..224b515 --- /dev/null +++ b/src/view/settings/ToolsSettings.svelte @@ -0,0 +1,18 @@ + + +
    +
    Tools
    + + + + + + + + + +

    These settings require page reloading.

    +