feat(dashboard): enhance dashboard settings UI and add item management scripts
- Updated the dashboard settings partial to include a semi-transparent background for better visibility. - Introduced a new script for validating the syntax of dashboard item scripts, ensuring better error handling and diagnostics. - Added a comprehensive JavaScript file for managing dashboard items, including fetching, rendering, editing, and deleting items. - Implemented various utility functions for handling alerts, rewards, and modal interactions within the item management interface. - Created temporary scripts for debugging and parsing errors in item scripts, aiding in development and maintenance.
This commit is contained in:
11
tmp_find_parse_error.js
Normal file
11
tmp_find_parse_error.js
Normal file
@@ -0,0 +1,11 @@
|
||||
const fs=require('fs'); const acorn=require('acorn');
|
||||
const path='/home/shni/amayo/amayo/src/server/views/partials/dashboard/dashboard_items.ejs';
|
||||
const s=fs.readFileSync(path,'utf8'); const m=s.match(/<script[^>]*>([\s\S]*?)<\/script>/i); if(!m){ console.error('NO_SCRIPT'); process.exit(2);} const src=m[1];
|
||||
let low=0, high=src.length, bad=-1;
|
||||
while(low<high){ const mid=Math.floor((low+high)/2); try{ acorn.parse(src.slice(0,mid),{ecmaVersion:2020}); low=mid+1; }catch(err){ bad=mid; high=mid; }}
|
||||
console.log('first bad index approx', bad);
|
||||
const start=Math.max(0,bad-120), end=Math.min(src.length,bad+120);
|
||||
const snippet=src.slice(start,end);
|
||||
console.log('snippet around bad:\n', snippet.replace(/\n/g,'\n'));
|
||||
// also show line/col of bad via counting
|
||||
const pre=src.slice(0,bad); const lines=pre.split('\n'); console.log('line',lines.length,'col',lines[lines.length-1].length+1);
|
||||
Reference in New Issue
Block a user