@qrush/types 2.1.64 → 2.1.66

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.
@@ -0,0 +1,25 @@
1
+ import type { Timestamp } from '@firebase/firestore';
2
+ export type ConnectionStatus = 'pending' | 'accepted' | 'none';
3
+ export type ConnectionOrigin = 'connection_request' | 'qr_scan' | 'block';
4
+ export interface IConnection {
5
+ userIds: string[];
6
+ status: ConnectionStatus;
7
+ blocked: boolean;
8
+ blockedBy: string[];
9
+ users: {
10
+ [uid: string]: {
11
+ name: string;
12
+ avatarURL: string;
13
+ };
14
+ };
15
+ origin: ConnectionOrigin;
16
+ request?: {
17
+ fromUID: string;
18
+ toUID: string;
19
+ message?: string;
20
+ createdAt: Timestamp;
21
+ acceptedAt?: Timestamp;
22
+ };
23
+ createdAt: Timestamp;
24
+ updatedAt: Timestamp;
25
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -17,6 +17,9 @@ export interface IConversation {
17
17
  archived: {
18
18
  [uid: string]: boolean;
19
19
  };
20
+ pinned: {
21
+ [uid: string]: boolean;
22
+ };
20
23
  lastMessage: {
21
24
  text: string;
22
25
  senderId: string;
@@ -30,13 +33,13 @@ export interface IConversation {
30
33
  type: 'event' | 'personal';
31
34
  eventUID?: string;
32
35
  };
33
- request?: {
34
- status: 'pending' | 'accepted';
35
- fromUID: string;
36
- toUID: string;
37
- message: string;
38
- createdAt: Timestamp;
39
- acceptedAt?: Timestamp;
36
+ connectionId?: string;
37
+ blocked?: boolean;
38
+ deleted: {
39
+ [uid: string]: boolean;
40
+ };
41
+ deletedAt: {
42
+ [uid: string]: Timestamp;
40
43
  };
41
44
  }
42
45
  export interface IMessage {
@@ -141,5 +141,8 @@ export type IFireLocation = {
141
141
  weeklyGoingCount?: {
142
142
  [day: string]: number;
143
143
  };
144
+ weeklyInterestedCount?: {
145
+ [day: string]: number;
146
+ };
144
147
  };
145
148
  export type FireLocationSnapshotRef = FireQueryDocSnapshotRef<IFireLocation>;
package/dist/Report.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type { Timestamp } from '@firebase/firestore';
2
2
  export interface IReport {
3
- type: 'user' | 'chat';
3
+ type: 'user' | 'chat' | 'looking_for';
4
4
  targetId: string;
5
5
  conversationId?: string;
6
6
  messageContent?: string;
package/dist/Social.d.ts CHANGED
@@ -35,7 +35,9 @@ export interface ISocialProfile {
35
35
  partyDrugs?: string;
36
36
  hardDrugs?: string;
37
37
  };
38
- socialSetupDone: boolean;
38
+ socialProfileStatus?: SocialProfileStatus;
39
+ trustScore?: number;
40
+ trustSignals?: ITrustSignals;
39
41
  visibility: ISocialProfileVisibility;
40
42
  }
41
43
  export interface ISocialUserEntry {
@@ -49,6 +51,13 @@ export interface ISocialUserEntry {
49
51
  day?: string;
50
52
  /** Resolved occurrence date (YYYY-MM-DD) for weekly entries */
51
53
  occurrenceDate?: string;
54
+ hasSocialProfile?: boolean;
55
+ socialProfileStatus?: SocialProfileStatus;
56
+ citySlug?: string;
57
+ entityId?: string;
58
+ entityType?: SocialEntityType;
59
+ entityTitle?: string;
60
+ lookingFor?: ILookingFor;
52
61
  }
53
62
  export type SocialAction = 'going' | 'interested';
54
63
  export type SocialEntityType = 'event' | 'location' | 'weekly';
@@ -62,3 +71,23 @@ export interface IToggleSocialActionResponse {
62
71
  success: boolean;
63
72
  isActive: boolean;
64
73
  }
74
+ export type SocialProfileStatus = 'incomplete' | 'minimal' | 'complete' | 'trusted';
75
+ export type AccessTier = 'guest' | 'registered' | 'minimal' | 'complete' | 'trusted';
76
+ export type EntryVisibility = 'clear' | 'nightlife_blur' | 'hidden';
77
+ export type TrustSignal = 'phone_verified' | 'profile_image' | 'bio_filled' | 'social_fields_3' | 'social_fields_5' | 'connections_1' | 'connections_3' | 'qrush_plus' | 'promo_redeemed' | 'account_age_7d' | 'account_age_30d' | 'social_actions_3';
78
+ export interface ITrustSignals {
79
+ phoneVerified: boolean;
80
+ hasProfileImage: boolean;
81
+ hasBio: boolean;
82
+ socialFieldsCount: number;
83
+ acceptedContactsCount: number;
84
+ isQrushPlusSubscriber: boolean;
85
+ promoRedemptionCount: number;
86
+ accountAgeDays: number;
87
+ socialActionsCount: number;
88
+ }
89
+ export interface ILookingFor {
90
+ preset?: 'group' | 'dance_partner' | 'going_together';
91
+ text?: string;
92
+ createdAt: Timestamp;
93
+ }
package/dist/Users.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import type { DocumentReference, FieldValue, Timestamp } from '@firebase/firestore';
2
2
  import { FireQueryDocSnapshotRef } from './CustomDocType.js';
3
+ import type { SocialProfileStatus } from './Social.js';
3
4
  export type Maybe<T> = T | null | undefined;
4
5
  export type IFireUser = {
5
6
  phone?: Phone;
@@ -32,6 +33,9 @@ export type IFireUser = {
32
33
  profileImageUrl?: string;
33
34
  totalSavings: number;
34
35
  redemptionIds?: string[];
36
+ trustScore?: number;
37
+ socialProfileStatus?: SocialProfileStatus;
38
+ isQrushPlus?: boolean;
35
39
  };
36
40
  export type UserRole = 'user' | 'staff' | 'team' | 'admin';
37
41
  export type UserAvatar = {
package/dist/index.d.ts CHANGED
@@ -18,3 +18,4 @@ export * from './Chat.js';
18
18
  export * from './Conversation.js';
19
19
  export * from './Social.js';
20
20
  export * from './Report.js';
21
+ export * from './Connection.js';
package/dist/index.js CHANGED
@@ -18,3 +18,4 @@ export * from './Chat.js';
18
18
  export * from './Conversation.js';
19
19
  export * from './Social.js';
20
20
  export * from './Report.js';
21
+ export * from './Connection.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qrush/types",
3
- "version": "2.1.64",
3
+ "version": "2.1.66",
4
4
  "description": "Shared TypeScript types for the QRush ecosystem",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -148,6 +148,12 @@
148
148
  "react-native": "./dist/RemoteConfig.js",
149
149
  "import": "./dist/RemoteConfig.js",
150
150
  "require": "./dist/RemoteConfig.js"
151
+ },
152
+ "./Connection": {
153
+ "types": "./dist/Connection.d.ts",
154
+ "react-native": "./dist/Connection.js",
155
+ "import": "./dist/Connection.js",
156
+ "require": "./dist/Connection.js"
151
157
  }
152
158
  }
153
159
  }