mirror of
https://github.com/sysadminsmedia/homebox.git
synced 2025-12-21 21:33:02 +01:00
* feat: implement example of data table * feat: load item data into table * chore: begin switching dialogs * feat: implement old dialog for controlling headers and page size * feat: get table into relatively usable state * feat: enhance dropdown actions for multi-selection and CSV download * feat: enhance table cell and dropdown button styles for better usability * feat: json download for table * feat: add expanded row component for item details in data table * chore: add translation support * feat: restore table on home page * fix: oops need ids * feat: move card view to use tanstack to allow for pagination * feat: switch the items search to use ItemViewSelectable * fix: update pagination handling and improve button click logic * feat: improve selectable table * feat: add indeterminate to checkbox * feat: overhaul maintenance dialog to use new system and add maintenance options to table * feat: add label ids and location id to item patch api * feat: change location and labels in table view * feat: add quick actions preference and enable toggle in table settings * fix: lint * fix: remove sized 1 pages * fix: attempt to fix type error * fix: various issues * fix: remove * fix: refactor item fetching logic to use useAsyncData for improved reactivity and improve use confirm * fix: sort backend issues * fix: enhance CSV export functionality by escaping fields to prevent formula injection * fix: put aria sort on th not button * chore: update api types
74 lines
1.9 KiB
JavaScript
74 lines
1.9 KiB
JavaScript
import withNuxt from "./.nuxt/eslint.config.mjs";
|
|
|
|
import tailwind from "eslint-plugin-tailwindcss";
|
|
import prettier from "eslint-plugin-prettier";
|
|
|
|
import { includeIgnoreFile } from "@eslint/compat";
|
|
import { fileURLToPath } from "node:url";
|
|
|
|
const gitignorePath = fileURLToPath(new URL("../.gitignore", import.meta.url));
|
|
|
|
export default withNuxt([
|
|
includeIgnoreFile(gitignorePath, "Imported ../.gitignore patterns"),
|
|
...tailwind.configs["flat/recommended"],
|
|
{
|
|
plugins: {
|
|
prettier,
|
|
},
|
|
rules: {
|
|
"vue/no-undef-components": [
|
|
"error",
|
|
{
|
|
// ignore anything that start with a lowercase letter or #composables
|
|
ignorePatterns: [
|
|
"^i18n",
|
|
"ClientOnly",
|
|
"Html",
|
|
"Link",
|
|
"Meta",
|
|
"NuxtLayout",
|
|
"NuxtPage",
|
|
"NuxtLink",
|
|
"Title",
|
|
],
|
|
},
|
|
],
|
|
"no-console": 0,
|
|
"no-unused-vars": "off",
|
|
"vue/multi-word-component-names": "off",
|
|
"vue/no-setup-props-destructure": 0,
|
|
"vue/no-multiple-template-root": 0,
|
|
"vue/no-v-model-argument": 0,
|
|
"vue/no-v-html": 0,
|
|
"vue/html-self-closing": 0,
|
|
|
|
"tailwindcss/no-custom-classname": "warn",
|
|
|
|
"@typescript-eslint/no-unused-vars": [
|
|
"error",
|
|
{
|
|
ignoreRestSiblings: true,
|
|
destructuredArrayIgnorePattern: "_",
|
|
caughtErrors: "none",
|
|
},
|
|
],
|
|
"@typescript-eslint/no-invalid-void-type": "off",
|
|
"@typescript-eslint/unified-signatures": "off",
|
|
|
|
"prettier/prettier": [
|
|
"warn",
|
|
{
|
|
arrowParens: "avoid",
|
|
semi: true,
|
|
tabWidth: 2,
|
|
useTabs: false,
|
|
vueIndentScriptAndStyle: true,
|
|
singleQuote: false,
|
|
trailingComma: "es5",
|
|
printWidth: 120,
|
|
},
|
|
],
|
|
},
|
|
},
|
|
]);
|