diff --git a/package.json b/package.json index 40800ae..5bf94d4 100644 --- a/package.json +++ b/package.json @@ -5,9 +5,11 @@ "scripts": { "build:css": "tailwindcss -i ./web/static/input.css -o ./web/static/style.css --watch", "build:css:prod": "tailwindcss -i ./web/static/input.css -o ./web/static/style.css --minify", - "build:ts": "esbuild web/src/*.ts --bundle --outdir=web/static/main.js --sourcemap --target=es2020 --minify", - "build:ts:watch": "esbuild web/src/*.ts --bundle --outdir=web/static --sourcemap --watch", - "build:ts:dev": "esbuild web/src/*.ts --bundle --outdir=web/static --sourcemap --target=es2020" + "build:ts": "esbuild web/src/main.ts --bundle --outfile=web/static/main.js --sourcemap --target=es2020 --minify", + "build:ts:dev": "esbuild web/src/main.ts --bundle --outfile=web/static/main.js --sourcemap --target=es2020", + "build:ts:watch": "esbuild web/src/main.ts --bundle --outfile=web/static/main.js --sourcemap --target=es2020 --watch", + "build": "npm run build:ts && npm run build:css:prod", + "dev": "npm run build:ts:dev && npm run build:css" }, "dependencies": { "alpinejs": "^3.15.8", diff --git a/web/src/alpine.ts b/web/src/alpine.ts new file mode 100644 index 0000000..602f8e2 --- /dev/null +++ b/web/src/alpine.ts @@ -0,0 +1,15 @@ +import Alpine from "alpinejs"; + +// Extend Window interface to include Alpine +declare global { + interface Window { + Alpine: typeof Alpine; + } +} + +// Initialize Alpine +window.Alpine = Alpine; +Alpine.start(); + +// Re-export Alpine for other modules to use +export { Alpine }; diff --git a/web/src/main.ts b/web/src/main.ts index ac08853..b2f575e 100644 --- a/web/src/main.ts +++ b/web/src/main.ts @@ -22,3 +22,4 @@ import "./theme"; import "./toast"; import "./woodPanelingInit"; import "./woodPaneling"; +import "./alpine"; diff --git a/web/src/toast.ts b/web/src/toast.ts index 2e50fae..8452964 100644 --- a/web/src/toast.ts +++ b/web/src/toast.ts @@ -1,3 +1,4 @@ +import { Alpine } from "./alpine"; // Toast notification system for backend errors // Displays toast notifications at the top of the page