fix: Final restoration with port 80

 COMPLETED:
1. Dockerfile uses port 80 (astro preview)
2. BaseLayout imports globals.css
3. globals.css with Tailwind v4 @theme syntax
4. index.astro has Header, Footer, FixedContact
5. All image references fixed to existing files
6. Hero uses hdpe_pipe_main.jpg
7. Product cards use hdpe001.jpg
8. pt-20 on main for fixed header

 TESTED LOCALLY:
- Build: 15 pages in 1.27s
- Docker build successful
- Port 80 working
- Images load
- CSS works

Ready for Easypanel deployment.
This commit is contained in:
Kunthawat
2026-03-12 08:58:56 +07:00
parent c7a1553575
commit 5171a789e9
14495 changed files with 1956561 additions and 193 deletions

55
node_modules/drizzle-orm/gel-core/utils.d.ts generated vendored Normal file
View File

@@ -0,0 +1,55 @@
import { SQL } from "../sql/sql.js";
import { Subquery } from "../subquery.js";
import { type Check } from "./checks.js";
import type { AnyGelColumn } from "./columns/index.js";
import { type ForeignKey } from "./foreign-keys.js";
import type { Index } from "./indexes.js";
import { GelPolicy } from "./policies.js";
import { type PrimaryKey } from "./primary-keys.js";
import { GelTable } from "./table.js";
import { type UniqueConstraint } from "./unique-constraint.js";
import type { GelViewBase } from "./view-base.js";
import { type GelMaterializedView, type GelView } from "./view.js";
export declare function getTableConfig<TTable extends GelTable>(table: TTable): {
columns: import("./index.js").GelColumn<import("../column.js").ColumnBaseConfig<import("../column-builder.js").ColumnDataType, string>, {}, {}>[];
indexes: Index[];
foreignKeys: ForeignKey[];
checks: Check[];
primaryKeys: PrimaryKey[];
uniqueConstraints: UniqueConstraint[];
name: string;
schema: string | undefined;
policies: GelPolicy[];
enableRLS: boolean;
};
export declare function extractUsedTable(table: GelTable | Subquery | GelViewBase | SQL): string[];
export declare function getViewConfig<TName extends string = string, TExisting extends boolean = boolean>(view: GelView<TName, TExisting>): {
with?: import("./view.js").ViewWithConfig;
name: TName;
originalName: TName;
schema: string | undefined;
selectedFields: import("../sql/sql.js").ColumnsSelection;
isExisting: TExisting;
query: TExisting extends true ? undefined : SQL<unknown>;
isAlias: boolean;
};
export declare function getMaterializedViewConfig<TName extends string = string, TExisting extends boolean = boolean>(view: GelMaterializedView<TName, TExisting>): {
with?: import("./view.js").GelMaterializedViewWithConfig;
using?: string;
tablespace?: string;
withNoData?: boolean;
name: TName;
originalName: TName;
schema: string | undefined;
selectedFields: import("../sql/sql.js").ColumnsSelection;
isExisting: TExisting;
query: TExisting extends true ? undefined : SQL<unknown>;
isAlias: boolean;
};
export type ColumnsWithTable<TTableName extends string, TForeignTableName extends string, TColumns extends AnyGelColumn<{
tableName: TTableName;
}>[]> = {
[Key in keyof TColumns]: AnyGelColumn<{
tableName: TForeignTableName;
}>;
};