Initial commit - Redesigned Deal Plus Tech website with new layouts
8
.gitignore
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
.env
|
||||
.env.local
|
||||
node_modules/
|
||||
dist/
|
||||
.astro/
|
||||
.ruff_cache/
|
||||
*.log
|
||||
.DS_Store
|
||||
26
Dockerfile
Normal file
@@ -0,0 +1,26 @@
|
||||
FROM node:20-alpine AS base
|
||||
WORKDIR /app
|
||||
|
||||
FROM base AS deps
|
||||
RUN apk add --no-cache libc6-compat
|
||||
COPY package.json package-lock.json ./
|
||||
RUN npm ci
|
||||
|
||||
FROM base AS builder
|
||||
COPY --from=deps /app/node_modules /app/node_modules
|
||||
COPY . .
|
||||
RUN npm run build
|
||||
|
||||
FROM base AS runner
|
||||
RUN addgroup -g 1001 -S nodejs
|
||||
RUN adduser -S nodejs -u 1001
|
||||
WORKDIR /app
|
||||
|
||||
COPY --from=builder /app/dist ./dist
|
||||
COPY --from=builder /app/package.json ./package.json
|
||||
COPY --from=builder /app/node_modules ./node_modules
|
||||
|
||||
USER nodejs
|
||||
EXPOSE 4321
|
||||
|
||||
CMD ["npx", "astro", "preview", "--host", "0.0.0.0", "--port", "4321"]
|
||||
23
astro.config.mjs
Normal file
@@ -0,0 +1,23 @@
|
||||
// @ts-check
|
||||
import { defineConfig } from 'astro/config';
|
||||
import tailwind from '@astrojs/tailwind';
|
||||
import sitemap from '@astrojs/sitemap';
|
||||
|
||||
export default defineConfig({
|
||||
site: 'https://dealplustech.co.th',
|
||||
integrations: [
|
||||
tailwind(),
|
||||
sitemap(),
|
||||
],
|
||||
output: 'static',
|
||||
i18n: {
|
||||
defaultLocale: 'th',
|
||||
locales: ['th'],
|
||||
routing: {
|
||||
prefixDefaultLocale: false,
|
||||
},
|
||||
},
|
||||
build: {
|
||||
inlineStylesheets: 'auto',
|
||||
},
|
||||
});
|
||||
6797
package-lock.json
generated
Normal file
21
package.json
Normal file
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"name": "dealplustech-newastro",
|
||||
"type": "module",
|
||||
"version": "1.0.0",
|
||||
"scripts": {
|
||||
"dev": "astro dev",
|
||||
"build": "astro build",
|
||||
"preview": "astro preview"
|
||||
},
|
||||
"dependencies": {
|
||||
"@astrojs/node": "^9.0.0",
|
||||
"@astrojs/sitemap": "^3.2.1",
|
||||
"@astrojs/tailwind": "^6.0.0",
|
||||
"astro": "^5.2.3",
|
||||
"tailwindcss": "^3.4.17"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^22.10.2",
|
||||
"typescript": "^5.7.2"
|
||||
}
|
||||
}
|
||||
4
public/favicon.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
|
||||
<rect width="100" height="100" rx="20" fill="#3aaf55"/>
|
||||
<text x="50" y="65" font-family="sans-serif" font-size="50" font-weight="bold" text-anchor="middle" fill="white">D+</text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 252 B |
BIN
public/images/HDPE-welding-crop.jpg
Normal file
|
After Width: | Height: | Size: 51 KiB |
BIN
public/images/dealplustechlineqr.png
Normal file
|
After Width: | Height: | Size: 617 B |
BIN
public/images/dukelarrsen/dukelarrsen-02-03.jpg
Normal file
|
After Width: | Height: | Size: 41 KiB |
BIN
public/images/dukelarrsen/dukelarrsen-04.jpg
Normal file
|
After Width: | Height: | Size: 30 KiB |
BIN
public/images/dukelarrsen/dukelarrsen-05.jpg
Normal file
|
After Width: | Height: | Size: 35 KiB |
BIN
public/images/dukelarrsen/dukelarrsen-06.jpg
Normal file
|
After Width: | Height: | Size: 53 KiB |
BIN
public/images/dukelarrsen/dukelarrsen-07.jpg
Normal file
|
After Width: | Height: | Size: 36 KiB |
BIN
public/images/dukelarrsen/dukelarrsen-08.jpg
Normal file
|
After Width: | Height: | Size: 190 KiB |
BIN
public/images/dukelarrsen/dukelarrsen-09.jpg
Normal file
|
After Width: | Height: | Size: 43 KiB |
BIN
public/images/dukelarrsen/dukelarrsen-10.jpg
Normal file
|
After Width: | Height: | Size: 128 KiB |
BIN
public/images/dukelarrsen/dukelarrsen-11.jpg
Normal file
|
After Width: | Height: | Size: 122 KiB |
BIN
public/images/dukelarrsen/dukelarrsen-12.jpg
Normal file
|
After Width: | Height: | Size: 131 KiB |
BIN
public/images/dukelarrsen/dukelarrsen-13.jpg
Normal file
|
After Width: | Height: | Size: 101 KiB |
BIN
public/images/dukelarrsen/dukelarrsen-14.jpg
Normal file
|
After Width: | Height: | Size: 88 KiB |
BIN
public/images/dukelarrsen/dukelarrsen-15.jpg
Normal file
|
After Width: | Height: | Size: 74 KiB |
BIN
public/images/dukelarrsen/dukelarrsen-16.jpg
Normal file
|
After Width: | Height: | Size: 88 KiB |
BIN
public/images/dukelarrsen/dukelarrsen-17.jpg
Normal file
|
After Width: | Height: | Size: 97 KiB |
BIN
public/images/dukelarrsen/dukelarrsen-18.jpg
Normal file
|
After Width: | Height: | Size: 144 KiB |
BIN
public/images/dukelarrsen/dukelarrsen-19.jpg
Normal file
|
After Width: | Height: | Size: 151 KiB |
BIN
public/images/dukelarrsen/dukelarrsen-20.jpg
Normal file
|
After Width: | Height: | Size: 147 KiB |
BIN
public/images/dukelarrsen/dukelarrsen-21.jpg
Normal file
|
After Width: | Height: | Size: 95 KiB |
BIN
public/images/dukelarrsen/dukelarrsen-22.jpg
Normal file
|
After Width: | Height: | Size: 147 KiB |
BIN
public/images/dukelarrsen/dukelarrsen-23.jpg
Normal file
|
After Width: | Height: | Size: 148 KiB |
BIN
public/images/dukelarrsen/dukelarrsen-24.jpg
Normal file
|
After Width: | Height: | Size: 146 KiB |
BIN
public/images/dukelarrsen/dukelarrsen-26.jpg
Normal file
|
After Width: | Height: | Size: 64 KiB |
BIN
public/images/dukelarrsen/dukelarrsen-27.jpg
Normal file
|
After Width: | Height: | Size: 56 KiB |
BIN
public/images/dukelarrsen/dukelarrsen-28.jpg
Normal file
|
After Width: | Height: | Size: 80 KiB |
BIN
public/images/dukelarrsen/dukelarrsen-29.jpg
Normal file
|
After Width: | Height: | Size: 40 KiB |
BIN
public/images/dukelarrsen/dukelarrsen-30.jpg
Normal file
|
After Width: | Height: | Size: 176 KiB |
BIN
public/images/dukelarrsen/dukelarrsen-31.jpg
Normal file
|
After Width: | Height: | Size: 117 KiB |
BIN
public/images/dukelarrsen/dukelarrsen-32.jpg
Normal file
|
After Width: | Height: | Size: 119 KiB |
BIN
public/images/dukelarrsen/dukelarrsen-33.jpg
Normal file
|
After Width: | Height: | Size: 187 KiB |
BIN
public/images/dukelarrsen/dukelarrsen-34.jpg
Normal file
|
After Width: | Height: | Size: 88 KiB |
BIN
public/images/dukelarrsen/dukelarrsen-35.jpg
Normal file
|
After Width: | Height: | Size: 156 KiB |
BIN
public/images/dukelarrsen/dukelarrsen-36.jpg
Normal file
|
After Width: | Height: | Size: 49 KiB |
BIN
public/images/dukelarrsen/dukelarrsen-37.jpg
Normal file
|
After Width: | Height: | Size: 29 KiB |
BIN
public/images/dukelarrsen/dukelarrsen-38.jpg
Normal file
|
After Width: | Height: | Size: 79 KiB |
BIN
public/images/dukelarrsen/dukelarrsen-43.jpg
Normal file
|
After Width: | Height: | Size: 162 KiB |
BIN
public/images/durgo-avvs/durgo-002.jpg
Normal file
|
After Width: | Height: | Size: 90 KiB |
BIN
public/images/durgo-avvs/durgo-003.jpg
Normal file
|
After Width: | Height: | Size: 120 KiB |
BIN
public/images/durgo-avvs/durgo-004.jpg
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
public/images/durgo-avvs/durgo-005.jpg
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
BIN
public/images/durgo-avvs/durgo-006.jpg
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
BIN
public/images/durgo-avvs/durgo-007.jpg
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
public/images/durgo-avvs/durgo-008.jpg
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
public/images/durgo-avvs/durgo-009.jpg
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
BIN
public/images/durgo-avvs/durgo-010.jpg
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
BIN
public/images/durgo-avvs/durgo-011.jpg
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
public/images/durgo-avvs/durgo-012.jpg
Normal file
|
After Width: | Height: | Size: 56 KiB |
BIN
public/images/durgo-avvs/durgo-013.jpg
Normal file
|
After Width: | Height: | Size: 44 KiB |
BIN
public/images/durgo-avvs/durgo-014.jpg
Normal file
|
After Width: | Height: | Size: 40 KiB |
BIN
public/images/durgo-avvs/durgo-015.jpg
Normal file
|
After Width: | Height: | Size: 40 KiB |
BIN
public/images/durgo-avvs/durgo-016.jpg
Normal file
|
After Width: | Height: | Size: 41 KiB |
BIN
public/images/durgo-avvs/durgo-017.jpg
Normal file
|
After Width: | Height: | Size: 45 KiB |
BIN
public/images/durgo-avvs/durgo-018.jpg
Normal file
|
After Width: | Height: | Size: 36 KiB |
BIN
public/images/durgo-avvs/durgo-019.jpg
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
public/images/durgo-avvs/durgo-020.jpg
Normal file
|
After Width: | Height: | Size: 9.2 KiB |
BIN
public/images/durgo-avvs/durgo-021.jpg
Normal file
|
After Width: | Height: | Size: 71 KiB |
BIN
public/images/durgo-avvs/durgo-022.jpg
Normal file
|
After Width: | Height: | Size: 109 KiB |
BIN
public/images/durgo-avvs/durgo-023.jpg
Normal file
|
After Width: | Height: | Size: 42 KiB |
BIN
public/images/durgo-avvs/durgo-024.jpg
Normal file
|
After Width: | Height: | Size: 72 KiB |
BIN
public/images/durgo-avvs/durgo-025.jpg
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
public/images/durgo-avvs/durgo-026.jpg
Normal file
|
After Width: | Height: | Size: 7.5 KiB |
BIN
public/images/durgo-avvs/durgo-027.jpg
Normal file
|
After Width: | Height: | Size: 62 KiB |
BIN
public/images/fire-cabinet-1-crop.jpg
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
public/images/fire-cabinet-1-new.jpg
Normal file
|
After Width: | Height: | Size: 51 KiB |
BIN
public/images/fire-cabinet-1.jpg
Normal file
|
After Width: | Height: | Size: 51 KiB |
BIN
public/images/fire-cabinet-2-crop.jpg
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
public/images/fire-cabinet-2-new.jpg
Normal file
|
After Width: | Height: | Size: 52 KiB |
BIN
public/images/fire-cabinet-2.jpg
Normal file
|
After Width: | Height: | Size: 52 KiB |
BIN
public/images/fire-extinguisher-p1.jpg
Normal file
|
After Width: | Height: | Size: 67 KiB |
BIN
public/images/fire-extinguisher-p2.jpg
Normal file
|
After Width: | Height: | Size: 204 KiB |
BIN
public/images/fire-extinguisher-p3.jpg
Normal file
|
After Width: | Height: | Size: 157 KiB |
BIN
public/images/grilles/air-grille-content.jpg
Normal file
|
After Width: | Height: | Size: 140 KiB |
BIN
public/images/grilles/eye-ball.jpg
Normal file
|
After Width: | Height: | Size: 54 KiB |
BIN
public/images/grilles/fresh-air-hing-type.jpg
Normal file
|
After Width: | Height: | Size: 56 KiB |
BIN
public/images/grilles/fresh-air1-content-1.jpg
Normal file
|
After Width: | Height: | Size: 100 KiB |
BIN
public/images/grilles/fresh-air1-content-2.jpg
Normal file
|
After Width: | Height: | Size: 100 KiB |
BIN
public/images/grilles/grilles-plastic-content.jpg
Normal file
|
After Width: | Height: | Size: 136 KiB |
BIN
public/images/grilles/hi-flo-jet-diffuser.jpg
Normal file
|
After Width: | Height: | Size: 62 KiB |
BIN
public/images/grilles/linear-bar.jpg
Normal file
|
After Width: | Height: | Size: 52 KiB |
BIN
public/images/grilles/linear-slot-content.jpg
Normal file
|
After Width: | Height: | Size: 45 KiB |
BIN
public/images/grilles/louver-2.jpg
Normal file
|
After Width: | Height: | Size: 56 KiB |
BIN
public/images/grilles/louver-4.jpg
Normal file
|
After Width: | Height: | Size: 47 KiB |
BIN
public/images/grilles/perforate.jpg
Normal file
|
After Width: | Height: | Size: 42 KiB |
BIN
public/images/grilles/rectangular.jpg
Normal file
|
After Width: | Height: | Size: 56 KiB |
BIN
public/images/grilles/return-air-hing-type.jpg
Normal file
|
After Width: | Height: | Size: 63 KiB |
BIN
public/images/grilles/return-air.jpg
Normal file
|
After Width: | Height: | Size: 70 KiB |
BIN
public/images/grilles/round-ceiling.jpg
Normal file
|
After Width: | Height: | Size: 59 KiB |
BIN
public/images/grilles/square-ceiling.jpg
Normal file
|
After Width: | Height: | Size: 58 KiB |
BIN
public/images/grilles/supply-air-content.jpg
Normal file
|
After Width: | Height: | Size: 107 KiB |
BIN
public/images/groove-coupling/G1.png
Normal file
|
After Width: | Height: | Size: 146 KiB |
BIN
public/images/groove-coupling/G10.png
Normal file
|
After Width: | Height: | Size: 67 KiB |
BIN
public/images/groove-coupling/G11.png
Normal file
|
After Width: | Height: | Size: 62 KiB |