@necrolab/dashboard 0.4.61 → 0.4.208

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 (133) hide show
  1. package/.prettierrc +1 -27
  2. package/.vscode/extensions.json +1 -1
  3. package/README.md +79 -43
  4. package/backend/api.js +48 -40
  5. package/backend/auth.js +3 -3
  6. package/backend/batching.js +1 -1
  7. package/backend/endpoints.js +77 -13
  8. package/backend/index.js +2 -2
  9. package/backend/mock-data.js +38 -29
  10. package/backend/mock-src/classes/logger.js +8 -8
  11. package/backend/mock-src/classes/utils.js +3 -7
  12. package/backend/mock-src/database.js +0 -0
  13. package/backend/mock-src/ticketmaster.js +79 -79
  14. package/backend/validator.js +2 -2
  15. package/config/configs.json +3 -2
  16. package/config/filter.json +3 -2
  17. package/index.html +10 -81
  18. package/index.js +1 -1
  19. package/package.json +25 -40
  20. package/postcss.config.js +1 -1
  21. package/postinstall.js +17 -98
  22. package/public/android-chrome-192x192.png +0 -0
  23. package/public/android-chrome-512x512.png +0 -0
  24. package/public/apple-touch-icon.png +0 -0
  25. package/public/favicon-16x16.png +0 -0
  26. package/public/favicon-32x32.png +0 -0
  27. package/public/favicon.ico +0 -0
  28. package/public/manifest.json +7 -12
  29. package/public/sw.js +2 -0
  30. package/public/workbox-49fdaf31.js +2 -0
  31. package/public/workbox-49fdaf31.js.map +1 -0
  32. package/public/workbox-88575b92.js +2 -0
  33. package/public/workbox-88575b92.js.map +1 -0
  34. package/public/workbox-a67a7b11.js +2 -0
  35. package/public/workbox-a67a7b11.js.map +1 -0
  36. package/public/workbox-d4314735.js +2 -0
  37. package/public/workbox-d4314735.js.map +1 -0
  38. package/public/workbox-e0f89ef3.js +2 -0
  39. package/public/workbox-e0f89ef3.js.map +1 -0
  40. package/run +9 -176
  41. package/src/App.vue +85 -498
  42. package/src/assets/css/_input.scss +99 -144
  43. package/src/assets/css/main.scss +99 -450
  44. package/src/assets/img/background.svg +2 -2
  45. package/src/assets/img/logo_icon.png +0 -0
  46. package/src/components/Auth/LoginForm.vue +11 -62
  47. package/src/components/Editors/Account/Account.vue +40 -116
  48. package/src/components/Editors/Account/AccountCreator.vue +39 -88
  49. package/src/components/Editors/Account/AccountView.vue +34 -102
  50. package/src/components/Editors/Account/CreateAccount.vue +32 -80
  51. package/src/components/Editors/Profile/CreateProfile.vue +83 -269
  52. package/src/components/Editors/Profile/Profile.vue +47 -132
  53. package/src/components/Editors/Profile/ProfileCountryChooser.vue +20 -82
  54. package/src/components/Editors/Profile/ProfileView.vue +34 -91
  55. package/src/components/Editors/TagLabel.vue +6 -67
  56. package/src/components/Filter/Filter.vue +72 -289
  57. package/src/components/Filter/FilterPreview.vue +30 -171
  58. package/src/components/Filter/PriceSortToggle.vue +4 -74
  59. package/src/components/Table/Header.vue +1 -1
  60. package/src/components/Table/Row.vue +1 -1
  61. package/src/components/Table/Table.vue +2 -19
  62. package/src/components/Tasks/CheckStock.vue +13 -28
  63. package/src/components/Tasks/Controls/DesktopControls.vue +17 -17
  64. package/src/components/Tasks/Controls/MobileControls.vue +45 -8
  65. package/src/components/Tasks/CreateTaskAXS.vue +73 -79
  66. package/src/components/Tasks/CreateTaskTM.vue +142 -94
  67. package/src/components/Tasks/MassEdit.vue +7 -9
  68. package/src/components/Tasks/QuickSettings.vue +55 -169
  69. package/src/components/Tasks/ScrapeVenue.vue +4 -7
  70. package/src/components/Tasks/Stats.vue +23 -52
  71. package/src/components/Tasks/Task.vue +136 -378
  72. package/src/components/Tasks/TaskView.vue +47 -107
  73. package/src/components/Tasks/Utilities.vue +6 -5
  74. package/src/components/icons/Bag.vue +1 -1
  75. package/src/components/icons/Loyalty.vue +1 -1
  76. package/src/components/icons/Mail.vue +2 -2
  77. package/src/components/icons/Play.vue +2 -2
  78. package/src/components/icons/Reload.vue +5 -4
  79. package/src/components/icons/Sandclock.vue +2 -2
  80. package/src/components/icons/Stadium.vue +1 -1
  81. package/src/components/icons/index.js +1 -24
  82. package/src/components/ui/Modal.vue +13 -105
  83. package/src/components/ui/Navbar.vue +38 -171
  84. package/src/components/ui/ReconnectIndicator.vue +55 -351
  85. package/src/components/ui/Splash.vue +35 -5
  86. package/src/components/ui/controls/CountryChooser.vue +62 -200
  87. package/src/components/ui/controls/atomic/Checkbox.vue +10 -119
  88. package/src/components/ui/controls/atomic/Dropdown.vue +39 -208
  89. package/src/components/ui/controls/atomic/MultiDropdown.vue +37 -300
  90. package/src/libs/Filter.js +170 -200
  91. package/src/registerServiceWorker.js +1 -1
  92. package/src/stores/connection.js +53 -51
  93. package/src/stores/logger.js +3 -11
  94. package/src/stores/sampleData.js +235 -207
  95. package/src/stores/ui.js +44 -112
  96. package/src/stores/utils.js +6 -90
  97. package/src/views/Accounts.vue +35 -44
  98. package/src/views/Console.vue +90 -341
  99. package/src/views/Editor.vue +123 -1176
  100. package/src/views/FilterBuilder.vue +251 -607
  101. package/src/views/Login.vue +14 -76
  102. package/src/views/Profiles.vue +25 -44
  103. package/src/views/Tasks.vue +100 -187
  104. package/static/offline.html +50 -192
  105. package/tailwind.config.js +26 -104
  106. package/vite.config.js +16 -73
  107. package/vue.config.js +32 -0
  108. package/workbox-config.js +11 -0
  109. package/artwork/image.png +0 -0
  110. package/dev-server.js +0 -136
  111. package/exit +0 -209
  112. package/jsconfig.json +0 -16
  113. package/src/assets/css/_utilities.scss +0 -388
  114. package/src/assets/img/background.svg.backup +0 -11
  115. package/src/components/icons/Check.vue +0 -5
  116. package/src/components/icons/Close.vue +0 -21
  117. package/src/components/icons/CloseX.vue +0 -5
  118. package/src/components/icons/Key.vue +0 -21
  119. package/src/components/icons/Pencil.vue +0 -21
  120. package/src/components/icons/Profile.vue +0 -18
  121. package/src/components/icons/Sell.vue +0 -21
  122. package/src/components/icons/Spinner.vue +0 -42
  123. package/src/components/icons/SquareCheck.vue +0 -18
  124. package/src/components/icons/SquareUncheck.vue +0 -18
  125. package/src/components/icons/Wildcard.vue +0 -18
  126. package/src/components/ui/controls/atomic/LoadingButton.vue +0 -45
  127. package/src/composables/useClickOutside.js +0 -21
  128. package/src/composables/useDropdownPosition.js +0 -174
  129. package/src/types/index.js +0 -41
  130. package/src/utils/debug.js +0 -1
  131. package/switch-branch.sh +0 -41
  132. package/workbox-config.cjs +0 -63
  133. /package/src/assets/img/{logo_icon-old.png → logo_icon_2.png} +0 -0
package/dev-server.js DELETED
@@ -1,136 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- import { createServer } from "vite";
4
- import process from "process";
5
- import { spawn } from "child_process";
6
-
7
- // Start backend server with mock data
8
- const startBackend = () => {
9
- return new Promise((resolve, reject) => {
10
- const backend = spawn("node", ["index.js"], {
11
- stdio: ["inherit", "pipe", "pipe"],
12
- env: { ...process.env, NODE_ENV: "development" }
13
- });
14
-
15
- let backendReady = false;
16
-
17
- backend.stdout.on("data", (data) => {
18
- const output = data.toString();
19
-
20
- // Look for backend ready signal
21
- if (output.includes("Web API started on port") || output.includes("8081")) {
22
- backendReady = true;
23
- resolve(backend);
24
- }
25
- });
26
-
27
- backend.stderr.on("data", (data) => {
28
- // Suppress error output unless it's critical
29
- if (data.toString().includes("Error") || data.toString().includes("EADDRINUSE")) {
30
- console.error("⚠️ Backend error:", data.toString().trim());
31
- }
32
- });
33
-
34
- backend.on("error", (error) => {
35
- reject(error);
36
- });
37
-
38
- backend.on("exit", (code) => {
39
- if (code !== 0 && !backendReady) {
40
- reject(new Error(`Backend failed to start`));
41
- }
42
- });
43
-
44
- // Timeout fallback
45
- setTimeout(() => {
46
- if (!backendReady) {
47
- resolve(backend);
48
- }
49
- }, 5000);
50
- });
51
- };
52
-
53
- const startServer = async () => {
54
- let backend;
55
- let server;
56
- let isShuttingDown = false;
57
-
58
- // Cleanup function
59
- const cleanup = () => {
60
- if (isShuttingDown) return;
61
- isShuttingDown = true;
62
-
63
- console.log("\n👋 Goodbye!");
64
- if (backend) {
65
- backend.kill("SIGTERM");
66
- setTimeout(() => backend.kill("SIGKILL"), 3000);
67
- }
68
- if (server) {
69
- server.close();
70
- }
71
- process.exit(0);
72
- };
73
-
74
- // Handle cleanup on various exit signals
75
- process.on("SIGINT", cleanup);
76
- process.on("SIGTERM", cleanup);
77
-
78
- try {
79
- console.log("🚀 Starting Necro Dashboard...");
80
-
81
- // Ensure proper permissions for Vite cache
82
- try {
83
- const fs = await import('node:fs');
84
- const path = await import('node:path');
85
- const cacheDir = path.resolve('./node_modules/.vite');
86
- if (fs.existsSync(cacheDir)) {
87
- fs.chmodSync(cacheDir, 0o755);
88
- }
89
- } catch (e) {
90
- // Ignore permission errors
91
- }
92
-
93
- backend = await startBackend();
94
-
95
- server = await createServer({
96
- configFile: "./vite.config.js",
97
- server: {
98
- port: 5173,
99
- strictPort: true,
100
- host: true,
101
- cors: true,
102
- hmr: {
103
- overlay: false
104
- }
105
- }
106
- });
107
-
108
- // Handle unhandled errors gracefully
109
- process.on("uncaughtException", (error) => {
110
- if (error.code === "ECONNRESET" || error.errno === -54) {
111
- return; // Silently handle mobile reconnects
112
- }
113
- console.error("❌ Server error:", error.message);
114
- });
115
-
116
- process.on("unhandledRejection", (reason) => {
117
- if (reason?.code === "ECONNRESET" || reason?.errno === -54) {
118
- return; // Silently handle mobile reconnects
119
- }
120
- console.error("❌ Unhandled error:", reason?.message || reason);
121
- });
122
-
123
- await server.listen();
124
-
125
- console.log("\n✨ Necro Dashboard is ready!");
126
- console.log("🌐 Development: http://localhost:5173");
127
- console.log("🌐 Staging: http://localhost:8081\n");
128
- console.log("💀 Happy debugging");
129
- console.log("\n\n👆 Press Ctrl+C to stop");
130
- } catch (error) {
131
- console.error("Failed to start server:", error);
132
- process.exit(1);
133
- }
134
- };
135
-
136
- startServer();
package/exit DELETED
@@ -1,209 +0,0 @@
1
- #!/bin/bash
2
-
3
- # 🎯 Necro Dashboard Exit - Fire Edition 🔥
4
- # Enhanced exit script with style and robust functionality
5
-
6
- # Colors for that fire output 🌈
7
- RED='\033[0;31m'
8
- GREEN='\033[0;32m'
9
- YELLOW='\033[1;33m'
10
- BLUE='\033[0;34m'
11
- PURPLE='\033[0;35m'
12
- CYAN='\033[0;36m'
13
- WHITE='\033[1;37m'
14
- BOLD='\033[1m'
15
- NC='\033[0m' # No Color
16
-
17
- # Fire emojis for maximum style
18
- FIRE="🔥"
19
- STOP="🛑"
20
- GEAR="⚙️"
21
- CHECK="✅"
22
- CROSS="❌"
23
- LIGHTNING="⚡"
24
- SKULL="💀"
25
-
26
- # Banner function
27
- show_banner() {
28
- echo -e "${RED}${BOLD}"
29
- echo " ███╗ ██╗███████╗ ██████╗██████╗ ██████╗ "
30
- echo " ████╗ ██║██╔════╝██╔════╝██╔══██╗██╔═══██╗"
31
- echo " ██╔██╗ ██║█████╗ ██║ ██████╔╝██║ ██║"
32
- echo " ██║╚██╗██║██╔══╝ ██║ ██╔══██╗██║ ██║"
33
- echo " ██║ ╚████║███████╗╚██████╗██║ ██║╚██████╔╝"
34
- echo " ╚═╝ ╚═══╝╚══════╝ ╚═════╝╚═╝ ╚═╝ ╚═════╝ "
35
- echo -e "${NC}"
36
- echo -e "${RED}${BOLD}Dashboard Exit ${SKULL} v2.0${NC}"
37
- echo -e "${WHITE}────────────────────────────────────────────${NC}"
38
- }
39
-
40
- # Success message
41
- success() {
42
- echo -e "${GREEN}${BOLD}${CHECK} $1${NC}"
43
- }
44
-
45
- # Error message
46
- error() {
47
- echo -e "${RED}${BOLD}${CROSS} $1${NC}"
48
- }
49
-
50
- # Info message
51
- info() {
52
- echo -e "${CYAN}${BOLD}${LIGHTNING} $1${NC}"
53
- }
54
-
55
- # Warning message
56
- warn() {
57
- echo -e "${YELLOW}${BOLD}⚠️ $1${NC}"
58
- }
59
-
60
- # Check if lsof is available
61
- check_lsof() {
62
- if ! command -v lsof &> /dev/null; then
63
- error "lsof is not installed or not in PATH"
64
- warn "Install with: brew install lsof (macOS) or apt-get install lsof (Linux)"
65
- exit 1
66
- fi
67
- }
68
-
69
- # Function to kill process on a specific port with enhanced feedback
70
- kill_port() {
71
- local port=$1
72
- local service_name=$2
73
-
74
- info "Checking for processes on port ${port} (${service_name})..."
75
-
76
- # Get PID using lsof
77
- local pid=$(lsof -ti:$port 2>/dev/null)
78
-
79
- if [ -n "$pid" ]; then
80
- # Get process name for better feedback
81
- local process_name=$(ps -p $pid -o comm= 2>/dev/null || echo "unknown")
82
-
83
- warn "Found process: ${process_name} (PID: ${pid}) on port ${port}"
84
-
85
- # Try graceful termination first
86
- info "Attempting graceful shutdown..."
87
- if kill -TERM $pid 2>/dev/null; then
88
- sleep 2
89
-
90
- # Check if process is still running
91
- if kill -0 $pid 2>/dev/null; then
92
- warn "Process still running, forcing termination..."
93
- if kill -9 $pid 2>/dev/null; then
94
- success "Process ${pid} forcefully terminated on port ${port}"
95
- else
96
- error "Failed to kill process ${pid} on port ${port}"
97
- return 1
98
- fi
99
- else
100
- success "Process ${pid} gracefully terminated on port ${port}"
101
- fi
102
- else
103
- error "Failed to send termination signal to process ${pid}"
104
- return 1
105
- fi
106
- else
107
- info "No process found on port ${port} (${service_name})"
108
- fi
109
-
110
- return 0
111
- }
112
-
113
- # Function to kill all Node.js processes
114
- kill_all_node() {
115
- info "Searching for Node.js processes..."
116
-
117
- local node_pids=$(pgrep -f "node" 2>/dev/null)
118
-
119
- if [ -n "$node_pids" ]; then
120
- warn "Found Node.js processes, terminating..."
121
- echo "$node_pids" | while read -r pid; do
122
- if [ -n "$pid" ]; then
123
- local process_info=$(ps -p $pid -o args= 2>/dev/null || echo "unknown")
124
- info "Killing Node.js process: $pid ($process_info)"
125
- kill -TERM $pid 2>/dev/null || kill -9 $pid 2>/dev/null
126
- fi
127
- done
128
- success "All Node.js processes terminated"
129
- else
130
- info "No Node.js processes found"
131
- fi
132
- }
133
-
134
- # Function to clean up development servers
135
- cleanup_dev_servers() {
136
- info "Cleaning up development servers ${GEAR}"
137
-
138
- # Kill specific ports used by the dashboard
139
- kill_port 5173 "Vite Dev Server"
140
- kill_port 8081 "Backend Server"
141
- kill_port 3000 "Alternative Dev Server"
142
- kill_port 8080 "Alternative Backend"
143
-
144
- echo ""
145
- }
146
-
147
- # Help function
148
- show_help() {
149
- echo -e "${WHITE}${BOLD}Usage:${NC}"
150
- echo -e " ${CYAN}./exit${NC} ${WHITE}Stop dashboard servers (ports 5173, 8081)${NC}"
151
- echo -e " ${CYAN}./exit all${NC} ${WHITE}Stop all Node.js processes${NC}"
152
- echo -e " ${CYAN}./exit port <n>${NC} ${WHITE}Stop process on specific port${NC}"
153
- echo -e " ${CYAN}./exit help${NC} ${WHITE}Show this help message${NC}"
154
- echo ""
155
- echo -e "${WHITE}${BOLD}Examples:${NC}"
156
- echo -e " ${YELLOW}./exit${NC} ${GREEN}# Stop dashboard servers${NC}"
157
- echo -e " ${YELLOW}./exit all${NC} ${GREEN}# Nuclear option - kill all Node.js${NC}"
158
- echo -e " ${YELLOW}./exit port 3000${NC} ${GREEN}# Stop specific port${NC}"
159
- echo ""
160
- echo -e "${RED}Made with ${SKULL} for clean shutdowns${NC}"
161
- }
162
-
163
- # Main execution flow
164
- main() {
165
- # Clear screen for clean output
166
- clear
167
-
168
- # Show the banner
169
- show_banner
170
-
171
- # Check dependencies
172
- check_lsof
173
-
174
- case "${1:-}" in
175
- "all")
176
- kill_all_node
177
- ;;
178
- "port")
179
- if [ -z "$2" ]; then
180
- error "Port number required"
181
- echo -e "${CYAN}Usage: ./exit port <port_number>${NC}"
182
- exit 1
183
- fi
184
- kill_port "$2" "Custom Port"
185
- ;;
186
- "help"|"-h"|"--help")
187
- show_help
188
- ;;
189
- "")
190
- cleanup_dev_servers
191
- ;;
192
- *)
193
- warn "Unknown command: $1"
194
- echo ""
195
- show_help
196
- exit 1
197
- ;;
198
- esac
199
-
200
- echo ""
201
- success "Exit sequence completed ${STOP}"
202
- echo -e "${PURPLE}Dashboard processes have been terminated ${FIRE}${NC}"
203
- }
204
-
205
- # Error handling for script interruption
206
- trap 'echo -e "\n${YELLOW}${BOLD}${LIGHTNING} Exit script interrupted${NC}"; exit 0' INT
207
-
208
- # Run the main function
209
- main "$@"
package/jsconfig.json DELETED
@@ -1,16 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "baseUrl": ".",
4
- "paths": {
5
- "@/*": ["src/*"]
6
- },
7
- "allowJs": true,
8
- "checkJs": false,
9
- "module": "ESNext",
10
- "moduleResolution": "node",
11
- "target": "ESNext",
12
- "jsx": "preserve"
13
- },
14
- "exclude": ["node_modules", "dist"],
15
- "include": ["src/**/*"]
16
- }