Merge branch 'refactor/emdash-pages' into source-code
Bring in latest changes: - feat: add price list PDFs and pricelist sections for pipe products - fix(seo): hardcoded dealplustech.co.th URLs in JSON-LD - refactor(ball-jet): add product page + cleanup - fix(grilles): remove redundant hero text - refactor: migrate blog from EmDash CMS to Astro content collections (no longer using EmDash) - chore: remove orphan images and PDFs
1
.gitignore
vendored
@@ -25,3 +25,4 @@ uploads/
|
|||||||
|
|
||||||
# Generated
|
# Generated
|
||||||
emdash-env.d.ts
|
emdash-env.d.ts
|
||||||
|
.hermes/
|
||||||
|
|||||||
@@ -1,10 +1,6 @@
|
|||||||
import { defineConfig } from 'astro/config'
|
import { defineConfig } from 'astro/config'
|
||||||
import tailwindcss from '@tailwindcss/vite'
|
import tailwindcss from '@tailwindcss/vite'
|
||||||
import node from '@astrojs/node'
|
|
||||||
import react from '@astrojs/react'
|
import react from '@astrojs/react'
|
||||||
import emdash, { local } from 'emdash/astro'
|
|
||||||
import { sqlite } from 'emdash/db'
|
|
||||||
import { google } from 'emdash/auth/providers/google'
|
|
||||||
import { fileURLToPath } from 'url'
|
import { fileURLToPath } from 'url'
|
||||||
import path from 'path'
|
import path from 'path'
|
||||||
|
|
||||||
@@ -12,10 +8,7 @@ const __dirname = path.dirname(fileURLToPath(import.meta.url))
|
|||||||
|
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
site: 'https://dealplustech.com',
|
site: 'https://dealplustech.com',
|
||||||
output: 'server',
|
output: 'static',
|
||||||
adapter: node({
|
|
||||||
mode: 'standalone',
|
|
||||||
}),
|
|
||||||
vite: {
|
vite: {
|
||||||
plugins: [tailwindcss()],
|
plugins: [tailwindcss()],
|
||||||
resolve: {
|
resolve: {
|
||||||
@@ -29,14 +22,6 @@ export default defineConfig({
|
|||||||
},
|
},
|
||||||
integrations: [
|
integrations: [
|
||||||
react(),
|
react(),
|
||||||
emdash({
|
|
||||||
database: sqlite({ url: 'file:./data.db' }),
|
|
||||||
storage: local({
|
|
||||||
directory: './uploads',
|
|
||||||
baseUrl: '/_emdash/api/media/file',
|
|
||||||
}),
|
|
||||||
authProviders: [google()],
|
|
||||||
}),
|
|
||||||
],
|
],
|
||||||
build: {
|
build: {
|
||||||
assets: '_assets',
|
assets: '_assets',
|
||||||
|
|||||||
4480
package-lock.json
generated
@@ -7,17 +7,14 @@
|
|||||||
"dev": "astro dev",
|
"dev": "astro dev",
|
||||||
"build": "astro build",
|
"build": "astro build",
|
||||||
"preview": "astro preview",
|
"preview": "astro preview",
|
||||||
"astro": "astro",
|
"astro": "astro"
|
||||||
"start": "node ./dist/server/entry.mjs"
|
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@astrojs/check": "^0.9.4",
|
"@astrojs/check": "^0.9.4",
|
||||||
"@astrojs/node": "^10.1.1",
|
|
||||||
"@astrojs/react": "^5.0.5",
|
"@astrojs/react": "^5.0.5",
|
||||||
"@tailwindcss/typography": "^0.5.15",
|
"@tailwindcss/typography": "^0.5.15",
|
||||||
"@tailwindcss/vite": "^4.0.0",
|
"@tailwindcss/vite": "^4.0.0",
|
||||||
"astro": "^6.1.7",
|
"astro": "^6.1.7",
|
||||||
"emdash": "^0.14.0",
|
|
||||||
"marked": "^18.0.3",
|
"marked": "^18.0.3",
|
||||||
"react": "^19.2.6",
|
"react": "^19.2.6",
|
||||||
"react-dom": "^19.2.6",
|
"react-dom": "^19.2.6",
|
||||||
|
|||||||
BIN
public/documents/16 Price List Armaflex 2567.pdf
Normal file
BIN
public/documents/19 Pricelist Aeroflex (update 2565).pdf
Normal file
BIN
public/documents/2026-New Update Thermobreak Price List.pdf
Normal file
BIN
public/documents/PRICE-LIST_TPPR_V28-2023 [26012023].pdf
Normal file
BIN
public/documents/Price List HDPE TAP.pdf
Normal file
BIN
public/documents/Price List MECH_V13-2021 [260864](1).pdf
Normal file
BIN
public/documents/เอสซีเจ ปี68.pdf
Normal file
@@ -1,6 +0,0 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" width="400" height="400" viewBox="0 0 400 400">
|
|
||||||
<rect width="400" height="400" fill="#2563eb"/>
|
|
||||||
<text x="200" y="100" text-anchor="middle" fill="white" font-family="sans-serif" font-size="24" font-weight="600">เครื่องเชื่อม HDPE</text>
|
|
||||||
<rect x="100" y="160" width="200" height="140" rx="15" fill="none" stroke="white" stroke-width="6"/>
|
|
||||||
<line x1="200" y1="200" x2="200" y2="260" stroke="white" stroke-width="6" stroke-linecap="round"/>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 517 B |
BIN
public/images/ball-jet/ball-jet-front.jpg
Normal file
|
After Width: | Height: | Size: 5.0 KiB |
BIN
public/images/ball-jet/ball-jet-main-hd.jpg
Normal file
|
After Width: | Height: | Size: 185 KiB |
BIN
public/images/ball-jet/ball-jet-main.jpg
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
public/images/ball-jet/ball-jet-performance.jpg
Normal file
|
After Width: | Height: | Size: 99 KiB |
BIN
public/images/ball-jet/ball-jet-specs.jpg
Normal file
|
After Width: | Height: | Size: 68 KiB |
|
Before Width: | Height: | Size: 41 KiB |
|
Before Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 53 KiB |
|
Before Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 190 KiB |
|
Before Width: | Height: | Size: 43 KiB |
|
Before Width: | Height: | Size: 128 KiB |
|
Before Width: | Height: | Size: 122 KiB |
|
Before Width: | Height: | Size: 131 KiB |
|
Before Width: | Height: | Size: 101 KiB |
|
Before Width: | Height: | Size: 88 KiB |
|
Before Width: | Height: | Size: 74 KiB |
|
Before Width: | Height: | Size: 88 KiB |
|
Before Width: | Height: | Size: 97 KiB |
|
Before Width: | Height: | Size: 144 KiB |
|
Before Width: | Height: | Size: 151 KiB |
|
Before Width: | Height: | Size: 147 KiB |
|
Before Width: | Height: | Size: 95 KiB |
|
Before Width: | Height: | Size: 147 KiB |
|
Before Width: | Height: | Size: 148 KiB |
|
Before Width: | Height: | Size: 146 KiB |
|
Before Width: | Height: | Size: 64 KiB |
|
Before Width: | Height: | Size: 56 KiB |
|
Before Width: | Height: | Size: 80 KiB |
|
Before Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 176 KiB |
|
Before Width: | Height: | Size: 117 KiB |
|
Before Width: | Height: | Size: 119 KiB |
|
Before Width: | Height: | Size: 187 KiB |
|
Before Width: | Height: | Size: 88 KiB |
|
Before Width: | Height: | Size: 156 KiB |
|
Before Width: | Height: | Size: 49 KiB |
|
Before Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 79 KiB |
|
Before Width: | Height: | Size: 162 KiB |
|
Before Width: | Height: | Size: 107 KiB |
|
Before Width: | Height: | Size: 107 KiB |
|
Before Width: | Height: | Size: 183 KiB |
|
Before Width: | Height: | Size: 201 KiB |
|
Before Width: | Height: | Size: 175 KiB |
|
Before Width: | Height: | Size: 219 KiB |
|
Before Width: | Height: | Size: 209 KiB |
|
Before Width: | Height: | Size: 228 KiB |
|
Before Width: | Height: | Size: 167 KiB |
|
Before Width: | Height: | Size: 217 KiB |
|
Before Width: | Height: | Size: 221 KiB |
|
Before Width: | Height: | Size: 169 KiB |
|
Before Width: | Height: | Size: 184 KiB |
|
Before Width: | Height: | Size: 168 KiB |
|
Before Width: | Height: | Size: 176 KiB |
|
Before Width: | Height: | Size: 204 KiB |
|
Before Width: | Height: | Size: 198 KiB |
|
Before Width: | Height: | Size: 178 KiB |
@@ -1,6 +0,0 @@
|
|||||||
{"t":0,"agent":"ad4128b","agent_type":"unknown","event":"agent_stop","success":true}
|
|
||||||
{"t":0,"agent":"ad64cdc","agent_type":"unknown","event":"agent_stop","success":true}
|
|
||||||
{"t":0,"agent":"af7261d","agent_type":"unknown","event":"agent_stop","success":true}
|
|
||||||
{"t":0,"agent":"ab325cf","agent_type":"unknown","event":"agent_stop","success":true}
|
|
||||||
{"t":0,"agent":"a61235c","agent_type":"unknown","event":"agent_stop","success":true}
|
|
||||||
{"t":0,"agent":"a9ce12a","agent_type":"unknown","event":"agent_stop","success":true}
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
{
|
|
||||||
"created_at": "2026-05-11T07:59:27.489Z",
|
|
||||||
"trigger": "auto",
|
|
||||||
"active_modes": {},
|
|
||||||
"todo_summary": {
|
|
||||||
"pending": 0,
|
|
||||||
"in_progress": 0,
|
|
||||||
"completed": 0
|
|
||||||
},
|
|
||||||
"wisdom_exported": false,
|
|
||||||
"background_jobs": {
|
|
||||||
"active": [],
|
|
||||||
"recent": [],
|
|
||||||
"stats": null
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
{
|
|
||||||
"created_at": "2026-05-11T10:16:55.527Z",
|
|
||||||
"trigger": "auto",
|
|
||||||
"active_modes": {},
|
|
||||||
"todo_summary": {
|
|
||||||
"pending": 0,
|
|
||||||
"in_progress": 0,
|
|
||||||
"completed": 0
|
|
||||||
},
|
|
||||||
"wisdom_exported": false,
|
|
||||||
"background_jobs": {
|
|
||||||
"active": [],
|
|
||||||
"recent": [],
|
|
||||||
"stats": null
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
{
|
|
||||||
"created_at": "2026-05-11T12:31:19.985Z",
|
|
||||||
"trigger": "auto",
|
|
||||||
"active_modes": {},
|
|
||||||
"todo_summary": {
|
|
||||||
"pending": 0,
|
|
||||||
"in_progress": 0,
|
|
||||||
"completed": 0
|
|
||||||
},
|
|
||||||
"wisdom_exported": false,
|
|
||||||
"background_jobs": {
|
|
||||||
"active": [],
|
|
||||||
"recent": [],
|
|
||||||
"stats": null
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
{
|
|
||||||
"created_at": "2026-05-11T13:06:32.884Z",
|
|
||||||
"trigger": "auto",
|
|
||||||
"active_modes": {},
|
|
||||||
"todo_summary": {
|
|
||||||
"pending": 0,
|
|
||||||
"in_progress": 0,
|
|
||||||
"completed": 0
|
|
||||||
},
|
|
||||||
"wisdom_exported": false,
|
|
||||||
"background_jobs": {
|
|
||||||
"active": [],
|
|
||||||
"recent": [],
|
|
||||||
"stats": null
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
{
|
|
||||||
"created_at": "2026-05-11T13:15:25.417Z",
|
|
||||||
"trigger": "auto",
|
|
||||||
"active_modes": {},
|
|
||||||
"todo_summary": {
|
|
||||||
"pending": 0,
|
|
||||||
"in_progress": 0,
|
|
||||||
"completed": 0
|
|
||||||
},
|
|
||||||
"wisdom_exported": false,
|
|
||||||
"background_jobs": {
|
|
||||||
"active": [],
|
|
||||||
"recent": [],
|
|
||||||
"stats": null
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
"tool_name": "Read",
|
|
||||||
"tool_input_preview": "{\"file_path\":\"/Users/kunthawatgreethong/.openclaude/projects/-Users-kunthawatgreethong-Gitea-dealplustech-emdash/memory/user/user-may2026-init-and-debug.md\"}",
|
|
||||||
"error": "File does not exist. Note: your current working directory is /Users/kunthawatgreethong/Gitea/dealplustech-emdash/public/images/portfolio.",
|
|
||||||
"timestamp": "2026-05-11T12:31:19.670Z",
|
|
||||||
"retry_count": 1
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
{
|
|
||||||
"session_id": "77cb8f65-501a-417d-8d97-926fcba021ef",
|
|
||||||
"started_at": "2026-05-11T13:17:49.645Z",
|
|
||||||
"cwd": "/Users/kunthawatgreethong/Gitea/dealplustech-emdash/public/images/portfolio",
|
|
||||||
"pid": 17185
|
|
||||||
}
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
"agents": [],
|
|
||||||
"total_spawned": 0,
|
|
||||||
"total_completed": 0,
|
|
||||||
"total_failed": 0,
|
|
||||||
"last_updated": "2026-05-11T14:20:10.433Z"
|
|
||||||
}
|
|
||||||
|
Before Width: | Height: | Size: 509 KiB |
|
Before Width: | Height: | Size: 247 KiB |
|
Before Width: | Height: | Size: 64 KiB |
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 48 KiB |
|
Before Width: | Height: | Size: 87 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 534 KiB |
|
Before Width: | Height: | Size: 796 KiB |
|
Before Width: | Height: | Size: 90 KiB |
|
Before Width: | Height: | Size: 127 KiB |
|
Before Width: | Height: | Size: 177 KiB |
|
Before Width: | Height: | Size: 143 KiB |
|
Before Width: | Height: | Size: 294 KiB |
|
Before Width: | Height: | Size: 188 KiB |
|
Before Width: | Height: | Size: 470 KiB |
|
Before Width: | Height: | Size: 252 KiB |
|
Before Width: | Height: | Size: 180 KiB |