Initial commit: New MoreminiMore website with fresh design

This commit is contained in:
MoreminiMore
2026-04-22 01:59:05 +07:00
commit 76409638cc
14010 changed files with 2052041 additions and 0 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

BIN
dist/client/apple-touch-icon.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

BIN
dist/client/favicon-192.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

BIN
dist/client/favicon-32.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 687 B

4
dist/client/favicon.svg vendored Normal file
View 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="#fed400"/>
<text x="50" y="65" font-family="Arial, sans-serif" font-size="48" font-weight="bold" text-anchor="middle" fill="#000000">M</text>
</svg>

After

Width:  |  Height:  |  Size: 260 B

3
dist/client/icons/social/line.svg vendored Normal file
View File

@@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#06C755">
<path d="M19.365 9.863c.349 0 .63.285.63.631 0 .345-.281.63-.63.63H17.61v1.125h1.755c.349 0 .63.283.63.63 0 .344-.281.629-.63.629h-2.386c-.345 0-.63-.285-.63-.629V8.108c0-.345.285-.63.63-.63h2.386c.345 0 .555.284.555.629 0 .349-.21.631-.555.631H17.61v1.125h1.755zm-3.855 3.016c0 .27-.174.51-.432.596-.064.021-.133.031-.199.031-.211 0-.391-.09-.51-.25l-2.443-3.317v2.94c0 .344-.279.629-.631.629-.346 0-.626-.285-.626-.629V8.108c0-.27.173-.51.43-.595.06-.023.136-.033.194-.033.195 0 .375.104.495.254l2.462 3.33V8.108c0-.345.285-.63.63-.63.345 0 .63.285.63.63v4.771zm-5.741 0c0 .344-.282.629-.631.629-.345 0-.627-.285-.627-.629V8.108c0-.345.282-.63.627-.63.349 0 .631.285.631.63v4.771zm-2.466.629H4.917c-.345 0-.63-.285-.63-.629V8.108c0-.345.285-.63.63-.63.348 0 .63.285.63.63v4.141h1.756c.348 0 .629.283.629.63 0 .344-.282.629-.629.629M24 10.314C24 4.943 18.615.572 12 .572S0 4.943 0 10.314c0 4.811 4.27 8.842 10.035 9.608.391.082.923.258 1.058.59.12.301.079.766.038 1.08l-.164 1.02c-.045.301-.24 1.186 1.049.645 1.291-.539 6.916-4.078 9.436-6.975C23.176 14.393 24 12.458 24 10.314"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
dist/client/images/about.jpg vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 244 KiB

BIN
dist/client/images/ai-automation.jpg vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 285 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 214 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 244 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 KiB

BIN
dist/client/images/contact.jpg vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 219 KiB

BIN
dist/client/images/hero.jpg vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 396 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 268 KiB

BIN
dist/client/images/tech-consult.jpg vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 241 KiB

BIN
dist/client/images/web-development.jpg vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 270 KiB

1
dist/client/sitemap-0.xml vendored Normal file
View File

@@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://www.moreminimore.com/</loc></url><url><loc>https://www.moreminimore.com/about-us/</loc></url><url><loc>https://www.moreminimore.com/admin/consent-logs/</loc></url><url><loc>https://www.moreminimore.com/ai-automation/</loc></url><url><loc>https://www.moreminimore.com/blog/</loc></url><url><loc>https://www.moreminimore.com/contact-us/</loc></url><url><loc>https://www.moreminimore.com/faq/</loc></url><url><loc>https://www.moreminimore.com/marketing-automation/</loc></url><url><loc>https://www.moreminimore.com/portfolio/</loc></url><url><loc>https://www.moreminimore.com/privacy-policy/</loc></url><url><loc>https://www.moreminimore.com/tech-consult/</loc></url><url><loc>https://www.moreminimore.com/terms-and-conditions/</loc></url><url><loc>https://www.moreminimore.com/web-development/</loc></url></urlset>

1
dist/client/sitemap-index.xml vendored Normal file
View File

@@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><sitemap><loc>https://www.moreminimore.com/sitemap-0.xml</loc></sitemap></sitemapindex>

70
dist/server/chunks/Layout_DdK69uya.mjs vendored Normal file
View File

@@ -0,0 +1,70 @@
import { c as createComponent } from './astro-component_Y0jc7Trv.mjs';
import 'piccolore';
import { k as createRenderInstruction, m as maybeRenderHead, f as addAttribute, r as renderTemplate, l as renderHead, h as renderComponent, n as renderSlot } from './server_CW1mBpZH.mjs';
import 'clsx';
async function renderScript(result, id) {
const inlined = result.inlinedScripts.get(id);
let content = "";
if (inlined != null) {
if (inlined) {
content = `<script type="module">${inlined}</script>`;
}
} else {
const resolved = await result.resolve(id);
content = `<script type="module" src="${result.userAssetsBase ? (result.base === "/" ? "" : result.base) + result.userAssetsBase : ""}${resolved}"></script>`;
}
return createRenderInstruction({ type: "script", id, content });
}
const $$Header = createComponent(($$result, $$props, $$slots) => {
const Astro2 = $$result.createAstro($$props, $$slots);
Astro2.self = $$Header;
const navItems = [
{ label: "หน้าหลัก", href: "/" },
{ label: "เกี่ยวกับเรา", href: "/about-us" },
{ label: "บริการ", href: "/web-development" },
{ label: "ผลงาน", href: "/portfolio" },
{ label: "บล็อก", href: "/blog" },
{ label: "ติดต่อเรา", href: "/contact-us" }
];
const currentPath = Astro2.url.pathname;
return renderTemplate`${maybeRenderHead()}<header class="header" data-astro-cid-3ef6ksr2> <div class="container header-inner" data-astro-cid-3ef6ksr2> <a href="/" class="logo" data-astro-cid-3ef6ksr2> <img src="https://moreminimore.com/wp-content/uploads/2022/09/Moreminimore-logo-long-black.png" alt="MoreminiMore" data-astro-cid-3ef6ksr2> </a> <nav class="nav" data-astro-cid-3ef6ksr2> <ul class="nav-list" data-astro-cid-3ef6ksr2> ${navItems.map((item) => renderTemplate`<li data-astro-cid-3ef6ksr2> <a${addAttribute(item.href, "href")}${addAttribute(["nav-link", { active: currentPath === item.href }], "class:list")} data-astro-cid-3ef6ksr2> ${item.label} </a> </li>`)} </ul> </nav> <a href="/contact-us" class="btn-primary" data-astro-cid-3ef6ksr2>ปรึกษาฟรี</a> </div> </header>`;
}, "/Users/kunthawatgreethong/Gitea/moreminimore-new/src/components/Header.astro", void 0);
const $$Footer = createComponent(($$result, $$props, $$slots) => {
const services = [
{ label: "พัฒนาเว็บไซต์", href: "/web-development" },
{ label: "Marketing Automation", href: "/marketing-automation" },
{ label: "AI Automation", href: "/ai-automation" },
{ label: "ให้คำปรึกษา", href: "/tech-consult" }
];
const company = [
{ label: "เกี่ยวกับเรา", href: "/about-us" },
{ label: "ผลงาน", href: "/portfolio" },
{ label: "บล็อก", href: "/blog" },
{ label: "FAQ", href: "/faq" }
];
const legal = [
{ label: "นโยบายความเป็นส่วนตัว", href: "/privacy-policy" },
{ label: "ข้อกำหนดการใช้งาน", href: "/terms-and-conditions" }
];
return renderTemplate`${maybeRenderHead()}<footer class="footer" data-astro-cid-sz7xmlte> <div class="container footer-inner" data-astro-cid-sz7xmlte> <div class="footer-section" data-astro-cid-sz7xmlte> <a href="/" class="footer-logo" data-astro-cid-sz7xmlte> <img src="https://moreminimore.com/wp-content/uploads/2022/09/Moreminimore-logo-long-black.png" alt="MoreminiMore" data-astro-cid-sz7xmlte> </a> <p class="footer-desc" data-astro-cid-sz7xmlte>
บริษัท มอร์มินิมอร์ จำกัด<br data-astro-cid-sz7xmlte>
ผู้เชี่ยวชาญด้าน IT และ Digital Transformation<br data-astro-cid-sz7xmlte>
สำหรับธุรกิจ SMEs ไทย
</p> <div class="footer-contact" data-astro-cid-sz7xmlte> <p data-astro-cid-sz7xmlte>โทร: 080-995-5945</p> <p data-astro-cid-sz7xmlte>อีเมล: contact@moreminimore.com</p> <p data-astro-cid-sz7xmlte>ที่อยู่: 53 หมู่ 1 ต.บ้านแพ้ว อ.บ้านแพ้ว สมุทรสาคร 74120</p> </div> </div> <div class="footer-section" data-astro-cid-sz7xmlte> <h4 data-astro-cid-sz7xmlte>บริการ</h4> <ul data-astro-cid-sz7xmlte> ${services.map((item) => renderTemplate`<li data-astro-cid-sz7xmlte><a${addAttribute(item.href, "href")} data-astro-cid-sz7xmlte>${item.label}</a></li>`)} </ul> </div> <div class="footer-section" data-astro-cid-sz7xmlte> <h4 data-astro-cid-sz7xmlte>บริษัท</h4> <ul data-astro-cid-sz7xmlte> ${company.map((item) => renderTemplate`<li data-astro-cid-sz7xmlte><a${addAttribute(item.href, "href")} data-astro-cid-sz7xmlte>${item.label}</a></li>`)} </ul> </div> <div class="footer-section" data-astro-cid-sz7xmlte> <h4 data-astro-cid-sz7xmlte>ข้อมูลทางกฎหมาย</h4> <ul data-astro-cid-sz7xmlte> ${legal.map((item) => renderTemplate`<li data-astro-cid-sz7xmlte><a${addAttribute(item.href, "href")} data-astro-cid-sz7xmlte>${item.label}</a></li>`)} </ul> </div> </div> <div class="footer-bottom" data-astro-cid-sz7xmlte> <p data-astro-cid-sz7xmlte>&copy; ${(/* @__PURE__ */ new Date()).getFullYear()} บริษัท มอร์มินิมอร์ จำกัด. สงวนลิขสิทธิ์.</p> </div> </footer>`;
}, "/Users/kunthawatgreethong/Gitea/moreminimore-new/src/components/Footer.astro", void 0);
const $$CookieBanner = createComponent(($$result, $$props, $$slots) => {
return renderTemplate`${maybeRenderHead()}<div id="cookie-banner" class="cookie-banner" style="display: none;" data-astro-cid-lomijygd> <div class="cookie-content" data-astro-cid-lomijygd> <h3 data-astro-cid-lomijygd>🍪 การใช้คุกกี้</h3> <p data-astro-cid-lomijygd>เราใช้คุกกี้เพื่อปรับปรุงประสบการณ์การใช้งานเว็บไซต์ของคุณ คุณสามารถเลือกได้ว่าจะอนุญาตคุกกี้ประเภทใด</p> <div class="cookie-options" data-astro-cid-lomijygd> <label class="cookie-option" data-astro-cid-lomijygd> <input type="checkbox" id="cookie-necessary" checked disabled data-astro-cid-lomijygd> <span data-astro-cid-lomijygd>จำเป็น (necessary)</span> </label> <label class="cookie-option" data-astro-cid-lomijygd> <input type="checkbox" id="cookie-performance" data-astro-cid-lomijygd> <span data-astro-cid-lomijygd>ประสิทธิภาพ (performance)</span> </label> <label class="cookie-option" data-astro-cid-lomijygd> <input type="checkbox" id="cookie-marketing" data-astro-cid-lomijygd> <span data-astro-cid-lomijygd>การตลาด (marketing)</span> </label> </div> <div class="cookie-buttons" data-astro-cid-lomijygd> <button id="cookie-accept-all" class="btn-primary" data-astro-cid-lomijygd>ยอมรับทั้งหมด</button> <button id="cookie-reject-all" class="btn-secondary" data-astro-cid-lomijygd>ปฏิเสธทั้งหมด</button> <button id="cookie-save" class="btn-outline" data-astro-cid-lomijygd>บันทึกการตั้งค่า</button> </div> <a href="/privacy-policy" class="cookie-link" data-astro-cid-lomijygd>อ่านนโยบายความเป็นส่วนตัว</a> </div> </div> ${renderScript($$result, "/Users/kunthawatgreethong/Gitea/moreminimore-new/src/components/consent/CookieBanner.astro?astro&type=script&index=0&lang.ts")}`;
}, "/Users/kunthawatgreethong/Gitea/moreminimore-new/src/components/consent/CookieBanner.astro", void 0);
const $$Layout = createComponent(($$result, $$props, $$slots) => {
const Astro2 = $$result.createAstro($$props, $$slots);
Astro2.self = $$Layout;
const { title, description = "บริษัท มอร์มินิมอร์ จำกัด - ผู้เชี่ยวชาญด้าน IT และ Digital Transformation สำหรับธุรกิจ SMEs ไทย" } = Astro2.props;
return renderTemplate`<html lang="th"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="description"${addAttribute(description, "content")}><link rel="icon" type="image/svg+xml" href="/favicon.svg"><title>${title} | MoreminiMore</title>${renderHead()}</head> <body> ${renderComponent($$result, "Header", $$Header, {})} <main> ${renderSlot($$result, $$slots["default"])} </main> ${renderComponent($$result, "Footer", $$Footer, {})} ${renderComponent($$result, "CookieBanner", $$CookieBanner, {})} </body></html>`;
}, "/Users/kunthawatgreethong/Gitea/moreminimore-new/src/layouts/Layout.astro", void 0);
export { $$Layout as $, renderScript as r };

View File

@@ -0,0 +1,209 @@
import 'html-escaper';
import { Traverse } from 'neotraverse/modern';
import * as z from 'zod/v4';
import { i as generateCspDigest, s as spreadAttributes, u as unescapeHTML, r as renderTemplate, A as AstroError, j as UnknownContentCollectionError } from './server_CW1mBpZH.mjs';
import { c as createComponent } from './astro-component_Y0jc7Trv.mjs';
import 'clsx';
import { removeBase, isRemotePath } from '@astrojs/internal-helpers/path';
import { b as VALID_INPUT_FORMATS } from './consts_BLFvATRa.mjs';
import 'piccolore';
import * as devalue from 'devalue';
function createSvgComponent({ meta, attributes, children, styles }) {
const hasStyles = styles.length > 0;
const Component = createComponent({
async factory(result, props) {
const normalizedProps = normalizeProps(attributes, props);
if (hasStyles && result.cspDestination) {
for (const style of styles) {
const hash = await generateCspDigest(style, result.cspAlgorithm);
result._metadata.extraStyleHashes.push(hash);
}
}
return renderTemplate`<svg${spreadAttributes(normalizedProps)}>${unescapeHTML(children)}</svg>`;
},
propagation: hasStyles ? "self" : "none"
});
Object.defineProperty(Component, "toJSON", {
value: () => meta,
enumerable: false
});
return Object.assign(Component, meta);
}
const ATTRS_TO_DROP = ["xmlns", "xmlns:xlink", "version"];
const DEFAULT_ATTRS = {};
function dropAttributes(attributes) {
for (const attr of ATTRS_TO_DROP) {
delete attributes[attr];
}
return attributes;
}
function normalizeProps(attributes, props) {
return dropAttributes({ ...DEFAULT_ATTRS, ...attributes, ...props });
}
const CONTENT_IMAGE_FLAG = "astroContentImageFlag";
const IMAGE_IMPORT_PREFIX = "__ASTRO_IMAGE_";
function imageSrcToImportId(imageSrc, filePath) {
imageSrc = removeBase(imageSrc, IMAGE_IMPORT_PREFIX);
if (isRemotePath(imageSrc)) {
return;
}
const ext = imageSrc.split(".").at(-1)?.toLowerCase();
if (!ext || !VALID_INPUT_FORMATS.includes(ext)) {
return;
}
const params = new URLSearchParams(CONTENT_IMAGE_FLAG);
if (filePath) {
params.set("importer", filePath);
}
return `${imageSrc}?${params.toString()}`;
}
class ImmutableDataStore {
_collections = /* @__PURE__ */ new Map();
constructor() {
this._collections = /* @__PURE__ */ new Map();
}
get(collectionName, key) {
return this._collections.get(collectionName)?.get(String(key));
}
entries(collectionName) {
const collection = this._collections.get(collectionName) ?? /* @__PURE__ */ new Map();
return [...collection.entries()];
}
values(collectionName) {
const collection = this._collections.get(collectionName) ?? /* @__PURE__ */ new Map();
return [...collection.values()];
}
keys(collectionName) {
const collection = this._collections.get(collectionName) ?? /* @__PURE__ */ new Map();
return [...collection.keys()];
}
has(collectionName, key) {
const collection = this._collections.get(collectionName);
if (collection) {
return collection.has(String(key));
}
return false;
}
hasCollection(collectionName) {
return this._collections.has(collectionName);
}
collections() {
return this._collections;
}
/**
* Attempts to load a DataStore from the virtual module.
* This only works in Vite.
*/
static async fromModule() {
try {
const data = await import('./_astro_data-layer-content_Cj7QvjDI.mjs');
if (data.default instanceof Map) {
return ImmutableDataStore.fromMap(data.default);
}
const map = devalue.unflatten(data.default);
return ImmutableDataStore.fromMap(map);
} catch {
}
return new ImmutableDataStore();
}
static async fromMap(data) {
const store = new ImmutableDataStore();
store._collections = data;
return store;
}
}
function dataStoreSingleton() {
let instance = void 0;
return {
get: async () => {
if (!instance) {
instance = ImmutableDataStore.fromModule();
}
return instance;
},
set: (store) => {
instance = store;
}
};
}
const globalDataStore = dataStoreSingleton();
z.object({
tags: z.array(z.string()).optional(),
lastModified: z.date().optional()
});
function createGetCollection({
liveCollections
}) {
return async function getCollection(collection, filter) {
if (collection in liveCollections) {
throw new AstroError({
...UnknownContentCollectionError,
message: `Collection "${collection}" is a live collection. Use getLiveCollection() instead of getCollection().`
});
}
const hasFilter = typeof filter === "function";
const store = await globalDataStore.get();
if (store.hasCollection(collection)) {
const { default: imageAssetMap } = await import('./content-assets_DleWbedO.mjs');
const result = [];
for (const rawEntry of store.values(collection)) {
const data = updateImageReferencesInData(rawEntry.data, rawEntry.filePath, imageAssetMap);
let entry = {
...rawEntry,
data,
collection
};
if (hasFilter && !filter(entry)) {
continue;
}
result.push(entry);
}
return result;
} else {
console.warn(
`The collection ${JSON.stringify(
collection
)} does not exist or is empty. Please check your content config file for errors.`
);
return [];
}
};
}
function updateImageReferencesInData(data, fileName, imageAssetMap) {
return new Traverse(data).map(function(ctx, val) {
if (typeof val === "string" && val.startsWith(IMAGE_IMPORT_PREFIX)) {
const src = val.replace(IMAGE_IMPORT_PREFIX, "");
const id = imageSrcToImportId(src, fileName);
if (!id) {
ctx.update(src);
return;
}
const imported = imageAssetMap?.get(id);
if (imported) {
if (imported.__svgData) {
const { __svgData: svgData, ...meta } = imported;
ctx.update(createSvgComponent({ meta, ...svgData }));
} else {
ctx.update(imported);
}
} else {
ctx.update(src);
}
}
});
}
// astro-head-inject
const liveCollections = {};
const getCollection = createGetCollection({
liveCollections,
});
export { getCollection as g };

View File

@@ -0,0 +1,3 @@
const _astro_dataLayerContent = [["Map",1,2],"meta::meta",["Map",3,4,5,6,7,8],"astro-config-digest","{\"root\":{},\"srcDir\":{},\"publicDir\":{},\"outDir\":{},\"cacheDir\":{},\"site\":\"https://www.moreminimore.com\",\"compressHTML\":true,\"base\":\"/\",\"trailingSlash\":\"ignore\",\"output\":\"server\",\"scopedStyleStrategy\":\"attribute\",\"build\":{\"format\":\"directory\",\"client\":{},\"server\":{},\"assets\":\"_astro\",\"serverEntry\":\"entry.mjs\",\"redirects\":false,\"inlineStylesheets\":\"auto\",\"concurrency\":1},\"server\":{\"open\":false,\"host\":false,\"port\":4321,\"streaming\":true,\"allowedHosts\":[]},\"redirects\":{},\"image\":{\"endpoint\":{\"route\":\"/_image\",\"entrypoint\":\"astro/assets/endpoint/node\"},\"service\":{\"entrypoint\":\"astro/assets/services/sharp\",\"config\":{}},\"domains\":[],\"remotePatterns\":[],\"responsiveStyles\":false},\"devToolbar\":{\"enabled\":true},\"markdown\":{\"syntaxHighlight\":{\"type\":\"shiki\",\"excludeLangs\":[\"math\"]},\"shikiConfig\":{\"langs\":[],\"langAlias\":{},\"theme\":\"github-dark\",\"themes\":{},\"wrap\":false,\"transformers\":[]},\"remarkPlugins\":[],\"rehypePlugins\":[],\"remarkRehype\":{},\"gfm\":true,\"smartypants\":{\"backticks\":true,\"closingQuotes\":{\"double\":\"”\",\"single\":\"\"},\"dashes\":true,\"ellipses\":true,\"openingQuotes\":{\"double\":\"“\",\"single\":\"\"},\"quotes\":true}},\"security\":{\"checkOrigin\":true,\"allowedDomains\":[],\"csp\":false,\"actionBodySizeLimit\":1048576,\"serverIslandBodySizeLimit\":1048576},\"env\":{\"schema\":{},\"validateSecrets\":false},\"prerenderConflictBehavior\":\"warn\",\"experimental\":{\"clientPrerender\":false,\"contentIntellisense\":false,\"chromeDevtoolsWorkspace\":false,\"svgo\":false,\"rustCompiler\":false,\"queuedRendering\":{\"enabled\":false}},\"legacy\":{\"collectionsBackwardsCompat\":false},\"session\":{\"driver\":{\"entrypoint\":\"unstorage/drivers/fs-lite\",\"config\":{\"base\":\"/Users/kunthawatgreethong/Gitea/moreminimore-new/node_modules/.astro/sessions\"}}}}","astro-version","6.1.8","content-config-digest","29418499c0163d6c"];
export { _astro_dataLayerContent as default };

39
dist/server/chunks/_slug__Derd8MtL.mjs vendored Normal file
View File

@@ -0,0 +1,39 @@
import { c as createComponent } from './astro-component_Y0jc7Trv.mjs';
import 'piccolore';
import { h as renderComponent, r as renderTemplate, m as maybeRenderHead, f as addAttribute } from './server_CW1mBpZH.mjs';
import { $ as $$Layout } from './Layout_DdK69uya.mjs';
import { g as getCollection } from './_astro_content_Beg-Bg2V.mjs';
async function getStaticPaths() {
const posts = await getCollection("blog");
return posts.map((post) => ({
params: { slug: post.slug },
props: { post }
}));
}
const $$slug = createComponent(async ($$result, $$props, $$slots) => {
const Astro2 = $$result.createAstro($$props, $$slots);
Astro2.self = $$slug;
const { post } = Astro2.props;
const { Content } = await post.render();
return renderTemplate`${renderComponent($$result, "Layout", $$Layout, { "title": post.data.title, "description": post.data.description, "data-astro-cid-4sn4zg3r": true }, { "default": async ($$result2) => renderTemplate` ${maybeRenderHead()}<article class="blog-post" data-astro-cid-4sn4zg3r> <header class="post-header" data-astro-cid-4sn4zg3r> <div class="container" data-astro-cid-4sn4zg3r> <h1 data-astro-cid-4sn4zg3r>${post.data.title}</h1> <div class="post-meta" data-astro-cid-4sn4zg3r> <span class="author" data-astro-cid-4sn4zg3r>${post.data.author}</span> <span class="separator" data-astro-cid-4sn4zg3r></span> <time${addAttribute(post.data.pubDate.toISOString(), "datetime")} data-astro-cid-4sn4zg3r> ${post.data.pubDate.toLocaleDateString("th-TH", {
year: "numeric",
month: "long",
day: "numeric"
})} </time> <span class="separator" data-astro-cid-4sn4zg3r></span> <span class="category" data-astro-cid-4sn4zg3r>${post.data.category}</span> </div> <div class="tags" data-astro-cid-4sn4zg3r> ${post.data.tags?.map((tag) => renderTemplate`<span class="tag" data-astro-cid-4sn4zg3r>${tag}</span>`)} </div> </div> </header> <div class="post-content" data-astro-cid-4sn4zg3r> <div class="container container-narrow" data-astro-cid-4sn4zg3r> ${renderComponent($$result2, "Content", Content, { "data-astro-cid-4sn4zg3r": true })} </div> </div> <footer class="post-footer" data-astro-cid-4sn4zg3r> <div class="container container-narrow" data-astro-cid-4sn4zg3r> <a href="/blog" class="btn-back" data-astro-cid-4sn4zg3r> </a> </div> </footer> </article> ` })}`;
}, "/Users/kunthawatgreethong/Gitea/moreminimore-new/src/pages/blog/[slug].astro", void 0);
const $$file = "/Users/kunthawatgreethong/Gitea/moreminimore-new/src/pages/blog/[slug].astro";
const $$url = "/blog/[slug]";
const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
__proto__: null,
default: $$slug,
file: $$file,
getStaticPaths,
url: $$url
}, Symbol.toStringTag, { value: 'Module' }));
const page = () => _page;
export { page };

View File

@@ -0,0 +1,7 @@
const serverIslandMap = new Map([
]);
const serverIslandNameMap = new Map([]);
export { serverIslandMap, serverIslandNameMap };

View File

@@ -0,0 +1,4 @@
import * as _default from 'unstorage/drivers/fs-lite';
import _default__default from 'unstorage/drivers/fs-lite';
export * from 'unstorage/drivers/fs-lite';
export { default } from 'unstorage/drivers/fs-lite';

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,37 @@
import { A as AstroError, o as InvalidComponentArgs } from './server_CW1mBpZH.mjs';
function validateArgs(args) {
if (args.length !== 3) return false;
if (!args[0] || typeof args[0] !== "object") return false;
return true;
}
function baseCreateComponent(cb, moduleId, propagation) {
const name = moduleId?.split("/").pop()?.replace(".astro", "") ?? "";
const fn = (...args) => {
if (!validateArgs(args)) {
throw new AstroError({
...InvalidComponentArgs,
message: InvalidComponentArgs.message(name)
});
}
return cb(...args);
};
Object.defineProperty(fn, "name", { value: name, writable: false });
fn.isAstroComponentFactory = true;
fn.moduleId = moduleId;
fn.propagation = propagation;
return fn;
}
function createComponentWithOptions(opts) {
const cb = baseCreateComponent(opts.factory, opts.moduleId, opts.propagation);
return cb;
}
function createComponent(arg1, moduleId, propagation) {
if (typeof arg1 === "function") {
return baseCreateComponent(arg1, moduleId, propagation);
} else {
return createComponentWithOptions(arg1);
}
}
export { createComponent as c };

View File

@@ -0,0 +1,22 @@
import { c as createComponent } from './astro-component_Y0jc7Trv.mjs';
import 'piccolore';
import { h as renderComponent, r as renderTemplate, m as maybeRenderHead } from './server_CW1mBpZH.mjs';
import { $ as $$Layout, r as renderScript } from './Layout_DdK69uya.mjs';
const $$ConsentLogs = createComponent(($$result, $$props, $$slots) => {
return renderTemplate`${renderComponent($$result, "Layout", $$Layout, { "title": "Consent Logs", "description": "Cookie consent logs - Admin only", "data-astro-cid-5yvbipfl": true }, { "default": ($$result2) => renderTemplate` ${maybeRenderHead()}<section class="page-header" data-astro-cid-5yvbipfl> <div class="container" data-astro-cid-5yvbipfl> <h1 data-astro-cid-5yvbipfl>Consent Logs</h1> <p data-astro-cid-5yvbipfl>Cookie consent records</p> </div> </section> <section class="content" data-astro-cid-5yvbipfl> <div class="container" data-astro-cid-5yvbipfl> <p data-astro-cid-5yvbipfl>This is the admin page for viewing cookie consent logs.</p> <p data-astro-cid-5yvbipfl>Logs are stored locally in the browser's localStorage.</p> <div id="consent-logs" data-astro-cid-5yvbipfl> <p data-astro-cid-5yvbipfl>Loading consent logs...</p> </div> <button id="clear-logs" class="btn-secondary" data-astro-cid-5yvbipfl>Clear Logs</button> </div> </section> ` })} ${renderScript($$result, "/Users/kunthawatgreethong/Gitea/moreminimore-new/src/pages/admin/consent-logs.astro?astro&type=script&index=0&lang.ts")}`;
}, "/Users/kunthawatgreethong/Gitea/moreminimore-new/src/pages/admin/consent-logs.astro", void 0);
const $$file = "/Users/kunthawatgreethong/Gitea/moreminimore-new/src/pages/admin/consent-logs.astro";
const $$url = "/admin/consent-logs";
const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
__proto__: null,
default: $$ConsentLogs,
file: $$file,
url: $$url
}, Symbol.toStringTag, { value: 'Module' }));
const page = () => _page;
export { page };

33
dist/server/chunks/consts_BLFvATRa.mjs vendored Normal file
View File

@@ -0,0 +1,33 @@
const VALID_INPUT_FORMATS = [
"jpeg",
"jpg",
"png",
"tiff",
"webp",
"gif",
"svg",
"avif"
];
const VALID_SUPPORTED_FORMATS = [
"jpeg",
"jpg",
"png",
"tiff",
"webp",
"gif",
"svg",
"avif"
];
const DEFAULT_OUTPUT_FORMAT = "webp";
const DEFAULT_HASH_PROPS = [
"src",
"width",
"height",
"format",
"quality",
"fit",
"position",
"background"
];
export { DEFAULT_OUTPUT_FORMAT as D, VALID_SUPPORTED_FORMATS as V, DEFAULT_HASH_PROPS as a, VALID_INPUT_FORMATS as b };

View File

@@ -0,0 +1,22 @@
import { c as createComponent } from './astro-component_Y0jc7Trv.mjs';
import 'piccolore';
import { h as renderComponent, r as renderTemplate, m as maybeRenderHead } from './server_CW1mBpZH.mjs';
import { $ as $$Layout } from './Layout_DdK69uya.mjs';
const $$ContactUs = createComponent(($$result, $$props, $$slots) => {
return renderTemplate`${renderComponent($$result, "Layout", $$Layout, { "title": "ติดต่อเรา", "description": "ติดต่อทีมงาน MoreminiMore สำหรับปรึกษาฟรี", "data-astro-cid-5c24fmmt": true }, { "default": ($$result2) => renderTemplate` ${maybeRenderHead()}<section class="page-header" data-astro-cid-5c24fmmt> <div class="container" data-astro-cid-5c24fmmt> <h1 data-astro-cid-5c24fmmt>ดตอเรา</h1> <p data-astro-cid-5c24fmmt> !</p> </div> </section> <section class="content" data-astro-cid-5c24fmmt> <div class="container contact-grid" data-astro-cid-5c24fmmt> <div class="contact-info" data-astro-cid-5c24fmmt> <h2 data-astro-cid-5c24fmmt></h2> <div class="info-item" data-astro-cid-5c24fmmt> <strong data-astro-cid-5c24fmmt>:</strong> <span data-astro-cid-5c24fmmt>080-995-5945</span> </div> <div class="info-item" data-astro-cid-5c24fmmt> <strong data-astro-cid-5c24fmmt>:</strong> <span data-astro-cid-5c24fmmt>contact@moreminimore.com</span> </div> <div class="info-item" data-astro-cid-5c24fmmt> <strong data-astro-cid-5c24fmmt>:</strong> <span data-astro-cid-5c24fmmt>53 1 . . 74120</span> </div> </div> <div class="contact-form" data-astro-cid-5c24fmmt> <h2 data-astro-cid-5c24fmmt></h2> <form data-astro-cid-5c24fmmt> <div class="form-group" data-astro-cid-5c24fmmt> <label for="name" data-astro-cid-5c24fmmt></label> <input type="text" id="name" name="name" required data-astro-cid-5c24fmmt> </div> <div class="form-group" data-astro-cid-5c24fmmt> <label for="email" data-astro-cid-5c24fmmt></label> <input type="email" id="email" name="email" required data-astro-cid-5c24fmmt> </div> <div class="form-group" data-astro-cid-5c24fmmt> <label for="phone" data-astro-cid-5c24fmmt></label> <input type="tel" id="phone" name="phone" data-astro-cid-5c24fmmt> </div> <div class="form-group" data-astro-cid-5c24fmmt> <label for="message" data-astro-cid-5c24fmmt></label> <textarea id="message" name="message" rows="5" required data-astro-cid-5c24fmmt></textarea> </div> <button type="submit" class="btn-primary" data-astro-cid-5c24fmmt></button> </form> </div> </div> </section> ` })}`;
}, "/Users/kunthawatgreethong/Gitea/moreminimore-new/src/pages/contact-us.astro", void 0);
const $$file = "/Users/kunthawatgreethong/Gitea/moreminimore-new/src/pages/contact-us.astro";
const $$url = "/contact-us";
const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
__proto__: null,
default: $$ContactUs,
file: $$file,
url: $$url
}, Symbol.toStringTag, { value: 'Module' }));
const page = () => _page;
export { page };

View File

@@ -0,0 +1,3 @@
const contentAssets = new Map();
export { contentAssets as default };

22
dist/server/chunks/faq_BPWnYJ6k.mjs vendored Normal file
View File

@@ -0,0 +1,22 @@
import { c as createComponent } from './astro-component_Y0jc7Trv.mjs';
import 'piccolore';
import { h as renderComponent, r as renderTemplate, m as maybeRenderHead } from './server_CW1mBpZH.mjs';
import { $ as $$Layout } from './Layout_DdK69uya.mjs';
const $$Faq = createComponent(($$result, $$props, $$slots) => {
return renderTemplate`${renderComponent($$result, "Layout", $$Layout, { "title": "คำถามที่พบบ่อย", "description": "คำตอบสำหรับคำถามที่พบบ่อยเกี่ยวกับบริการของ MoreminiMore", "data-astro-cid-6kmwghhu": true }, { "default": ($$result2) => renderTemplate` ${maybeRenderHead()}<section class="page-header" data-astro-cid-6kmwghhu> <div class="container" data-astro-cid-6kmwghhu> <h1 data-astro-cid-6kmwghhu>คำถามทพบบอย</h1> </div> </section> <section class="content" data-astro-cid-6kmwghhu> <div class="container" data-astro-cid-6kmwghhu> <details data-astro-cid-6kmwghhu> <summary data-astro-cid-6kmwghhu>?</summary> <p data-astro-cid-6kmwghhu> <EFBFBD><EFBFBD></p> </details> <details data-astro-cid-6kmwghhu> <summary data-astro-cid-6kmwghhu>?</summary> <p data-astro-cid-6kmwghhu> LINE Social Media</p> </details> <details data-astro-cid-6kmwghhu> <summary data-astro-cid-6kmwghhu>AI ?</summary> <p data-astro-cid-6kmwghhu>AI </p> </details> </div> </section> ` })}`;
}, "/Users/kunthawatgreethong/Gitea/moreminimore-new/src/pages/faq.astro", void 0);
const $$file = "/Users/kunthawatgreethong/Gitea/moreminimore-new/src/pages/faq.astro";
const $$url = "/faq";
const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
__proto__: null,
default: $$Faq,
file: $$file,
url: $$url
}, Symbol.toStringTag, { value: 'Module' }));
const page = () => _page;
export { page };

31
dist/server/chunks/index_BVOKZ5y3.mjs vendored Normal file
View File

@@ -0,0 +1,31 @@
import { c as createComponent } from './astro-component_Y0jc7Trv.mjs';
import 'piccolore';
import { h as renderComponent, r as renderTemplate, m as maybeRenderHead, f as addAttribute } from './server_CW1mBpZH.mjs';
import { $ as $$Layout } from './Layout_DdK69uya.mjs';
import { g as getCollection } from './_astro_content_Beg-Bg2V.mjs';
const $$Index = createComponent(async ($$result, $$props, $$slots) => {
const posts = await getCollection("blog");
const sortedPosts = posts.sort(
(a, b) => b.data.pubDate.valueOf() - a.data.pubDate.valueOf()
);
return renderTemplate`${renderComponent($$result, "Layout", $$Layout, { "title": "บล็อก", "description": "บทความและความรู้ด้าน Digital Transformation, AI และการตลาดออนไลน์สำหรับ SMEs ไทย", "data-astro-cid-5tznm7mj": true }, { "default": async ($$result2) => renderTemplate` ${maybeRenderHead()}<section class="page-header" data-astro-cid-5tznm7mj> <div class="container" data-astro-cid-5tznm7mj> <h1 data-astro-cid-5tznm7mj>บลอก</h1> <p data-astro-cid-5tznm7mj> SMEs </p> </div> </section> <section class="blog-list" data-astro-cid-5tznm7mj> <div class="container" data-astro-cid-5tznm7mj> <div class="posts-grid" data-astro-cid-5tznm7mj> ${sortedPosts.map((post) => renderTemplate`<article class="post-card" data-astro-cid-5tznm7mj> <h2 data-astro-cid-5tznm7mj> <a${addAttribute(`/blog/${post.slug}`, "href")} data-astro-cid-5tznm7mj>${post.data.title}</a> </h2> <p class="post-meta" data-astro-cid-5tznm7mj> <span data-astro-cid-5tznm7mj>${post.data.author}</span> <span data-astro-cid-5tznm7mj></span> <time${addAttribute(post.data.pubDate.toISOString(), "datetime")} data-astro-cid-5tznm7mj> ${post.data.pubDate.toLocaleDateString("th-TH", {
year: "numeric",
month: "long",
day: "numeric"
})} </time> </p> <p class="post-description" data-astro-cid-5tznm7mj>${post.data.description}</p> <div class="post-tags" data-astro-cid-5tznm7mj> ${post.data.tags?.slice(0, 3).map((tag) => renderTemplate`<span class="tag" data-astro-cid-5tznm7mj>${tag}</span>`)} </div> </article>`)} </div> </div> </section> ` })}`;
}, "/Users/kunthawatgreethong/Gitea/moreminimore-new/src/pages/blog/index.astro", void 0);
const $$file = "/Users/kunthawatgreethong/Gitea/moreminimore-new/src/pages/blog/index.astro";
const $$url = "/blog";
const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
__proto__: null,
default: $$Index,
file: $$file,
url: $$url
}, Symbol.toStringTag, { value: 'Module' }));
const page = () => _page;
export { page };

142
dist/server/chunks/index_jaCs8rJw.mjs vendored Normal file
View File

@@ -0,0 +1,142 @@
import { c as createComponent } from './astro-component_Y0jc7Trv.mjs';
import 'piccolore';
import { h as renderComponent, r as renderTemplate, m as maybeRenderHead, u as unescapeHTML } from './server_CW1mBpZH.mjs';
import { $ as $$Layout } from './Layout_DdK69uya.mjs';
var __freeze = Object.freeze;
var __defProp = Object.defineProperty;
var __template = (cooked, raw) => __freeze(__defProp(cooked, "raw", { value: __freeze(cooked.slice()) }));
var _a;
const $$Index = createComponent(($$result, $$props, $$slots) => {
const schemaData = {
"@context": "https://schema.org",
"@type": "ProfessionalService",
"name": "บริษัท มอร์มินิมอร์ จำกัด",
"description": "รับทำเว็บไซต์ SEO AI Chatbot และ Marketing Automation สำหรับ SMEs ไทย เพิ่มยอดขาย ลดต้นทุน ด้วยเทคโนโลยีที่ทันสมัย",
"url": "https://www.moreminimore.com",
"telephone": "0809955945",
"email": "contact@moreminimore.com",
"address": {
"@type": "PostalAddress",
"streetAddress": "53 หมู่ 1 ต.บ้านแพ้ว อ.บ้านแพ้ว",
"addressLocality": "สมุทรสาคร",
"postalCode": "74120",
"addressCountry": "TH"
},
"priceRange": "฿฿",
"areaServed": "Thailand",
"sameAs": [
"https://www.facebook.com/moreminimore",
"https://twitter.com/moreminimore",
"https://www.linkedin.com/company/moreminimore"
]
};
return renderTemplate`${renderComponent($$result, "Layout", $$Layout, { "title": "รับทำเว็บไซต์ SEO AI Chatbot | MoreminiMore - โซลูชัน IT เพื่อ SMEs ไทย", "data-astro-cid-j7pv25f6": true }, { "default": ($$result2) => renderTemplate(_a || (_a = __template([' <script type="application/ld+json">', "<\/script> ", `<section id="hero" class="relative min-h-[100dvh] flex items-center justify-center overflow-hidden bg-black" data-astro-cid-j7pv25f6> <!-- Animated Gradient Background --> <div class="absolute inset-0" data-astro-cid-j7pv25f6> <!-- Primary gradient base --> <div class="absolute inset-0 bg-gradient-to-br from-[#fed400] via-[#ffed4a] to-[#fed400]" data-astro-cid-j7pv25f6></div> <!-- Animated mesh gradient --> <div class="hero-mesh" data-astro-cid-j7pv25f6></div> <!-- Floating orbs --> <div class="orb orb-1" data-astro-cid-j7pv25f6></div> <div class="orb orb-2" data-astro-cid-j7pv25f6></div> <div class="orb orb-3" data-astro-cid-j7pv25f6></div> <div class="orb orb-4" data-astro-cid-j7pv25f6></div> </div> <!-- Geometric shapes --> <div class="absolute inset-0 overflow-hidden pointer-events-none" data-astro-cid-j7pv25f6> <div class="shape shape-1" data-astro-cid-j7pv25f6></div> <div class="shape shape-2" data-astro-cid-j7pv25f6></div> <div class="shape shape-3" data-astro-cid-j7pv25f6></div> <div class="shape shape-4" data-astro-cid-j7pv25f6></div> </div> <!-- Noise texture overlay --> <div class="absolute inset-0 opacity-[0.03]" style="background-image: url(&quot;data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E&quot;);" data-astro-cid-j7pv25f6></div> <!-- Content --> <div class="container mx-auto px-4 relative z-10 py-20" data-astro-cid-j7pv25f6> <div class="max-w-5xl mx-auto text-center" data-astro-cid-j7pv25f6> <!-- Hero badge --> <div class="hero-badge" data-astro-cid-j7pv25f6> <span class="badge-dot" data-astro-cid-j7pv25f6></span> <span class="badge-text" data-astro-cid-j7pv25f6></span> </div> <!-- Main headline --> <h1 class="hero-title" data-astro-cid-j7pv25f6>
เปลยนธรกจให<br data-astro-cid-j7pv25f6> <span class="text-black" data-astro-cid-j7pv25f6>เตบโตดวย AI</span> </h1> <!-- Subheadline --> <p class="hero-subtitle" data-astro-cid-j7pv25f6>
บทำเวบไซต AI Chatbot และระบบอตโนมทางการตลาด
วยเพมยอดขาย ลดตนท ใหรก SMEs ไทย
</p> <!-- CTAs --> <div class="hero-buttons" data-astro-cid-j7pv25f6> <a href="tel:0809955945" class="btn-primary-dark" data-astro-cid-j7pv25f6> <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 24 24" data-astro-cid-j7pv25f6> <path d="M20 15.5c-1.25 0-2.45-.2-3.57-.57-.35-.11-.74-.03-1.02.24l-2.2 2.2c-2.83-1.44-5.15-3.75-6.59-6.59l2.2-2.21c.28-.26.36-.65.25-1C8.7 6.45 8.5 5.25 8.5 4c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1 0 9.39 7.61 17 17 17 .55 0 1-.45 1-1v-3.5c0-.55-.45-1-1-1z" data-astro-cid-j7pv25f6></path> </svg>
โทรหาเรา
</a> <a href="https://line.me/ti/p/~@539hdlul" target="_blank" rel="noopener noreferrer" class="btn-secondary-light" data-astro-cid-j7pv25f6> <svg class="w-5 h-5" viewBox="0 0 24 24" fill="currentColor" data-astro-cid-j7pv25f6> <path d="M24 12c0-6.627-5.373-12-12-12S0 5.373 0 12c0 5.99 4.388 10.952 10.125 11.854-.188-.9-.357-2.308.077-3.305.39-.896 2.522-5.927 2.522-5.927s-.512-.512-.512-1.267c0-1.186.687-2.073 1.543-2.073.728 0 1.08.546 1.08 1.2 0 .731-.467 1.823-.708 2.835-.203.852.428 1.548 1.268 1.548 1.523 0 2.692-1.606 2.692-3.922 0-1.628-1.169-2.768-2.838-2.768-1.936 0-3.073 1.454-3.073 2.956 0 .695.268 1.44.601 1.842.066.08.075.15.055.231-.065.26-.21.86-.238.979-.034.148-.11.18-.252.109a12.007 12.007 0 01-8.023-2.522A12.013 12.013 0 0112 24c6.627 0 12-5.373 12-12z" data-astro-cid-j7pv25f6></path> </svg>
เพิ่ม Line
</a> </div> <!-- Trust badges --> <div class="hero-trust" data-astro-cid-j7pv25f6> <p class="trust-label" data-astro-cid-j7pv25f6>เชื่อถือได้</p> <div class="trust-items" data-astro-cid-j7pv25f6> <span class="trust-item" data-astro-cid-j7pv25f6> <svg class="w-4 h-4" fill="currentColor" viewBox="0 0 24 24" data-astro-cid-j7pv25f6><path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z" data-astro-cid-j7pv25f6></path></svg>
ปรึกษาฟรี
</span> <span class="trust-item" data-astro-cid-j7pv25f6> <svg class="w-4 h-4" fill="currentColor" viewBox="0 0 24 24" data-astro-cid-j7pv25f6><path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z" data-astro-cid-j7pv25f6></path></svg>
ดูแลหลังขาย
</span> <span class="trust-item" data-astro-cid-j7pv25f6> <svg class="w-4 h-4" fill="currentColor" viewBox="0 0 24 24" data-astro-cid-j7pv25f6><path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z" data-astro-cid-j7pv25f6></path></svg>
ราคาเหมาะสม
</span> </div> </div> </div> <!-- Scroll indicator --> <div class="scroll-indicator" data-astro-cid-j7pv25f6> <div class="scroll-mouse" data-astro-cid-j7pv25f6> <div class="scroll-wheel" data-astro-cid-j7pv25f6></div> </div> </div> </div> </section> <section id="services" class="py-24 bg-[#0f0f0f]" data-astro-cid-j7pv25f6> <div class="container mx-auto px-4" data-astro-cid-j7pv25f6> <!-- Section header --> <div class="text-center mb-16" data-astro-cid-j7pv25f6> <span class="inline-block px-4 py-1.5 bg-[#fed400]/20 text-[#fed400] rounded-full text-sm font-medium mb-4" data-astro-cid-j7pv25f6>
บริการของเรา
</span> <h2 class="text-3xl md:text-4xl lg:text-5xl font-bold text-white mb-4" data-astro-cid-j7pv25f6>
โซลูชันครบวงจร<br data-astro-cid-j7pv25f6>สำหรับธุรกิจของคุณ
</h2> <p class="text-gray-400 text-lg max-w-2xl mx-auto" data-astro-cid-j7pv25f6>
เราช่วยคุณตั้งแต่เริ่มต้นจนถึงการเติบโต ด้วยเทคโนโลยีที่เหมาะกับง<E0B89A><E0B887><EFBFBD>ประมาณ
</p> </div> <!-- Bento Grid --> <div class="services-grid" data-astro-cid-j7pv25f6> <!-- Service 1 - Large card --> <a href="/web-development" class="service-card-large group" data-astro-cid-j7pv25f6> <div class="service-icon" data-astro-cid-j7pv25f6> <svg class="w-8 h-8" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-astro-cid-j7pv25f6> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9" data-astro-cid-j7pv25f6></path> </svg> </div> <h3 class="text-2xl font-bold text-white mb-2 group-hover:text-[#fed400] transition-colors" data-astro-cid-j7pv25f6>AI-Enhanced Website</h3> <p class="text-gray-400 mb-4" data-astro-cid-j7pv25f6>
เว็บไซต์ที่มี AI Chatbot ตอบคำถามลูกค้า 24/7 พร้อมระบบ SEO ที่ติดอันดับ Google
</p> <span class="service-link" data-astro-cid-j7pv25f6>
ดูรายละเอียด
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-astro-cid-j7pv25f6> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7" data-astro-cid-j7pv25f6></path> </svg> </span> </a> <!-- Service 2 --> <a href="/marketing-automation" class="service-card group" data-astro-cid-j7pv25f6> <div class="service-icon" data-astro-cid-j7pv25f6> <svg class="w-8 h-8" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-astro-cid-j7pv25f6> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15" data-astro-cid-j7pv25f6></path> </svg> </div> <h3 class="text-xl font-bold text-white mb-2" data-astro-cid-j7pv25f6>Marketing Automation</h3> <p class="text-gray-400 text-sm" data-astro-cid-j7pv25f6>
ระบบการตลาดอัตโนมัติ รวม SEO, LINE, Facebook, Email ลดงานซ้ำซ้อน
</p> </a> <!-- Service 3 --> <a href="/ai-automation" class="service-card group" data-astro-cid-j7pv25f6> <div class="service-icon" data-astro-cid-j7pv25f6> <svg class="w-8 h-8" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-astro-cid-j7pv25f6> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z" data-astro-cid-j7pv25f6></path> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z" data-astro-cid-j7pv25f6></path> </svg> </div> <h3 class="text-xl font-bold text-white mb-2" data-astro-cid-j7pv25f6>AI Automation</h3> <p class="text-gray-400 text-sm" data-astro-cid-j7pv25f6>
ระบบอัตโนมัติทุกอย่าง ตอบคำถาม ส่งข้อมูล บันทึกออร์เดอร์ 24/7
</p> </a> <!-- Service 4 --> <a href="/tech-consult" class="service-card group" data-astro-cid-j7pv25f6> <div class="service-icon" data-astro-cid-j7pv25f6> <svg class="w-8 h-8" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-astro-cid-j7pv25f6> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" data-astro-cid-j7pv25f6></path> </svg> </div> <h3 class="text-xl font-bold text-white mb-2" data-astro-cid-j7pv25f6>Tech Consult</h3> <p class="text-gray-400 text-sm" data-astro-cid-j7pv25f6>
คำปรึกษาระบบ IT และ Cloud เลือกเครื่องมือที่เหมาะกับธุรกิจคุณ
</p> </a> <!-- CTA Card --> <div class="service-card-cta bg-[#fed400]" data-astro-cid-j7pv25f6> <h3 class="text-xl font-bold text-black mb-2" data-astro-cid-j7pv25f6>ไม่แน่ใจเลือกอะไร?</h3> <p class="text-black/70 text-sm mb-4" data-astro-cid-j7pv25f6>
ปรึกษาฟรี! เราพร้อมแนะนำโซลูชันที่เหมาะกับธุรกิจและงบประมาณของคุณ
</p> <a href="tel:0809955945" class="btn-primary-black" data-astro-cid-j7pv25f6>ปรึกษาฟรี</a> </div> </div> </div> </section> <section id="why-choose-us" class="py-24 bg-[#e8e8e8]" data-astro-cid-j7pv25f6> <div class="container mx-auto px-4" data-astro-cid-j7pv25f6> <div class="max-w-4xl mx-auto" data-astro-cid-j7pv25f6> <h2 class="text-3xl md:text-4xl font-bold text-center mb-12 text-black" data-astro-cid-j7pv25f6>
ทำไมเลือกเรา?
</h2> <div class="grid md:grid-cols-2 gap-6" data-astro-cid-j7pv25f6> <div class="benefit-card group" data-astro-cid-j7pv25f6> <div class="benefit-icon" data-astro-cid-j7pv25f6> <svg class="w-7 h-7" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-astro-cid-j7pv25f6> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 10V3L4 14h7v7l9-11h-7z" data-astro-cid-j7pv25f6></path> </svg> </div> <h3 class="font-bold text-xl mb-2 text-black" data-astro-cid-j7pv25f6>เน้นผลลัพธ์</h3> <p class="text-gray-600 leading-relaxed" data-astro-cid-j7pv25f6>เราวัดผลทุกอย่าง และมุ่งเน้นให้เห็นผลจริงในการเพิ่มยอดขาย</p> </div> <div class="benefit-card group" data-astro-cid-j7pv25f6> <div class="benefit-icon" data-astro-cid-j7pv25f6> <svg class="w-7 h-7" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-astro-cid-j7pv25f6> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1M21 12a9 9 0 11-18 0 9 9 0 0118 0z" data-astro-cid-j7pv25f6></path> </svg> </div> <h3 class="font-bold text-xl mb-2 text-black" data-astro-cid-j7pv25f6>ราคาเหมาะสม</h3> <p class="text-gray-600 leading-relaxed" data-astro-cid-j7pv25f6>ออกแบบมาให้ SMEs สามารถเริ่มต้นได้ง่าย ไม่ต้องลงทุนมาก</p> </div> <div class="benefit-card group" data-astro-cid-j7pv25f6> <div class="benefit-icon" data-astro-cid-j7pv25f6> <svg class="w-7 h-7" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-astro-cid-j7pv25f6> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z" data-astro-cid-j7pv25f6></path> </svg> </div> <h3 class="font-bold text-xl mb-2 text-black" data-astro-cid-j7pv25f6>ดูแลต่อเนื่อง</h3> <p class="text-gray-600 leading-relaxed" data-astro-cid-j7pv25f6>ไม่ทิ้งหลังขาย พร้อมอบรมและสนับสนุนตลอดการใช้งาน</p> </div> <div class="benefit-card group" data-astro-cid-j7pv25f6> <div class="benefit-icon" data-astro-cid-j7pv25f6> <svg class="w-7 h-7" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-astro-cid-j7pv25f6> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 10V3L4 14h7v7l9-11h-7z" data-astro-cid-j7pv25f6></path> </svg> </div> <h3 class="font-bold text-xl mb-2 text-black" data-astro-cid-j7pv25f6>ทำงานเร็ว</h3> <p class="text-gray-600 leading-relaxed" data-astro-cid-j7pv25f6>เข้าใจว่าธุรกิจต้องการผลลัพธ์เร็ว ทำงานตรงเวลา ไม่ผัดวัน</p> </div> </div> </div> </div> </section> <section id="process" class="py-24 bg-[#0f0f0f]" data-astro-cid-j7pv25f6> <div class="container mx-auto px-4" data-astro-cid-j7pv25f6> <div class="text-center mb-16" data-astro-cid-j7pv25f6> <span class="inline-block px-4 py-1.5 bg-[#fed400]/20 text-[#fed400] rounded-full text-sm font-medium mb-4" data-astro-cid-j7pv25f6>
กระบวนการทำงาน
</span> <h2 class="text-3xl md:text-4xl font-bold text-white" data-astro-cid-j7pv25f6>
เริ่มต้นง่ายๆ 4 ขั้นตอน
</h2> </div> <!-- Timeline --> <div class="timeline" data-astro-cid-j7pv25f6> <!-- Step 1 --> <div class="timeline-item" data-astro-cid-j7pv25f6> <div class="timeline-number" data-astro-cid-j7pv25f6>1</div> <div class="timeline-content" data-astro-cid-j7pv25f6> <h3 class="font-bold text-lg text-white mb-2" data-astro-cid-j7pv25f6>ปรึกษาฟรี</h3> <p class="text-gray-400 text-sm" data-astro-cid-j7pv25f6>พูดคุยกับเราฟรี! เราจะฟังความต้องการของคุณและแนะนำโซลูชันท<E0B899><E0B897><EFBFBD><EFBFBD><E0B988><EFBFBD>หมาะสม</p> </div> </div> <!-- Step 2 --> <div class="timeline-item" data-astro-cid-j7pv25f6> <div class="timeline-number" data-astro-cid-j7pv25f6>2</div> <div class="timeline-content" data-astro-cid-j7pv25f6> <h3 class="font-bold text-lg text-white mb-2" data-astro-cid-j7pv25f6>วางแผนและเสนอราคา</h3> <p class="text-gray-400 text-sm" data-astro-cid-j7pv25f6>เราจะส่ง proposal พร้อมราคาและ timeline ที่ชัดเจน ไม่มีค่าใช้จ่ายซ่อนเร้น</p> </div> </div> <!-- Step 3 --> <div class="timeline-item" data-astro-cid-j7pv25f6> <div class="timeline-number" data-astro-cid-j7pv25f6>3</div> <div class="timeline-content" data-astro-cid-j7pv25f6> <h3 class="font-bold text-lg text-white mb-2" data-astro-cid-j7pv25f6>พัฒนาและติดตั้ง</h3> <p class="text-gray-400 text-sm" data-astro-cid-j7pv25f6>ทีมงานเริ่มพัฒนาระบบให้คุณ พร้อมอัปเดตความคืบหน้าตลอด</p> </div> </div> <!-- Step 4 --> <div class="timeline-item" data-astro-cid-j7pv25f6> <div class="timeline-number" data-astro-cid-j7pv25f6>4</div> <div class="timeline-content" data-astro-cid-j7pv25f6> <h3 class="font-bold text-lg text-white mb-2" data-astro-cid-j7pv25f6>ส่งมอบและดูแลต่อเนื่อง</h3> <p class="text-gray-400 text-sm" data-astro-cid-j7pv25f6>ส่งมอบพร้อมอบรมการใช้งาน และดูแลหลังการขายให้ตลอด</p> </div> </div> </div> </div> </section> <section id="quick-cta" class="py-20 bg-[#fed400]" data-astro-cid-j7pv25f6> <div class="container mx-auto px-4 text-center" data-astro-cid-j7pv25f6> <h2 class="text-3xl md:text-4xl font-bold text-black mb-4" data-astro-cid-j7pv25f6>
พร้อมเปลี่ยนธุรกิจแล้วหรือยัง?
</h2> <p class="text-black/70 mb-10 max-w-xl mx-auto text-lg" data-astro-cid-j7pv25f6>
เริ่มต้นง่ายๆ แค่โทรหาหรือเพิ่ม LINE มาคุยกันก่อน ไม่มีค่าใช้จ่าย!
</p> <div class="flex flex-col sm:flex-row gap-4 justify-center" data-astro-cid-j7pv25f6> <a href="tel:0809955945" class="btn-primary-black" data-astro-cid-j7pv25f6> <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 24 24" data-astro-cid-j7pv25f6> <path d="M20 15.5c-1.25 0-2.45-.2-3.57-.57-.35-.11-.74-.03-1.02.24l-2.2 2.2c-2.83-1.44-5.15-3.75-6.59-6.59l2.2-2.21c.28-.26.36-.65.25-1C8.7 6.45 8.5 5.25 8.5 4c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1 0 9.39 7.61 17 17 17 .55 0 1-.45 1-1v-3.5c0-.55-.45-1-1-1z" data-astro-cid-j7pv25f6></path> </svg>
080-995-5945
</a> <a href="https://line.me/ti/p/~@539hdlul" target="_blank" rel="noopener noreferrer" class="btn-secondary-black" data-astro-cid-j7pv25f6> <svg class="w-5 h-5" viewBox="0 0 24 24" fill="currentColor" data-astro-cid-j7pv25f6> <path d="M24 12c0-6.627-5.373-12-12-12S0 5.373 0 12c0 5.99 4.388 10.952 10.125 11.854-.188-.9-.357-2.308.077-3.305.39-.896 2.522-5.927 2.522-5.927s-.512-.512-.512-1.267c0-1.186.687-2.073 1.543-2.073.728 0 1.08.546 1.08 1.2 0 .731-.467 1.823-.708 2.835-.203.852.428 1.548 1.268 1.548 1.523 0 2.692-1.606 2.692-3.922 0-1.628-1.169-2.768-2.838-2.768-1.936 0-3.073 1.454-3.073 2.956 0 .695.268 1.44.601 1.842.066.08.075.15.055.231-.065.26-.21.86-.238.979-.034.148-.11.18-.252.109a12.007 12.007 0 01-8.023-2.522A12.013 12.013 0 0112 24c6.627 0 12-5.373 12-12z" data-astro-cid-j7pv25f6></path> </svg>
เพ Line
</a> </div> </div> </section> <section id="seo-content" class="py-24 bg-[#e8e8e8]" data-astro-cid-j7pv25f6> <div class="container mx-auto px-4" data-astro-cid-j7pv25f6> <div class="max-w-4xl mx-auto" data-astro-cid-j7pv25f6> <h2 class="text-3xl md:text-4xl font-bold mb-8 text-center text-black" data-astro-cid-j7pv25f6>
บรการรบทำเวบไซต SEO และ AI Chatbot เพอธรก SMEs
</h2> <div class="prose-content space-y-8" data-astro-cid-j7pv25f6> <div data-astro-cid-j7pv25f6> <p class="text-gray-700 leading-relaxed" data-astro-cid-j7pv25f6> <strong class="text-black" data-astro-cid-j7pv25f6> </strong> SEO AI Chatbot SMEs Google
</p> </div> <div data-astro-cid-j7pv25f6> <h3 class="text-xl font-bold mt-8 mb-4 text-black" data-astro-cid-j7pv25f6>?</h3> <p class="text-gray-700 leading-relaxed" data-astro-cid-j7pv25f6>
วยประสบการณในการพฒนาระบบ IT และ AI ใหบธรกจหลากหลายประเภท เราพรอมมอบโซลนทเหมาะสมกบงบประมาณและความตองการของค ไมาจะเปนเวบไซตสำหรบรานคาออนไลน ระบบ Chatbot ตอบคำถามอตโนม หรอการทำ SEO ใหเวดอนด Google เราดแลครบทกขนตอนตงแตนจนจบ
</p> </div> <div data-astro-cid-j7pv25f6> <h3 class="text-xl font-bold mt-8 mb-4 text-black" data-astro-cid-j7pv25f6></h3> <ul class="service-list" data-astro-cid-j7pv25f6> <li data-astro-cid-j7pv25f6> <svg class="w-5 h-5 text-green-600 flex-shrink-0" fill="currentColor" viewBox="0 0 24 24" data-astro-cid-j7pv25f6><path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z" data-astro-cid-j7pv25f6></path></svg>
ออกแบบ UI/UX ใชงานงาย สวยงาม นสม
</li> <li data-astro-cid-j7pv25f6> <svg class="w-5 h-5 text-green-600 flex-shrink-0" fill="currentColor" viewBox="0 0 24 24" data-astro-cid-j7pv25f6><path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z" data-astro-cid-j7pv25f6></path></svg>
รองร SEO งแตโครงสรางเวบไซต
</li> <li data-astro-cid-j7pv25f6> <svg class="w-5 h-5 text-green-600 flex-shrink-0" fill="currentColor" viewBox="0 0 24 24" data-astro-cid-j7pv25f6><path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z" data-astro-cid-j7pv25f6></path></svg>
Responsive Design แสดงผลสวยงามทกอปกรณ
</li> <li data-astro-cid-j7pv25f6> <svg class="w-5 h-5 text-green-600 flex-shrink-0" fill="currentColor" viewBox="0 0 24 24" data-astro-cid-j7pv25f6><path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z" data-astro-cid-j7pv25f6></path></svg>
ระบบจดการเนอหา (CMS) ใชงานงาย
</li> <li data-astro-cid-j7pv25f6> <svg class="w-5 h-5 text-green-600 flex-shrink-0" fill="currentColor" viewBox="0 0 24 24" data-astro-cid-j7pv25f6><path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z" data-astro-cid-j7pv25f6></path></svg>
ดต SSL Certificate เพอความปลอดภ
</li> <li data-astro-cid-j7pv25f6> <svg class="w-5 h-5 text-green-600 flex-shrink-0" fill="currentColor" viewBox="0 0 24 24" data-astro-cid-j7pv25f6><path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z" data-astro-cid-j7pv25f6></path></svg>
เชอมต Google Analytics และ Search Console
</li> </ul> </div> <div class="cta-box" data-astro-cid-j7pv25f6> <h3 class="text-xl font-bold mb-4 text-black" data-astro-cid-j7pv25f6>?</h3> <p class="text-gray-700 leading-relaxed" data-astro-cid-j7pv25f6>
หากคณสนใจบรการของเรา สามารถตดตอมาปรกษาฟร ไมาใชาย เราพรอมชวยคณวเคราะหความตองการและแนะนำโซลนทเหมาะสมทดกบธรกจและงบประมาณของค
</p> </div> </div> </div> </div> </section> <section id="faq" class="py-24 bg-[#0f0f0f]" data-astro-cid-j7pv25f6> <div class="container mx-auto px-4 max-w-3xl" data-astro-cid-j7pv25f6> <h2 class="text-3xl md:text-4xl font-bold text-center mb-12 text-white" data-astro-cid-j7pv25f6>
คำถามทพบบอย
</h2> <div class="faq-list space-y-4" data-astro-cid-j7pv25f6> <details class="faq-item" data-astro-cid-j7pv25f6> <summary class="faq-question" data-astro-cid-j7pv25f6> <span data-astro-cid-j7pv25f6>SMEs ?</span> <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-astro-cid-j7pv25f6> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 6v6m0 0v6m0-6h6m-6 0H6" data-astro-cid-j7pv25f6></path> </svg> </summary> <div class="faq-answer" data-astro-cid-j7pv25f6>
ไดแนนอน! เราออกแบบบรการสำหร SMEs โดยเฉพาะ Package เลกสำหรบธรกจเรมต และโซลนใหญสำหรบธรกจทกำลงขยาย
</div> </details> <details class="faq-item" data-astro-cid-j7pv25f6> <summary class="faq-question" data-astro-cid-j7pv25f6> <span data-astro-cid-j7pv25f6>?</span> <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-astro-cid-j7pv25f6> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 6v6m0 0v6m0-6h6m-6 0H6" data-astro-cid-j7pv25f6></path> </svg> </summary> <div class="faq-answer" data-astro-cid-j7pv25f6>
ไมจำเป! เราดแลทกอยางตงแตนจนจบ และอบรมทมของคณใหใชงานระบบไดอยางมนใจ
</div> </details> <details class="faq-item" data-astro-cid-j7pv25f6> <summary class="faq-question" data-astro-cid-j7pv25f6> <span data-astro-cid-j7pv25f6>?</span> <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-astro-cid-j7pv25f6> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 6v6m0 0v6m0-6h6m-6 0H6" data-astro-cid-j7pv25f6></path> </svg> </summary> <div class="faq-answer" data-astro-cid-j7pv25f6>
นอยบบรการ: เวบไซตใชเวลา 2-6 ปดาห, Marketing Automation เหนผลใน 1-3 เดอน, SEO ใชเวลา 3-6 เดอนในการตดอนด
</div> </details> <details class="faq-item" data-astro-cid-j7pv25f6> <summary class="faq-question" data-astro-cid-j7pv25f6> <span data-astro-cid-j7pv25f6>?</span> <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-astro-cid-j7pv25f6> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 6v6m0 0v6m0-6h6m-6 0H6" data-astro-cid-j7pv25f6></path> </svg> </summary> <div class="faq-answer" data-astro-cid-j7pv25f6>
! เราดแลหลงการตดต อบรมการใชงาน และพรอมใหคำปรกษาเมอคณตองการ
</div> </details> <details class="faq-item" data-astro-cid-j7pv25f6> <summary class="faq-question" data-astro-cid-j7pv25f6> <span data-astro-cid-j7pv25f6>?</span> <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-astro-cid-j7pv25f6> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 6v6m0 0v6m0-6h6m-6 0H6" data-astro-cid-j7pv25f6></path> </svg> </summary> <div class="faq-answer" data-astro-cid-j7pv25f6>
ดตอเราเพอคยกนและใหคำปรกษาฟร! เราจะพดคยความตองการ และแนะนำโซลนทเหมาะสมทดสำหรบธรกจค
</div> </details> </div> </div> </section> <section id="final-cta" class="relative py-32 bg-black overflow-hidden" data-astro-cid-j7pv25f6> <!-- Background effects --> <div class="absolute inset-0" data-astro-cid-j7pv25f6> <div class="absolute top-0 left-1/4 w-96 h-96 bg-[#fed400] rounded-full blur-[150px] opacity-20" data-astro-cid-j7pv25f6></div> <div class="absolute bottom-0 right-1/4 w-72 h-72 bg-purple-600 rounded-full blur-[120px] opacity-30" data-astro-cid-j7pv25f6></div> </div> <div class="container mx-auto px-4 text-center relative z-10" data-astro-cid-j7pv25f6> <div class="max-w-3xl mx-auto" data-astro-cid-j7pv25f6> <span class="inline-block px-4 py-1.5 bg-[#fed400]/20 text-[#fed400] rounded-full text-sm font-medium mb-6" data-astro-cid-j7pv25f6>
เรมตนวนน
</span> <h2 class="text-4xl md:text-5xl lg:text-6xl font-bold mb-6 text-white leading-tight" data-astro-cid-j7pv25f6>
พรอมเปลยน<br data-astro-cid-j7pv25f6><span class="text-[#fed400]" data-astro-cid-j7pv25f6>องคกรดวย AI</span> ?
</h2> <p class="text-gray-400 text-lg mb-12 max-w-xl mx-auto leading-relaxed" data-astro-cid-j7pv25f6>
ปรกษาผเชยวชาญฟร เราพรอมชวยคณวางกลยทธ AI ดผลได
</p> <div class="flex flex-col sm:flex-row gap-6 justify-center" data-astro-cid-j7pv25f6> <a href="tel:0809955945" class="btn-primary-yellow" data-astro-cid-j7pv25f6> <svg class="w-6 h-6" fill="currentColor" viewBox="0 0 24 24" data-astro-cid-j7pv25f6> <path d="M20 15.5c-1.25 0-2.45-.2-3.57-.57-.35-.11-.74-.03-1.02.24l-2.2 2.2c-2.83-1.44-5.15-3.75-6.59-6.59l2.2-2.21c.28-.26.36-.65.25-1C8.7 6.45 8.5 5.25 8.5 4c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1 0 9.39 7.61 17 17 17 .55 0 1-.45 1-1v-3.5c0-.55-.45-1-1-1z" data-astro-cid-j7pv25f6></path> </svg>
080-995-5945
</a> <a href="https://line.me/ti/p/~@539hdlul" target="_blank" rel="noopener noreferrer" class="btn-final-line" data-astro-cid-j7pv25f6> <svg class="w-6 h-6" viewBox="0 0 24 24" fill="currentColor" data-astro-cid-j7pv25f6> <path d="M24 12c0-6.627-5.373-12-12-12S0 5.373 0 12c0 5.99 4.388 10.952 10.125 11.854-.188-.9-.357-2.308.077-3.305.39-.896 2.522-5.927 2.522-5.927s-.512-.512-.512-1.267c0-1.186.687-2.073 1.543-2.073.728 0 1.08.546 1.08 1.2 0 .731-.467 1.823-.708 2.835-.203.852.428 1.548 1.268 1.548 1.523 0 2.692-1.606 2.692-3.922 0-1.628-1.169-2.768-2.838-2.768-1.936 0-3.073 1.454-3.073 2.956 0 .695.268 1.44.601 1.842.066.08.075.15.055.231-.065.26-.21.86-.238.979-.034.148-.11.18-.252.109a12.007 12.007 0 01-8.023-2.522A12.013 12.013 0 0112 24c6.627 0 12-5.373 12-12z" data-astro-cid-j7pv25f6></path> </svg>
เพิ่ม Line
</a> </div> <!-- Final trust badges --> <div class="final-trust" data-astro-cid-j7pv25f6> <div class="flex flex-wrap justify-center gap-8 text-gray-500 text-sm" data-astro-cid-j7pv25f6> <span class="flex items-center gap-2" data-astro-cid-j7pv25f6> <svg class="w-5 h-5 text-green-500" fill="currentColor" viewBox="0 0 24 24" data-astro-cid-j7pv25f6><path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z" data-astro-cid-j7pv25f6></path></svg>
ปรึกษาฟรี
</span> <span class="flex items-center gap-2" data-astro-cid-j7pv25f6> <svg class="w-5 h-5 text-green-500" fill="currentColor" viewBox="0 0 24 24" data-astro-cid-j7pv25f6><path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z" data-astro-cid-j7pv25f6></path></svg>
ไม่มีค่าใช้จ่ายเริ่มต้น
</span> <span class="flex items-center gap-2" data-astro-cid-j7pv25f6> <svg class="w-5 h-5 text-green-500" fill="currentColor" viewBox="0 0 24 24" data-astro-cid-j7pv25f6><path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z" data-astro-cid-j7pv25f6></path></svg>
ดูแลต่อเนื่อง
</span> </div> </div> </div> </div> </section> `])), unescapeHTML(JSON.stringify(schemaData)), maybeRenderHead()) })}`;
}, "/Users/kunthawatgreethong/Gitea/moreminimore-new/src/pages/index.astro", void 0);
const $$file = "/Users/kunthawatgreethong/Gitea/moreminimore-new/src/pages/index.astro";
const $$url = "";
const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
__proto__: null,
default: $$Index,
file: $$file,
url: $$url
}, Symbol.toStringTag, { value: 'Module' }));
const page = () => _page;
export { page };

File diff suppressed because one or more lines are too long

1951
dist/server/chunks/node_CXM37Qne.mjs vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,3 @@
const server = {};
export { server };

View File

@@ -0,0 +1,22 @@
import { c as createComponent } from './astro-component_Y0jc7Trv.mjs';
import 'piccolore';
import { h as renderComponent, r as renderTemplate, m as maybeRenderHead } from './server_CW1mBpZH.mjs';
import { $ as $$Layout } from './Layout_DdK69uya.mjs';
const $$Portfolio = createComponent(($$result, $$props, $$slots) => {
return renderTemplate`${renderComponent($$result, "Layout", $$Layout, { "title": "ผลงาน", "description": "ตัวอย่างผลงานการพัฒนาเว็บไซต์และระบบของ MoreminiMore", "data-astro-cid-hcjuqwdu": true }, { "default": ($$result2) => renderTemplate` ${maybeRenderHead()}<section class="page-header" data-astro-cid-hcjuqwdu> <div class="container" data-astro-cid-hcjuqwdu> <h1 data-astro-cid-hcjuqwdu>ผลงานของเรา</h1> <p data-astro-cid-hcjuqwdu></p> </div> </section> <section class="content" data-astro-cid-hcjuqwdu> <div class="container" data-astro-cid-hcjuqwdu> <p data-astro-cid-hcjuqwdu> </p> </div> </section> ` })}`;
}, "/Users/kunthawatgreethong/Gitea/moreminimore-new/src/pages/portfolio.astro", void 0);
const $$file = "/Users/kunthawatgreethong/Gitea/moreminimore-new/src/pages/portfolio.astro";
const $$url = "/portfolio";
const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
__proto__: null,
default: $$Portfolio,
file: $$file,
url: $$url
}, Symbol.toStringTag, { value: 'Module' }));
const page = () => _page;
export { page };

View File

@@ -0,0 +1,22 @@
import { c as createComponent } from './astro-component_Y0jc7Trv.mjs';
import 'piccolore';
import { h as renderComponent, r as renderTemplate, m as maybeRenderHead } from './server_CW1mBpZH.mjs';
import { $ as $$Layout } from './Layout_DdK69uya.mjs';
const $$PrivacyPolicy = createComponent(($$result, $$props, $$slots) => {
return renderTemplate`${renderComponent($$result, "Layout", $$Layout, { "title": "นโยบายความเป็นส่วนตัว", "description": "นโยบายความเป็นส่วนตัว - บริษัท มอร์มินิมอร์ จำกัด", "data-astro-cid-3llnt6j6": true }, { "default": ($$result2) => renderTemplate` ${maybeRenderHead()}<section class="page-header" data-astro-cid-3llnt6j6> <div class="container" data-astro-cid-3llnt6j6> <h1 data-astro-cid-3llnt6j6>นโยบายความเปนสวนต</h1> </div> </section> <section class="content" data-astro-cid-3llnt6j6> <div class="container" data-astro-cid-3llnt6j6> <h2 data-astro-cid-3llnt6j6> (Privacy Policy)</h2> <p data-astro-cid-3llnt6j6> </p> <h3 data-astro-cid-3llnt6j6>1. </h3> <ul data-astro-cid-3llnt6j6> <li data-astro-cid-3llnt6j6> </li> <li data-astro-cid-3llnt6j6></li> <li data-astro-cid-3llnt6j6></li> </ul> <h3 data-astro-cid-3llnt6j6>2. </h3> <ul data-astro-cid-3llnt6j6> <li data-astro-cid-3llnt6j6></li> <li data-astro-cid-3llnt6j6></li> <li data-astro-cid-3llnt6j6></li> </ul> <h3 data-astro-cid-3llnt6j6>3. </h3> <p data-astro-cid-3llnt6j6></p> <h3 data-astro-cid-3llnt6j6>4. </h3> <p data-astro-cid-3llnt6j6> :</p> <ul data-astro-cid-3llnt6j6> <li data-astro-cid-3llnt6j6>: 080-995-5945</li> <li data-astro-cid-3llnt6j6>: contact@moreminimore.com</li> </ul> <p data-astro-cid-3llnt6j6><em data-astro-cid-3llnt6j6>: ${(/* @__PURE__ */ new Date()).toLocaleDateString("th-TH")}</em></p> </div> </section> ` })}`;
}, "/Users/kunthawatgreethong/Gitea/moreminimore-new/src/pages/privacy-policy.astro", void 0);
const $$file = "/Users/kunthawatgreethong/Gitea/moreminimore-new/src/pages/privacy-policy.astro";
const $$url = "/privacy-policy";
const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
__proto__: null,
default: $$PrivacyPolicy,
file: $$file,
url: $$url
}, Symbol.toStringTag, { value: 'Module' }));
const page = () => _page;
export { page };

9339
dist/server/chunks/server_CW1mBpZH.mjs vendored Normal file

File diff suppressed because one or more lines are too long

142
dist/server/chunks/sharp_EalPyCjR.mjs vendored Normal file
View File

@@ -0,0 +1,142 @@
import { A as AstroError, p as MissingSharp } from './server_CW1mBpZH.mjs';
import { b as baseService, p as parseQuality } from './node_CXM37Qne.mjs';
let sharp;
const qualityTable = {
low: 25,
mid: 50,
high: 80,
max: 100
};
function resolveSharpQuality(quality) {
if (!quality) return void 0;
const parsedQuality = parseQuality(quality);
if (typeof parsedQuality === "number") {
return parsedQuality;
}
return quality in qualityTable ? qualityTable[quality] : void 0;
}
function resolveSharpEncoderOptions(transform, inputFormat, serviceConfig = {}) {
const quality = resolveSharpQuality(transform.quality);
switch (transform.format) {
case "jpg":
case "jpeg":
return {
...serviceConfig.jpeg,
...quality === void 0 ? {} : { quality }
};
case "png":
return {
...serviceConfig.png,
...quality === void 0 ? {} : { quality }
};
case "webp": {
const webpOptions = {
...serviceConfig.webp,
...quality === void 0 ? {} : { quality }
};
if (inputFormat === "gif") {
webpOptions.loop ??= 0;
}
return webpOptions;
}
case "avif":
return {
...serviceConfig.avif,
...quality === void 0 ? {} : { quality }
};
default:
return quality === void 0 ? void 0 : { quality };
}
}
async function loadSharp() {
let sharpImport;
try {
sharpImport = (await import('sharp')).default;
} catch {
throw new AstroError(MissingSharp);
}
sharpImport.cache(false);
return sharpImport;
}
const fitMap = {
fill: "fill",
contain: "inside",
cover: "cover",
none: "outside",
"scale-down": "inside",
outside: "outside",
inside: "inside"
};
const sharpService = {
validateOptions: baseService.validateOptions,
getURL: baseService.getURL,
parseURL: baseService.parseURL,
getHTMLAttributes: baseService.getHTMLAttributes,
getSrcSet: baseService.getSrcSet,
getRemoteSize: baseService.getRemoteSize,
async transform(inputBuffer, transformOptions, config) {
if (!sharp) sharp = await loadSharp();
const transform = transformOptions;
const kernel = config.service.config.kernel;
if (transform.format === "svg") return { data: inputBuffer, format: "svg" };
const result = sharp(inputBuffer, {
failOnError: false,
pages: -1,
limitInputPixels: config.service.config.limitInputPixels
});
result.rotate();
const { format } = await result.metadata();
if (transform.width && transform.height) {
const fit = transform.fit ? fitMap[transform.fit] ?? "inside" : void 0;
result.resize({
width: Math.round(transform.width),
height: Math.round(transform.height),
kernel,
fit,
position: transform.position,
withoutEnlargement: true
});
} else if (transform.height && !transform.width) {
result.resize({
height: Math.round(transform.height),
withoutEnlargement: true,
kernel
});
} else if (transform.width) {
result.resize({
width: Math.round(transform.width),
withoutEnlargement: true,
kernel
});
}
if (transform.background) {
result.flatten({ background: transform.background });
}
if (transform.format) {
const encoderOptions = resolveSharpEncoderOptions(transform, format, config.service.config);
if (transform.format === "webp" && format === "gif") {
result.webp(encoderOptions);
} else if (transform.format === "webp") {
result.webp(encoderOptions);
} else if (transform.format === "png") {
result.png(encoderOptions);
} else if (transform.format === "avif") {
result.avif(encoderOptions);
} else if (transform.format === "jpeg" || transform.format === "jpg") {
result.jpeg(encoderOptions);
} else {
result.toFormat(transform.format, encoderOptions);
}
}
const { data, info } = await result.toBuffer({ resolveWithObject: true });
const needsCopy = "buffer" in data && data.buffer instanceof SharedArrayBuffer;
return {
data: needsCopy ? new Uint8Array(data) : data,
format: info.format
};
}
};
var sharp_default = sharpService;
export { sharp_default as default, resolveSharpEncoderOptions };

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,22 @@
import { c as createComponent } from './astro-component_Y0jc7Trv.mjs';
import 'piccolore';
import { h as renderComponent, r as renderTemplate, m as maybeRenderHead } from './server_CW1mBpZH.mjs';
import { $ as $$Layout } from './Layout_DdK69uya.mjs';
const $$TermsAndConditions = createComponent(($$result, $$props, $$slots) => {
return renderTemplate`${renderComponent($$result, "Layout", $$Layout, { "title": "ข้อกำหนดการใช้งาน", "description": "ข้อกำหนดการใช้งานเว็บไซต์ - บริษัท มอร์มินิมอร์ จำกัด", "data-astro-cid-uh6gtrza": true }, { "default": ($$result2) => renderTemplate` ${maybeRenderHead()}<section class="page-header" data-astro-cid-uh6gtrza> <div class="container" data-astro-cid-uh6gtrza> <h1 data-astro-cid-uh6gtrza>อกำหนดการใชงาน</h1> </div> </section> <section class="content" data-astro-cid-uh6gtrza> <div class="container" data-astro-cid-uh6gtrza> <h2 data-astro-cid-uh6gtrza></h2> <p data-astro-cid-uh6gtrza> </p> <h3 data-astro-cid-uh6gtrza>1. </h3> <p data-astro-cid-uh6gtrza></p> <h3 data-astro-cid-uh6gtrza>2. </h3> <p data-astro-cid-uh6gtrza> </p> <h3 data-astro-cid-uh6gtrza>3. </h3> <p data-astro-cid-uh6gtrza>:</p> <ul data-astro-cid-uh6gtrza> <li data-astro-cid-uh6gtrza></li> <li data-astro-cid-uh6gtrza></li> <li data-astro-cid-uh6gtrza></li> </ul> <h3 data-astro-cid-uh6gtrza>4. </h3> <p data-astro-cid-uh6gtrza> </p> <h3 data-astro-cid-uh6gtrza>5. </h3> <p data-astro-cid-uh6gtrza> contact@moreminimore.com</p> <p data-astro-cid-uh6gtrza><em data-astro-cid-uh6gtrza>: ${(/* @__PURE__ */ new Date()).toLocaleDateString("th-TH")}</em></p> </div> </section> ` })}`;
}, "/Users/kunthawatgreethong/Gitea/moreminimore-new/src/pages/terms-and-conditions.astro", void 0);
const $$file = "/Users/kunthawatgreethong/Gitea/moreminimore-new/src/pages/terms-and-conditions.astro";
const $$url = "/terms-and-conditions";
const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
__proto__: null,
default: $$TermsAndConditions,
file: $$file,
url: $$url
}, Symbol.toStringTag, { value: 'Module' }));
const page = () => _page;
export { page };

View File

@@ -0,0 +1,22 @@
import { c as createComponent } from './astro-component_Y0jc7Trv.mjs';
import 'piccolore';
import { h as renderComponent, r as renderTemplate, m as maybeRenderHead } from './server_CW1mBpZH.mjs';
import { $ as $$Layout } from './Layout_DdK69uya.mjs';
const $$WebDevelopment = createComponent(($$result, $$props, $$slots) => {
return renderTemplate`${renderComponent($$result, "Layout", $$Layout, { "title": "บริการพัฒนาเว็บไซต์", "description": "บริการพัฒนาเว็บไซต์สวยงามและทันสมัยสำหรับธุรกิจ SMEs", "data-astro-cid-5jmbf5qv": true }, { "default": ($$result2) => renderTemplate` ${maybeRenderHead()}<section class="page-header" data-astro-cid-5jmbf5qv> <div class="container" data-astro-cid-5jmbf5qv> <h1 data-astro-cid-5jmbf5qv>บรการพฒนาเวบไซต</h1> <p data-astro-cid-5jmbf5qv></p> </div> </section> <section class="content" data-astro-cid-5jmbf5qv> <div class="container" data-astro-cid-5jmbf5qv> <h2 data-astro-cid-5jmbf5qv>?</h2> <ul data-astro-cid-5jmbf5qv> <li data-astro-cid-5jmbf5qv></li> <li data-astro-cid-5jmbf5qv></li> <li data-astro-cid-5jmbf5qv> 24 </li> <li data-astro-cid-5jmbf5qv></li> </ul> <h2 data-astro-cid-5jmbf5qv></h2> <ul data-astro-cid-5jmbf5qv> <li data-astro-cid-5jmbf5qv>/</li> <li data-astro-cid-5jmbf5qv></li> <li data-astro-cid-5jmbf5qv>Landing Page</li> <li data-astro-cid-5jmbf5qv></li> </ul> <a href="/contact-us" class="btn-primary" data-astro-cid-5jmbf5qv></a> </div> </section> ` })}`;
}, "/Users/kunthawatgreethong/Gitea/moreminimore-new/src/pages/web-development.astro", void 0);
const $$file = "/Users/kunthawatgreethong/Gitea/moreminimore-new/src/pages/web-development.astro";
const $$url = "/web-development";
const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
__proto__: null,
default: $$WebDevelopment,
file: $$file,
url: $$url
}, Symbol.toStringTag, { value: 'Module' }));
const page = () => _page;
export { page };

6
dist/server/entry.mjs vendored Normal file
View File

@@ -0,0 +1,6 @@
export { q as handler, t as options, v as startServer } from './chunks/server_CW1mBpZH.mjs';
import '@astrojs/internal-helpers/path';
import '@astrojs/internal-helpers/remote';
import 'piccolore';
import 'es-module-lexer';
import 'clsx';

View File

@@ -0,0 +1,3 @@
const onRequest = (_, next) => next();
export { onRequest };