diff --git a/biome.json b/biome.json index d3a0a08..bce0c15 100644 --- a/biome.json +++ b/biome.json @@ -8,7 +8,8 @@ "rules": { "all": true, "suspicious": { - "noConsole": "off" + "noConsole": "off", + "noExplicitAny": "off" }, "performance": { "noBarrelFile": "off" diff --git a/bun.lock b/bun.lock index 78c0384..f064092 100644 --- a/bun.lock +++ b/bun.lock @@ -8,6 +8,7 @@ "@nuxtjs/color-mode": "3.5.2", "@tailwindcss/typography": "^0.5.16", "@tailwindcss/vite": "^4.1.4", + "@tanstack/vue-table": "^8.21.3", "@tiptap/extension-highlight": "^2.11.7", "@tiptap/extension-image": "^2.11.7", "@tiptap/extension-link": "^2.11.7", @@ -47,6 +48,7 @@ "tw-animate-css": "^1.2.8", "vaul-vue": "^0.4.1", "vee-validate": "^4.15.0", + "virtua": "^0.40.4", "vue": "^3.5.13", "vue-router": "^4.5.1", "vue-sonner": "^1.3.2", @@ -620,8 +622,12 @@ "@tailwindcss/vite": ["@tailwindcss/vite@4.1.4", "", { "dependencies": { "@tailwindcss/node": "4.1.4", "@tailwindcss/oxide": "4.1.4", "tailwindcss": "4.1.4" }, "peerDependencies": { "vite": "^5.2.0 || ^6" } }, "sha512-4UQeMrONbvrsXKXXp/uxmdEN5JIJ9RkH7YVzs6AMxC/KC1+Np7WZBaNIco7TEjlkthqxZbt8pU/ipD+hKjm80A=="], + "@tanstack/table-core": ["@tanstack/table-core@8.21.3", "", {}, "sha512-ldZXEhOBb8Is7xLs01fR3YEc3DERiz5silj8tnGkFZytt1abEvl/GhUmCE0PMLaMPTa3Jk4HbKmRlHmu+gCftg=="], + "@tanstack/virtual-core": ["@tanstack/virtual-core@3.13.5", "", {}, "sha512-gMLNylxhJdUlfRR1G3U9rtuwUh2IjdrrniJIDcekVJN3/3i+bluvdMi3+eodnxzJq5nKnxnigo9h0lIpaqV6HQ=="], + "@tanstack/vue-table": ["@tanstack/vue-table@8.21.3", "", { "dependencies": { "@tanstack/table-core": "8.21.3" }, "peerDependencies": { "vue": ">=3.2" } }, "sha512-rusRyd77c5tDPloPskctMyPLFEQUeBzxdQ+2Eow4F7gDPlPOB1UnnhzfpdvqZ8ZyX2rRNGmqNnQWm87OI2OQPw=="], + "@tanstack/vue-virtual": ["@tanstack/vue-virtual@3.13.5", "", { "dependencies": { "@tanstack/virtual-core": "3.13.5" }, "peerDependencies": { "vue": "^2.7.0 || ^3.0.0" } }, "sha512-1hhUA6CUjmKc5JDyKLcYOV6mI631FaKKxXh77Ja4UtIy6EOofYaLPk8vVgvK6vLMUSfHR2vI3ZpPY9ibyX60SA=="], "@tiptap/core": ["@tiptap/core@2.11.7", "", { "peerDependencies": { "@tiptap/pm": "^2.7.0" } }, "sha512-zN+NFFxLsxNEL8Qioc+DL6b8+Tt2bmRbXH22Gk6F6nD30x83eaUSFlSv3wqvgyCq3I1i1NO394So+Agmayx6rQ=="], @@ -2064,6 +2070,8 @@ "videojs-vtt.js": ["videojs-vtt.js@0.15.5", "", { "dependencies": { "global": "^4.3.1" } }, "sha512-yZbBxvA7QMYn15Lr/ZfhhLPrNpI/RmCSCqgIff57GC2gIrV5YfyzLfLyZMj0NnZSAz8syB4N0nHXpZg9MyrMOQ=="], + "virtua": ["virtua@0.40.4", "", { "peerDependencies": { "react": ">=16.14.0", "react-dom": ">=16.14.0", "solid-js": ">=1.0", "svelte": ">=5.0", "vue": ">=3.2" }, "optionalPeers": ["react", "react-dom", "solid-js", "svelte", "vue"] }, "sha512-eV55eOm2b5Lzc9upivqIcAFPgfBrfcVrppW9T4vhTH+QAbaxfw5ypq25apkG83T5FuiFEoQYnefix1fQyx/GXQ=="], + "vite": ["vite@6.2.6", "", { "dependencies": { "esbuild": "^0.25.0", "postcss": "^8.5.3", "rollup": "^4.30.1" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", "jiti": ">=1.21.0", "less": "*", "lightningcss": "^1.21.0", "sass": "*", "sass-embedded": "*", "stylus": "*", "sugarss": "*", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-9xpjNl3kR4rVDZgPNdTL0/c6ao4km69a/2ihNQbcANz8RuCOK3hQBmLSJf3bRKVQjVMda+YvizNE8AwvogcPbw=="], "vite-dev-rpc": ["vite-dev-rpc@1.0.7", "", { "dependencies": { "birpc": "^2.0.19", "vite-hot-client": "^2.0.4" }, "peerDependencies": { "vite": "^2.9.0 || ^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.1" } }, "sha512-FxSTEofDbUi2XXujCA+hdzCDkXFG1PXktMjSk1efq9Qb5lOYaaM9zNSvKvPPF7645Bak79kSp1PTooMW2wktcA=="], diff --git a/components/preferences2/category.vue b/components/preferences2/category.vue new file mode 100644 index 0000000..264483e --- /dev/null +++ b/components/preferences2/category.vue @@ -0,0 +1,45 @@ + + + diff --git a/components/preferences2/dialog.vue b/components/preferences2/dialog.vue new file mode 100644 index 0000000..72bd28e --- /dev/null +++ b/components/preferences2/dialog.vue @@ -0,0 +1,148 @@ + + + diff --git a/components/preferences2/emojis/batch-dropdown.vue b/components/preferences2/emojis/batch-dropdown.vue new file mode 100644 index 0000000..8217ac6 --- /dev/null +++ b/components/preferences2/emojis/batch-dropdown.vue @@ -0,0 +1,72 @@ + + + diff --git a/components/preferences2/emojis/dropdown.vue b/components/preferences2/emojis/dropdown.vue new file mode 100644 index 0000000..ec69beb --- /dev/null +++ b/components/preferences2/emojis/dropdown.vue @@ -0,0 +1,107 @@ + + + diff --git a/components/preferences2/emojis/index.vue b/components/preferences2/emojis/index.vue new file mode 100644 index 0000000..e2a036c --- /dev/null +++ b/components/preferences2/emojis/index.vue @@ -0,0 +1,51 @@ + + + diff --git a/components/preferences2/emojis/table.vue b/components/preferences2/emojis/table.vue new file mode 100644 index 0000000..132f204 --- /dev/null +++ b/components/preferences2/emojis/table.vue @@ -0,0 +1,347 @@ + + + diff --git a/components/preferences2/emojis/uploader.vue b/components/preferences2/emojis/uploader.vue new file mode 100644 index 0000000..f2eb68d --- /dev/null +++ b/components/preferences2/emojis/uploader.vue @@ -0,0 +1,303 @@ +