@simonarcher/fika-types 2.0.0-rc.1 → 2.0.0-rc.3
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/shop.d.ts +13 -0
- package/dist/shop.js +159 -0
- package/package.json +1 -1
package/dist/shop.d.ts
CHANGED
|
@@ -284,6 +284,10 @@ export interface DailyVisitorStats {
|
|
|
284
284
|
updatedAt: AdminTimestamp;
|
|
285
285
|
}
|
|
286
286
|
export interface ShopInfo {
|
|
287
|
+
/** Editorial description of the shop, written by FIKA curators. */
|
|
288
|
+
description?: string | null;
|
|
289
|
+
/** Owner-authored public note, edited through the owner portal. */
|
|
290
|
+
ownerDescription?: string | null;
|
|
287
291
|
features: Partial<Record<ShopFeatureKey, boolean | null>> & Record<string, boolean | null>;
|
|
288
292
|
wifiDetails?: {
|
|
289
293
|
name?: string;
|
|
@@ -341,6 +345,15 @@ export interface SpecialtyConfig {
|
|
|
341
345
|
translationKey?: string;
|
|
342
346
|
priority: 'high' | 'medium' | 'low';
|
|
343
347
|
}
|
|
348
|
+
export type FeatureGroupKey = 'Space & Seating' | 'Work & Facilities' | 'Food & Drink' | 'Service' | 'Payment';
|
|
349
|
+
/** Maps each feature key to its display group. */
|
|
350
|
+
export declare const featureGroupMap: Record<ShopFeatureKey, FeatureGroupKey>;
|
|
351
|
+
/** Display labels for each feature key. */
|
|
352
|
+
export declare const featureLabelMap: Record<ShopFeatureKey, string>;
|
|
353
|
+
/** Maps each specialty key to its category (matches the groupings on `ShopSpecialtyKey`). */
|
|
354
|
+
export declare const specialtyCategoryMap: Record<ShopSpecialtyKey, SpecialtyCategoryKey>;
|
|
355
|
+
/** Display labels for each specialty key. */
|
|
356
|
+
export declare const specialtyLabelMap: Record<ShopSpecialtyKey, string>;
|
|
344
357
|
interface OpeningTime {
|
|
345
358
|
day: number;
|
|
346
359
|
hour: number | null;
|
package/dist/shop.js
CHANGED
|
@@ -1,2 +1,161 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.specialtyLabelMap = exports.specialtyCategoryMap = exports.featureLabelMap = exports.featureGroupMap = void 0;
|
|
4
|
+
/** Maps each feature key to its display group. */
|
|
5
|
+
exports.featureGroupMap = {
|
|
6
|
+
// Space & Seating
|
|
7
|
+
indoorSeating: 'Space & Seating',
|
|
8
|
+
outdoorSeating: 'Space & Seating',
|
|
9
|
+
petFriendly: 'Space & Seating',
|
|
10
|
+
// Work & Facilities
|
|
11
|
+
wifi: 'Work & Facilities',
|
|
12
|
+
powerOutlets: 'Work & Facilities',
|
|
13
|
+
laptopFriendly: 'Work & Facilities',
|
|
14
|
+
restrooms: 'Work & Facilities',
|
|
15
|
+
parking: 'Work & Facilities',
|
|
16
|
+
accessibility: 'Work & Facilities',
|
|
17
|
+
// Food & Drink
|
|
18
|
+
breakfast: 'Food & Drink',
|
|
19
|
+
lunch: 'Food & Drink',
|
|
20
|
+
vegetarian: 'Food & Drink',
|
|
21
|
+
glutenFree: 'Food & Drink',
|
|
22
|
+
alcohol: 'Food & Drink',
|
|
23
|
+
// Service
|
|
24
|
+
takeaway: 'Service',
|
|
25
|
+
delivery: 'Service',
|
|
26
|
+
loyaltyCard: 'Service',
|
|
27
|
+
discountOnReusableCup: 'Service',
|
|
28
|
+
// Payment
|
|
29
|
+
acceptsCash: 'Payment',
|
|
30
|
+
acceptsCreditCards: 'Payment',
|
|
31
|
+
acceptsNfc: 'Payment',
|
|
32
|
+
};
|
|
33
|
+
/** Display labels for each feature key. */
|
|
34
|
+
exports.featureLabelMap = {
|
|
35
|
+
// Space & Seating
|
|
36
|
+
indoorSeating: 'Indoor Seating',
|
|
37
|
+
outdoorSeating: 'Outdoor Seating',
|
|
38
|
+
petFriendly: 'Pet Friendly',
|
|
39
|
+
// Work & Facilities
|
|
40
|
+
wifi: 'Free WiFi',
|
|
41
|
+
powerOutlets: 'Power Outlets',
|
|
42
|
+
laptopFriendly: 'Laptop Friendly',
|
|
43
|
+
restrooms: 'Restrooms',
|
|
44
|
+
parking: 'Parking',
|
|
45
|
+
accessibility: 'Wheelchair Accessible',
|
|
46
|
+
// Food & Drink
|
|
47
|
+
breakfast: 'Serves Breakfast',
|
|
48
|
+
lunch: 'Serves Lunch',
|
|
49
|
+
vegetarian: 'Vegetarian Options',
|
|
50
|
+
glutenFree: 'Gluten-Free Options',
|
|
51
|
+
alcohol: 'Serves Alcohol',
|
|
52
|
+
// Service
|
|
53
|
+
takeaway: 'Takeaway',
|
|
54
|
+
delivery: 'Delivery',
|
|
55
|
+
loyaltyCard: 'Loyalty Card',
|
|
56
|
+
discountOnReusableCup: 'Discount for Reusable Cup',
|
|
57
|
+
// Payment
|
|
58
|
+
acceptsCash: 'Cash Payments',
|
|
59
|
+
acceptsCreditCards: 'Card Payments',
|
|
60
|
+
acceptsNfc: 'Contactless / NFC',
|
|
61
|
+
};
|
|
62
|
+
/** Maps each specialty key to its category (matches the groupings on `ShopSpecialtyKey`). */
|
|
63
|
+
exports.specialtyCategoryMap = {
|
|
64
|
+
// Coffee Excellence
|
|
65
|
+
pourOverSpecialty: 'Coffee Excellence',
|
|
66
|
+
espressoExpert: 'Coffee Excellence',
|
|
67
|
+
singleOriginFocus: 'Coffee Excellence',
|
|
68
|
+
localRoaster: 'Coffee Excellence',
|
|
69
|
+
brewingEducation: 'Coffee Excellence',
|
|
70
|
+
cuppingEvents: 'Coffee Excellence',
|
|
71
|
+
matchaSpecialty: 'Coffee Excellence',
|
|
72
|
+
decafSpecialty: 'Coffee Excellence',
|
|
73
|
+
inHouseRoastery: 'Coffee Excellence',
|
|
74
|
+
// Atmosphere
|
|
75
|
+
relaxingVibes: 'Atmosphere',
|
|
76
|
+
bustlingEnergy: 'Atmosphere',
|
|
77
|
+
quietStudySpace: 'Atmosphere',
|
|
78
|
+
uniqueExperience: 'Atmosphere',
|
|
79
|
+
instagramWorthy: 'Atmosphere',
|
|
80
|
+
cozyAmbiance: 'Atmosphere',
|
|
81
|
+
// Food & Treats
|
|
82
|
+
freshPastries: 'Food & Treats',
|
|
83
|
+
homemadeTreats: 'Food & Treats',
|
|
84
|
+
artisanBread: 'Food & Treats',
|
|
85
|
+
localBakery: 'Food & Treats',
|
|
86
|
+
healthyOptions: 'Food & Treats',
|
|
87
|
+
dessertDestination: 'Food & Treats',
|
|
88
|
+
inHouseBakery: 'Food & Treats',
|
|
89
|
+
signatureBakedGoods: 'Food & Treats',
|
|
90
|
+
// Community & Values
|
|
91
|
+
lgbtqFriendly: 'Community & Values',
|
|
92
|
+
womenOwned: 'Community & Values',
|
|
93
|
+
familyOwned: 'Community & Values',
|
|
94
|
+
communityHub: 'Community & Values',
|
|
95
|
+
sociallyConscious: 'Community & Values',
|
|
96
|
+
localArtSupport: 'Community & Values',
|
|
97
|
+
// Entertainment
|
|
98
|
+
liveMusic: 'Entertainment',
|
|
99
|
+
localArt: 'Entertainment',
|
|
100
|
+
bookExchange: 'Entertainment',
|
|
101
|
+
boardGames: 'Entertainment',
|
|
102
|
+
culturalEvents: 'Entertainment',
|
|
103
|
+
workshopSpace: 'Entertainment',
|
|
104
|
+
// Work & Study
|
|
105
|
+
laptopFriendlyPro: 'Work & Study',
|
|
106
|
+
meetingSpaceAvailable: 'Work & Study',
|
|
107
|
+
quietZones: 'Work & Study',
|
|
108
|
+
fastWifi: 'Work & Study',
|
|
109
|
+
longStayWelcome: 'Work & Study',
|
|
110
|
+
coworkingVibes: 'Work & Study',
|
|
111
|
+
};
|
|
112
|
+
/** Display labels for each specialty key. */
|
|
113
|
+
exports.specialtyLabelMap = {
|
|
114
|
+
// Coffee Excellence
|
|
115
|
+
pourOverSpecialty: 'Pour-Over / Filter Focus',
|
|
116
|
+
espressoExpert: 'Espresso Specialists',
|
|
117
|
+
singleOriginFocus: 'Single Origin Focus',
|
|
118
|
+
localRoaster: 'Local Roaster',
|
|
119
|
+
brewingEducation: 'Brewing Education',
|
|
120
|
+
cuppingEvents: 'Cupping Events',
|
|
121
|
+
matchaSpecialty: 'Matcha Specialty',
|
|
122
|
+
decafSpecialty: 'Decaf Specialty',
|
|
123
|
+
inHouseRoastery: 'In-House Roastery',
|
|
124
|
+
// Atmosphere
|
|
125
|
+
relaxingVibes: 'Relaxing Vibes',
|
|
126
|
+
bustlingEnergy: 'Lively Atmosphere',
|
|
127
|
+
quietStudySpace: 'Quiet Study Space',
|
|
128
|
+
uniqueExperience: 'Unique Concept',
|
|
129
|
+
instagramWorthy: 'Instagram-Worthy',
|
|
130
|
+
cozyAmbiance: 'Cosy & Welcoming',
|
|
131
|
+
// Food & Treats
|
|
132
|
+
freshPastries: 'Fresh Pastries',
|
|
133
|
+
homemadeTreats: 'Homemade Treats',
|
|
134
|
+
artisanBread: 'Artisan Bread',
|
|
135
|
+
localBakery: 'Local Bakery Partner',
|
|
136
|
+
healthyOptions: 'Healthy Options',
|
|
137
|
+
dessertDestination: 'Dessert Destination',
|
|
138
|
+
inHouseBakery: 'In-House Bakery',
|
|
139
|
+
signatureBakedGoods: 'Signature Baked Goods',
|
|
140
|
+
// Community & Values
|
|
141
|
+
lgbtqFriendly: 'LGBTQ+ Friendly',
|
|
142
|
+
womenOwned: 'Women Owned & Led',
|
|
143
|
+
familyOwned: 'Family Owned',
|
|
144
|
+
communityHub: 'Community Hub',
|
|
145
|
+
sociallyConscious: 'Socially Conscious',
|
|
146
|
+
localArtSupport: 'Local Art Support',
|
|
147
|
+
// Entertainment
|
|
148
|
+
liveMusic: 'Live Music',
|
|
149
|
+
localArt: 'Local Art',
|
|
150
|
+
bookExchange: 'Book Exchange',
|
|
151
|
+
boardGames: 'Board Games',
|
|
152
|
+
culturalEvents: 'Cultural Events',
|
|
153
|
+
workshopSpace: 'Workshop Space',
|
|
154
|
+
// Work & Study
|
|
155
|
+
laptopFriendlyPro: 'Laptop Friendly',
|
|
156
|
+
meetingSpaceAvailable: 'Meeting Space Available',
|
|
157
|
+
quietZones: 'Quiet Zones',
|
|
158
|
+
fastWifi: 'Fast WiFi',
|
|
159
|
+
longStayWelcome: 'Long Stays Welcome',
|
|
160
|
+
coworkingVibes: 'Coworking Vibes',
|
|
161
|
+
};
|