@simonarcher/fika-types 2.0.0-rc.2 → 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 +18 -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
|
@@ -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;
|
|
@@ -301,6 +305,17 @@ export interface ShopContactDetails {
|
|
|
301
305
|
contactNumber: string;
|
|
302
306
|
email: string;
|
|
303
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;
|
|
304
319
|
address: {
|
|
305
320
|
formattedAddress: string;
|
|
306
321
|
shortFormattedAddress: string;
|
|
@@ -313,9 +328,9 @@ export interface ShopContactDetails {
|
|
|
313
328
|
};
|
|
314
329
|
updatedAt?: Date;
|
|
315
330
|
}
|
|
316
|
-
export type ShopFeatureKey = 'powerOutlets' | 'laptopFriendly' | 'outdoorSeating' | 'indoorSeating' | 'accessibility' | 'alcohol' | 'breakfast' | 'lunch' | 'vegetarian' | 'petFriendly' | 'restrooms' | 'parking' | 'wifi' | 'acceptsCash' | 'acceptsCreditCards' | 'acceptsNfc' | 'discountOnReusableCup' | 'glutenFree' | 'loyaltyCard' | 'takeaway' | 'delivery';
|
|
317
|
-
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';
|
|
318
|
-
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';
|
|
319
334
|
export interface ShopSpecialties {
|
|
320
335
|
highlighted: ShopSpecialtyKey[];
|
|
321
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
|
};
|