✅ 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.
49 lines
1.2 KiB
TypeScript
49 lines
1.2 KiB
TypeScript
/**
|
|
* Function called for each element in an array.
|
|
*
|
|
* @typeParam Value
|
|
* Element in array.
|
|
* @typeParam ThisArg
|
|
* Context object passed as `this`.
|
|
* @param value
|
|
* Element in array.
|
|
* @param index
|
|
* Index of `value` in `values`.
|
|
* @param values
|
|
* List.
|
|
* @param [thisArg]
|
|
* Context object
|
|
* @returns {number|void}
|
|
* The `index` to move to next.
|
|
*/
|
|
export type CallbackFn<Value, ThisArg = undefined> = (
|
|
this: ThisArg,
|
|
value: Value,
|
|
index: number,
|
|
array: Value[]
|
|
) => number | void
|
|
|
|
/**
|
|
* Perform the specified action for each element in an array.
|
|
* When `callbackFn` returns a `number`, moves to the element at that index
|
|
* next.
|
|
*
|
|
* @typeParam Value
|
|
* Type in `values`.
|
|
* @typeParam ThisArg
|
|
* Context passed as `this` to callback.
|
|
* @param values
|
|
* Values to iterate over.
|
|
* @param callbackFn
|
|
* Function called for each element.
|
|
* Can return the `index` to move to next.
|
|
* @param [thisArg]
|
|
* Optional object assigned as `this` in `callbackFn`.
|
|
* @returns {void}
|
|
*/
|
|
export function arrayIterate<Value, ThisArg = undefined>(
|
|
values: Value[],
|
|
callbackFn: CallbackFn<Value, ThisArg>,
|
|
thisArg?: ThisArg
|
|
): void
|