@simonarcher/fika-types 1.1.5 → 1.2.0

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 CHANGED
@@ -313,9 +313,13 @@ export interface ShopContactDetails {
313
313
  };
314
314
  updatedAt?: Date;
315
315
  }
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';
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' | 'inHouseRoasting' | 'walkInOnly';
317
+ export type ShopSpecialtyKey = 'inHouseRoastery' | 'pourOverSpecialty' | 'espressoExpert' | 'singleOriginFocus' | 'rotatingRoasters' | 'tastingNotesOnMenu' | 'naturalFermentedFocus' | 'cuppingAndEducation' | 'cozyAmbiance' | 'bustlingEnergy' | 'espressoBarStanding' | 'vinylRecords' | 'uniqueExperience' | 'inHouseBakery' | 'freshPastries' | 'localBakeryPartner' | 'dessertDestination' | 'lgbtqFriendly' | 'womenOwned' | 'zeroWasteFocus' | 'communityHub' | 'laptopWelcome' | 'fastWifi' | 'longStayOk';
318
+ export type SpecialtyCategoryKey = 'Coffee' | 'Atmosphere' | 'Food & Treats' | 'Identity & Values' | 'Workspace';
319
+ /** Maps each specialty key to its category. Single source of truth for admin and mobile. */
320
+ export declare const specialtyCategoryMap: Record<ShopSpecialtyKey, SpecialtyCategoryKey>;
321
+ /** Display labels for each specialty key. Single source of truth for admin and mobile. */
322
+ export declare const specialtyLabelMap: Record<ShopSpecialtyKey, string>;
319
323
  export interface ShopSpecialties {
320
324
  highlighted: ShopSpecialtyKey[];
321
325
  additional: ShopSpecialtyKey[];
package/dist/shop.js CHANGED
@@ -1,2 +1,67 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.specialtyLabelMap = exports.specialtyCategoryMap = void 0;
4
+ /** Maps each specialty key to its category. Single source of truth for admin and mobile. */
5
+ exports.specialtyCategoryMap = {
6
+ // Coffee
7
+ inHouseRoastery: 'Coffee',
8
+ pourOverSpecialty: 'Coffee',
9
+ espressoExpert: 'Coffee',
10
+ singleOriginFocus: 'Coffee',
11
+ rotatingRoasters: 'Coffee',
12
+ tastingNotesOnMenu: 'Coffee',
13
+ naturalFermentedFocus: 'Coffee',
14
+ cuppingAndEducation: 'Coffee',
15
+ // Atmosphere
16
+ cozyAmbiance: 'Atmosphere',
17
+ bustlingEnergy: 'Atmosphere',
18
+ espressoBarStanding: 'Atmosphere',
19
+ vinylRecords: 'Atmosphere',
20
+ uniqueExperience: 'Atmosphere',
21
+ // Food & Treats
22
+ inHouseBakery: 'Food & Treats',
23
+ freshPastries: 'Food & Treats',
24
+ localBakeryPartner: 'Food & Treats',
25
+ dessertDestination: 'Food & Treats',
26
+ // Identity & Values
27
+ lgbtqFriendly: 'Identity & Values',
28
+ womenOwned: 'Identity & Values',
29
+ zeroWasteFocus: 'Identity & Values',
30
+ communityHub: 'Identity & Values',
31
+ // Workspace
32
+ laptopWelcome: 'Workspace',
33
+ fastWifi: 'Workspace',
34
+ longStayOk: 'Workspace',
35
+ };
36
+ /** Display labels for each specialty key. Single source of truth for admin and mobile. */
37
+ exports.specialtyLabelMap = {
38
+ // Coffee
39
+ inHouseRoastery: 'In-House Roastery',
40
+ pourOverSpecialty: 'Pour-Over / Filter Focus',
41
+ espressoExpert: 'Espresso Specialists',
42
+ singleOriginFocus: 'Single Origin Focus',
43
+ rotatingRoasters: 'Rotating / Guest Roasters',
44
+ tastingNotesOnMenu: 'Tasting Notes on Menu',
45
+ naturalFermentedFocus: 'Natural & Fermented Coffees',
46
+ cuppingAndEducation: 'Cuppings & Education',
47
+ // Atmosphere
48
+ cozyAmbiance: 'Cosy & Welcoming',
49
+ bustlingEnergy: 'Lively Atmosphere',
50
+ espressoBarStanding: 'Espresso Bar / Standing Only',
51
+ vinylRecords: 'Vinyl Records',
52
+ uniqueExperience: 'Unique Concept',
53
+ // Food & Treats
54
+ inHouseBakery: 'In-House Bakery',
55
+ freshPastries: 'Fresh Pastries',
56
+ localBakeryPartner: 'Local Bakery Partner',
57
+ dessertDestination: 'Dessert Destination',
58
+ // Identity & Values
59
+ lgbtqFriendly: 'LGBTQ+ Friendly',
60
+ womenOwned: 'Women Owned & Led',
61
+ zeroWasteFocus: 'Zero Waste Focused',
62
+ communityHub: 'Community Hub',
63
+ // Workspace
64
+ laptopWelcome: 'Laptop Welcome',
65
+ fastWifi: 'Fast WiFi',
66
+ longStayOk: 'Long Stay OK',
67
+ };
@@ -2566,6 +2566,56 @@ export type Database = {
2566
2566
  }
2567
2567
  ];
2568
2568
  };
2569
+ shop_awards: {
2570
+ Row: {
2571
+ id: string;
2572
+ shop_id: string;
2573
+ type: string;
2574
+ award_type: string;
2575
+ title: string;
2576
+ year: number | null;
2577
+ notes: string | null;
2578
+ image_url: string | null;
2579
+ issued_by: string | null;
2580
+ created_at: string | null;
2581
+ updated_at: string | null;
2582
+ };
2583
+ Insert: {
2584
+ id?: string;
2585
+ shop_id: string;
2586
+ type: string;
2587
+ award_type: string;
2588
+ title: string;
2589
+ year?: number | null;
2590
+ notes?: string | null;
2591
+ image_url?: string | null;
2592
+ issued_by?: string | null;
2593
+ created_at?: string | null;
2594
+ updated_at?: string | null;
2595
+ };
2596
+ Update: {
2597
+ id?: string;
2598
+ shop_id?: string;
2599
+ type?: string;
2600
+ award_type?: string;
2601
+ title?: string;
2602
+ year?: number | null;
2603
+ notes?: string | null;
2604
+ image_url?: string | null;
2605
+ issued_by?: string | null;
2606
+ created_at?: string | null;
2607
+ updated_at?: string | null;
2608
+ };
2609
+ Relationships: [
2610
+ {
2611
+ foreignKeyName: "shop_awards_shop_id_fkey";
2612
+ columns: ["shop_id"];
2613
+ isOneToOne: false;
2614
+ referencedRelation: "shops";
2615
+ referencedColumns: ["id"];
2616
+ }
2617
+ ];
2618
+ };
2569
2619
  shop_followers: {
2570
2620
  Row: {
2571
2621
  created_at: string | null;
@@ -3882,8 +3932,12 @@ export type Database = {
3882
3932
  created_at: string;
3883
3933
  description: string | null;
3884
3934
  id: string;
3935
+ is_editable: boolean;
3885
3936
  is_public: boolean | null;
3937
+ list_type: string;
3886
3938
  name: string;
3939
+ system_list_type: string | null;
3940
+ tags: string[];
3887
3941
  updated_at: string;
3888
3942
  user_id: string;
3889
3943
  };
@@ -3892,8 +3946,12 @@ export type Database = {
3892
3946
  created_at?: string;
3893
3947
  description?: string | null;
3894
3948
  id: string;
3949
+ is_editable?: boolean;
3895
3950
  is_public?: boolean | null;
3951
+ list_type?: string;
3896
3952
  name: string;
3953
+ system_list_type?: string | null;
3954
+ tags?: string[];
3897
3955
  updated_at?: string;
3898
3956
  user_id: string;
3899
3957
  };
@@ -3902,8 +3960,12 @@ export type Database = {
3902
3960
  created_at?: string;
3903
3961
  description?: string | null;
3904
3962
  id?: string;
3963
+ is_editable?: boolean;
3905
3964
  is_public?: boolean | null;
3965
+ list_type?: string;
3906
3966
  name?: string;
3967
+ system_list_type?: string | null;
3968
+ tags?: string[];
3907
3969
  updated_at?: string;
3908
3970
  user_id?: string;
3909
3971
  };
@@ -4139,6 +4201,7 @@ export type Database = {
4139
4201
  metadata: Json | null;
4140
4202
  photo_url: string | null;
4141
4203
  points: number | null;
4204
+ primary_coffee_identity: string | null;
4142
4205
  profile_image: string | null;
4143
4206
  provider_data: Json | null;
4144
4207
  refresh_token: string | null;
@@ -4166,6 +4229,7 @@ export type Database = {
4166
4229
  metadata?: Json | null;
4167
4230
  photo_url?: string | null;
4168
4231
  points?: number | null;
4232
+ primary_coffee_identity?: string | null;
4169
4233
  profile_image?: string | null;
4170
4234
  provider_data?: Json | null;
4171
4235
  refresh_token?: string | null;
@@ -4193,6 +4257,7 @@ export type Database = {
4193
4257
  metadata?: Json | null;
4194
4258
  photo_url?: string | null;
4195
4259
  points?: number | null;
4260
+ primary_coffee_identity?: string | null;
4196
4261
  profile_image?: string | null;
4197
4262
  provider_data?: Json | null;
4198
4263
  refresh_token?: string | null;
package/dist/user.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export type CoffeeIdentity = 'casual_drinker' | 'enthusiast' | 'barista' | 'shop_owner';
1
2
  export interface User {
2
3
  id: string;
3
4
  email: string;
@@ -21,6 +22,7 @@ export interface User {
21
22
  };
22
23
  expoPushTokens?: string[];
23
24
  featuredStickerIds?: string[];
25
+ primaryCoffeeIdentity?: CoffeeIdentity | null;
24
26
  notificationPreferences?: {
25
27
  channels: {
26
28
  [channelId: string]: {
@@ -47,6 +49,7 @@ export interface PublicUser {
47
49
  createdAt: Date;
48
50
  shopLists?: string[];
49
51
  featuredStickerIds?: string[];
52
+ primaryCoffeeIdentity?: CoffeeIdentity | null;
50
53
  }
51
54
  export interface CreateUserAccountRequest {
52
55
  email: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simonarcher/fika-types",
3
- "version": "1.1.5",
3
+ "version": "1.2.0",
4
4
  "description": "Shared TypeScript types for Fika projects",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",