@necrolab/dashboard 0.5.14 → 0.5.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/backend/api.js +2 -3
  2. package/eslint.config.js +46 -0
  3. package/index.html +2 -1
  4. package/package.json +5 -2
  5. package/src/App.vue +140 -170
  6. package/src/assets/css/base/mixins.scss +72 -0
  7. package/src/assets/css/base/reset.scss +0 -2
  8. package/src/assets/css/base/scroll.scss +43 -36
  9. package/src/assets/css/base/typography.scss +9 -10
  10. package/src/assets/css/base/variables.scss +43 -0
  11. package/src/assets/css/components/accessibility.scss +37 -0
  12. package/src/assets/css/components/buttons.scss +58 -15
  13. package/src/assets/css/components/forms.scss +31 -32
  14. package/src/assets/css/components/headers.scss +119 -0
  15. package/src/assets/css/components/modals.scss +2 -2
  16. package/src/assets/css/components/search-groups.scss +28 -19
  17. package/src/assets/css/components/tables.scss +5 -7
  18. package/src/assets/css/components/toasts.scss +7 -7
  19. package/src/assets/css/components/utilities.scss +220 -0
  20. package/src/assets/css/main.scss +72 -75
  21. package/src/components/Auth/LoginForm.vue +5 -84
  22. package/src/components/Editors/Account/Account.vue +8 -10
  23. package/src/components/Editors/Account/AccountCreator.vue +28 -59
  24. package/src/components/Editors/Account/AccountView.vue +38 -86
  25. package/src/components/Editors/Account/CreateAccount.vue +8 -50
  26. package/src/components/Editors/Profile/CreateProfile.vue +74 -131
  27. package/src/components/Editors/Profile/Profile.vue +15 -17
  28. package/src/components/Editors/Profile/ProfileCountryChooser.vue +16 -60
  29. package/src/components/Editors/Profile/ProfileView.vue +46 -96
  30. package/src/components/Editors/TagLabel.vue +16 -55
  31. package/src/components/Editors/TagToggle.vue +20 -8
  32. package/src/components/Filter/Filter.vue +62 -75
  33. package/src/components/Filter/FilterPreview.vue +161 -135
  34. package/src/components/Filter/PriceSortToggle.vue +36 -43
  35. package/src/components/Table/Header.vue +1 -1
  36. package/src/components/Table/Table.vue +61 -12
  37. package/src/components/Tasks/CheckStock.vue +7 -16
  38. package/src/components/Tasks/Controls/DesktopControls.vue +15 -60
  39. package/src/components/Tasks/Controls/MobileControls.vue +5 -20
  40. package/src/components/Tasks/CreateTaskAXS.vue +20 -118
  41. package/src/components/Tasks/CreateTaskTM.vue +33 -189
  42. package/src/components/Tasks/EventDetailRow.vue +21 -0
  43. package/src/components/Tasks/MassEdit.vue +6 -16
  44. package/src/components/Tasks/QuickSettings.vue +140 -216
  45. package/src/components/Tasks/ScrapeVenue.vue +4 -13
  46. package/src/components/Tasks/Stats.vue +19 -38
  47. package/src/components/Tasks/Task.vue +65 -268
  48. package/src/components/Tasks/TaskLabel.vue +9 -3
  49. package/src/components/Tasks/TaskView.vue +43 -63
  50. package/src/components/Tasks/Utilities.vue +10 -42
  51. package/src/components/Tasks/ViewTask.vue +23 -107
  52. package/src/components/icons/Close.vue +2 -8
  53. package/src/components/icons/Gear.vue +8 -8
  54. package/src/components/icons/Hash.vue +5 -0
  55. package/src/components/icons/Key.vue +2 -8
  56. package/src/components/icons/Pencil.vue +2 -8
  57. package/src/components/icons/Profile.vue +2 -8
  58. package/src/components/icons/Sell.vue +2 -8
  59. package/src/components/icons/Spinner.vue +4 -7
  60. package/src/components/icons/SquareCheck.vue +2 -8
  61. package/src/components/icons/SquareUncheck.vue +2 -8
  62. package/src/components/icons/Wildcard.vue +2 -8
  63. package/src/components/icons/index.js +3 -1
  64. package/src/components/ui/ActionButtonGroup.vue +113 -52
  65. package/src/components/ui/BalanceIndicator.vue +60 -0
  66. package/src/components/ui/EmptyState.vue +24 -0
  67. package/src/components/ui/EnableDisableToggle.vue +23 -0
  68. package/src/components/ui/FormField.vue +48 -48
  69. package/src/components/ui/IconLabel.vue +23 -0
  70. package/src/components/ui/InfoRow.vue +21 -54
  71. package/src/components/ui/Modal.vue +78 -37
  72. package/src/components/ui/Navbar.vue +60 -41
  73. package/src/components/ui/ReadonlyFieldsSection.vue +31 -0
  74. package/src/components/ui/ReconnectIndicator.vue +111 -124
  75. package/src/components/ui/SectionCard.vue +6 -14
  76. package/src/components/ui/Splash.vue +2 -10
  77. package/src/components/ui/StatusBadge.vue +26 -28
  78. package/src/components/ui/TaskToggle.vue +54 -0
  79. package/src/components/ui/controls/CountryChooser.vue +27 -64
  80. package/src/components/ui/controls/EyeToggle.vue +1 -1
  81. package/src/components/ui/controls/atomic/Checkbox.vue +40 -121
  82. package/src/components/ui/controls/atomic/Dropdown.vue +102 -95
  83. package/src/components/ui/controls/atomic/MultiDropdown.vue +72 -94
  84. package/src/components/ui/controls/atomic/Switch.vue +21 -84
  85. package/src/composables/useColorMapping.js +15 -0
  86. package/src/composables/useCopyToClipboard.js +1 -1
  87. package/src/composables/useDateFormatting.js +21 -0
  88. package/src/composables/useDeviceDetection.js +14 -0
  89. package/src/composables/useDropdownPosition.js +5 -6
  90. package/src/composables/useDynamicTableHeight.js +31 -0
  91. package/src/composables/useRowSelection.js +0 -3
  92. package/src/composables/useTicketPricing.js +16 -0
  93. package/src/composables/useWindowDimensions.js +21 -0
  94. package/src/libs/Filter.js +14 -20
  95. package/src/libs/panzoom.js +1 -5
  96. package/src/libs/utils/array.js +60 -0
  97. package/src/{stores/utils.js → libs/utils/dataGeneration.js} +2 -250
  98. package/src/libs/utils/eventUrl.js +40 -0
  99. package/src/libs/utils/string.js +28 -0
  100. package/src/libs/utils/time.js +20 -0
  101. package/src/libs/utils/validation.js +88 -0
  102. package/src/main.js +0 -2
  103. package/src/stores/connection.js +1 -4
  104. package/src/stores/logger.js +6 -12
  105. package/src/stores/sampleData.js +1 -2
  106. package/src/stores/ui.js +59 -36
  107. package/src/views/Accounts.vue +17 -31
  108. package/src/views/Console.vue +76 -176
  109. package/src/views/Editor.vue +217 -383
  110. package/src/views/FilterBuilder.vue +190 -373
  111. package/src/views/Login.vue +3 -28
  112. package/src/views/Profiles.vue +12 -22
  113. package/src/views/Tasks.vue +51 -38
  114. package/tailwind.config.js +82 -71
  115. package/workbox-config.cjs +47 -5
  116. package/docs/plans/2026-02-08-tailwind-consolidation.md +0 -2416
  117. package/exit +0 -209
  118. package/run +0 -177
  119. package/switch-branch.sh +0 -41
  120. /package/public/{reconnect-logo.png → img/reconnect-logo.png} +0 -0
@@ -1,13 +1,39 @@
1
1
  module.exports = {
2
- globDirectory: "public/",
3
- globPatterns: ["**/*.{png,ico,svg,jpg,jpeg,webp}", "manifest.json"],
4
- swDest: "public/sw.js",
2
+ globDirectory: "dist/",
3
+ globPatterns: [
4
+ // HTML files
5
+ "**/*.html",
6
+ // All built assets (JS, CSS)
7
+ "assets/**/*.{js,css}",
8
+ // All images (including bundled ones)
9
+ "**/*.{png,ico,svg,jpg,jpeg,webp,gif}",
10
+ // Manifest and other static files
11
+ "manifest.json",
12
+ "*.{png,ico,webp}"
13
+ ],
14
+ swDest: "dist/sw.js",
5
15
  sourcemap: false,
6
16
  skipWaiting: true,
7
17
  clientsClaim: true,
8
18
  ignoreURLParametersMatching: [/^utm_/, /^fbclid$/],
9
19
  cleanupOutdatedCaches: true,
20
+ // Increase max size to handle larger bundles
21
+ maximumFileSizeToCacheInBytes: 5 * 1024 * 1024, // 5MB
10
22
  runtimeCaching: [
23
+ // HTML files - Network first, fallback to cache
24
+ {
25
+ urlPattern: /\.html$/,
26
+ handler: "NetworkFirst",
27
+ options: {
28
+ cacheName: "html-cache",
29
+ networkTimeoutSeconds: 3,
30
+ expiration: {
31
+ maxEntries: 10,
32
+ maxAgeSeconds: 60 * 60 * 24 * 7 // 1 week
33
+ }
34
+ }
35
+ },
36
+ // Images - Cache first for best performance
11
37
  {
12
38
  urlPattern: /\.(?:png|jpg|jpeg|svg|gif|webp|ico)$/,
13
39
  handler: "CacheFirst",
@@ -19,17 +45,19 @@ module.exports = {
19
45
  }
20
46
  }
21
47
  },
48
+ // JS and CSS - Stale while revalidate for balance
22
49
  {
23
50
  urlPattern: /\.(?:js|css)$/,
24
51
  handler: "StaleWhileRevalidate",
25
52
  options: {
26
53
  cacheName: "static-resources",
27
54
  expiration: {
28
- maxEntries: 50,
29
- maxAgeSeconds: 60 * 60 * 24 * 7 // 1 week
55
+ maxEntries: 100, // Increased for more assets
56
+ maxAgeSeconds: 60 * 60 * 24 * 30 // 30 days (longer)
30
57
  }
31
58
  }
32
59
  },
60
+ // Google Fonts stylesheets
33
61
  {
34
62
  urlPattern: /^https:\/\/fonts\.googleapis\.com\//,
35
63
  handler: "StaleWhileRevalidate",
@@ -37,6 +65,7 @@ module.exports = {
37
65
  cacheName: "google-fonts-stylesheets"
38
66
  }
39
67
  },
68
+ // Google Fonts webfonts
40
69
  {
41
70
  urlPattern: /^https:\/\/fonts\.gstatic\.com\//,
42
71
  handler: "CacheFirst",
@@ -48,6 +77,7 @@ module.exports = {
48
77
  }
49
78
  }
50
79
  },
80
+ // Country flags
51
81
  {
52
82
  urlPattern: /\/flags\//,
53
83
  handler: "CacheFirst",
@@ -58,6 +88,18 @@ module.exports = {
58
88
  maxAgeSeconds: 60 * 60 * 24 * 90 // 90 days
59
89
  }
60
90
  }
91
+ },
92
+ // Prism.js CDN resources
93
+ {
94
+ urlPattern: /^https:\/\/cdnjs\.cloudflare\.com\/ajax\/libs\/prism\//,
95
+ handler: "CacheFirst",
96
+ options: {
97
+ cacheName: "prism-cdn",
98
+ expiration: {
99
+ maxEntries: 10,
100
+ maxAgeSeconds: 60 * 60 * 24 * 365 // 1 year
101
+ }
102
+ }
61
103
  }
62
104
  ]
63
105
  };