@zorgo/next 1.0.0 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.d.mts +5 -1
- package/dist/cli.d.ts +5 -1
- package/dist/cli.js +1 -1
- package/dist/cli.mjs +1 -1
- package/dist/components.d.mts +152 -1
- package/dist/components.d.ts +152 -1
- package/dist/index.d.mts +242 -3
- package/dist/index.d.ts +242 -3
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/dist/seo.d.mts +83 -2
- package/dist/seo.d.ts +83 -2
- package/dist/server.d.mts +25 -0
- package/dist/server.d.ts +25 -0
- package/dist/server.js +1 -0
- package/dist/server.mjs +1 -0
- package/dist/slugs.d.mts +6 -1
- package/dist/slugs.d.ts +6 -1
- package/dist/tree/README.md +57 -0
- package/dist/tree/app/api/zorgo-token/route.ts +10 -5
- package/dist/tree/app/components/ModalRegistry.tsx +1 -1
- package/dist/tree/app/locations/page.tsx +1 -1
- package/dist/tree/package.json.gen.ts +2 -2
- package/dist/tree/scripts/prebuild.ts +8 -447
- package/package.json +18 -3
- package/dist/tree/lib/zorgoSiteToken.ts +0 -20
package/dist/seo.d.mts
CHANGED
|
@@ -1,5 +1,86 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { MenuItem as MenuItem$1, Category, Component as Component$1, Rule as Rule$1 } from '../interfaces';
|
|
2
|
+
|
|
3
|
+
interface Menu {
|
|
4
|
+
items: MenuItem$1[];
|
|
5
|
+
categories: Category[];
|
|
6
|
+
components: Component$1[];
|
|
7
|
+
rules: Rule$1[];
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
interface ItemVariant {
|
|
11
|
+
item_id: number;
|
|
12
|
+
name: string;
|
|
13
|
+
price: number;
|
|
14
|
+
components?: Component[];
|
|
15
|
+
base_item_id?: number;
|
|
16
|
+
rules?: Rule[];
|
|
17
|
+
display_price?: number;
|
|
18
|
+
active_promo_id?: number;
|
|
19
|
+
}
|
|
20
|
+
interface MenuItem {
|
|
21
|
+
base_item_id: number;
|
|
22
|
+
category_id: number;
|
|
23
|
+
franchise_id: number;
|
|
24
|
+
name: string;
|
|
25
|
+
per_person?: boolean | null;
|
|
26
|
+
image_path?: string | null;
|
|
27
|
+
variants: ItemVariant[];
|
|
28
|
+
rules: Rule[];
|
|
29
|
+
description?: string | null;
|
|
30
|
+
active_promo_id?: number;
|
|
31
|
+
is_catering?: boolean;
|
|
32
|
+
}
|
|
33
|
+
interface ScalingBehavior {
|
|
34
|
+
headcount_threshold: number;
|
|
35
|
+
starting_amount: number;
|
|
36
|
+
step_interval: number;
|
|
37
|
+
step_size: number;
|
|
38
|
+
maximum: number | null;
|
|
39
|
+
}
|
|
40
|
+
interface Component {
|
|
41
|
+
id: number;
|
|
42
|
+
servings_per_item?: number;
|
|
43
|
+
is_base?: boolean;
|
|
44
|
+
price_per_serving?: number;
|
|
45
|
+
franchise_id?: number;
|
|
46
|
+
component_type_id: number;
|
|
47
|
+
serving_weight?: number;
|
|
48
|
+
name: string;
|
|
49
|
+
item_id?: number;
|
|
50
|
+
prep_ahead?: boolean;
|
|
51
|
+
measurement_type?: "weight" | "count";
|
|
52
|
+
display_unit?: string;
|
|
53
|
+
behavior?: ScalingBehavior;
|
|
54
|
+
}
|
|
55
|
+
interface Rule {
|
|
56
|
+
rule_id?: number;
|
|
57
|
+
item_id?: number;
|
|
58
|
+
base_item_id?: number;
|
|
59
|
+
category_id?: number;
|
|
60
|
+
group_name: string;
|
|
61
|
+
min_selection: number;
|
|
62
|
+
max_selection?: number;
|
|
63
|
+
included_quantity: number;
|
|
64
|
+
items?: RuleItem[];
|
|
65
|
+
components?: RuleComponent[];
|
|
66
|
+
}
|
|
67
|
+
interface RuleItem {
|
|
68
|
+
item_id: number;
|
|
69
|
+
name: string;
|
|
70
|
+
quantity: number;
|
|
71
|
+
upcharge_price: number;
|
|
72
|
+
description?: string | null;
|
|
73
|
+
behavior?: ScalingBehavior;
|
|
74
|
+
}
|
|
75
|
+
interface RuleComponent {
|
|
76
|
+
component_id: number;
|
|
77
|
+
name: string;
|
|
78
|
+
quantity: number;
|
|
79
|
+
upcharge_price: number;
|
|
80
|
+
description?: string | null;
|
|
81
|
+
behavior?: ScalingBehavior;
|
|
82
|
+
serving_weight?: number;
|
|
83
|
+
}
|
|
3
84
|
|
|
4
85
|
/** Franchise-level facts for the Restaurant node. Everything but `name` is
|
|
5
86
|
* optional so the schema degrades gracefully when a field is missing. */
|
package/dist/seo.d.ts
CHANGED
|
@@ -1,5 +1,86 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { MenuItem as MenuItem$1, Category, Component as Component$1, Rule as Rule$1 } from '../interfaces';
|
|
2
|
+
|
|
3
|
+
interface Menu {
|
|
4
|
+
items: MenuItem$1[];
|
|
5
|
+
categories: Category[];
|
|
6
|
+
components: Component$1[];
|
|
7
|
+
rules: Rule$1[];
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
interface ItemVariant {
|
|
11
|
+
item_id: number;
|
|
12
|
+
name: string;
|
|
13
|
+
price: number;
|
|
14
|
+
components?: Component[];
|
|
15
|
+
base_item_id?: number;
|
|
16
|
+
rules?: Rule[];
|
|
17
|
+
display_price?: number;
|
|
18
|
+
active_promo_id?: number;
|
|
19
|
+
}
|
|
20
|
+
interface MenuItem {
|
|
21
|
+
base_item_id: number;
|
|
22
|
+
category_id: number;
|
|
23
|
+
franchise_id: number;
|
|
24
|
+
name: string;
|
|
25
|
+
per_person?: boolean | null;
|
|
26
|
+
image_path?: string | null;
|
|
27
|
+
variants: ItemVariant[];
|
|
28
|
+
rules: Rule[];
|
|
29
|
+
description?: string | null;
|
|
30
|
+
active_promo_id?: number;
|
|
31
|
+
is_catering?: boolean;
|
|
32
|
+
}
|
|
33
|
+
interface ScalingBehavior {
|
|
34
|
+
headcount_threshold: number;
|
|
35
|
+
starting_amount: number;
|
|
36
|
+
step_interval: number;
|
|
37
|
+
step_size: number;
|
|
38
|
+
maximum: number | null;
|
|
39
|
+
}
|
|
40
|
+
interface Component {
|
|
41
|
+
id: number;
|
|
42
|
+
servings_per_item?: number;
|
|
43
|
+
is_base?: boolean;
|
|
44
|
+
price_per_serving?: number;
|
|
45
|
+
franchise_id?: number;
|
|
46
|
+
component_type_id: number;
|
|
47
|
+
serving_weight?: number;
|
|
48
|
+
name: string;
|
|
49
|
+
item_id?: number;
|
|
50
|
+
prep_ahead?: boolean;
|
|
51
|
+
measurement_type?: "weight" | "count";
|
|
52
|
+
display_unit?: string;
|
|
53
|
+
behavior?: ScalingBehavior;
|
|
54
|
+
}
|
|
55
|
+
interface Rule {
|
|
56
|
+
rule_id?: number;
|
|
57
|
+
item_id?: number;
|
|
58
|
+
base_item_id?: number;
|
|
59
|
+
category_id?: number;
|
|
60
|
+
group_name: string;
|
|
61
|
+
min_selection: number;
|
|
62
|
+
max_selection?: number;
|
|
63
|
+
included_quantity: number;
|
|
64
|
+
items?: RuleItem[];
|
|
65
|
+
components?: RuleComponent[];
|
|
66
|
+
}
|
|
67
|
+
interface RuleItem {
|
|
68
|
+
item_id: number;
|
|
69
|
+
name: string;
|
|
70
|
+
quantity: number;
|
|
71
|
+
upcharge_price: number;
|
|
72
|
+
description?: string | null;
|
|
73
|
+
behavior?: ScalingBehavior;
|
|
74
|
+
}
|
|
75
|
+
interface RuleComponent {
|
|
76
|
+
component_id: number;
|
|
77
|
+
name: string;
|
|
78
|
+
quantity: number;
|
|
79
|
+
upcharge_price: number;
|
|
80
|
+
description?: string | null;
|
|
81
|
+
behavior?: ScalingBehavior;
|
|
82
|
+
serving_weight?: number;
|
|
83
|
+
}
|
|
3
84
|
|
|
4
85
|
/** Franchise-level facts for the Restaurant node. Everything but `name` is
|
|
5
86
|
* optional so the schema degrades gracefully when a field is missing. */
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/** Why a site token could not be obtained — lets callers report precisely. */
|
|
2
|
+
type SiteTokenFailure = "missing-secret" | "rejected" | "unreachable";
|
|
3
|
+
declare class SiteTokenError extends Error {
|
|
4
|
+
readonly reason: SiteTokenFailure;
|
|
5
|
+
constructor(reason: SiteTokenFailure, message: string, options?: {
|
|
6
|
+
cause?: unknown;
|
|
7
|
+
});
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Exchange ZORGO_SITE_SECRET for a short-lived site token.
|
|
11
|
+
*
|
|
12
|
+
* Throws a {@link SiteTokenError} that distinguishes the three failure modes
|
|
13
|
+
* (secret not set / endpoint rejected the secret / endpoint unreachable) rather
|
|
14
|
+
* than collapsing them into one misleading "missing secret" message.
|
|
15
|
+
*/
|
|
16
|
+
declare function fetchSiteToken(): Promise<string>;
|
|
17
|
+
/**
|
|
18
|
+
* Full prebuild pipeline for a scaffolded site. Loads the site's .env, exchanges
|
|
19
|
+
* the site secret for a token, then fetches franchise data and writes the
|
|
20
|
+
* generated modules/assets (wrangler.toml, menu.ts, jsonld.ts, styles, logo).
|
|
21
|
+
* Called from the site's thin scripts/prebuild.ts wrapper.
|
|
22
|
+
*/
|
|
23
|
+
declare function runPrebuild(): Promise<void>;
|
|
24
|
+
|
|
25
|
+
export { SiteTokenError, type SiteTokenFailure, fetchSiteToken, runPrebuild };
|
package/dist/server.d.ts
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/** Why a site token could not be obtained — lets callers report precisely. */
|
|
2
|
+
type SiteTokenFailure = "missing-secret" | "rejected" | "unreachable";
|
|
3
|
+
declare class SiteTokenError extends Error {
|
|
4
|
+
readonly reason: SiteTokenFailure;
|
|
5
|
+
constructor(reason: SiteTokenFailure, message: string, options?: {
|
|
6
|
+
cause?: unknown;
|
|
7
|
+
});
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Exchange ZORGO_SITE_SECRET for a short-lived site token.
|
|
11
|
+
*
|
|
12
|
+
* Throws a {@link SiteTokenError} that distinguishes the three failure modes
|
|
13
|
+
* (secret not set / endpoint rejected the secret / endpoint unreachable) rather
|
|
14
|
+
* than collapsing them into one misleading "missing secret" message.
|
|
15
|
+
*/
|
|
16
|
+
declare function fetchSiteToken(): Promise<string>;
|
|
17
|
+
/**
|
|
18
|
+
* Full prebuild pipeline for a scaffolded site. Loads the site's .env, exchanges
|
|
19
|
+
* the site secret for a token, then fetches franchise data and writes the
|
|
20
|
+
* generated modules/assets (wrangler.toml, menu.ts, jsonld.ts, styles, logo).
|
|
21
|
+
* Called from the site's thin scripts/prebuild.ts wrapper.
|
|
22
|
+
*/
|
|
23
|
+
declare function runPrebuild(): Promise<void>;
|
|
24
|
+
|
|
25
|
+
export { SiteTokenError, type SiteTokenFailure, fetchSiteToken, runPrebuild };
|
package/dist/server.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';const a0_0x2d967d=a0_0x3f44;(function(_0x46b523,_0x47d9c6){const _0x2069a4=a0_0x3f44,_0x3bfc77=_0x46b523();while(!![]){try{const _0x1ed94d=parseInt(_0x2069a4(0x14e))/0x1*(-parseInt(_0x2069a4(0x10d))/0x2)+-parseInt(_0x2069a4(0x11e))/0x3+-parseInt(_0x2069a4(0xbc))/0x4+-parseInt(_0x2069a4(0xa5))/0x5*(parseInt(_0x2069a4(0xf7))/0x6)+-parseInt(_0x2069a4(0xb8))/0x7+-parseInt(_0x2069a4(0x108))/0x8+-parseInt(_0x2069a4(0xe6))/0x9*(-parseInt(_0x2069a4(0xcc))/0xa);if(_0x1ed94d===_0x47d9c6)break;else _0x3bfc77['push'](_0x3bfc77['shift']());}catch(_0x561785){_0x3bfc77['push'](_0x3bfc77['shift']());}}}(a0_0x591d,0x45b70));function a0_0x591d(){const _0x5f23c9=['AxrLBxm','ChjPBwfYEq','C3bSAxq','t2zMzxi','zNjVBq','Dgv4Da','BgLIl2DLBMvYyxrLzc8','C3rYAw5NAwz5','C3r5BgvZlMPZB24','AM9PBG','ENbWuhe','iZbHmgeWyq','zgvMyxvSDa','rwTpqMC','cKbPBxbVCNqGDxjSkcjODhrWCZOVl2zVBNrZlMDVB2DSzwfWAxmUy29Tl2nZCZi/zMfTAwX5pq','EM9Yz28TC2L0zq','ANnVBKXKigzHAwXLzdO','Dg9tDhjPBMC','lIbuAgLZihvZDwfSBhKGBwvHBNmGwK9sr09Fu0Lurv9trunsrvqGAxmGD3jVBMCGzM9YihrOAxmGzw52AxjVBM1LBNqU','y2f0y2G','t1LNB0y','v1fHy3q','qg5LEhqVzw52','iIWGC2fUCY1ZzxjPzJSkFqOkqhrOzw1LigLUBgLUzsb7cIaGls1JB2XVCI1IywnRz3jVDw5KoIb2yxiOls1IywnRz3jVDw5KktSkicaTlwnVBg9YlwjHy2TNCM91BMqTzwXLDMf0zwq6ihzHCIGTlwjHy2TNCM91BMqTzwXLDMf0zwqPoWOGic0Ty29SB3iTyMfJA2DYB3vUzc1YzwnLC3nLzdOGDMfYkc0TyMfJA2DYB3vUzc1YzwnLC3nLzcK7cIaGls1JB2XVCI1MB3jLz3jVDw5KoIb2yxiOls1MB3jLz3jVDw5KktSkicaTlwnVBg9YlxbYAw1HCNK6ihzHCIGTlxbYAw1HCNKPoWOGic0Ty29SB3iTChjPBwfYEs1MB3jLz3jVDw5KoIb2yxiOls1WCMLTyxj5lwzVCMvNCM91BMqPoWOGic0Ty29SB3iTywnJzw50oIb2yxiOls1Hy2nLBNqPoWOGic0Ty29SB3iTywnJzw50lwzVCMvNCM91BMq6ihzHCIGTlwfJy2vUDc1MB3jLz3jVDw5KktSkicaTlwzVBNqTC2fUCZOGDMfYkc0TzM9UDc1Zyw5ZktSkFqOkqgXHEwvYigjHC2uGEWOGigj1DhrVBIWkicbBDhLWzt0IyNv0Dg9UiL0ScIaGw3r5Cgu9iNn1yM1PDcjDlaOGifT0ExbLpsjYzxnLDcjDihSkicaGign1CNnVCJOGCg9PBNrLCJSkicb9cGOGigj1DhrVBJPKAxnHyMXLzcWkicbBDhLWzt0IyNv0Dg9UiL06zgLZywjSzwqScIaGw3r5Cgu9iNn1yM1PDcjDoMrPC2fIBgvKlaOGifT0ExbLpsjYzxnLDcjDoMrPC2fIBgvKihSkicaGign1CNnVCJOGBM90lwfSBg93zwq7cIaGFqP9cG','mtaYnte5owr5vezKwq','BwfW','zgvZy3jPChrPB24','Ahr0Chm6lY9Zy2HLBweUB3jN','uNH2ENC','yMfZzty0DxjS','CgfKu3rHCNq','ue9tva','zxjYB3i','igzHAwXLzcWGDxnPBMCGzgvMyxvSDhm6','v1LqtM8','C3rHDhvZ','u1vWtw0','v0j1zeS','rNnhwvi','AgfZtwvUDuL0zw0','q291BgqGBM90ihjLywnOihrOzsbZAxrLlxrVA2vUigvUzhbVAw50igf0ia','mJu4nM1ItNzdwa','iZK2otzgrG','DhjPBq','Bg9HzevUDKnVBMzPzW','EgjSDui','BwLU','C2vYDMvZq3vPC2LUzq','yMfJA2DYB3vUzejHC2u','iGPTywLUid0GiI5VCgvUlw5LEhqVD29YA2vYlMPZiGPJB21WyxrPyMLSAxr5x2rHDguGpsaImJaYnc0Wos0YmYiky29TCgf0AwjPBgL0Ev9MBgfNCYa9ifSIBM9KzwPZx2nVBxbHDcjDcGOJiej1BMrSzxmGDgHLienSB3vKzMXHCMuGD29YA2vYigfZihbHCNqGB2yGyhDYyw5NBgvYigrLCgXVEwaGkgfUzcbGD3jHBMDSzxiGzgv2ycKScImGC28GDgHLigrLCgXVEsbJB21Tyw5Kihn0yxLZigeGCgXHAw4GyhDYyw5NBgvYigrLCgXVEwaUihbYzwj1AwXKicH3AgLJAcb3CML0zxmkiYb0AgLZigzPBguGkYbSAwiVz2vUzxjHDgvKksbTDxn0ihn0AwXSihj1BIbMAxjZDcdIGjqGB24Gq2XVDwrMBgfYzsbxB3jRzxjZiej1AwXKCWOJihrOyxqGAxmGDgHLihbYB2PLy3qNCYbcDwLSzcbJB21Tyw5KoYbSB2nHBgX5igL0igLZihrOzsbUCg0GC2nYAxb0CYbIzwXVDY4kw2j1AwXKxqPJB21Tyw5Kid0GiM5WEcbVCgvUBMv4DgPZlwnSB3vKzMXHCMuGyNvPBgqIcGPByxnZzxrZxqPKAxjLy3rVCNKGpsaIlM9Wzw4TBMv4Dc9HC3nLDhmIcMjPBMrPBMCGpsaIqvntrvrtiGOkw3zHCNnDcK5fwfrFufvcteLdx1nvuefcqvnfx1vstca9ici','Aw1Hz2u','BNvSBgLZAa','Bg9N','ANnVBG','ywnJzw50','thvlzvG','oWOGic0TyMfJA2DYB3vUzc1LBgv2yxrLzdOG','vvne','mZm1ndu3nNzHvxrvCW','B1bes3q','uefvsgW','vgHLihnPDguTDg9Rzw4Gzw5KCg9PBNqGCMv0DxjUzwqGmJaWigj1DcbUBYb0B2TLBIbHDca','ChjLyNvPBgqGC2nYAxb0ignVBxbSzxrLza','mte1odq2CNjJvfLb','Dg9gAxHLza','ChjLyNvPBgq6igzYyw5JAgLZzsbOyxmGBM8GBwvUDsbPDgvTCYb5zxqG4OcuigDLBMvYyxrPBMCGyw4Gzw1WDhKGBwvUDs4GqwrKigL0zw1ZigLUihrOzsbKyxnOyM9HCMqGyw5KihjLyNvPBgqGDg8GCg9WDwXHDguGDgHLihn0B3jLzNjVBNqU','ChjVDg90ExbL','zNjHBMnOAxnLx2LKCW','yxjYyxLcDwzMzxi','ANnVBMXKlNrZ','ksbHDca','D3jHBMDSzxiUDg9TBa','x19LC01VzhvSzq','l2f1DgGVC2L0zs10B2TLBG','twvUDuL0zw0','lIbdAgvJAYborvHux1bvqKXjq19bueLFqKftrv9vuKWGyw5KihrOyxqGDgHLiefqssbPCYbYDw5UAw5NlG','uLzdwva','ugDQEKy','Ag9ZDg5HBwu','EgroCeq','otqZmtDcweX5whm','yxjYyxK','C2XPy2u','C3rYAw5N','Bwf4','D3jPDgvgAwXLu3LUyW','l2zYyw5JAgLZzs1PBMzVl2XVz28V','l2zYyw5JAgLZzs1PBMzVl2zYyw5JAgLZzs8','yw1XANu','oNDNAhrandaWoZCWmczKAxnWBgf5pxn3yxaIktSkqgLTCg9YDcaIDgfPBhDPBMrJC3mIoWOVkIbuywLSD2LUzcb2ncbZA2LWCYbUB2rLx21VzhvSzxm7ieb6B3jNBY9UzxH0ihnOAxbZihvUlw9IzNvZy2f0zwqGy29TCg9Uzw50CYbZBWOGicb0AgvPCIbJBgfZCYbUyw1LCYbHCMuGC2nHBM5HyMXLigHLCMuUicOVcKbZB3vYy2uGiI4Ul25VzgvFBw9KDwXLCY9aEM9Yz28VBMv4Dc9KAxn0l2nVBxbVBMvUDhmUBwPZiJSkcJPYB290ihSkicaTlwjHy2TNCM91BMq6ia','y2f0zwDVCMLLCW','zw51BwvYywjSzq','Dw5YzwfJAgfIBgu','zejcDLO','i2y1zJvMnq','Bg9NBY5QCgC','q09iEvi','DMfYAwfUDhm','DLfKqwO','BgvUz3rO','sKjmA1e','y3jLyxrL','l2zYyw5JAgLZzs1PBMzVl2HVDxjZlW','zNvUy3rPB24','zxHWB3j0CW','C2L0zv91CMW','sKvvt0G','tvnPAg0','BwvUDsbMzxrJAcbMywLSzwqG','sMDMzfq','CMvQzwn0zwq','D1zQs0m','y3DK','uLHVuNC','cLTBCM91DgvZxv0kCgf0DgvYBIa9ici','zM9UDezHBwLSEq','uNHSD1y','ChjLyNvPBgq6ia','sw50zxi','BwvUDs50CW','Dw5RBM93BG','zerWtuq','ifjLC3bVBNnLoIa','BwTKAxjtEw5J','z2v0t3DUuhjVCgvYDhLezxnJCMLWDg9Y','l2zYyw5JAgLZzs1PBMzVl3n0EwXLCY8','CMvHC29U','vhvgqLy','nunky3bmqW','yM5VDxy','uhLkq2S','ChjLzMf1Bhq','oWOGic0TzM9UDc1Zyw5ZoIaI','DxLurKW','Bg9NBYbMywLSzwq6','Ag91CNmGzMfPBgvKoG','yxbW','uMvZDgf1CMfUDa','z1Leyue','zwDIvMW','CgfYC2vjBNq','ntq3mhHHvwHttG','thnNsuq','oWOGic0TywnJzw50oIa','Ag5jv3K','CgfYC2u','CNvUBMLUzYbWCMvIDwLSzcbZy3jPChqUlI4','zgvMAw5LuhjVCgvYDhK','y2f0zwDVCNLFAwq','Ahr0CdOVl2XVy2fSAg9ZDdOZmdaW','y2fSBa','z2XVyMfSCY5JC3m','CwjqBLC','CM91BMq','oWOGic0TyMfJA2DYB3vUzc1YzwnLC3nLzdOG','EM9K','vM1pEMG','sMrRvxe','ChjPy2u','iZmYnJrgrG','mJy1mtK3muXNser2sW','uMnmyw4','DhjHBNnMB3jT','DxjS','mJqWnZy4teP6CxnO','CxfgwKS','BMfTzq','oWOGic0TywnJzw50lwzVCMvNCM91BMq6ia','B2jQzwn0','sLfuB3C','wLrvqxu','ChvIBgLJl2LTywDLCY8','z2v0t3DUuhjVCgvYDhLoyw1LCW','lY8GqvvutY1hru5fuKfuruqGyNKGC2nYAxb0CY9WCMvIDwLSzc50CYdIGjqGzg8GBM90igvKAxqUcMv4Cg9YDcbJB25ZDcbYzxn0yxvYyw50sNnVBKXKid0G','l2zYyw5JAgLZzs1PBMzVl21LBNuV','CMvWBgfJzq','oWOGic0TzM9YzwDYB3vUzdOG','iGPorvHux1bvqKXjq19bueLFqKftrv9vuKWGpsaI','ChzhAMe','C3r5BgvZigzHAwXLzdO','mtCWB1vxBhLt','iGPorvHux1bvqKXjq19cqvnfx1vstca9ici'];a0_0x591d=function(){return _0x5f23c9;};return a0_0x591d();}var __create=Object[a0_0x2d967d(0x133)],__defProp=Object[a0_0x2d967d(0xab)],__getOwnPropDesc=Object[a0_0x2d967d(0x14a)],__getOwnPropNames=Object[a0_0x2d967d(0xc4)],__getProtoOf=Object['getPrototypeOf'],__hasOwnProp=Object[a0_0x2d967d(0x110)]['hasOwnProperty'],__export=(_0xd16e5f,_0x38e661)=>{for(var _0x27f7a8 in _0x38e661)__defProp(_0xd16e5f,_0x27f7a8,{'get':_0x38e661[_0x27f7a8],'enumerable':!![]});},__copyProps=(_0x1ee740,_0x43329b,_0x3243b7,_0x2359b7)=>{const _0x3182b5=a0_0x2d967d,_0x4ae6ff={'BgLiB':_0x3182b5(0xc0),'ZTUAu':function(_0x3b3750,_0x524b19){return _0x3b3750===_0x524b19;},'JBLkQ':function(_0x3368c6,_0x1dc34e,_0x19f461){return _0x3368c6(_0x1dc34e,_0x19f461);}};if(_0x43329b&&typeof _0x43329b===_0x4ae6ff['BgLiB']||_0x4ae6ff[_0x3182b5(0xc2)](typeof _0x43329b,_0x3182b5(0x135))){for(let _0x1c2cf8 of __getOwnPropNames(_0x43329b))if(!__hasOwnProp[_0x3182b5(0xae)](_0x1ee740,_0x1c2cf8)&&_0x1c2cf8!==_0x3243b7)__defProp(_0x1ee740,_0x1c2cf8,{'get':()=>_0x43329b[_0x1c2cf8],'enumerable':!(_0x2359b7=_0x4ae6ff[_0x3182b5(0x132)](__getOwnPropDesc,_0x43329b,_0x1c2cf8))||_0x2359b7[_0x3182b5(0x129)]});}return _0x1ee740;},__toESM=(_0x44dfa2,_0x3a9b11,_0x3f9336)=>(_0x3f9336=_0x44dfa2!=null?__create(__getProtoOf(_0x44dfa2)):{},__copyProps(_0x3a9b11||!_0x44dfa2||!_0x44dfa2[a0_0x2d967d(0x116)]?__defProp(_0x3f9336,a0_0x2d967d(0xda),{'value':_0x44dfa2,'enumerable':!![]}):_0x3f9336,_0x44dfa2)),__toCommonJS=_0x149b4f=>__copyProps(__defProp({},a0_0x2d967d(0x116),{'value':!![]}),_0x149b4f),server_exports={};__export(server_exports,{'SiteTokenError':()=>SiteTokenError,'fetchSiteToken':()=>fetchSiteToken,'runPrebuild':()=>runPrebuild}),module[a0_0x2d967d(0x136)]=__toCommonJS(server_exports);var import_fs=require('fs'),import_path=__toESM(require('path')),import_env=require(a0_0x2d967d(0xe4)),import_zod=require(a0_0x2d967d(0xb3));function priceString(_0x2e3a91){const _0x33387d=a0_0x2d967d,_0xf5bdaa={'LuKeX':function(_0x487048,_0x14446a){return _0x487048/_0x14446a;}};return _0xf5bdaa[_0x33387d(0x105)](_0x2e3a91,0x64)[_0x33387d(0x10e)](0x2);}function a0_0x3f44(_0x29fd29,_0x5cee21){_0x29fd29=_0x29fd29-0xa0;const _0x591dfd=a0_0x591d();let _0x3f449a=_0x591dfd[_0x29fd29];if(a0_0x3f44['kyksDZ']===undefined){var _0x8e966f=function(_0x5d5aa4){const _0x1971b5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x54190a='',_0x3f0daf='';for(let _0x5aa888=0x0,_0x547677,_0x5c5946,_0x27c050=0x0;_0x5c5946=_0x5d5aa4['charAt'](_0x27c050++);~_0x5c5946&&(_0x547677=_0x5aa888%0x4?_0x547677*0x40+_0x5c5946:_0x5c5946,_0x5aa888++%0x4)?_0x54190a+=String['fromCharCode'](0xff&_0x547677>>(-0x2*_0x5aa888&0x6)):0x0){_0x5c5946=_0x1971b5['indexOf'](_0x5c5946);}for(let _0x5df471=0x0,_0x5d0030=_0x54190a['length'];_0x5df471<_0x5d0030;_0x5df471++){_0x3f0daf+='%'+('00'+_0x54190a['charCodeAt'](_0x5df471)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3f0daf);};a0_0x3f44['dxNEFC']=_0x8e966f,a0_0x3f44['WupyHb']={},a0_0x3f44['kyksDZ']=!![];}const _0x2b7804=_0x591dfd[0x0],_0x283bf1=_0x29fd29+_0x2b7804,_0x2ccd94=a0_0x3f44['WupyHb'][_0x283bf1];return!_0x2ccd94?(_0x3f449a=a0_0x3f44['dxNEFC'](_0x3f449a),a0_0x3f44['WupyHb'][_0x283bf1]=_0x3f449a):_0x3f449a=_0x2ccd94,_0x3f449a;}function variantOffer(_0x59c717){const _0x2c92be=a0_0x2d967d,_0x78c3e6={'ZSoaI':'Offer','dDpMD':function(_0x2efba8,_0x486987){return _0x2efba8(_0x486987);},'xbluB':_0x2c92be(0x107)};return{'@type':_0x78c3e6['ZSoaI'],'price':_0x78c3e6[_0x2c92be(0x147)](priceString,_0x59c717['display_price']??_0x59c717[_0x2c92be(0xb6)]),'priceCurrency':_0x78c3e6[_0x2c92be(0xfb)]};}function menuItemNode(_0xd33f51){const _0x4c3396=a0_0x2d967d,_0x13505c={'PgjzF':function(_0xf9ff71,_0x5222b3){return _0xf9ff71>_0x5222b3;}},_0x208de7={'@type':_0x4c3396(0x118),'name':_0xd33f51[_0x4c3396(0xbe)]};if(_0xd33f51['description'])_0x208de7[_0x4c3396(0xe8)]=_0xd33f51[_0x4c3396(0xe8)];const _0x41bb53=_0xd33f51[_0x4c3396(0x12f)]['map'](variantOffer);if(_0x41bb53['length']===0x1)_0x208de7['offers']=_0x41bb53[0x0];else{if(_0x13505c[_0x4c3396(0x11b)](_0x41bb53['length'],0x1))_0x208de7['offers']=_0x41bb53;}return _0x208de7;}function buildRestaurantJsonLd(_0x3362bf,_0x334a26){const _0x262389=a0_0x2d967d,_0x5454a6={'WBudK':_0x262389(0xe9),'PyJCk':'Menu'},_0x3cca85=_0x3362bf[_0x262389(0x128)][_0x262389(0xe7)](_0x24d790=>{const _0x4f5145=_0x262389,_0x5e9eb9={'@type':'MenuSection','name':_0x24d790[_0x4f5145(0xbe)]},_0x1b60f9=_0x3362bf['items']['filter'](_0x2f05e0=>_0x2f05e0[_0x4f5145(0xac)]===_0x24d790[_0x4f5145(0xac)])[_0x4f5145(0xe7)](menuItemNode);if(_0x1b60f9[_0x4f5145(0x131)])_0x5e9eb9[_0x4f5145(0xf5)]=_0x1b60f9;return _0x5e9eb9;}),_0x53cde5={'@context':_0x5454a6[_0x262389(0xf3)],'@type':_0x262389(0xa1),'name':_0x334a26[_0x262389(0xbe)]};if(_0x334a26['url'])_0x53cde5['url']=_0x334a26[_0x262389(0xbb)];if(_0x334a26[_0x262389(0x100)])_0x53cde5['image']=_0x334a26[_0x262389(0x100)];if(_0x334a26[_0x262389(0xe8)])_0x53cde5[_0x262389(0xe8)]=_0x334a26['description'];if(_0x334a26[_0x262389(0xfd)]?.[_0x262389(0x131)])_0x53cde5['servesCuisine']=_0x334a26['servesCuisine'];return _0x53cde5['hasMenu']={'@type':_0x5454a6[_0x262389(0x150)],'name':_0x5454a6[_0x262389(0x150)],'hasMenuSection':_0x3cca85},_0x53cde5;}function apiBaseUrl(){const _0x562dc8=a0_0x2d967d;return process.env.NEXT_PUBLIC_API_BASE_URL??_0x562dc8(0xad);}var SiteTokenError=class extends Error{[a0_0x2d967d(0x14c)];constructor(_0x5e2bff,_0x5328c6,_0x24a5a1){const _0x4fcae8=a0_0x2d967d;super(_0x5328c6,_0x24a5a1),this[_0x4fcae8(0xbe)]='SiteTokenError',this[_0x4fcae8(0x14c)]=_0x5e2bff;}};async function fetchSiteToken(){const _0x1dbfe8=a0_0x2d967d,_0x1d509f={'vQdAj':function(_0x34223c,_0x58137e){return _0x34223c(_0x58137e);},'hnIWy':_0x1dbfe8(0x107),'COHyR':'missing-secret','dBBvZ':'ZORGO_SITE_SECRET\x20is\x20not\x20set.\x20Add\x20it\x20to\x20this\x20site\x27s\x20.env.','amqju':function(_0x29cd9){return _0x29cd9();},'qbPnW':function(_0x33ad3a,_0x478240,_0x17afa8){return _0x33ad3a(_0x478240,_0x17afa8);},'EkOBg':_0x1dbfe8(0xed),'DjEBP':_0x1dbfe8(0x12a),'JQTow':_0x1dbfe8(0x10a),'qqFZK':'rejected'},_0x533d17=process.env.ZORGO_SITE_SECRET;if(!_0x533d17)throw new SiteTokenError(_0x1d509f[_0x1dbfe8(0x12e)],_0x1d509f[_0x1dbfe8(0x12b)]);const _0x55ad8e=_0x1d509f[_0x1dbfe8(0x126)](apiBaseUrl)+_0x1dbfe8(0x117);let _0x3a1f9a;try{_0x3a1f9a=await _0x1d509f[_0x1dbfe8(0xb0)](fetch,_0x55ad8e,{'method':_0x1d509f[_0x1dbfe8(0xdb)],'headers':{'x-zorgo-site-secret':_0x533d17}});}catch(_0x4f7ad9){throw new SiteTokenError(_0x1d509f['DjEBP'],_0x1dbfe8(0xf6)+_0x55ad8e+_0x1dbfe8(0x119),{'cause':_0x4f7ad9});}if(!_0x3a1f9a['ok']){if('QpAxt'===_0x1d509f[_0x1dbfe8(0xc1)])return{'@type':_0x1dbfe8(0xd1),'price':yUUYRt[_0x1dbfe8(0x130)](_0x46af4d,_0x3ceeba['display_price']??_0x2793b9[_0x1dbfe8(0xb6)]),'priceCurrency':yUUYRt[_0x1dbfe8(0xa8)]};else{const _0x930a1a=(await _0x3a1f9a[_0x1dbfe8(0xd3)]()['catch'](()=>''))['slice'](0x0,0xc8);throw new SiteTokenError(_0x1d509f[_0x1dbfe8(0xbd)],'The\x20site-token\x20endpoint\x20rejected\x20the\x20request\x20('+_0x3a1f9a[_0x1dbfe8(0xf1)]+'\x20'+_0x3a1f9a['statusText']+_0x1dbfe8(0x114)+_0x55ad8e+_0x1dbfe8(0xe0)+(_0x930a1a?_0x1dbfe8(0x148)+_0x930a1a:''));}}const {token:_0x3409d1}=await _0x3a1f9a[_0x1dbfe8(0x103)]();if(!_0x3409d1)throw new SiteTokenError(_0x1dbfe8(0x13c),_0x1dbfe8(0x10b)+_0x55ad8e+'.');return _0x3409d1;}var BrandingSchema=import_zod['z']['object']({'backgroundBase':import_zod['z'][a0_0x2d967d(0x121)]()[a0_0x2d967d(0xda)]('#F5F5F5'),'primary':import_zod['z'][a0_0x2d967d(0x121)]()[a0_0x2d967d(0xda)](a0_0x2d967d(0xb7)),'accent':import_zod['z'][a0_0x2d967d(0x121)]()[a0_0x2d967d(0xda)](a0_0x2d967d(0xf8)),'fontFamily':import_zod['z'][a0_0x2d967d(0x121)]()[a0_0x2d967d(0xda)](a0_0x2d967d(0x144))})['prefault']({}),FranchiseSchema=import_zod['z']['object']({'name':import_zod['z']['string']()[a0_0x2d967d(0x101)]()['transform'](_0x1464a2=>_0x1464a2??process.env.ZORGO_PROJECT_NAME??a0_0x2d967d(0xa1)),'site_url':import_zod['z'][a0_0x2d967d(0x121)]()[a0_0x2d967d(0x101)]()[a0_0x2d967d(0xba)](_0x32b2d6=>_0x32b2d6??void 0x0)})[a0_0x2d967d(0x151)]({}),HoursSchema=import_zod['z'][a0_0x2d967d(0x11f)](import_zod['z']['unknown']())[a0_0x2d967d(0x151)]([]),MenuSchema=import_zod['z'][a0_0x2d967d(0xc0)]({'items':import_zod['z']['array'](import_zod['z'][a0_0x2d967d(0x146)]())[a0_0x2d967d(0xda)]([]),'categories':import_zod['z'][a0_0x2d967d(0x11f)](import_zod['z'][a0_0x2d967d(0x146)]())[a0_0x2d967d(0xda)]([]),'components':import_zod['z'][a0_0x2d967d(0x11f)](import_zod['z'][a0_0x2d967d(0x146)]())[a0_0x2d967d(0xda)]([]),'rules':import_zod['z'][a0_0x2d967d(0x11f)](import_zod['z'][a0_0x2d967d(0x146)]())[a0_0x2d967d(0xda)]([])});async function fetchData(_0xcf3465,_0x4ec0a5,_0x59439e){const _0x1b68da=a0_0x2d967d,_0x352ded={'WYPNo':function(_0x5744fc,_0x13d48d,_0x5f27ff){return _0x5744fc(_0x13d48d,_0x5f27ff);}};try{const _0x4fae48=await _0x352ded[_0x1b68da(0xf0)](fetch,''+apiBaseUrl()+_0xcf3465,{'headers':{'Authorization':'Bearer\x20'+_0x4ec0a5}});if(!_0x4fae48['ok'])throw new Error(_0x4fae48[_0x1b68da(0xf1)]+':\x20'+await _0x4fae48['text']());const _0x4d513c=await _0x4fae48[_0x1b68da(0x103)]();return _0x59439e['parse'](_0x4d513c?.['data']??_0x4d513c);}catch(_0x1792c0){return console[_0x1b68da(0xee)](_0x1b68da(0x143)+_0xcf3465+_0x1b68da(0xef),_0x1792c0),_0x59439e[_0x1b68da(0xa9)](void 0x0);}}var FONT_ON_LIGHT=a0_0x2d967d(0xd9),FONT_ON_DARK=a0_0x2d967d(0x12c),BACKGROUND_SURFACE_DELTA=0xf,BACKGROUND_TEMPERATURE_BIAS=0x8;function parseHexRgb(_0x248746){const _0x409e0f=a0_0x2d967d,_0x139c4e={'zppPq':function(_0x15e98a,_0x215af4){return _0x15e98a!==_0x215af4;}},_0x472f42=_0x248746[_0x409e0f(0xf9)]()[_0x409e0f(0xc7)](/^#/,''),_0x1ef35b=_0x472f42[_0x409e0f(0x131)]===0x3?_0x472f42[_0x409e0f(0xd0)]('')[_0x409e0f(0xe7)](_0x401751=>_0x401751+_0x401751)[_0x409e0f(0xd7)](''):_0x472f42;if(_0x139c4e[_0x409e0f(0xd8)](_0x1ef35b[_0x409e0f(0x131)],0x6)||Number['isNaN'](Number['parseInt'](_0x1ef35b,0x10)))return null;return{'r':Number[_0x409e0f(0xa4)](_0x1ef35b[_0x409e0f(0x120)](0x0,0x2),0x10),'g':Number[_0x409e0f(0xa4)](_0x1ef35b[_0x409e0f(0x120)](0x2,0x4),0x10),'b':Number['parseInt'](_0x1ef35b[_0x409e0f(0x120)](0x4,0x6),0x10)};}function toHex({r:_0x32c7ed,g:_0x46357c,b:_0x44069c}){const _0xd9847a=a0_0x2d967d;return'#'+[_0x32c7ed,_0x46357c,_0x44069c]['map'](_0x30826d=>_0x30826d['toString'](0x10)[_0xd9847a(0xec)](0x2,'0'))['join']('');}function relativeLuminance({r:_0x324b59,g:_0x458248,b:_0xd1f047}){const _0x24b965=a0_0x2d967d,_0x578d7e={'UqARU':function(_0x1e3c2e,_0x19aa7f){return _0x1e3c2e/_0x19aa7f;},'WQact':function(_0x2f7512,_0x44a1b3){return _0x2f7512+_0x44a1b3;},'RZwOl':function(_0xaf57fa,_0x113e52){return _0xaf57fa*_0x113e52;}};return _0x578d7e['UqARU'](_0x578d7e[_0x24b965(0xe3)](_0x578d7e[_0x24b965(0xe3)](0.299*_0x324b59,_0x578d7e['RZwOl'](0.587,_0x458248)),_0x578d7e['RZwOl'](0.114,_0xd1f047)),0xff);}function temperatureBiasFor({r:_0x2b237a,g:_0x338105,b:_0x10940}){const _0x1157a9=a0_0x2d967d,_0x4e7abd={'TuFBV':function(_0x53a8ae,_0x4f6f48){return _0x53a8ae(_0x4f6f48);}};return Math[_0x1157a9(0xb1)](BACKGROUND_TEMPERATURE_BIAS*_0x4e7abd[_0x1157a9(0x14d)](relativeLuminance,{'r':_0x2b237a,'g':_0x338105,'b':_0x10940}));}function deriveFontColor(_0x423396){const _0x5c9072=a0_0x2d967d,_0x25b075={'oPDKt':function(_0x1ff81d,_0x326587){return _0x1ff81d>_0x326587;},'Rxvzw':function(_0x2c31f9,_0x392c94){return _0x2c31f9(_0x392c94);}},_0x11570f=parseHexRgb(_0x423396);if(!_0x11570f)return FONT_ON_LIGHT;return _0x25b075[_0x5c9072(0x109)](_0x25b075[_0x5c9072(0xea)](relativeLuminance,_0x11570f),0.5)?FONT_ON_LIGHT:FONT_ON_DARK;}function deriveElevatedBackground(_0x4970ae){const _0x36499a=a0_0x2d967d,_0x1d3bd8={'Qcbic':function(_0x579905,_0x4a7479){return _0x579905(_0x4a7479);},'Ommgf':function(_0x56687d,_0x22c8b4){return _0x56687d(_0x22c8b4);},'egbVl':function(_0x28fa24,_0x39be0c){return _0x28fa24/_0x39be0c;},'JdkUq':function(_0x27cdbf,_0x5b1e2d){return _0x27cdbf+_0x5b1e2d;}},_0x4f4933=_0x1d3bd8['Qcbic'](parseHexRgb,_0x4970ae);if(!_0x4f4933)return _0x4970ae;const _0x585e10=_0x1d3bd8['Ommgf'](temperatureBiasFor,_0x4f4933),_0x34a4c6=Math[_0x36499a(0xb1)](_0x1d3bd8[_0x36499a(0xa3)](_0x585e10,0x4));return toHex({'r':Math[_0x36499a(0xfc)](0xff,_0x1d3bd8[_0x36499a(0xb5)](_0x4f4933['r']+BACKGROUND_SURFACE_DELTA,_0x34a4c6)),'g':Math[_0x36499a(0xfc)](0xff,_0x4f4933['g']+BACKGROUND_SURFACE_DELTA),'b':Math[_0x36499a(0xfc)](0xff,_0x1d3bd8[_0x36499a(0xb5)](_0x4f4933['b'],BACKGROUND_SURFACE_DELTA)-_0x585e10)});}function deriveRecessedBackground(_0x3d398f){const _0x308a43=a0_0x2d967d,_0x6b36={'uyTFL':function(_0x2a8905,_0x519fc1){return _0x2a8905(_0x519fc1);},'RcLan':function(_0x5c0ffe,_0x1690f2){return _0x5c0ffe(_0x1690f2);},'AFtYJ':function(_0xdd35ee,_0x13c5d1){return _0xdd35ee/_0x13c5d1;},'xdNpD':function(_0x36ef4b,_0x415564){return _0x36ef4b(_0x415564);},'JgfdT':function(_0x3a3299,_0x1af59b){return _0x3a3299-_0x1af59b;},'OYgoF':function(_0x25a06e,_0x296d34){return _0x25a06e+_0x296d34;}},_0x5ae545=_0x6b36[_0x308a43(0x153)](parseHexRgb,_0x3d398f);if(!_0x5ae545)return _0x3d398f;const _0x569fdd=_0x6b36[_0x308a43(0xb9)](temperatureBiasFor,_0x5ae545),_0x511e69=Math[_0x308a43(0xb1)](_0x6b36['AFtYJ'](_0x569fdd,0x4));return _0x6b36[_0x308a43(0x11d)](toHex,{'r':Math[_0x308a43(0x122)](0x0,_0x6b36[_0x308a43(0x13b)](_0x6b36[_0x308a43(0x13b)](_0x5ae545['r'],BACKGROUND_SURFACE_DELTA),_0x511e69)),'g':Math['max'](0x0,_0x5ae545['g']-BACKGROUND_SURFACE_DELTA),'b':Math['max'](0x0,_0x6b36[_0x308a43(0xe2)](_0x5ae545['b']-BACKGROUND_SURFACE_DELTA,_0x569fdd))});}function writeWranglerToml(){const _0x1d8d88=a0_0x2d967d,_0x4bfe1b={'RxlwV':_0x1d8d88(0xdd)},_0x2b33ef=process.env.ZORGO_PROJECT_NAME??_0x4bfe1b[_0x1d8d88(0x142)],_0x2ac7dd=process.env.NEXT_PUBLIC_SITE_URL??'',_0x4d48c8=process.env.NEXT_PUBLIC_API_BASE_URL??'',_0x4e6d63=process.env.NEXT_PUBLIC_BASE_URL??_0x2ac7dd,_0x47da09=process.env.NEXT_PUBLIC_SUPABASE_URL??'';let _0x3c244c;try{_0x3c244c=new URL(_0x2ac7dd)[_0x1d8d88(0x11c)];}catch{_0x3c244c=void 0x0;}const _0x164c56=_0x3c244c?_0x1d8d88(0x140)+_0x3c244c+'\x22\x0acustom_domain\x20=\x20true\x0a\x0a[[routes]]\x0apattern\x20=\x20\x22www.'+_0x3c244c+'\x22\x0acustom_domain\x20=\x20true\x0a':'',_0x137340='#\x20AUTO-GENERATED\x20by\x20scripts/prebuild.ts\x20from\x20.env\x20—\x20do\x20not\x20edit.\x0aname\x20=\x20\x22'+_0x2b33ef+_0x1d8d88(0xff)+_0x47da09+_0x1d8d88(0xc9)+_0x4d48c8+'\x22\x0aNEXT_PUBLIC_SITE_URL\x20=\x20\x22'+_0x2ac7dd+_0x1d8d88(0xcd)+_0x4e6d63+'\x22\x0a\x0a[observability]\x0aenabled\x20=\x20true\x0a\x0a[observability.logs]\x0aenabled\x20=\x20true\x0ainvocation_logs\x20=\x20true\x0a'+_0x164c56;(0x0,import_fs[_0x1d8d88(0x123)])(import_path[_0x1d8d88(0xda)][_0x1d8d88(0xd7)](process['cwd'](),_0x1d8d88(0x115)),_0x137340);}async function logo({franchiseId:_0x13e092,token:_0x2b6add}){const _0x289b6=a0_0x2d967d,_0x80951a={'gYDaA':function(_0x395f85,_0x51a32e,_0x3d9228){return _0x395f85(_0x51a32e,_0x3d9228);},'JEUOH':function(_0x30d170){return _0x30d170();},'pvGja':'logo.png'},_0x243fa5=await _0x80951a[_0x289b6(0xa2)](fetch,_0x80951a[_0x289b6(0x138)](apiBaseUrl)+_0x289b6(0x124)+_0x13e092,{'headers':{'Authorization':'Bearer\x20'+_0x2b6add}});if(!_0x243fa5['ok'])return;const _0x44d040=await _0x243fa5[_0x289b6(0x112)](),_0x492038=Buffer[_0x289b6(0xd2)](_0x44d040),_0x5c6bf1=import_path[_0x289b6(0xda)][_0x289b6(0xd7)](process[_0x289b6(0x13e)](),_0x289b6(0xc3));(0x0,import_fs['mkdirSync'])(_0x5c6bf1,{'recursive':!![]}),(0x0,import_fs[_0x289b6(0x123)])(import_path[_0x289b6(0xda)]['join'](_0x5c6bf1,_0x80951a[_0x289b6(0xca)]),_0x492038),(0x0,import_fs['writeFileSync'])(import_path[_0x289b6(0xda)][_0x289b6(0xd7)](_0x5c6bf1,_0x289b6(0x12d)),_0x492038);}function writeMenuModule(_0x2887ca){const _0x2ddef6=a0_0x2d967d,_0x4adb4c=import_path['default']['join'](process[_0x2ddef6(0x13e)](),'lib/generated/');(0x0,import_fs[_0x2ddef6(0x149)])(_0x4adb4c,{'recursive':!![]}),(0x0,import_fs['writeFileSync'])(import_path[_0x2ddef6(0xda)][_0x2ddef6(0xd7)](_0x4adb4c,_0x2ddef6(0x145)),'//\x20AUTO-GENERATED\x20by\x20scripts/prebuild.ts\x20—\x20do\x20not\x20edit.\x0aimport\x20type\x20{\x20Menu\x20}\x20from\x20\x22@zorgo/next\x22;\x0a\x0aexport\x20const\x20menu:\x20Menu\x20=\x20'+JSON[_0x2ddef6(0xd5)](_0x2887ca,null,0x2)+';\x0a');}async function menu({franchiseId:_0xd76dd0,token:_0x3288dd}){const _0x3f6e25=a0_0x2d967d,_0x9c12b2={'RYwdH':function(_0x4ea43e,_0x130310,_0x26ee40){return _0x4ea43e(_0x130310,_0x26ee40);},'VmOzh':function(_0x367c8c){return _0x367c8c();},'xRSJH':_0x3f6e25(0x10f)},_0x53ed73=await _0x9c12b2['RYwdH'](fetch,_0x9c12b2[_0x3f6e25(0xb4)](apiBaseUrl)+_0x3f6e25(0xc6)+_0xd76dd0,{'headers':{'Authorization':'Bearer\x20'+_0x3288dd}});if(!_0x53ed73['ok'])throw new Error(_0x3f6e25(0x13a)+_0x53ed73[_0x3f6e25(0xf1)]+':\x20'+await _0x53ed73['text']());const _0x59c074=await _0x53ed73[_0x3f6e25(0x103)](),_0xa350a0=MenuSchema[_0x3f6e25(0xa9)](_0x59c074?.['data']??{});return _0xa350a0[_0x3f6e25(0xce)]['length']===0x0&&console['warn'](_0x9c12b2['xRSJH']),writeMenuModule(_0xa350a0),_0xa350a0;}async function jsonLd({franchiseId:_0x4837e0,token:_0x567db1},_0x3c7ae5){const _0x27926e=a0_0x2d967d,_0x380e1c={'RVCYP':function(_0x55a8f4,_0x65a373,_0x3d970c,_0x32be1f){return _0x55a8f4(_0x65a373,_0x3d970c,_0x32be1f);},'FsGYR':_0x27926e(0x113)},_0x479603=await _0x380e1c[_0x27926e(0x11a)](fetchData,_0x27926e(0x125)+_0x4837e0,_0x567db1,FranchiseSchema),_0x473efa=_0x479603[_0x27926e(0x137)],_0x25d19b=buildRestaurantJsonLd(_0x3c7ae5,{'name':_0x479603[_0x27926e(0xbe)],'url':_0x473efa,'image':_0x473efa?_0x473efa+'/images/logo.png':void 0x0}),_0x24ecbf=import_path[_0x27926e(0xda)][_0x27926e(0xd7)](process[_0x27926e(0x13e)](),_0x27926e(0xd4));(0x0,import_fs[_0x27926e(0x149)])(_0x24ecbf,{'recursive':!![]}),(0x0,import_fs['writeFileSync'])(import_path[_0x27926e(0xda)][_0x27926e(0xd7)](_0x24ecbf,_0x380e1c[_0x27926e(0xf4)]),_0x27926e(0xc5)+JSON[_0x27926e(0xd5)](_0x25d19b,null,0x2)+';\x0a');}async function hours({franchiseId:_0x454228,token:_0x8f9488}){const _0x1731d9=a0_0x2d967d,_0x3771ce={'wVjKC':function(_0x804087,_0x23e157,_0x55914f,_0x35cce8){return _0x804087(_0x23e157,_0x55914f,_0x35cce8);}};await _0x3771ce[_0x1731d9(0x13d)](fetchData,_0x1731d9(0x134)+_0x454228,_0x8f9488,HoursSchema);}async function styles({franchiseId:_0x49940e,token:_0x31ece4}){const _0x382634=a0_0x2d967d,_0x42df4c={'bnouv':function(_0x5d145e,_0x123697,_0x408e93,_0x3b8ab7){return _0x5d145e(_0x123697,_0x408e93,_0x3b8ab7);},'gCuLS':_0x382634(0xa0),'MSihm':_0x382634(0xaf),'eVkDm':function(_0x26a899,_0x36d838){return _0x26a899(_0x36d838);}},_0x1e92aa=await _0x42df4c[_0x382634(0x14f)](fetchData,_0x382634(0x14b)+_0x49940e,_0x31ece4,BrandingSchema),_0x368531={..._0x1e92aa,'backgroundElevated':deriveElevatedBackground(_0x1e92aa[_0x382634(0xfe)]),'backgroundRecessed':deriveRecessedBackground(_0x1e92aa[_0x382634(0xfe)]),'foreground':deriveFontColor(_0x1e92aa[_0x382634(0xfe)]),'primaryForeground':deriveFontColor(_0x1e92aa[_0x382634(0xcf)]),'accentForeground':deriveFontColor(_0x1e92aa['accent'])},_0x389057=import_path[_0x382634(0xda)][_0x382634(0xd7)](process[_0x382634(0x13e)](),'public/styles/');(0x0,import_fs[_0x382634(0x149)])(_0x389057,{'recursive':!![]}),(0x0,import_fs['writeFileSync'])(import_path[_0x382634(0xda)][_0x382634(0xd7)](_0x389057,_0x382634(0xd6)),JSON[_0x382634(0xd5)](_0x368531,null,0x2)),(0x0,import_fs['writeFileSync'])(import_path['default'][_0x382634(0xd7)](process[_0x382634(0x13e)](),_0x42df4c['gCuLS'],_0x42df4c[_0x382634(0x139)]),_0x42df4c['eVkDm'](buildGlobalsCss,_0x1e92aa));}function buildGlobalsCss(_0x2ed5d8){const _0x59147c=a0_0x2d967d,_0x199c51={'SUpMm':function(_0x37545b,_0xf6579d){return _0x37545b(_0xf6579d);},'rPLjY':function(_0x241394,_0x3aff8e){return _0x241394(_0x3aff8e);}},_0x428243=_0x2ed5d8[_0x59147c(0x141)]['replace'](/ /g,'+'),_0x233585=deriveFontColor(_0x2ed5d8[_0x59147c(0xfe)]),_0x39ee74=deriveFontColor(_0x2ed5d8[_0x59147c(0xcf)]),_0x5b8168=deriveFontColor(_0x2ed5d8[_0x59147c(0x104)]),_0x271f8c=_0x199c51[_0x59147c(0xf2)](deriveElevatedBackground,_0x2ed5d8[_0x59147c(0xfe)]),_0x5bb165=_0x199c51['rPLjY'](deriveRecessedBackground,_0x2ed5d8[_0x59147c(0xfe)]);return _0x59147c(0xdc)+_0x428243+_0x59147c(0x127)+_0x2ed5d8[_0x59147c(0xfe)]+_0x59147c(0x106)+_0x271f8c+_0x59147c(0xb2)+_0x5bb165+_0x59147c(0xc8)+_0x233585+';\x0a\x20\x20--primary:\x20'+_0x2ed5d8[_0x59147c(0xcf)]+';\x0a\x20\x20--primary-foreground:\x20'+_0x39ee74+_0x59147c(0xa7)+_0x2ed5d8[_0x59147c(0x104)]+_0x59147c(0xbf)+_0x5b8168+_0x59147c(0x152)+_0x2ed5d8['fontFamily']+_0x59147c(0xe5);}async function runPrebuild(){const _0xa6fde2=a0_0x2d967d,_0x6feb70={'RXoRw':function(_0xd2957){return _0xd2957();},'LsgID':function(_0x2af8e0,_0x217d58){return _0x2af8e0(_0x217d58);}};console[_0xa6fde2(0x102)](_0xa6fde2(0xaa)),(0x0,import_env[_0xa6fde2(0xfa)])(process[_0xa6fde2(0x13e)]()),_0x6feb70[_0xa6fde2(0x13f)](writeWranglerToml);const _0x384da9=await _0x6feb70[_0xa6fde2(0x13f)](fetchSiteToken),_0x5e5ccb=_0x384da9[_0xa6fde2(0xd0)]('.')[0x1];if(!_0x5e5ccb)throw new Error('site\x20token\x20is\x20not\x20a\x20well-formed\x20JWT\x20(no\x20payload\x20segment)');const _0x19e860=JSON[_0xa6fde2(0xa9)](Buffer['from'](_0x5e5ccb,_0xa6fde2(0xeb))[_0xa6fde2(0xdf)]()),_0x2cb9ca=_0x19e860[_0xa6fde2(0x111)][0x0],[_0x226e26]=await Promise['all']([menu({'franchiseId':_0x2cb9ca,'token':_0x384da9}),logo({'franchiseId':_0x2cb9ca,'token':_0x384da9})[_0xa6fde2(0xe1)](_0x46a681=>console['error'](_0xa6fde2(0x154),_0x46a681)),_0x6feb70[_0xa6fde2(0xa6)](hours,{'franchiseId':_0x2cb9ca,'token':_0x384da9})[_0xa6fde2(0xe1)](_0x269324=>console[_0xa6fde2(0xee)](_0xa6fde2(0x155),_0x269324)),_0x6feb70[_0xa6fde2(0xa6)](styles,{'franchiseId':_0x2cb9ca,'token':_0x384da9})[_0xa6fde2(0xe1)](_0xa9f691=>console[_0xa6fde2(0xee)](_0xa6fde2(0xcb),_0xa9f691))]);await jsonLd({'franchiseId':_0x2cb9ca,'token':_0x384da9},_0x226e26)[_0xa6fde2(0xe1)](_0x249b77=>console[_0xa6fde2(0xee)](_0xa6fde2(0xde),_0x249b77)),console[_0xa6fde2(0x102)](_0xa6fde2(0x10c));}0x0&&(module[a0_0x2d967d(0x136)]={'SiteTokenError':SiteTokenError,'fetchSiteToken':fetchSiteToken,'runPrebuild':runPrebuild});
|
package/dist/server.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function a0_0x46b6(){const _0x3315d7=['i0y1rJvgnq','DgftEKi','C3rHDhvZ','iGPJDxn0B21Fzg9TywLUid0GDhj1zqOkw1TYB3v0zxnDxqPWyxr0zxjUid0GiND3DY4','zNjVBq','CKn2zvK','C2L0zsb0B2TLBIbPCYbUB3qGysb3zwXSlwzVCM1Lzcbkv1qGkg5VihbHEwXVywqGC2vNBwvUDcK','CvPiDxe','ChvIBgLJl2LTywDLCY8','CgfYC2u','ifjLC3bVBNnLoIa','ChjPBwfYEq','q291BgqGBM90ihjLywnOihrOzsbZAxrLlxrVA2vUigvUzhbVAw50igf0ia','ywnJzw50','ChjLyNvPBgq6igzYyw5JAgLZzsbOyxmGBM8GBwvUDsbPDgvTCYb5zxqG4OcuigDLBMvYyxrPBMCGyw4Gzw1WDhKGBwvUDs4GqwrKigL0zw1ZigLUihrOzsbKyxnOyM9HCMqGyw5KihjLyNvPBgqGDg8GCg9WDwXHDguGDgHLihn0B3jLzNjVBNqU','nty4ntHsCe1TC2G','Bg9NBY5WBMC','Dg9tDhjPBMC','D3jHBMDSzxiUDg9TBa','rKPmAfi','oWOGic0TzM9UDc1Zyw5ZoIaI','DMfYAwfUDhm','Ahr0Chm6lY9Zy2HLBweUB3jN','iGPTywLUid0GiI5VCgvUlw5LEhqVD29YA2vYlMPZiGPJB21WyxrPyMLSAxr5x2rHDguGpsaImJaYnc0Wos0YmYiky29TCgf0AwjPBgL0Ev9MBgfNCYa9ifSIBM9KzwPZx2nVBxbHDcjDcGOJiej1BMrSzxmGDgHLienSB3vKzMXHCMuGD29YA2vYigfZihbHCNqGB2yGyhDYyw5NBgvYigrLCgXVEwaGkgfUzcbGD3jHBMDSzxiGzgv2ycKScImGC28GDgHLigrLCgXVEsbJB21Tyw5Kihn0yxLZigeGCgXHAw4GyhDYyw5NBgvYigrLCgXVEwaUihbYzwj1AwXKicH3AgLJAcb3CML0zxmkiYb0AgLZigzPBguGkYbSAwiVz2vUzxjHDgvKksbTDxn0ihn0AwXSihj1BIbMAxjZDcdIGjqGB24Gq2XVDwrMBgfYzsbxB3jRzxjZiej1AwXKCWOJihrOyxqGAxmGDgHLihbYB2PLy3qNCYbcDwLSzcbJB21Tyw5KoYbSB2nHBgX5igL0igLZihrOzsbUCg0GC2nYAxb0CYbIzwXVDY4kw2j1AwXKxqPJB21Tyw5Kid0GiM5WEcbVCgvUBMv4DgPZlwnSB3vKzMXHCMuGyNvPBgqIcGPByxnZzxrZxqPKAxjLy3rVCNKGpsaIlM9Wzw4TBMv4Dc9HC3nLDhmIcMjPBMrPBMCGpsaIqvntrvrtiGOkw3zHCNnDcK5fwfrFufvcteLdx1nvuefcqvnfx1vstca9ici','Dw5YzwfJAgfIBgu','Bg9NBYbMywLSzwq6','B2zMzxjZ','lIbdAgvJAYborvHux1bvqKXjq19bueLFqKftrv9vuKWGyw5KihrOyxqGDgHLiefqssbPCYbYDw5UAw5NlG','AgfZtwvUDq','oWOGic0TChjPBwfYEs1MB3jLz3jVDw5KoIa','ChjLzMf1Bhq','zxjYB3i','ANnVBMXKlNrZ','l2zYyw5JAgLZzs1PBMzVl2HVDxjZlW','AuDhwKO','ue9tva','z2fUvu0','zNjHBMnOAxnLx2LKCW','qMvHrxi','zMLSDgvY','Axnoyu4','C3r5BgvZigzHAwXLzdO','oWOGic0TzM9YzwDYB3vUzdOG','y1vJD2q','yNrMAMS','DxjS','BwvUDsbMzxrJAcbMywLSzwqG','l2zYyw5JAgLZzs1PBMzVl3n0EwXLCY8','Dgv4Da','zgf0yq','C3r5BgvZlMPZB24','mJG2nJHYrwLXshO','iIWGC2fUCY1ZzxjPzJSkFqOkqhrOzw1LigLUBgLUzsb7cIaGls1JB2XVCI1IywnRz3jVDw5KoIb2yxiOls1IywnRz3jVDw5KktSkicaTlwnVBg9YlwjHy2TNCM91BMqTzwXLDMf0zwq6ihzHCIGTlwjHy2TNCM91BMqTzwXLDMf0zwqPoWOGic0Ty29SB3iTyMfJA2DYB3vUzc1YzwnLC3nLzdOGDMfYkc0TyMfJA2DYB3vUzc1YzwnLC3nLzcK7cIaGls1JB2XVCI1MB3jLz3jVDw5KoIb2yxiOls1MB3jLz3jVDw5KktSkicaTlwnVBg9YlxbYAw1HCNK6ihzHCIGTlxbYAw1HCNKPoWOGic0Ty29SB3iTChjPBwfYEs1MB3jLz3jVDw5KoIb2yxiOls1WCMLTyxj5lwzVCMvNCM91BMqPoWOGic0Ty29SB3iTywnJzw50oIb2yxiOls1Hy2nLBNqPoWOGic0Ty29SB3iTywnJzw50lwzVCMvNCM91BMq6ihzHCIGTlwfJy2vUDc1MB3jLz3jVDw5KktSkicaTlwzVBNqTC2fUCZOGDMfYkc0TzM9UDc1Zyw5ZktSkFqOkqgXHEwvYigjHC2uGEWOGigj1DhrVBIWkicbBDhLWzt0IyNv0Dg9UiL0ScIaGw3r5Cgu9iNn1yM1PDcjDlaOGifT0ExbLpsjYzxnLDcjDihSkicaGign1CNnVCJOGCg9PBNrLCJSkicb9cGOGigj1DhrVBJPKAxnHyMXLzcWkicbBDhLWzt0IyNv0Dg9UiL06zgLZywjSzwqScIaGw3r5Cgu9iNn1yM1PDcjDoMrPC2fIBgvKlaOGifT0ExbLpsjYzxnLDcjDoMrPC2fIBgvKihSkicaGign1CNnVCJOGBM90lwfSBg93zwq7cIaGFqP9cG','B2jQzwn0','sw50zxi','iZmYnJrgrG','yMLPB2W','CMvHC29U','zMHRC0W','D3rque0','BwfW','mtiWotaZEvrJqMzm','uhrXsxq','CgfYC2vjBNq','DgjpDLO','Aw1Hz2u','tgDPyMC','zgvMyxvSDa','BgX3uKG','BwLZC2LUzY1ZzwnYzxq','DxHwwMe','BgLIl2DLBMvYyxrLzc8','BwLU','uwPws0W','CM91BMq','EMXlq3C','BMX1ELe','CNvUBMLUzYbWCMvIDwLSzcbZy3jPChqUlI4','lIbuAgLZihvZDwfSBhKGBwvHBNmGwK9sr09Fu0Lurv9trunsrvqGAxmGD3jVBMCGzM9YihrOAxmGzw52AxjVBM1LBNqU','z2X4CMK','BwvUDs50CW','igzHAwXLzcWGDxnPBMCGzgvMyxvSDhm6','vgHLihnPDguTDg9Rzw4Gzw5KCg9PBNqGCMvQzwn0zwqGDgHLihjLCxvLC3qGka','iGPorvHux1bvqKXjq19bueLFqKftrv9vuKWGpsaI','BgvUz3rO','zgvZy3jPChrPB24','sgfft2u','vgHLihnPDguTDg9Rzw4Gzw5KCg9PBNqGCMv0DxjUzwqGmJaWigj1DcbUBYb0B2TLBIbHDca','z2XVyMfSCY5JC3m','BNvSBgLZAa','twvUDq','iZbHmgeWyq','y2f0y2G','mJa4odu0mZbrExjdywW','q2nwt20','CgfKu3rHCNq','oWOGic0TywnJzw50oIa','cLTBCM91DgvZxv0kCgf0DgvYBIa9ici','iGPorvHux1bvqKXjq19tsvrfx1vstca9ici','Euz6zxq','y2f0zwDVCNLFAwq','Bg9NBY5QCgC','ANLHuvy','BMftwvG','wK9sr09Fu0Lurv9trunsrvqGAxmGBM90ihnLDc4GqwrKigL0ihrVihrOAxmGC2L0zsDZic5LBNyU','qxjqD1y','wLfIzvK','z0T0zMi','C3bSAxq','lY8GqvvutY1hru5fuKfuruqGyNKGC2nYAxb0CY9WCMvIDwLSzc50CYdIGjqGzg8GBM90igvKAxqUcMLTCg9YDcb0ExbLihSGtwvUDsb9igzYB20GiKb6B3jNBY9UzxH0iJSkcMv4Cg9YDcbJB25ZDcbTzw51oIbnzw51id0G','C0TnshC','uKLoAMq','qMvHCMvYia','wxLmtKe','DhjHBNnMB3jT','twvUDvnLy3rPB24','C3rHDhvZvgv4Da','CMvQzwn0zwq','ANnVBG','rvvoquK','BMfTzq','yxjYyxLcDwzMzxi','mZvwBeDMCwC','cKbPBxbVCNqGDxjSkcjODhrWCZOVl2zVBNrZlMDVB2DSzwfWAxmUy29Tl2nZCZi/zMfTAwX5pq','C3rYAw5N','D1Dqtxi','ChjLyNvPBgqGC2nYAxb0ignVBxbSzxrLza','zM9UDezHBwLSEq','l2zYyw5JAgLZzs1PBMzVl2zYyw5JAgLZzs8','twvUDuL0zw0','AgfZtwvUDuL0zw0','mtiWnteWndvnD0ryDg8','C2XPy2u','iGPorvHux1bvqKXjq19cqvnfx1vstca9ici','v1vID08','C3rYAw5NAwz5','iGPJDxn0B21Fzg9TywLUid0GDhj1zqO','qMX1yuq','B3vhy0u','AM9PBG','oWOGic0TyMfJA2DYB3vUzc1YzwnLC3nLzdOG','Bwf4','CMvWBgfJzq','l2zYyw5JAgLZzs1PBMzVl2XVz28V','yMfJA2DYB3vUzejHC2u','odqYnti2CurwAuvo','oWOGic0TyMfJA2DYB3vUzc1LBgv2yxrLzdOG','ndy1BuXlzezS','s0zst0y','zgLZCgXHEv9WCMLJzq','C2vYDMvZq3vPC2LUzq','A3bovhy','oWOGic0TChjPBwfYEtOG','i2y1zJvMnq','yxjYyxK','Dw5RBM93BG','EM9Yz28TC2L0zq','Dg9gAxHLza','wuPguue','vuzcC2q','l2LTywDLCY9SB2DVlNbUzW','AxrLBxm','D2fYBG','tefXugW','nJjZCuL0sM4','ksbHDca','ANnVBKXKigzHAwXLzdO','Ahr0CdOVl2XVy2fSAg9ZDdOZmdaW','lY8GqvvutY1hru5fuKfuruqGyNKGC2nYAxb0CY9WCMvIDwLSzc50CYdIGjqGzg8GBM90igvKAxqUcMv4Cg9YDcbJB25ZDcbYzxn0yxvYyw50sNnVBKXKid0G','B2vetve','Bg9N','y3DK','iYbbvvrpluDftKvsqvrfrcbIEsbZy3jPChrZl3bYzwj1AwXKlNrZigzYB20GlMvUDIdIGjqGzg8GBM90igvKAxqUcM5HBwuGpsaI','C2L0zv91CMW','Ag9ZDg5HBwu','iGOkw29IC2vYDMfIAwXPDhLDcMvUywjSzwqGpsb0CNvLcGPBB2jZzxj2ywjPBgL0Es5SB2DZxqPLBMfIBgvKid0GDhj1zqPPBNzVy2f0Aw9Ux2XVz3mGpsb0CNvLcG','mte4ndm0nefxy3nvuW','DhjPBq','y2f0zwDVCMLLCW','rfL2B3K','uwDmtei'];a0_0x46b6=function(){return _0x3315d7;};return a0_0x46b6();}const a0_0x4b003f=a0_0x4978;(function(_0x326c46,_0x5cccdf){const _0x498fc4=a0_0x4978,_0x16a360=_0x326c46();while(!![]){try{const _0x24e908=-parseInt(_0x498fc4(0xc1))/0x1+-parseInt(_0x498fc4(0xa1))/0x2*(-parseInt(_0x498fc4(0xef))/0x3)+-parseInt(_0x498fc4(0xe5))/0x4*(parseInt(_0x498fc4(0x145))/0x5)+-parseInt(_0x498fc4(0x143))/0x6*(parseInt(_0x498fc4(0x12c))/0x7)+parseInt(_0x498fc4(0xad))/0x8+-parseInt(_0x498fc4(0x135))/0x9+parseInt(_0x498fc4(0x10f))/0xa;if(_0x24e908===_0x5cccdf)break;else _0x16a360['push'](_0x16a360['shift']());}catch(_0x160db1){_0x16a360['push'](_0x16a360['shift']());}}}(a0_0x46b6,0xb020a));import{writeFileSync,mkdirSync}from'fs';import a0_0x32a138 from'path';import{loadEnvConfig}from'@next/env';import{z}from'zod';function priceString(_0x5e4063){const _0x4bd036=a0_0x4978;return(_0x5e4063/0x64)[_0x4bd036(0x9a)](0x2);}function variantOffer(_0x3c0e94){const _0x6c0644=a0_0x4978,_0x2bb61e={'LAqPl':'USD'};return{'@type':'Offer','price':priceString(_0x3c0e94[_0x6c0644(0x92)]??_0x3c0e94['price']),'priceCurrency':_0x2bb61e[_0x6c0644(0xa0)]};}function a0_0x4978(_0x527a43,_0x3a49c2){_0x527a43=_0x527a43-0x91;const _0x46b66d=a0_0x46b6();let _0x49785e=_0x46b66d[_0x527a43];if(a0_0x4978['LGHJga']===undefined){var _0x45b79b=function(_0x1eba69){const _0x1b2c9d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2466f7='',_0x37fd88='';for(let _0x253745=0x0,_0x6914dd,_0x3fb757,_0x49313c=0x0;_0x3fb757=_0x1eba69['charAt'](_0x49313c++);~_0x3fb757&&(_0x6914dd=_0x253745%0x4?_0x6914dd*0x40+_0x3fb757:_0x3fb757,_0x253745++%0x4)?_0x2466f7+=String['fromCharCode'](0xff&_0x6914dd>>(-0x2*_0x253745&0x6)):0x0){_0x3fb757=_0x1b2c9d['indexOf'](_0x3fb757);}for(let _0x2ff637=0x0,_0x50b24d=_0x2466f7['length'];_0x2ff637<_0x50b24d;_0x2ff637++){_0x37fd88+='%'+('00'+_0x2466f7['charCodeAt'](_0x2ff637)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x37fd88);};a0_0x4978['VXeBtR']=_0x45b79b,a0_0x4978['suUJoa']={},a0_0x4978['LGHJga']=!![];}const _0x4de6e5=_0x46b66d[0x0],_0x281b46=_0x527a43+_0x4de6e5,_0x442442=a0_0x4978['suUJoa'][_0x281b46];return!_0x442442?(_0x49785e=a0_0x4978['VXeBtR'](_0x49785e),a0_0x4978['suUJoa'][_0x281b46]=_0x49785e):_0x49785e=_0x442442,_0x49785e;}function menuItemNode(_0xb4fbfa){const _0x4ba97d=a0_0x4978,_0x1121cd={'YyLNA':function(_0x412aa8,_0x3fbe7c){return _0x412aa8===_0x3fbe7c;},'WUbwO':function(_0x2dd901,_0x3d5636){return _0x2dd901>_0x3d5636;}},_0x3a538d={'@type':_0x4ba97d(0x133),'name':_0xb4fbfa[_0x4ba97d(0x12a)]};if(_0xb4fbfa['description'])_0x3a538d[_0x4ba97d(0x107)]=_0xb4fbfa[_0x4ba97d(0x107)];const _0x370f6f=_0xb4fbfa[_0x4ba97d(0xc7)][_0x4ba97d(0xee)](variantOffer);if(_0x1121cd[_0x4ba97d(0x123)](_0x370f6f[_0x4ba97d(0x106)],0x1))_0x3a538d[_0x4ba97d(0xcc)]=_0x370f6f[0x0];else{if(_0x1121cd[_0x4ba97d(0x138)](_0x370f6f['length'],0x1))_0x3a538d[_0x4ba97d(0xcc)]=_0x370f6f;}return _0x3a538d;}function buildRestaurantJsonLd(_0x58db7f,_0x53d1f2){const _0x1b51f5=a0_0x4978,_0x359d9e={'gGUzv':_0x1b51f5(0x125),'kpNTv':'Restaurant'},_0x5543f6=_0x58db7f[_0x1b51f5(0xaf)][_0x1b51f5(0xee)](_0x27397b=>{const _0x468105=_0x1b51f5,_0x1bb9ac={'@type':_0x359d9e['gGUzv'],'name':_0x27397b['name']},_0x4e5b25=_0x58db7f['items'][_0x468105(0xd9)](_0x522a88=>_0x522a88[_0x468105(0x116)]===_0x27397b['category_id'])[_0x468105(0xee)](menuItemNode);if(_0x4e5b25[_0x468105(0x106)])_0x1bb9ac[_0x468105(0x134)]=_0x4e5b25;return _0x1bb9ac;}),_0x33b84a={'@context':_0x1b51f5(0xc8),'@type':_0x359d9e[_0x1b51f5(0x94)],'name':_0x53d1f2[_0x1b51f5(0x12a)]};if(_0x53d1f2[_0x1b51f5(0xdf)])_0x33b84a[_0x1b51f5(0xdf)]=_0x53d1f2[_0x1b51f5(0xdf)];if(_0x53d1f2[_0x1b51f5(0xf3)])_0x33b84a[_0x1b51f5(0xf3)]=_0x53d1f2[_0x1b51f5(0xf3)];if(_0x53d1f2[_0x1b51f5(0x107)])_0x33b84a[_0x1b51f5(0x107)]=_0x53d1f2[_0x1b51f5(0x107)];if(_0x53d1f2[_0x1b51f5(0x93)]?.[_0x1b51f5(0x106)])_0x33b84a[_0x1b51f5(0x93)]=_0x53d1f2[_0x1b51f5(0x93)];return _0x33b84a[_0x1b51f5(0xce)]={'@type':_0x1b51f5(0x10c),'name':_0x1b51f5(0x10c),'hasMenuSection':_0x5543f6},_0x33b84a;}function apiBaseUrl(){const _0x46d042=a0_0x4978,_0x59e2de={'FJLhR':_0x46d042(0xa4)};return process.env.NEXT_PUBLIC_API_BASE_URL??_0x59e2de[_0x46d042(0xc5)];}var SiteTokenError=class extends Error{[a0_0x4b003f(0xeb)];constructor(_0x289d9b,_0xeab79a,_0x33cc8e){const _0x30b632=a0_0x4b003f;super(_0xeab79a,_0x33cc8e),this[_0x30b632(0x12a)]='SiteTokenError',this[_0x30b632(0xeb)]=_0x289d9b;}};async function fetchSiteToken(){const _0x5c45ba=a0_0x4b003f,_0x9512d0={'ZQbeY':_0x5c45ba(0x127),'jBQkv':_0x5c45ba(0x11a),'ArPwV':function(_0x361873){return _0x361873();},'zlKCw':_0x5c45ba(0xb7)},_0x5543d6=process.env.ZORGO_SITE_SECRET;if(!_0x5543d6)throw new SiteTokenError(_0x5c45ba(0xf7),_0x9512d0['jBQkv']);const _0x7a7f43=_0x9512d0[_0x5c45ba(0x11b)](apiBaseUrl)+'/auth/site-token';let _0x21de46;try{_0x21de46=await fetch(_0x7a7f43,{'method':_0x5c45ba(0xd5),'headers':{'x-zorgo-site-secret':_0x5543d6}});}catch(_0x220dda){if(_0x9512d0[_0x5c45ba(0xfd)]!==_0x9512d0[_0x5c45ba(0xfd)])throw new _0x3e74b0(_0x9512d0[_0x5c45ba(0x11c)],_0x5c45ba(0x109)+_0x3a174+'.');else throw new SiteTokenError(_0x5c45ba(0xca),_0x5c45ba(0xbe)+_0x7a7f43+_0x5c45ba(0xcd),{'cause':_0x220dda});}if(!_0x21de46['ok']){const _0x4f6ed9=(await _0x21de46['text']()[_0x5c45ba(0x10e)](()=>''))[_0x5c45ba(0x136)](0x0,0xc8);throw new SiteTokenError(_0x9512d0['ZQbeY'],_0x5c45ba(0x104)+_0x21de46[_0x5c45ba(0xb4)]+'\x20'+_0x21de46[_0x5c45ba(0x126)]+_0x5c45ba(0xa2)+_0x7a7f43+_0x5c45ba(0x100)+(_0x4f6ed9?_0x5c45ba(0xbc)+_0x4f6ed9:''));}const {token:_0x527465}=await _0x21de46[_0x5c45ba(0x128)]();if(!_0x527465)throw new SiteTokenError(_0x9512d0[_0x5c45ba(0x11c)],'The\x20site-token\x20endpoint\x20returned\x20200\x20but\x20no\x20token\x20at\x20'+_0x7a7f43+'.');return _0x527465;}var BrandingSchema=z[a0_0x4b003f(0xe7)]({'backgroundBase':z[a0_0x4b003f(0x12e)]()[a0_0x4b003f(0xf5)](a0_0x4b003f(0xb2)),'primary':z['string']()[a0_0x4b003f(0xf5)](a0_0x4b003f(0xe9)),'accent':z[a0_0x4b003f(0x12e)]()[a0_0x4b003f(0xf5)]('#9696FF'),'fontFamily':z[a0_0x4b003f(0x12e)]()[a0_0x4b003f(0xf5)](a0_0x4b003f(0xe8))})[a0_0x4b003f(0xd0)]({}),FranchiseSchema=z[a0_0x4b003f(0xe7)]({'name':z['string']()[a0_0x4b003f(0x10b)]()[a0_0x4b003f(0x124)](_0xbc2ac9=>_0xbc2ac9??process.env.ZORGO_PROJECT_NAME??'Restaurant'),'site_url':z[a0_0x4b003f(0x12e)]()[a0_0x4b003f(0x10b)]()[a0_0x4b003f(0x124)](_0x1fcb59=>_0x1fcb59??void 0x0)})[a0_0x4b003f(0xd0)]({}),HoursSchema=z[a0_0x4b003f(0x97)](z['unknown']())[a0_0x4b003f(0xd0)]([]),MenuSchema=z[a0_0x4b003f(0xe7)]({'items':z[a0_0x4b003f(0x97)](z['unknown']())['default']([]),'categories':z[a0_0x4b003f(0x97)](z[a0_0x4b003f(0x98)]())[a0_0x4b003f(0xf5)]([]),'components':z[a0_0x4b003f(0x97)](z[a0_0x4b003f(0x98)]())[a0_0x4b003f(0xf5)]([]),'rules':z[a0_0x4b003f(0x97)](z['unknown']())['default']([])});async function fetchData(_0x4ba775,_0x1f1a06,_0xe92c88){const _0x534457=a0_0x4b003f,_0xe8d6be={'uxVZa':function(_0x3a128a,_0x42e5f3,_0x252734){return _0x3a128a(_0x42e5f3,_0x252734);},'naSYX':function(_0x3f93b5){return _0x3f93b5();}};try{const _0x534f0b=await _0xe8d6be[_0x534457(0xf8)](fetch,''+_0xe8d6be[_0x534457(0x119)](apiBaseUrl)+_0x4ba775,{'headers':{'Authorization':'Bearer\x20'+_0x1f1a06}});if(!_0x534f0b['ok'])throw new Error(_0x534f0b[_0x534457(0xb4)]+':\x20'+await _0x534f0b[_0x534457(0xe2)]());const _0x203b97=await _0x534f0b[_0x534457(0x128)]();return _0xe92c88[_0x534457(0xbb)](_0x203b97?.[_0x534457(0xe3)]??_0x203b97);}catch(_0x4d8771){return console[_0x534457(0xd1)]('prebuild:\x20'+_0x4ba775+_0x534457(0x103),_0x4d8771),_0xe92c88['parse'](void 0x0);}}var FONT_ON_LIGHT=a0_0x4b003f(0x10d),FONT_ON_DARK=a0_0x4b003f(0x96),BACKGROUND_SURFACE_DELTA=0xf,BACKGROUND_TEMPERATURE_BIAS=0x8;function parseHexRgb(_0x370f98){const _0x27dd2b=a0_0x4b003f,_0x185e7b={'btfjk':function(_0x21a292,_0x5ce704){return _0x21a292!==_0x5ce704;}},_0x32116e=_0x370f98[_0x27dd2b(0xae)]()['replace'](/^#/,''),_0x5cad47=_0x32116e['length']===0x3?_0x32116e[_0x27dd2b(0x11e)]('')['map'](_0x1305c5=>_0x1305c5+_0x1305c5)[_0x27dd2b(0x13d)](''):_0x32116e;if(_0x185e7b[_0x27dd2b(0xde)](_0x5cad47['length'],0x6)||Number[_0x27dd2b(0xda)](Number[_0x27dd2b(0xf1)](_0x5cad47,0x10)))return null;return{'r':Number[_0x27dd2b(0xf1)](_0x5cad47[_0x27dd2b(0x136)](0x0,0x2),0x10),'g':Number['parseInt'](_0x5cad47['slice'](0x2,0x4),0x10),'b':Number[_0x27dd2b(0xf1)](_0x5cad47[_0x27dd2b(0x136)](0x4,0x6),0x10)};}function toHex({r:_0x2398ea,g:_0x3d6997,b:_0x1a7693}){const _0x2c31ff=a0_0x4b003f;return'#'+[_0x2398ea,_0x3d6997,_0x1a7693]['map'](_0x5d42ba=>_0x5d42ba[_0x2c31ff(0xc3)](0x10)[_0x2c31ff(0x111)](0x2,'0'))[_0x2c31ff(0x13d)]('');}function relativeLuminance({r:_0x5d34e4,g:_0x26f439,b:_0x1a4423}){const _0x199474={'WmgWa':function(_0x78542b,_0x31f919){return _0x78542b/_0x31f919;},'vqvzu':function(_0x52c024,_0x46d273){return _0x52c024*_0x46d273;}};return _0x199474['WmgWa'](0.299*_0x5d34e4+0.587*_0x26f439+_0x199474['vqvzu'](0.114,_0x1a4423),0xff);}function temperatureBiasFor({r:_0x5f42b0,g:_0x361413,b:_0xdf2525}){const _0x3fc9aa=a0_0x4b003f,_0x2f9ae6={'zwvle':function(_0x502e46,_0x9fa9b){return _0x502e46(_0x9fa9b);}};return Math[_0x3fc9aa(0xfc)](BACKGROUND_TEMPERATURE_BIAS*_0x2f9ae6['zwvle'](relativeLuminance,{'r':_0x5f42b0,'g':_0x361413,'b':_0xdf2525}));}function deriveFontColor(_0x5981d8){const _0x1974cb=a0_0x4b003f,_0x21a73a={'sKMHw':function(_0x4673fc,_0x179fdf){return _0x4673fc(_0x179fdf);},'glxri':function(_0x39a4d4,_0x3e4be9){return _0x39a4d4>_0x3e4be9;}},_0xf85a6d=_0x21a73a[_0x1974cb(0x120)](parseHexRgb,_0x5981d8);if(!_0xf85a6d)return FONT_ON_LIGHT;return _0x21a73a[_0x1974cb(0x101)](relativeLuminance(_0xf85a6d),0.5)?FONT_ON_LIGHT:FONT_ON_DARK;}function deriveElevatedBackground(_0x5c1e02){const _0x419934=a0_0x4b003f,_0x42578e={'fhksL':function(_0x55737a,_0x37a9ac){return _0x55737a(_0x37a9ac);},'yFzet':function(_0x2c42f4,_0xccc8a5){return _0x2c42f4/_0xccc8a5;},'CcVOm':function(_0x1c1983,_0x1d8100){return _0x1c1983+_0x1d8100;},'ganUM':function(_0x52a45a,_0x189f81){return _0x52a45a+_0x189f81;},'BeaEr':function(_0x617b49,_0x45544d){return _0x617b49+_0x45544d;}},_0x4333db=_0x42578e[_0x419934(0xec)](parseHexRgb,_0x5c1e02);if(!_0x4333db)return _0x5c1e02;const _0x317b24=temperatureBiasFor(_0x4333db),_0x4a9202=Math[_0x419934(0xfc)](_0x42578e[_0x419934(0x115)](_0x317b24,0x4));return toHex({'r':Math[_0x419934(0xfa)](0xff,_0x42578e[_0x419934(0x110)](_0x42578e[_0x419934(0xd6)](_0x4333db['r'],BACKGROUND_SURFACE_DELTA),_0x4a9202)),'g':Math[_0x419934(0xfa)](0xff,_0x4333db['g']+BACKGROUND_SURFACE_DELTA),'b':Math[_0x419934(0xfa)](0xff,_0x42578e[_0x419934(0xd8)](_0x4333db['b'],BACKGROUND_SURFACE_DELTA)-_0x317b24)});}function deriveRecessedBackground(_0x1986be){const _0x4a4c92=a0_0x4b003f,_0x3183fe={'wWPMr':function(_0x592b9f,_0x453a46){return _0x592b9f(_0x453a46);},'biiol':function(_0x254afc,_0x2dcee8){return _0x254afc-_0x2dcee8;},'PtqIt':function(_0x3e461d,_0x25a165){return _0x3e461d+_0x25a165;}},_0x273ea5=parseHexRgb(_0x1986be);if(!_0x273ea5)return _0x1986be;const _0x539037=_0x3183fe[_0x4a4c92(0x12f)](temperatureBiasFor,_0x273ea5),_0xb43389=Math[_0x4a4c92(0xfc)](_0x539037/0x4);return toHex({'r':Math[_0x4a4c92(0x13f)](0x0,_0x3183fe[_0x4a4c92(0xea)](_0x3183fe[_0x4a4c92(0xea)](_0x273ea5['r'],BACKGROUND_SURFACE_DELTA),_0xb43389)),'g':Math['max'](0x0,_0x3183fe['biiol'](_0x273ea5['g'],BACKGROUND_SURFACE_DELTA)),'b':Math[_0x4a4c92(0x13f)](0x0,_0x3183fe[_0x4a4c92(0xf0)](_0x273ea5['b']-BACKGROUND_SURFACE_DELTA,_0x539037))});}function writeWranglerToml(){const _0x32df2a=a0_0x4b003f,_0x3ac26b={'oeDMQ':_0x32df2a(0x99),'RINjd':function(_0x50074a,_0x12f9dd){return _0x50074a!==_0x12f9dd;},'HaEOe':_0x32df2a(0x91),'Lgibg':_0x32df2a(0xc4)},_0x2ca617=process.env.ZORGO_PROJECT_NAME??_0x3ac26b[_0x32df2a(0xa6)],_0x17369b=process.env.NEXT_PUBLIC_SITE_URL??'',_0x57de23=process.env.NEXT_PUBLIC_API_BASE_URL??'',_0x1e4ebd=process.env.NEXT_PUBLIC_BASE_URL??_0x17369b,_0x41d473=process.env.NEXT_PUBLIC_SUPABASE_URL??'';let _0x1d7c81;try{_0x1d7c81=new URL(_0x17369b)[_0x32df2a(0xab)];}catch{if(_0x3ac26b[_0x32df2a(0x121)](_0x32df2a(0x91),_0x3ac26b[_0x32df2a(0x108)])){const _0x118338=_0x3ef706.env.ZORGO_PROJECT_NAME??_0x3ac26b['oeDMQ'],_0x14797d=_0x3e5de0.env.NEXT_PUBLIC_SITE_URL??'',_0x350d31=_0x1539ed.env.NEXT_PUBLIC_API_BASE_URL??'',_0x362c98=_0x34f6a7.env.NEXT_PUBLIC_BASE_URL??_0x14797d,_0x3efd2f=_0x3ab4b2.env.NEXT_PUBLIC_SUPABASE_URL??'';let _0x3993d5;try{_0x3993d5=new _0x52b103(_0x14797d)[_0x32df2a(0xab)];}catch{_0x3993d5=void 0x0;}const _0x55c60e=_0x3993d5?'\x0a[[routes]]\x0apattern\x20=\x20\x22'+_0x3993d5+_0x32df2a(0xb5)+_0x3993d5+_0x32df2a(0x13a):'',_0x4680c6='#\x20AUTO-GENERATED\x20by\x20scripts/prebuild.ts\x20from\x20.env\x20—\x20do\x20not\x20edit.\x0aname\x20=\x20\x22'+_0x118338+'\x22\x0amain\x20=\x20\x22.open-next/worker.js\x22\x0acompatibility_date\x20=\x20\x222024-09-23\x22\x0acompatibility_flags\x20=\x20[\x22nodejs_compat\x22]\x0a\x0a#\x20Bundles\x20the\x20Cloudflare\x20worker\x20as\x20part\x20of\x20`wrangler\x20deploy`\x20(and\x20`wrangler\x20dev`),\x0a#\x20so\x20the\x20deploy\x20command\x20stays\x20a\x20plain\x20`wrangler\x20deploy`.\x20prebuild\x20(which\x20writes\x0a#\x20this\x20file\x20+\x20lib/generated)\x20must\x20still\x20run\x20first\x20—\x20on\x20Cloudflare\x20Workers\x20Builds\x0a#\x20that\x20is\x20the\x20project\x27s\x20Build\x20command;\x20locally\x20it\x20is\x20the\x20npm\x20scripts\x20below.\x0a[build]\x0acommand\x20=\x20\x22npx\x20opennextjs-cloudflare\x20build\x22\x0a\x0a[assets]\x0adirectory\x20=\x20\x22.open-next/assets\x22\x0abinding\x20=\x20\x22ASSETS\x22\x0a\x0a[vars]\x0aNEXT_PUBLIC_SUPABASE_URL\x20=\x20\x22'+_0x3efd2f+_0x32df2a(0x105)+_0x350d31+_0x32df2a(0x114)+_0x14797d+'\x22\x0aNEXT_PUBLIC_BASE_URL\x20=\x20\x22'+_0x362c98+'\x22\x0a\x0a[observability]\x0aenabled\x20=\x20true\x0a\x0a[observability.logs]\x0aenabled\x20=\x20true\x0ainvocation_logs\x20=\x20true\x0a'+_0x55c60e;_0x13ff02(_0x319d5c['join'](_0x1a2b98[_0x32df2a(0xa8)](),_0x32df2a(0xc4)),_0x4680c6);}else _0x1d7c81=void 0x0;}const _0x115219=_0x1d7c81?_0x32df2a(0x113)+_0x1d7c81+_0x32df2a(0xb5)+_0x1d7c81+_0x32df2a(0x13a):'',_0x533de8=_0x32df2a(0xa9)+_0x2ca617+_0x32df2a(0xc9)+_0x41d473+_0x32df2a(0x105)+_0x57de23+_0x32df2a(0x114)+_0x17369b+_0x32df2a(0x137)+_0x1e4ebd+_0x32df2a(0xac)+_0x115219;writeFileSync(a0_0x32a138[_0x32df2a(0x13d)](process[_0x32df2a(0xa8)](),_0x3ac26b[_0x32df2a(0xf4)]),_0x533de8);}async function logo({franchiseId:_0x2bdb3d,token:_0x5a0421}){const _0x42163b=a0_0x4b003f,_0x275027={'YJFQA':function(_0x2b5a03,_0x36e47e,_0x5edda3){return _0x2b5a03(_0x36e47e,_0x5edda3);},'kGDhx':_0x42163b(0xc2),'tbOvZ':function(_0x317826,_0x91861a,_0x358fd5){return _0x317826(_0x91861a,_0x358fd5);}},_0xfd4093=await _0x275027[_0x42163b(0x9b)](fetch,apiBaseUrl()+_0x42163b(0x141)+_0x2bdb3d,{'headers':{'Authorization':_0x42163b(0x122)+_0x5a0421}});if(!_0xfd4093['ok'])return;const _0x31c542=await _0xfd4093[_0x42163b(0x12b)](),_0x1ba1b7=Buffer[_0x42163b(0xb6)](_0x31c542),_0x314250=a0_0x32a138[_0x42163b(0x13d)](process[_0x42163b(0xa8)](),_0x42163b(0xba));mkdirSync(_0x314250,{'recursive':!![]}),writeFileSync(a0_0x32a138[_0x42163b(0x13d)](_0x314250,_0x275027['kGDhx']),_0x1ba1b7),_0x275027[_0x42163b(0xf2)](writeFileSync,a0_0x32a138[_0x42163b(0x13d)](_0x314250,_0x42163b(0x117)),_0x1ba1b7);}function writeMenuModule(_0x4d6af4){const _0x54f597=a0_0x4b003f,_0x39cdb2=a0_0x32a138[_0x54f597(0x13d)](process['cwd'](),_0x54f597(0xf9));mkdirSync(_0x39cdb2,{'recursive':!![]}),writeFileSync(a0_0x32a138['join'](_0x39cdb2,_0x54f597(0x102)),_0x54f597(0x11f)+JSON[_0x54f597(0x139)](_0x4d6af4,null,0x2)+';\x0a');}async function menu({franchiseId:_0x1f6fda,token:_0x1d114d}){const _0x53c655=a0_0x4b003f,_0x58ff75={'wtPPM':function(_0x4951c9,_0x1e44ac,_0x57db74){return _0x4951c9(_0x1e44ac,_0x57db74);},'nluzQ':function(_0xa8d826){return _0xa8d826();},'ouGcE':function(_0x4f0207,_0x57391a){return _0x4f0207(_0x57391a);}},_0x21a18d=await _0x58ff75[_0x53c655(0xed)](fetch,_0x58ff75[_0x53c655(0xfe)](apiBaseUrl)+'/franchise-info/menu/'+_0x1f6fda,{'headers':{'Authorization':_0x53c655(0x122)+_0x1d114d}});if(!_0x21a18d['ok'])throw new Error(_0x53c655(0xe0)+_0x21a18d[_0x53c655(0xb4)]+':\x20'+await _0x21a18d[_0x53c655(0xe2)]());const _0x4ae113=await _0x21a18d[_0x53c655(0x128)](),_0x2d9229=MenuSchema[_0x53c655(0xbb)](_0x4ae113?.[_0x53c655(0xe3)]??{});return _0x2d9229[_0x53c655(0x9e)]['length']===0x0&&console[_0x53c655(0x9f)](_0x53c655(0xc0)),_0x58ff75[_0x53c655(0x13c)](writeMenuModule,_0x2d9229),_0x2d9229;}async function jsonLd({franchiseId:_0x2cfdcd,token:_0x59ef8f},_0x492669){const _0x5668d6=a0_0x4b003f,_0x4f8f3d={'gKtfb':function(_0x3e3fb3,_0x1798cc,_0x48c845,_0x482a14){return _0x3e3fb3(_0x1798cc,_0x48c845,_0x482a14);},'EUNAI':function(_0x3e1ec6,_0x5ef87d,_0x110a1c){return _0x3e1ec6(_0x5ef87d,_0x110a1c);},'tepww':_0x5668d6(0xd2)},_0x8bf76e=await _0x4f8f3d[_0x5668d6(0x11d)](fetchData,_0x5668d6(0x132)+_0x2cfdcd,_0x59ef8f,FranchiseSchema),_0x4fd7d0=_0x8bf76e[_0x5668d6(0xaa)],_0x2d0532=buildRestaurantJsonLd(_0x492669,{'name':_0x8bf76e[_0x5668d6(0x12a)],'url':_0x4fd7d0,'image':_0x4fd7d0?_0x4fd7d0+_0x5668d6(0x9d):void 0x0}),_0x33c0da=a0_0x32a138[_0x5668d6(0x13d)](process[_0x5668d6(0xa8)](),'lib/generated/');_0x4f8f3d[_0x5668d6(0x129)](mkdirSync,_0x33c0da,{'recursive':!![]}),writeFileSync(a0_0x32a138['join'](_0x33c0da,_0x4f8f3d['tepww']),_0x5668d6(0xa5)+JSON['stringify'](_0x2d0532,null,0x2)+';\x0a');}async function hours({franchiseId:_0x539472,token:_0x31c577}){const _0x1885c4=a0_0x4b003f,_0x771d0f={'taSzB':function(_0x6c2fb5,_0x56d775,_0x3b7f70,_0x920aa8){return _0x6c2fb5(_0x56d775,_0x3b7f70,_0x920aa8);}};await _0x771d0f[_0x1885c4(0xb3)](fetchData,_0x1885c4(0xd3)+_0x539472,_0x31c577,HoursSchema);}async function styles({franchiseId:_0x3c0edc,token:_0x5b1cec}){const _0x57b040=a0_0x4b003f,_0x35d682={'QjVKL':function(_0x239d0d,_0x1a4f06){return _0x239d0d(_0x1a4f06);},'WHduG':function(_0x4ec41b,_0x423c98){return _0x4ec41b(_0x423c98);},'DYvoy':function(_0x3959a9,_0x18a576,_0x5d83e3){return _0x3959a9(_0x18a576,_0x5d83e3);},'UFBsd':_0x57b040(0xe4),'XEmli':'app'},_0xf08d8f=await fetchData(_0x57b040(0xe1)+_0x3c0edc,_0x5b1cec,BrandingSchema),_0xa04644={..._0xf08d8f,'backgroundElevated':_0x35d682[_0x57b040(0xfb)](deriveElevatedBackground,_0xf08d8f['backgroundBase']),'backgroundRecessed':deriveRecessedBackground(_0xf08d8f[_0x57b040(0x142)]),'foreground':deriveFontColor(_0xf08d8f[_0x57b040(0x142)]),'primaryForeground':_0x35d682['WHduG'](deriveFontColor,_0xf08d8f[_0x57b040(0xbd)]),'accentForeground':_0x35d682[_0x57b040(0xfb)](deriveFontColor,_0xf08d8f[_0x57b040(0xbf)])},_0x249fd9=a0_0x32a138[_0x57b040(0x13d)](process[_0x57b040(0xa8)](),'public/styles/');_0x35d682[_0x57b040(0xb0)](mkdirSync,_0x249fd9,{'recursive':!![]}),_0x35d682['DYvoy'](writeFileSync,a0_0x32a138[_0x57b040(0x13d)](_0x249fd9,_0x35d682[_0x57b040(0x9c)]),JSON[_0x57b040(0x139)](_0xa04644,null,0x2)),_0x35d682[_0x57b040(0xb0)](writeFileSync,a0_0x32a138['join'](process[_0x57b040(0xa8)](),_0x35d682['XEmli'],_0x57b040(0x10a)),_0x35d682[_0x57b040(0xfb)](buildGlobalsCss,_0xf08d8f));}function buildGlobalsCss(_0x359cfb){const _0x3d1062=a0_0x4b003f,_0x58566a={'llwRH':function(_0xaadf24,_0x1004f){return _0xaadf24(_0x1004f);}},_0x4ce82f=_0x359cfb[_0x3d1062(0x131)][_0x3d1062(0x140)](/ /g,'+'),_0x516eda=deriveFontColor(_0x359cfb[_0x3d1062(0x142)]),_0x1fabdf=deriveFontColor(_0x359cfb['primary']),_0x2d2de4=_0x58566a[_0x3d1062(0xf6)](deriveFontColor,_0x359cfb['accent']),_0x554479=_0x58566a[_0x3d1062(0xf6)](deriveElevatedBackground,_0x359cfb[_0x3d1062(0x142)]),_0x4033b1=deriveRecessedBackground(_0x359cfb[_0x3d1062(0x142)]);return _0x3d1062(0x12d)+_0x4ce82f+':wght@400;700&display=swap\x22);\x0a@import\x20\x22tailwindcss\x22;\x0a/*\x20Tailwind\x20v4\x20skips\x20node_modules;\x20@zorgo/next\x20ships\x20un-obfuscated\x20components\x20so\x0a\x20\x20\x20their\x20class\x20names\x20are\x20scannable\x20here.\x20*/\x0a@source\x20\x22../node_modules/@zorgo/next/dist/components.mjs\x22;\x0a\x0a:root\x20{\x0a\x20\x20--background:\x20'+_0x359cfb[_0x3d1062(0x142)]+_0x3d1062(0x144)+_0x554479+_0x3d1062(0x13e)+_0x4033b1+_0x3d1062(0xdc)+_0x516eda+_0x3d1062(0x95)+_0x359cfb['primary']+_0x3d1062(0xcf)+_0x1fabdf+_0x3d1062(0x112)+_0x359cfb[_0x3d1062(0xbf)]+';\x0a\x20\x20--accent-foreground:\x20'+_0x2d2de4+_0x3d1062(0xc6)+_0x359cfb[_0x3d1062(0x131)]+_0x3d1062(0xe6);}async function runPrebuild(){const _0x5479f4=a0_0x4b003f,_0x210a80={'qZHuq':function(_0x5afb68,_0xe2b20e){return _0x5afb68(_0xe2b20e);},'iGGZJ':function(_0x5f2854){return _0x5f2854();},'jyaQV':_0x5479f4(0xb8),'QgLLB':'base64url','cUcwd':function(_0x107eff,_0x2dd422){return _0x107eff(_0x2dd422);},'XorbP':function(_0x553c4b,_0x4a20d2){return _0x553c4b(_0x4a20d2);},'BluaD':_0x5479f4(0x130)};console[_0x5479f4(0xa7)](_0x5479f4(0xff)),_0x210a80[_0x5479f4(0xb9)](loadEnvConfig,process[_0x5479f4(0xa8)]()),_0x210a80[_0x5479f4(0xd4)](writeWranglerToml);const _0x4d5e7b=await fetchSiteToken(),_0x4b3242=_0x4d5e7b['split']('.')[0x1];if(!_0x4b3242)throw new Error(_0x210a80[_0x5479f4(0x118)]);const _0x438615=JSON['parse'](Buffer[_0x5479f4(0xb6)](_0x4b3242,_0x210a80[_0x5479f4(0xb1)])[_0x5479f4(0xc3)]()),_0x5a33de=_0x438615[_0x5479f4(0xd7)][0x0],[_0x11beb8]=await Promise['all']([menu({'franchiseId':_0x5a33de,'token':_0x4d5e7b}),_0x210a80[_0x5479f4(0xdd)](logo,{'franchiseId':_0x5a33de,'token':_0x4d5e7b})[_0x5479f4(0x10e)](_0xd109f3=>console['error'](_0x5479f4(0xcb),_0xd109f3)),_0x210a80['XorbP'](hours,{'franchiseId':_0x5a33de,'token':_0x4d5e7b})[_0x5479f4(0x10e)](_0x313fb6=>console[_0x5479f4(0xd1)]('hours\x20failed:',_0x313fb6)),styles({'franchiseId':_0x5a33de,'token':_0x4d5e7b})[_0x5479f4(0x10e)](_0x61a8cd=>console[_0x5479f4(0xd1)](_0x5479f4(0xdb),_0x61a8cd))]);await jsonLd({'franchiseId':_0x5a33de,'token':_0x4d5e7b},_0x11beb8)[_0x5479f4(0x10e)](_0x16aa83=>console['error'](_0x5479f4(0xa3),_0x16aa83)),console[_0x5479f4(0xa7)](_0x210a80[_0x5479f4(0x13b)]);}export{SiteTokenError,fetchSiteToken,runPrebuild};
|
package/dist/slugs.d.mts
CHANGED
|
@@ -1 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
/** Builds the `/menu/[slug]` route segment for an item, e.g. "chicken-burrito-42". */
|
|
2
|
+
declare function menuItemSlug(name: string, baseItemId: number): string;
|
|
3
|
+
/** Parses the trailing numeric base_item_id off a `menuItemSlug` result. */
|
|
4
|
+
declare function baseItemIdFromSlug(slug: string): number;
|
|
5
|
+
|
|
6
|
+
export { baseItemIdFromSlug, menuItemSlug };
|
package/dist/slugs.d.ts
CHANGED
|
@@ -1 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
/** Builds the `/menu/[slug]` route segment for an item, e.g. "chicken-burrito-42". */
|
|
2
|
+
declare function menuItemSlug(name: string, baseItemId: number): string;
|
|
3
|
+
/** Parses the trailing numeric base_item_id off a `menuItemSlug` result. */
|
|
4
|
+
declare function baseItemIdFromSlug(slug: string): number;
|
|
5
|
+
|
|
6
|
+
export { baseItemIdFromSlug, menuItemSlug };
|
package/dist/tree/README.md
CHANGED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Zorgo site
|
|
2
|
+
|
|
3
|
+
A Next.js storefront scaffolded from `@zorgo/next`, deployed to Cloudflare Workers
|
|
4
|
+
via OpenNext.
|
|
5
|
+
|
|
6
|
+
## Local development
|
|
7
|
+
|
|
8
|
+
```bash
|
|
9
|
+
pnpm dev # prebuild + next dev
|
|
10
|
+
pnpm build # prebuild + next build
|
|
11
|
+
pnpm preview # prebuild + wrangler dev (runs the OpenNext build hook)
|
|
12
|
+
pnpm cloudflare:deploy # prebuild + wrangler deploy (build + upload from your machine)
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Generated files (do NOT commit)
|
|
16
|
+
|
|
17
|
+
`prebuild` (`scripts/prebuild.ts` → `@zorgo/next/server#runPrebuild`) regenerates
|
|
18
|
+
these from `.env` on every build, so they are gitignored:
|
|
19
|
+
|
|
20
|
+
- `wrangler.toml` — Worker config (name, vars, routes) derived from `.env`
|
|
21
|
+
- `lib/generated/` — menu data, JSON-LD, branding pulled from the Zorgo API
|
|
22
|
+
|
|
23
|
+
Because `wrangler.toml` is itself generated, **prebuild must run before
|
|
24
|
+
`wrangler deploy`**. The generated `wrangler.toml` contains a `[build]` hook that
|
|
25
|
+
runs the OpenNext bundling as part of `wrangler deploy` — so the deploy command
|
|
26
|
+
stays a plain `wrangler deploy`, but prebuild still has to produce the config +
|
|
27
|
+
data first.
|
|
28
|
+
|
|
29
|
+
## Cloudflare deployment (auto-deploy on commit)
|
|
30
|
+
|
|
31
|
+
`wrangler.toml` cannot express the git connection or path filtering — those are
|
|
32
|
+
**Workers Builds project settings**, configured once per site in the Cloudflare
|
|
33
|
+
dashboard (Workers & Pages → this Worker → Settings → Builds):
|
|
34
|
+
|
|
35
|
+
| Setting | Value |
|
|
36
|
+
| --- | --- |
|
|
37
|
+
| **Git repository** | Connect the repo, watch your production branch |
|
|
38
|
+
| **Root directory** | `apps/sites/<this-site>` (the folder containing this README) |
|
|
39
|
+
| **Build command** | `pnpm install && pnpm prebuild` — generates `wrangler.toml` + `lib/generated` |
|
|
40
|
+
| **Deploy command** | `npx wrangler deploy` — runs the `[build]` hook (OpenNext), then uploads |
|
|
41
|
+
| **Build watch paths** | `apps/sites/<this-site>/*` — so only commits inside this site's folder trigger a redeploy |
|
|
42
|
+
|
|
43
|
+
### Build environment variables
|
|
44
|
+
|
|
45
|
+
`.env` is gitignored, so the Cloudflare build won't see it. Set these as
|
|
46
|
+
**Build → Variables and Secrets** in the same settings page (mark `ZORGO_SITE_SECRET`
|
|
47
|
+
as a secret):
|
|
48
|
+
|
|
49
|
+
- `ZORGO_PROJECT_NAME` — the Worker name (must match the deployed Worker)
|
|
50
|
+
- `ZORGO_SITE_SECRET` — token used to fetch menu/branding from the Zorgo API
|
|
51
|
+
- `NEXT_PUBLIC_SITE_URL`
|
|
52
|
+
- `NEXT_PUBLIC_BASE_URL`
|
|
53
|
+
- `NEXT_PUBLIC_API_BASE_URL`
|
|
54
|
+
- `NEXT_PUBLIC_SUPABASE_URL`
|
|
55
|
+
|
|
56
|
+
With that in place, every push touching this site's folder runs
|
|
57
|
+
prebuild → OpenNext build → deploy automatically.
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
"use server";
|
|
2
2
|
import { NextResponse } from "next/server";
|
|
3
|
-
import { fetchSiteToken } from "
|
|
3
|
+
import { fetchSiteToken, SiteTokenError } from "@zorgo/next/server";
|
|
4
4
|
|
|
5
5
|
export async function GET() {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
return NextResponse.json({
|
|
6
|
+
try {
|
|
7
|
+
const token = await fetchSiteToken();
|
|
8
|
+
return NextResponse.json({ token });
|
|
9
|
+
} catch (err) {
|
|
10
|
+
// Log the precise reason server-side; keep the client response generic so
|
|
11
|
+
// we don't leak which env/secret detail was wrong.
|
|
12
|
+
console.error("site-token exchange failed:", err);
|
|
13
|
+
const status = err instanceof SiteTokenError && err.reason === "missing-secret" ? 500 : 502;
|
|
14
|
+
return NextResponse.json({ error: "Could not obtain site token" }, { status });
|
|
9
15
|
}
|
|
10
|
-
return NextResponse.json({ token });
|
|
11
16
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { useLocation, useModal } from "@zorgo/next";
|
|
4
4
|
import { FindLocation, ItemCustomizationForm } from "@zorgo/next/components";
|
|
5
|
-
import type { Location, OrderItem } from "@zorgo/
|
|
5
|
+
import type { Location, OrderItem } from "@zorgo/next";
|
|
6
6
|
|
|
7
7
|
// Every modal your app can open lives in this map, keyed by the string you pass
|
|
8
8
|
// to `useModal().open(type, props)`. Add a component, give it a key, done.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { useRouter } from "next/navigation";
|
|
3
3
|
import { useLocation } from "@zorgo/next";
|
|
4
|
-
import type { Location } from "@zorgo/
|
|
4
|
+
import type { Location } from "@zorgo/next";
|
|
5
5
|
import { FindLocation } from "@zorgo/next/components";
|
|
6
6
|
|
|
7
7
|
export default function LocationsPage() {
|
|
@@ -12,8 +12,8 @@ export default function generatePackageJson(opts: ScaffoldOptions): string {
|
|
|
12
12
|
"dev:no-prebuild": "next dev",
|
|
13
13
|
"prebuild": "tsx scripts/prebuild.ts",
|
|
14
14
|
"build": "tsx scripts/prebuild.ts && next build",
|
|
15
|
-
"cloudflare:deploy": "tsx scripts/prebuild.ts &&
|
|
16
|
-
"preview": "tsx scripts/prebuild.ts &&
|
|
15
|
+
"cloudflare:deploy": "tsx scripts/prebuild.ts && wrangler deploy",
|
|
16
|
+
"preview": "tsx scripts/prebuild.ts && wrangler dev",
|
|
17
17
|
},
|
|
18
18
|
dependencies: PINNED_VERSIONS,
|
|
19
19
|
devDependencies: DEV_DEPENDENCIES,
|