@simonarcher/fika-types 2.0.0-rc.3 → 2.0.0-rc.4
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/coffeeEvents.d.ts +7 -0
- package/dist/shop.d.ts +14 -3
- package/dist/shop.js +28 -0
- package/package.json +1 -1
package/dist/coffeeEvents.d.ts
CHANGED
|
@@ -23,6 +23,13 @@ export interface CoffeeShopEvent extends NewCoffeeShopEvent {
|
|
|
23
23
|
createdAt: Date;
|
|
24
24
|
updatedAt: Date;
|
|
25
25
|
eventType: CoffeeShopEventType;
|
|
26
|
+
/**
|
|
27
|
+
* Optional sticker awarded to attendees who check in. Set when the event
|
|
28
|
+
* is associated with a reward; null/undefined for events without a
|
|
29
|
+
* reward. Stored on the event row so reward issuance is deterministic
|
|
30
|
+
* across event states.
|
|
31
|
+
*/
|
|
32
|
+
rewardStickerId?: string | null;
|
|
26
33
|
}
|
|
27
34
|
export interface EventAttendee {
|
|
28
35
|
userId: string;
|
package/dist/shop.d.ts
CHANGED
|
@@ -305,6 +305,17 @@ export interface ShopContactDetails {
|
|
|
305
305
|
contactNumber: string;
|
|
306
306
|
email: string;
|
|
307
307
|
website: string;
|
|
308
|
+
/**
|
|
309
|
+
* Social media handles. Stored alongside other contact data so a shop has a
|
|
310
|
+
* single source of truth for "how to reach this place". Bare handles only —
|
|
311
|
+
* no `@` prefix, no URL — clients construct platform URLs at render time.
|
|
312
|
+
* Optional/nullable to keep records sparse for shops that don't publish a
|
|
313
|
+
* given platform.
|
|
314
|
+
*/
|
|
315
|
+
instagram?: string | null;
|
|
316
|
+
facebook?: string | null;
|
|
317
|
+
tiktok?: string | null;
|
|
318
|
+
twitter?: string | null;
|
|
308
319
|
address: {
|
|
309
320
|
formattedAddress: string;
|
|
310
321
|
shortFormattedAddress: string;
|
|
@@ -317,9 +328,9 @@ export interface ShopContactDetails {
|
|
|
317
328
|
};
|
|
318
329
|
updatedAt?: Date;
|
|
319
330
|
}
|
|
320
|
-
export type ShopFeatureKey = 'powerOutlets' | 'laptopFriendly' | 'outdoorSeating' | 'indoorSeating' | 'accessibility' | 'alcohol' | 'breakfast' | 'lunch' | 'vegetarian' | 'petFriendly' | 'restrooms' | 'parking' | 'wifi' | 'acceptsCash' | 'acceptsCreditCards' | 'acceptsNfc' | 'discountOnReusableCup' | 'glutenFree' | 'loyaltyCard' | 'takeaway' | 'delivery';
|
|
321
|
-
export type ShopSpecialtyKey = 'pourOverSpecialty' | 'espressoExpert' | 'singleOriginFocus' | 'localRoaster' | 'brewingEducation' | 'cuppingEvents' | 'matchaSpecialty' | 'decafSpecialty' | 'inHouseRoastery' | 'relaxingVibes' | 'bustlingEnergy' | 'quietStudySpace' | 'uniqueExperience' | 'instagramWorthy' | 'cozyAmbiance' | 'freshPastries' | 'homemadeTreats' | 'artisanBread' | 'localBakery' | 'healthyOptions' | 'dessertDestination' | 'inHouseBakery' | 'signatureBakedGoods' | 'lgbtqFriendly' | 'womenOwned' | 'familyOwned' | 'communityHub' | 'sociallyConscious' | 'localArtSupport' | 'liveMusic' | 'localArt' | 'bookExchange' | 'boardGames' | 'culturalEvents' | 'workshopSpace' | 'laptopFriendlyPro' | 'meetingSpaceAvailable' | 'quietZones' | 'fastWifi' | 'longStayWelcome' | 'coworkingVibes';
|
|
322
|
-
export type SpecialtyCategoryKey = 'Coffee Excellence' | 'Atmosphere' | 'Food & Treats' | 'Community & Values' | 'Entertainment' | 'Work & Study';
|
|
331
|
+
export type ShopFeatureKey = 'powerOutlets' | 'laptopFriendly' | 'outdoorSeating' | 'indoorSeating' | 'accessibility' | 'alcohol' | 'breakfast' | 'lunch' | 'vegetarian' | 'petFriendly' | 'restrooms' | 'parking' | 'wifi' | 'acceptsCash' | 'acceptsCreditCards' | 'acceptsNfc' | 'discountOnReusableCup' | 'glutenFree' | 'loyaltyCard' | 'takeaway' | 'delivery' | 'kidFriendly' | 'walkInOnly';
|
|
332
|
+
export type ShopSpecialtyKey = 'pourOverSpecialty' | 'espressoExpert' | 'singleOriginFocus' | 'localRoaster' | 'brewingEducation' | 'cuppingEvents' | 'matchaSpecialty' | 'decafSpecialty' | 'inHouseRoastery' | 'relaxingVibes' | 'bustlingEnergy' | 'quietStudySpace' | 'uniqueExperience' | 'instagramWorthy' | 'cozyAmbiance' | 'freshPastries' | 'homemadeTreats' | 'artisanBread' | 'localBakery' | 'healthyOptions' | 'dessertDestination' | 'inHouseBakery' | 'signatureBakedGoods' | 'lgbtqFriendly' | 'womenOwned' | 'familyOwned' | 'communityHub' | 'sociallyConscious' | 'localArtSupport' | 'liveMusic' | 'localArt' | 'bookExchange' | 'boardGames' | 'culturalEvents' | 'workshopSpace' | 'laptopFriendlyPro' | 'meetingSpaceAvailable' | 'quietZones' | 'fastWifi' | 'longStayWelcome' | 'coworkingVibes' | 'rotatingRoasters' | 'tastingNotesOnMenu' | 'naturalFermentedFocus' | 'cuppingAndEducation' | 'espressoBarStanding' | 'vinylRecords' | 'localBakeryPartner' | 'zeroWasteFocus' | 'laptopWelcome' | 'longStayOk';
|
|
333
|
+
export type SpecialtyCategoryKey = 'Coffee Excellence' | 'Atmosphere' | 'Food & Treats' | 'Community & Values' | 'Entertainment' | 'Work & Study' | 'Coffee' | 'Identity & Values' | 'Workspace';
|
|
323
334
|
export interface ShopSpecialties {
|
|
324
335
|
highlighted: ShopSpecialtyKey[];
|
|
325
336
|
additional: ShopSpecialtyKey[];
|
package/dist/shop.js
CHANGED
|
@@ -29,6 +29,9 @@ exports.featureGroupMap = {
|
|
|
29
29
|
acceptsCash: 'Payment',
|
|
30
30
|
acceptsCreditCards: 'Payment',
|
|
31
31
|
acceptsNfc: 'Payment',
|
|
32
|
+
// v1.6.0 retained
|
|
33
|
+
kidFriendly: 'Space & Seating',
|
|
34
|
+
walkInOnly: 'Service',
|
|
32
35
|
};
|
|
33
36
|
/** Display labels for each feature key. */
|
|
34
37
|
exports.featureLabelMap = {
|
|
@@ -58,6 +61,9 @@ exports.featureLabelMap = {
|
|
|
58
61
|
acceptsCash: 'Cash Payments',
|
|
59
62
|
acceptsCreditCards: 'Card Payments',
|
|
60
63
|
acceptsNfc: 'Contactless / NFC',
|
|
64
|
+
// v1.6.0 retained
|
|
65
|
+
kidFriendly: 'Kid Friendly',
|
|
66
|
+
walkInOnly: 'Walk-In Only',
|
|
61
67
|
};
|
|
62
68
|
/** Maps each specialty key to its category (matches the groupings on `ShopSpecialtyKey`). */
|
|
63
69
|
exports.specialtyCategoryMap = {
|
|
@@ -108,6 +114,17 @@ exports.specialtyCategoryMap = {
|
|
|
108
114
|
fastWifi: 'Work & Study',
|
|
109
115
|
longStayWelcome: 'Work & Study',
|
|
110
116
|
coworkingVibes: 'Work & Study',
|
|
117
|
+
// v1.6.0 retained — mapped to closest current category
|
|
118
|
+
rotatingRoasters: 'Coffee Excellence',
|
|
119
|
+
tastingNotesOnMenu: 'Coffee Excellence',
|
|
120
|
+
naturalFermentedFocus: 'Coffee Excellence',
|
|
121
|
+
cuppingAndEducation: 'Coffee Excellence',
|
|
122
|
+
espressoBarStanding: 'Atmosphere',
|
|
123
|
+
vinylRecords: 'Atmosphere',
|
|
124
|
+
localBakeryPartner: 'Food & Treats',
|
|
125
|
+
zeroWasteFocus: 'Community & Values',
|
|
126
|
+
laptopWelcome: 'Work & Study',
|
|
127
|
+
longStayOk: 'Work & Study',
|
|
111
128
|
};
|
|
112
129
|
/** Display labels for each specialty key. */
|
|
113
130
|
exports.specialtyLabelMap = {
|
|
@@ -158,4 +175,15 @@ exports.specialtyLabelMap = {
|
|
|
158
175
|
fastWifi: 'Fast WiFi',
|
|
159
176
|
longStayWelcome: 'Long Stays Welcome',
|
|
160
177
|
coworkingVibes: 'Coworking Vibes',
|
|
178
|
+
// v1.6.0 retained
|
|
179
|
+
rotatingRoasters: 'Rotating / Guest Roasters',
|
|
180
|
+
tastingNotesOnMenu: 'Tasting Notes on Menu',
|
|
181
|
+
naturalFermentedFocus: 'Natural & Fermented Coffees',
|
|
182
|
+
cuppingAndEducation: 'Cuppings & Education',
|
|
183
|
+
espressoBarStanding: 'Espresso Bar / Standing Only',
|
|
184
|
+
vinylRecords: 'Vinyl Records',
|
|
185
|
+
localBakeryPartner: 'Local Bakery Partner',
|
|
186
|
+
zeroWasteFocus: 'Zero Waste Focus',
|
|
187
|
+
laptopWelcome: 'Laptops Welcome',
|
|
188
|
+
longStayOk: 'Long Stays OK',
|
|
161
189
|
};
|