@timardex/cluemart-shared 1.3.1 → 1.3.12

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/index.cjs CHANGED
@@ -46,6 +46,8 @@ __export(index_exports, {
46
46
  EnumOSPlatform: () => EnumOSPlatform,
47
47
  EnumPartnerType: () => EnumPartnerType,
48
48
  EnumPaymentMethod: () => EnumPaymentMethod,
49
+ EnumPostContentType: () => EnumPostContentType,
50
+ EnumPostType: () => EnumPostType,
49
51
  EnumRegions: () => EnumRegions,
50
52
  EnumRelationResource: () => EnumRelationResource,
51
53
  EnumResourceType: () => EnumResourceType,
@@ -134,6 +136,7 @@ __export(index_exports, {
134
136
  useCreateEvent: () => useCreateEvent,
135
137
  useCreateEventInfo: () => useCreateEventInfo,
136
138
  useCreatePartner: () => useCreatePartner,
139
+ useCreatePost: () => useCreatePost,
137
140
  useCreatePoster: () => useCreatePoster,
138
141
  useCreatePushToken: () => useCreatePushToken,
139
142
  useCreateRelation: () => useCreateRelation,
@@ -148,6 +151,7 @@ __export(index_exports, {
148
151
  useDeleteEvent: () => useDeleteEvent,
149
152
  useDeleteNotification: () => useDeleteNotification,
150
153
  useDeletePartner: () => useDeletePartner,
154
+ useDeletePost: () => useDeletePost,
151
155
  useDeleteRelation: () => useDeleteRelation,
152
156
  useDeleteTester: () => useDeleteTester,
153
157
  useDeleteUser: () => useDeleteUser,
@@ -170,6 +174,9 @@ __export(index_exports, {
170
174
  useGetPartner: () => useGetPartner,
171
175
  useGetPartners: () => useGetPartners,
172
176
  useGetPartnersByRegion: () => useGetPartnersByRegion,
177
+ useGetPost: () => useGetPost,
178
+ useGetPosts: () => useGetPosts,
179
+ useGetPostsByType: () => useGetPostsByType,
173
180
  useGetRelation: () => useGetRelation,
174
181
  useGetRelationByEventAndVendor: () => useGetRelationByEventAndVendor,
175
182
  useGetResourceActivities: () => useGetResourceActivities,
@@ -197,6 +204,7 @@ __export(index_exports, {
197
204
  useMarkAllNotificationsRead: () => useMarkAllNotificationsRead,
198
205
  useMarkNotificationRead: () => useMarkNotificationRead,
199
206
  usePartnerForm: () => usePartnerForm,
207
+ usePostform: () => usePostform,
200
208
  useRefreshToken: () => useRefreshToken,
201
209
  useRegister: () => useRegister,
202
210
  useRegisterForm: () => useRegisterForm,
@@ -219,6 +227,7 @@ __export(index_exports, {
219
227
  useUpdateEvent: () => useUpdateEvent,
220
228
  useUpdateEventInfo: () => useUpdateEventInfo,
221
229
  useUpdatePartner: () => useUpdatePartner,
230
+ useUpdatePost: () => useUpdatePost,
222
231
  useUpdateRelation: () => useUpdateRelation,
223
232
  useUpdateSubscriptionPlan: () => useUpdateSubscriptionPlan,
224
233
  useUpdateTester: () => useUpdateTester,
@@ -5290,6 +5299,154 @@ var useSearchPartners = (search, region) => {
5290
5299
  return { error, loading, partnersSearch, refetch };
5291
5300
  };
5292
5301
 
5302
+ // src/graphql/hooks/post/hooksMutation.ts
5303
+ var import_client61 = require("@apollo/client");
5304
+
5305
+ // src/graphql/mutations/post.ts
5306
+ var import_client60 = require("@apollo/client");
5307
+
5308
+ // src/graphql/queries/post.ts
5309
+ var import_client59 = require("@apollo/client");
5310
+ var POST_CONTENT_DATA_FIELDS_FRAGMENT = import_client59.gql`
5311
+ fragment PostContentDataFields on PostContentData {
5312
+ cover {
5313
+ ...ResourceImageFields
5314
+ }
5315
+ textarea {
5316
+ title
5317
+ data
5318
+ }
5319
+ images {
5320
+ ...ResourceImageFields
5321
+ }
5322
+ video {
5323
+ source
5324
+ title
5325
+ }
5326
+ list {
5327
+ title
5328
+ items
5329
+ }
5330
+ }
5331
+ ${RESOURCE_IMAGE_FIELDS_FRAGMENT}
5332
+ `;
5333
+ var POST_CONTENT_FIELDS_FRAGMENT = import_client59.gql`
5334
+ fragment PostContentFields on PostContentType {
5335
+ _id
5336
+ contentData {
5337
+ ...PostContentDataFields
5338
+ }
5339
+ contentOrder
5340
+ contentType
5341
+ }
5342
+ ${POST_CONTENT_DATA_FIELDS_FRAGMENT}
5343
+ `;
5344
+ var POST_FIELDS_FRAGMENT = import_client59.gql`
5345
+ fragment PostFields on PostType {
5346
+ _id
5347
+ content {
5348
+ ...PostContentFields
5349
+ }
5350
+ postType
5351
+ tags
5352
+ title
5353
+ createdAt
5354
+ updatedAt
5355
+ }
5356
+ ${POST_CONTENT_FIELDS_FRAGMENT}
5357
+ `;
5358
+ var GET_POSTS = import_client59.gql`
5359
+ query getPosts {
5360
+ posts {
5361
+ ...PostFields
5362
+ }
5363
+ }
5364
+ ${POST_FIELDS_FRAGMENT}
5365
+ `;
5366
+ var GET_POST = import_client59.gql`
5367
+ query getPost($postId: ID!) {
5368
+ post(postId: $postId) {
5369
+ ...PostFields
5370
+ }
5371
+ }
5372
+ ${POST_FIELDS_FRAGMENT}
5373
+ `;
5374
+ var GET_POSTS_BY_TYPE = import_client59.gql`
5375
+ query getPostsByType($postType: PostTypeEnum!) {
5376
+ postsByType(postType: $postType) {
5377
+ ...PostFields
5378
+ }
5379
+ }
5380
+ ${POST_FIELDS_FRAGMENT}
5381
+ `;
5382
+
5383
+ // src/graphql/mutations/post.ts
5384
+ var CREATE_POST_MUTATION = import_client60.gql`
5385
+ mutation createPost($input: PostInputType!) {
5386
+ createPost(input: $input) {
5387
+ ...PostFields
5388
+ }
5389
+ }
5390
+ ${POST_FIELDS_FRAGMENT}
5391
+ `;
5392
+ var UPDATE_POST_MUTATION = import_client60.gql`
5393
+ mutation updatePost($_id: ID!, $input: PostInputType!) {
5394
+ updatePost(_id: $_id, input: $input) {
5395
+ ...PostFields
5396
+ }
5397
+ }
5398
+ ${POST_FIELDS_FRAGMENT}
5399
+ `;
5400
+ var DELETE_POST_MUTATION = import_client60.gql`
5401
+ mutation deletePost($_id: ID!) {
5402
+ deletePost(_id: $_id)
5403
+ }
5404
+ `;
5405
+
5406
+ // src/graphql/hooks/post/hooksMutation.ts
5407
+ var useCreatePost = () => {
5408
+ const [createPost, { loading, error }] = (0, import_client61.useMutation)(CREATE_POST_MUTATION, {
5409
+ awaitRefetchQueries: true,
5410
+ refetchQueries: [{ query: GET_POSTS }]
5411
+ });
5412
+ return { createPost, error, loading };
5413
+ };
5414
+ var useUpdatePost = () => {
5415
+ const [updatePost, { loading, error }] = (0, import_client61.useMutation)(UPDATE_POST_MUTATION, {
5416
+ awaitRefetchQueries: true,
5417
+ refetchQueries: [{ query: GET_POSTS }]
5418
+ });
5419
+ return { error, loading, updatePost };
5420
+ };
5421
+ var useDeletePost = () => {
5422
+ const [deletePost, { loading, error }] = (0, import_client61.useMutation)(DELETE_POST_MUTATION, {
5423
+ awaitRefetchQueries: true,
5424
+ refetchQueries: [{ query: GET_POSTS }]
5425
+ });
5426
+ return { deletePost, error, loading };
5427
+ };
5428
+
5429
+ // src/graphql/hooks/post/hooksQuery.ts
5430
+ var import_client62 = require("@apollo/client");
5431
+ var useGetPosts = () => {
5432
+ const { data, loading, error, refetch } = (0, import_client62.useQuery)(GET_POSTS);
5433
+ return { error, loading, posts: data?.posts || [], refetch };
5434
+ };
5435
+ var useGetPost = (postId) => {
5436
+ const { data, loading, error, refetch } = (0, import_client62.useQuery)(GET_POST, {
5437
+ skip: !postId,
5438
+ variables: { postId }
5439
+ });
5440
+ return { error, loading, post: data?.post || null, refetch };
5441
+ };
5442
+ var useGetPostsByType = (postType) => {
5443
+ const { data, loading, error, refetch } = (0, import_client62.useQuery)(GET_POSTS_BY_TYPE, {
5444
+ skip: !postType,
5445
+ variables: { postType }
5446
+ });
5447
+ return { error, loading, postsByType: data?.postsByType || [], refetch };
5448
+ };
5449
+
5293
5450
  // src/hooks/useLocationSearch.ts
5294
5451
  var handleApiError = (error, message) => {
5295
5452
  console.error(message, error);
@@ -5942,6 +6099,87 @@ var partnerSchema = globalResourceSchema.shape({
5942
6099
  partnerType: yup8.mixed().oneOf(Object.values(EnumPartnerType)).required("Please select a Partner type")
5943
6100
  });
5944
6101
 
6102
+ // src/yupSchema/post.ts
6103
+ var yup9 = __toESM(require("yup"));
6104
+
6105
+ // src/types/post.ts
6106
+ var EnumPostType = /* @__PURE__ */ ((EnumPostType2) => {
6107
+ EnumPostType2["DAILY_MEETS"] = "daily_meets";
6108
+ EnumPostType2["DAILY_TIPS"] = "daily_tips";
6109
+ EnumPostType2["DAILY_POLL"] = "daily_poll";
6110
+ return EnumPostType2;
6111
+ })(EnumPostType || {});
6112
+ var EnumPostContentType = /* @__PURE__ */ ((EnumPostContentType2) => {
6113
+ EnumPostContentType2["COVER"] = "cover";
6114
+ EnumPostContentType2["IMAGE"] = "image";
6115
+ EnumPostContentType2["LIST"] = "list";
6116
+ EnumPostContentType2["TEXTAREA"] = "textarea";
6117
+ EnumPostContentType2["VIDEO"] = "video";
6118
+ return EnumPostContentType2;
6119
+ })(EnumPostContentType || {});
6120
+
6121
+ // src/yupSchema/post.ts
6122
+ var coverContentSchema = yup9.object({
6123
+ cover: yup9.object({
6124
+ source: yup9.string().required("Cover source is required"),
6125
+ title: yup9.string().required("Cover title is required")
6126
+ }).required()
6127
+ });
6128
+ var textareaContentSchema = yup9.object({
6129
+ textarea: yup9.object({
6130
+ data: yup9.string().required("Textarea content is required"),
6131
+ title: yup9.string().optional()
6132
+ }).required()
6133
+ });
6134
+ var imagesContentSchema = yup9.object({
6135
+ images: yup9.array().of(
6136
+ yup9.object({
6137
+ source: yup9.string().required("Image source is required"),
6138
+ title: yup9.string().required("Image title is required")
6139
+ })
6140
+ ).nullable()
6141
+ });
6142
+ var videoContentSchema = yup9.object({
6143
+ video: yup9.object({
6144
+ source: yup9.string().required("Video source is required"),
6145
+ title: yup9.string().optional()
6146
+ }).required()
6147
+ });
6148
+ var listContentSchema = yup9.object({
6149
+ list: yup9.object({
6150
+ items: yup9.array().of(yup9.string().required()).min(1, "List must contain at least one item").required(),
6151
+ title: yup9.string().optional()
6152
+ }).required()
6153
+ });
6154
+ var contentDataSchema = yup9.lazy((_, options) => {
6155
+ const contentType = options.parent?.contentType;
6156
+ switch (contentType) {
6157
+ case "cover" /* COVER */:
6158
+ return coverContentSchema;
6159
+ case "textarea" /* TEXTAREA */:
6160
+ return textareaContentSchema;
6161
+ case "image" /* IMAGE */:
6162
+ return imagesContentSchema;
6163
+ case "video" /* VIDEO */:
6164
+ return videoContentSchema;
6165
+ case "list" /* LIST */:
6166
+ return listContentSchema;
6167
+ default:
6168
+ return yup9.mixed().required();
6169
+ }
6170
+ });
6171
+ var postContentSchema = yup9.object().shape({
6172
+ contentData: contentDataSchema,
6173
+ contentOrder: yup9.number().min(0).required(),
6174
+ contentType: yup9.mixed().oneOf(Object.values(EnumPostContentType)).required()
6175
+ });
6176
+ var postSchema = yup9.object().shape({
6177
+ content: yup9.array().of(postContentSchema).required(),
6178
+ postType: yup9.mixed().oneOf(Object.values(EnumPostType)).required(),
6179
+ tags: yup9.array().of(yup9.string()).nullable().optional(),
6180
+ title: yup9.string().required()
6181
+ });
6182
+
5945
6183
  // src/hooks/utils.ts
5946
6184
  var defaultLocation = {
5947
6185
  city: "",
@@ -6739,12 +6977,12 @@ var import_react2 = __toESM(require("react"));
6739
6977
  var import_react_hook_form12 = require("react-hook-form");
6740
6978
 
6741
6979
  // src/yupSchema/contactUs.ts
6742
- var yup9 = __toESM(require("yup"));
6743
- var contactUsSchema = yup9.object().shape({
6980
+ var yup10 = __toESM(require("yup"));
6981
+ var contactUsSchema = yup10.object().shape({
6744
6982
  email: emailRequiredSchema,
6745
- firstName: yup9.string().label("First Name").required("First name is required"),
6746
- lastName: yup9.string().label("Last Name").required("Last name is required"),
6747
- message: yup9.string().label("Message").required("Message is required")
6983
+ firstName: yup10.string().label("First Name").required("First name is required"),
6984
+ lastName: yup10.string().label("Last Name").required("Last name is required"),
6985
+ message: yup10.string().label("Message").required("Message is required")
6748
6986
  });
6749
6987
 
6750
6988
  // src/hooks/useContactUsForm.ts
@@ -6992,6 +7230,58 @@ function usePartnerForm(data) {
6992
7230
  };
6993
7231
  }
6994
7232
 
7233
+ // src/hooks/usePostForm.ts
7234
+ var import_yup15 = require("@hookform/resolvers/yup");
7235
+ var import_react4 = __toESM(require("react"));
7236
+ var import_react_hook_form15 = require("react-hook-form");
7237
+ var defaultValues10 = {
7238
+ content: [],
7239
+ postType: "daily_meets" /* DAILY_MEETS */,
7240
+ tags: [],
7241
+ title: ""
7242
+ };
7243
+ function usePostform(data) {
7244
+ const {
7245
+ control,
7246
+ formState: { errors },
7247
+ getValues,
7248
+ handleSubmit,
7249
+ reset,
7250
+ setValue,
7251
+ watch
7252
+ } = (0, import_react_hook_form15.useForm)({
7253
+ defaultValues: defaultValues10,
7254
+ resolver: (0, import_yup15.yupResolver)(postSchema)
7255
+ });
7256
+ import_react4.default.useEffect(() => {
7257
+ if (data) {
7258
+ reset({
7259
+ content: data.content,
7260
+ postType: data.postType,
7261
+ tags: data.tags,
7262
+ title: data.title
7263
+ });
7264
+ } else {
7265
+ reset(defaultValues10);
7266
+ }
7267
+ }, [data]);
7268
+ const { content, postType, tags, title } = getValues();
7269
+ return {
7270
+ control,
7271
+ fields: {
7272
+ content,
7273
+ postType,
7274
+ tags,
7275
+ title
7276
+ },
7277
+ formState: { errors },
7278
+ handleSubmit,
7279
+ reset,
7280
+ setValue,
7281
+ watch
7282
+ };
7283
+ }
7284
+
6995
7285
  // src/storage/index.ts
6996
7286
  var SAVED_PASSWORD_KEY = "savedPassword";
6997
7287
  var SAVED_EMAIL_KEY = "savedEmail";
@@ -7064,6 +7354,8 @@ var EnumActivity = /* @__PURE__ */ ((EnumActivity2) => {
7064
7354
  EnumOSPlatform,
7065
7355
  EnumPartnerType,
7066
7356
  EnumPaymentMethod,
7357
+ EnumPostContentType,
7358
+ EnumPostType,
7067
7359
  EnumRegions,
7068
7360
  EnumRelationResource,
7069
7361
  EnumResourceType,
@@ -7152,6 +7444,7 @@ var EnumActivity = /* @__PURE__ */ ((EnumActivity2) => {
7152
7444
  useCreateEvent,
7153
7445
  useCreateEventInfo,
7154
7446
  useCreatePartner,
7447
+ useCreatePost,
7155
7448
  useCreatePoster,
7156
7449
  useCreatePushToken,
7157
7450
  useCreateRelation,
@@ -7166,6 +7459,7 @@ var EnumActivity = /* @__PURE__ */ ((EnumActivity2) => {
7166
7459
  useDeleteEvent,
7167
7460
  useDeleteNotification,
7168
7461
  useDeletePartner,
7462
+ useDeletePost,
7169
7463
  useDeleteRelation,
7170
7464
  useDeleteTester,
7171
7465
  useDeleteUser,
@@ -7188,6 +7482,9 @@ var EnumActivity = /* @__PURE__ */ ((EnumActivity2) => {
7188
7482
  useGetPartner,
7189
7483
  useGetPartners,
7190
7484
  useGetPartnersByRegion,
7485
+ useGetPost,
7486
+ useGetPosts,
7487
+ useGetPostsByType,
7191
7488
  useGetRelation,
7192
7489
  useGetRelationByEventAndVendor,
7193
7490
  useGetResourceActivities,
@@ -7215,6 +7512,7 @@ var EnumActivity = /* @__PURE__ */ ((EnumActivity2) => {
7215
7512
  useMarkAllNotificationsRead,
7216
7513
  useMarkNotificationRead,
7217
7514
  usePartnerForm,
7515
+ usePostform,
7218
7516
  useRefreshToken,
7219
7517
  useRegister,
7220
7518
  useRegisterForm,
@@ -7237,6 +7535,7 @@ var EnumActivity = /* @__PURE__ */ ((EnumActivity2) => {
7237
7535
  useUpdateEvent,
7238
7536
  useUpdateEventInfo,
7239
7537
  useUpdatePartner,
7538
+ useUpdatePost,
7240
7539
  useUpdateRelation,
7241
7540
  useUpdateSubscriptionPlan,
7242
7541
  useUpdateTester,