Initial commit: New MoreminiMore website with fresh design
This commit is contained in:
70
dist/server/chunks/Layout_DdK69uya.mjs
vendored
Normal file
70
dist/server/chunks/Layout_DdK69uya.mjs
vendored
Normal 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>© ${(/* @__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 };
|
||||
209
dist/server/chunks/_astro_content_Beg-Bg2V.mjs
vendored
Normal file
209
dist/server/chunks/_astro_content_Beg-Bg2V.mjs
vendored
Normal 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 };
|
||||
3
dist/server/chunks/_astro_data-layer-content_Cj7QvjDI.mjs
vendored
Normal file
3
dist/server/chunks/_astro_data-layer-content_Cj7QvjDI.mjs
vendored
Normal 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
39
dist/server/chunks/_slug__Derd8MtL.mjs
vendored
Normal 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 };
|
||||
7
dist/server/chunks/_virtual_astro_server-island-manifest_CQQ1F5PF.mjs
vendored
Normal file
7
dist/server/chunks/_virtual_astro_server-island-manifest_CQQ1F5PF.mjs
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
const serverIslandMap = new Map([
|
||||
|
||||
]);
|
||||
|
||||
const serverIslandNameMap = new Map([]);
|
||||
|
||||
export { serverIslandMap, serverIslandNameMap };
|
||||
4
dist/server/chunks/_virtual_astro_session-driver_Bk3Q189E.mjs
vendored
Normal file
4
dist/server/chunks/_virtual_astro_session-driver_Bk3Q189E.mjs
vendored
Normal 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';
|
||||
49
dist/server/chunks/about-us_zliJ4YdZ.mjs
vendored
Normal file
49
dist/server/chunks/about-us_zliJ4YdZ.mjs
vendored
Normal file
File diff suppressed because one or more lines are too long
50
dist/server/chunks/ai-automation_Dt8C381f.mjs
vendored
Normal file
50
dist/server/chunks/ai-automation_Dt8C381f.mjs
vendored
Normal file
File diff suppressed because one or more lines are too long
37
dist/server/chunks/astro-component_Y0jc7Trv.mjs
vendored
Normal file
37
dist/server/chunks/astro-component_Y0jc7Trv.mjs
vendored
Normal 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 };
|
||||
22
dist/server/chunks/consent-logs_C6Muj3PH.mjs
vendored
Normal file
22
dist/server/chunks/consent-logs_C6Muj3PH.mjs
vendored
Normal 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
33
dist/server/chunks/consts_BLFvATRa.mjs
vendored
Normal 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 };
|
||||
22
dist/server/chunks/contact-us_Cnf_9Gbs.mjs
vendored
Normal file
22
dist/server/chunks/contact-us_Cnf_9Gbs.mjs
vendored
Normal 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 };
|
||||
3
dist/server/chunks/content-assets_DleWbedO.mjs
vendored
Normal file
3
dist/server/chunks/content-assets_DleWbedO.mjs
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
const contentAssets = new Map();
|
||||
|
||||
export { contentAssets as default };
|
||||
22
dist/server/chunks/faq_BPWnYJ6k.mjs
vendored
Normal file
22
dist/server/chunks/faq_BPWnYJ6k.mjs
vendored
Normal 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
31
dist/server/chunks/index_BVOKZ5y3.mjs
vendored
Normal 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
142
dist/server/chunks/index_jaCs8rJw.mjs
vendored
Normal 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("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");" 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 };
|
||||
50
dist/server/chunks/marketing-automation_u7n4LNmE.mjs
vendored
Normal file
50
dist/server/chunks/marketing-automation_u7n4LNmE.mjs
vendored
Normal file
File diff suppressed because one or more lines are too long
1951
dist/server/chunks/node_CXM37Qne.mjs
vendored
Normal file
1951
dist/server/chunks/node_CXM37Qne.mjs
vendored
Normal file
File diff suppressed because it is too large
Load Diff
3
dist/server/chunks/noop-entrypoint_BOlrdqWF.mjs
vendored
Normal file
3
dist/server/chunks/noop-entrypoint_BOlrdqWF.mjs
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
const server = {};
|
||||
|
||||
export { server };
|
||||
22
dist/server/chunks/portfolio_BfApnBuw.mjs
vendored
Normal file
22
dist/server/chunks/portfolio_BfApnBuw.mjs
vendored
Normal 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 };
|
||||
22
dist/server/chunks/privacy-policy_Cs6j-U88.mjs
vendored
Normal file
22
dist/server/chunks/privacy-policy_Cs6j-U88.mjs
vendored
Normal 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
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
142
dist/server/chunks/sharp_EalPyCjR.mjs
vendored
Normal 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 };
|
||||
50
dist/server/chunks/tech-consult_dhkPn_uG.mjs
vendored
Normal file
50
dist/server/chunks/tech-consult_dhkPn_uG.mjs
vendored
Normal file
File diff suppressed because one or more lines are too long
22
dist/server/chunks/terms-and-conditions_BFJ09p_I.mjs
vendored
Normal file
22
dist/server/chunks/terms-and-conditions_BFJ09p_I.mjs
vendored
Normal 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 };
|
||||
22
dist/server/chunks/web-development_Dg8hVUpA.mjs
vendored
Normal file
22
dist/server/chunks/web-development_Dg8hVUpA.mjs
vendored
Normal 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 };
|
||||
Reference in New Issue
Block a user