robbyson-frontend-library 0.0.1-rc11 → 0.0.1-rc13

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.
Files changed (140) hide show
  1. package/dist/components/circular-general-level/circular-general-level.interface.js +1 -0
  2. package/dist/components/circular-indicator-goal/circular-indicator-goal.interface.js +1 -0
  3. package/dist/components/circular-progress/circular-progress.interface.js +1 -0
  4. package/dist/components/daily-chart/daily-chart.interface.js +1 -0
  5. package/dist/components/dropdown/dropdown.interface.js +1 -0
  6. package/dist/components/insight-chart/insight-chart.interface.js +1 -0
  7. package/dist/components/mountain-chart/mountain-chart.interface.js +1 -0
  8. package/dist/components/pages/base-app-page.component.js +11 -1
  9. package/dist/components/result-chart/result-chart.interface.js +1 -0
  10. package/dist/components/text-area/text-area.interface.js +1 -0
  11. package/dist/components/weekly-chart/weekly-chart.interface.js +1 -0
  12. package/dist/index.js +10 -2
  13. package/dist/models/agenda-invited-users.model.js +24 -0
  14. package/dist/models/agenda.model.js +36 -0
  15. package/dist/models/chat.model.js +11 -0
  16. package/dist/models/friendship-team-list.model.js +1 -0
  17. package/dist/models/quiz-answered.model.js +24 -0
  18. package/dist/models/quiz-not-answered.model.js +24 -0
  19. package/dist/models/quiz.model.js +24 -0
  20. package/dist/models/theme-base.js +8 -0
  21. package/dist/models/user-list.model.js +24 -0
  22. package/dist/models/user.model.js +24 -0
  23. package/dist/repositories/agenda.repository.interface.js +1 -0
  24. package/dist/repositories/chat.repository.interface.js +1 -0
  25. package/dist/repositories/configuration.repository.interface.js +1 -0
  26. package/dist/repositories/friendship.repository.interface.js +1 -0
  27. package/dist/repositories/quiz.repository.interface.js +1 -0
  28. package/dist/services/agenda.service.interface.js +1 -0
  29. package/dist/services/chat.service.interface.js +1 -0
  30. package/dist/services/dtos/agenda.dto.js +1 -0
  31. package/dist/services/dtos/chat.dto.js +1 -0
  32. package/dist/services/dtos/friendship.dto.js +1 -0
  33. package/dist/services/dtos/index.js +5 -0
  34. package/dist/services/dtos/quiz.dto.js +1 -0
  35. package/dist/services/dtos/user.dto.js +1 -0
  36. package/dist/services/friendship.service.interface.js +1 -0
  37. package/dist/services/quiz.service.interface.js +1 -0
  38. package/dist/utils/index.js +2 -0
  39. package/dist/utils/timer.utils.js +22 -0
  40. package/index.d.ts +15 -1
  41. package/package.json +3 -2
  42. package/src/components/basic-button/basic-button.interface.ts +0 -1
  43. package/src/components/checkbox/checkbox.interface.ts +2 -0
  44. package/src/components/circular-general-level/circular-general-level.interface.ts +13 -0
  45. package/src/components/circular-general-level/circular-general-level.types.d.ts +9 -0
  46. package/src/components/circular-general-level/index.d.ts +1 -0
  47. package/src/components/circular-indicator-goal/circular-indicator-goal.interface.ts +13 -0
  48. package/src/components/circular-indicator-goal/circular-indicator-goal.types.d.ts +9 -0
  49. package/src/components/circular-indicator-goal/index.d.ts +1 -0
  50. package/src/components/circular-progress/circular-progress.interface.ts +12 -0
  51. package/src/components/circular-progress/circular-progress.types.d.ts +9 -0
  52. package/src/components/circular-progress/index.d.ts +1 -0
  53. package/src/components/daily-chart/daily-chart.interface.ts +22 -0
  54. package/src/components/daily-chart/daily-chart.types.d.ts +9 -0
  55. package/src/components/daily-chart/index.d.ts +1 -0
  56. package/src/components/date-picker/date-picker.interface.ts +4 -2
  57. package/src/components/dropdown/dropdown.interface.ts +52 -0
  58. package/src/components/dropdown/dropdown.types.d.ts +9 -0
  59. package/src/components/dropdown/index.d.ts +1 -0
  60. package/src/components/filter/filter.interface.tsx +1 -1
  61. package/src/components/header-context-menu/header-context-menu.interface.ts +1 -1
  62. package/src/components/icon-button/icon-button.interface.ts +1 -1
  63. package/src/components/insight-chart/index.d.ts +1 -0
  64. package/src/components/insight-chart/insight-chart.interface.ts +23 -0
  65. package/src/components/insight-chart/insight-chart.types.d.ts +9 -0
  66. package/src/components/mountain-chart/index.d.ts +1 -0
  67. package/src/components/mountain-chart/mountain-chart.interface.ts +11 -0
  68. package/src/components/mountain-chart/mountain-chart.types.d.ts +9 -0
  69. package/src/components/pages/base-app-page.component.tsx +11 -2
  70. package/src/components/pagination/pagination.interface.ts +3 -0
  71. package/src/components/primary-tag/index.d.ts +1 -0
  72. package/src/components/primary-tag/primary-tag.interface.ts +21 -0
  73. package/src/components/primary-tag/primary-tag.types.d.ts +9 -0
  74. package/src/components/profile-image/profile-image.interface.ts +1 -1
  75. package/src/components/progress-bar/progress-bar.interface.ts +15 -5
  76. package/src/components/progress-bar/progress-bar.types.d.ts +1 -1
  77. package/src/components/result-chart/index.d.ts +1 -0
  78. package/src/components/result-chart/result-chart.interface.ts +25 -0
  79. package/src/components/result-chart/result-chart.types.d.ts +9 -0
  80. package/src/components/scroll-box/scroll-box.interface.ts +3 -1
  81. package/src/components/tab/tab.interface.ts +1 -0
  82. package/src/components/tag/index.d.ts +1 -0
  83. package/src/components/tag/tag.interface.ts +8 -0
  84. package/src/components/tag/tag.types.d.ts +9 -0
  85. package/src/components/tag-expand/tag-expand.interface.ts +1 -0
  86. package/src/components/text-area/index.d.ts +1 -0
  87. package/src/components/text-area/text-area.interface.ts +3 -0
  88. package/src/components/text-area/text-area.types.d.ts +9 -0
  89. package/src/components/text-field/text-field.interface.ts +11 -2
  90. package/src/components/timer/timer.interface.ts +1 -2
  91. package/src/components/toggle-icon-button/toggle-icon-button.interface.ts +0 -3
  92. package/src/components/tooltip/tooltip.interface.ts +20 -13
  93. package/src/components/weekly-chart/index.d.ts +1 -0
  94. package/src/components/weekly-chart/weekly-chart.interface.ts +22 -0
  95. package/src/components/weekly-chart/weekly-chart.types.d.ts +9 -0
  96. package/src/index.ts +13 -3
  97. package/src/models/agenda-invited-users.model.ts +37 -0
  98. package/src/models/agenda.model.ts +31 -0
  99. package/src/models/chat.model.ts +28 -0
  100. package/src/models/friendship-team-list.model.ts +47 -0
  101. package/src/models/index.d.ts +9 -0
  102. package/src/models/quiz-answered.model.ts +28 -0
  103. package/src/models/quiz-not-answered.model.ts +5 -0
  104. package/src/models/quiz.model.ts +55 -0
  105. package/src/models/theme-base.ts +293 -76
  106. package/src/models/user-list.model.ts +26 -0
  107. package/src/models/user.model.ts +21 -0
  108. package/src/repositories/agenda.repository.interface.ts +26 -0
  109. package/src/repositories/chat.repository.interface.ts +10 -0
  110. package/src/repositories/configuration.repository.interface.ts +5 -0
  111. package/src/repositories/friendship.repository.interface.ts +6 -0
  112. package/src/repositories/index.d.ts +12 -7
  113. package/src/repositories/quiz.repository.interface.ts +14 -0
  114. package/src/repositories/user.repository.interface.ts +9 -3
  115. package/src/services/agenda.service.interface.ts +39 -0
  116. package/src/services/angel-friend.service.interface.ts +1 -1
  117. package/src/services/chat.service.interface.ts +12 -0
  118. package/src/services/dtos/agenda.dto.ts +38 -0
  119. package/src/services/dtos/chat.dto.ts +24 -0
  120. package/src/services/dtos/friendship.dto.ts +6 -0
  121. package/src/services/dtos/index.ts +6 -1
  122. package/src/services/dtos/quiz.dto.ts +10 -0
  123. package/src/services/dtos/user.dto.ts +24 -0
  124. package/src/services/friendship.service.interface.ts +6 -0
  125. package/src/services/index.d.ts +6 -1
  126. package/src/services/quiz.service.interface.ts +16 -0
  127. package/src/services/theme.service.interface.ts +1 -1
  128. package/src/services/tree.service.interface.ts +4 -0
  129. package/src/services/user.service.interface.ts +12 -7
  130. package/src/services/validations.service.interface.ts +1 -0
  131. package/src/states/main-container/root-app.state.interface.ts +29 -18
  132. package/src/types/index.ts +1 -0
  133. package/src/types/tree/index.ts +1 -0
  134. package/src/types/tree/tree.types.ts +31 -0
  135. package/src/utils/date.utils.ts +39 -0
  136. package/src/utils/index.ts +3 -1
  137. package/src/utils/timer.utils.ts +19 -0
  138. package/src/components/tags/index.d.ts +0 -1
  139. package/src/components/tags/tags.interface.ts +0 -17
  140. package/src/components/tags/tags.types.d.ts +0 -9
@@ -0,0 +1,26 @@
1
+ import { AgendaModel } from "../models";
2
+ import { AgendaDTO } from "../services";
3
+
4
+ export interface IAgendaRepository {
5
+ getUserAppointments(params: {
6
+ start: string;
7
+ end: string;
8
+ }): Promise<AgendaModel[]>;
9
+
10
+ getAppointmentDetails(params: { id: string }): Promise<AgendaModel>;
11
+
12
+ confirmParticipation(
13
+ params: { id: string },
14
+ body: {
15
+ confirmation: AgendaModel["confirmation"];
16
+ }
17
+ ): Promise<void>;
18
+
19
+ cancelAppointment(params: { id: string }): Promise<void>;
20
+
21
+ insertAppointment(
22
+ params: AgendaDTO.IInsertAppointmentDTO
23
+ ): Promise<string>;
24
+
25
+ updateAppointment(params: AgendaDTO.IUpdateAppointmentDTO): Promise<void>;
26
+ }
@@ -0,0 +1,10 @@
1
+ import { ChatModel } from "../models";
2
+ import { ChatDTO, UserDTO } from "../services";
3
+
4
+ export interface IChatRepository {
5
+ getConversations(params: ChatDTO.IGetConversationDTO): Promise<ChatModel[]>;
6
+ createConversation(params: ChatDTO.ICreateConversationDTO): Promise<ChatModel>;
7
+ addUsersToConversation(conversationId: string, users: UserDTO.GetUserDTO[]): Promise<void>;
8
+ deleteConversation(conversationId: string): Promise<void>;
9
+ removeUserFromConversation(conversationId: string, robbysonUserId: number): Promise<void>;
10
+ }
@@ -0,0 +1,5 @@
1
+ export interface IConfigurationRepository {
2
+ getResizableImageURL(imageName: string, dimension: number): string;
3
+ getOriginalImageURL(imageName: string): string;
4
+ getBaseURL(): string;
5
+ }
@@ -0,0 +1,6 @@
1
+ import { FriendShipTeamListModel } from "../models";
2
+ import { FriendshipDTO } from "../services";
3
+
4
+ export interface IFriendshipRepository {
5
+ getTeamList(params: FriendshipDTO.IGetTeamListDTO): Promise<FriendShipTeamListModel[]>;
6
+ }
@@ -1,10 +1,15 @@
1
- export * from './authentication.repository.interface';
2
- export * from './locale.repository.interface';
3
- export * from './theme.repository.interface';
4
- export * from './results.repository.interface';
5
- export * from './angel-friend.repository.interface';
6
- export * from './user.repository.interface';
1
+ export * from "./authentication.repository.interface";
2
+ export * from "./locale.repository.interface";
3
+ export * from "./theme.repository.interface";
4
+ export * from "./results.repository.interface";
5
+ export * from "./angel-friend.repository.interface";
6
+ export * from "./user.repository.interface";
7
7
  export * from "./terms-of-use.repository.interface";
8
+ export * from "./agenda.repository.interface";
9
+ export * from "./chat.repository.interface";
10
+ export * from "./friendship.repository.interface";
8
11
  export * from "./guidance.repository.interface";
9
12
  export * from "./humor.repository.interface";
10
- export * from "./document.repository.interface";
13
+ export * from "./document.repository.interface";
14
+ export * from "./quiz.repository.interface";
15
+ export * from "./configuration.repository.interface";
@@ -0,0 +1,14 @@
1
+ import { QuizDTO } from "../services";
2
+ import { QuizAnsweredModel, QuizModel, QuizNotAnsweredModel } from "../models";
3
+
4
+ export interface IQuizRepository {
5
+ getQuizById(quizId: string): Promise<QuizModel>;
6
+ setRefusedQuiz(quizId: string): Promise<void>;
7
+ setAnsweredQuiz(
8
+ quizId: string,
9
+ body: QuizDTO.QuestionAnswerDTO
10
+ ): Promise<void>;
11
+ getQuizzesToBeAnsweredLater(): Promise<QuizModel[]>;
12
+ getNotAnsweredQuizzes(): Promise<QuizNotAnsweredModel[]>;
13
+ getAnsweredQuizzes(): Promise<QuizAnsweredModel[]>;
14
+ }
@@ -1,7 +1,11 @@
1
- import { UserMirrorModel } from "../models";
1
+ import { UserDTO } from "../services";
2
+ import { UserListModel, UserMirrorModel, UserModel } from "../models";
2
3
 
3
4
  export interface IUserRepository {
4
- getRobbysonUser(body: {
5
+
6
+ getUser(id: number): Promise<UserModel>;
7
+
8
+ getUsers(body: {
5
9
  filter: {
6
10
  robbyson_user_id: number[],
7
11
  },
@@ -10,6 +14,8 @@ export interface IUserRepository {
10
14
  },
11
15
  }): Promise<any>;
12
16
 
13
- getUserMirror(_id: number): Promise<UserMirrorModel>;
17
+ getUserMirror(id: number): Promise<UserMirrorModel>;
18
+
19
+ getUserList(params: UserDTO.IGetUserListDTO): Promise<UserListModel[]>;
14
20
 
15
21
  }
@@ -0,0 +1,39 @@
1
+ import {
2
+ AgendaModel,
3
+ ChatModel,
4
+ UserListModel,
5
+ FriendShipTeamListModel,
6
+ } from "../models";
7
+ import { AgendaDTO } from "./dtos";
8
+
9
+ export interface IAgendaService {
10
+ getUserAppointments(
11
+ start: string,
12
+ end: string
13
+ ): Promise<AgendaModel[]>;
14
+
15
+ getAppointmentDetails(id: string): Promise<AgendaModel>;
16
+
17
+ confirmParticipation(
18
+ id: string,
19
+ body: {
20
+ confirmation: AgendaModel["confirmation"];
21
+ }
22
+ ): Promise<void>;
23
+
24
+ cancelAppointment(id: string): Promise<void>;
25
+
26
+ insertAppointment(params: AgendaDTO.IInsertAppointmentDTO): Promise<string>;
27
+
28
+ updateAppointment(params: AgendaDTO.IUpdateAppointmentDTO): Promise<void>;
29
+
30
+ getUsersByName(name: string): Promise<UserListModel[]>;
31
+
32
+ getUsersByIdentification(identification: string): Promise<UserListModel[]>;
33
+
34
+ getTeamByName(search: string): Promise<FriendShipTeamListModel[]>;
35
+
36
+ getGroupsByName(name: string): Promise<ChatModel[]>;
37
+
38
+ createOrGetConversation(params: AgendaDTO.ICreateOrGetConversationDTO): Promise<ChatModel>;
39
+ }
@@ -1,3 +1,3 @@
1
1
  export interface IAngelFriendService {
2
- getAngelFriendStatus(_id: number): Promise<void>;
2
+
3
3
  }
@@ -0,0 +1,12 @@
1
+ import { ChatModel } from "../models";
2
+ import { ChatDTO, UserDTO } from "./dtos";
3
+
4
+ export interface IChatService {
5
+ getConversations(
6
+ parameters: ChatDTO.IGetConversationDTO
7
+ ): Promise<ChatModel[]>;
8
+ createConversation(parameters: ChatDTO.ICreateConversationDTO): Promise<ChatModel>;
9
+ addUsersToConversation(conversationId: string, users: UserDTO.GetUserDTO[]): Promise<void>;
10
+ deleteConversation(conversationId: string): Promise<void>;
11
+ removeUserFromConversation(conversationId: string, robbysonUserId: number): Promise<void>;
12
+ }
@@ -0,0 +1,38 @@
1
+ import { AgendaModel } from "../../models";
2
+
3
+ export interface IInsertAppointmentDTO {
4
+ title: AgendaModel["title"];
5
+ start: AgendaModel["start"];
6
+ end: AgendaModel["end"];
7
+ conversation_id: AgendaModel["conversation_id"];
8
+ daysOfWeek: AgendaModel["daysOfWeek"];
9
+ description: AgendaModel["description"];
10
+ recurrence: AgendaModel["recurrence"];
11
+ status: AgendaModel["status"];
12
+ type: AgendaModel["type"];
13
+ }
14
+
15
+ export interface IUpdateAppointmentDTO extends IInsertAppointmentDTO {
16
+ _id: AgendaModel["_id"];
17
+ confirmations: {
18
+ identification: AgendaModel["confirmations"][0]["identification"];
19
+ user_id: AgendaModel["confirmations"][0]["user_id"];
20
+ robbyson_user_id: AgendaModel["confirmations"][0]["robbyson_user_id"];
21
+ name: AgendaModel["confirmations"][0]["name"];
22
+ _id?: number;
23
+ }[];
24
+ conversation_id: AgendaModel["conversation_id"];
25
+ owner_identification: AgendaModel["owner_identification"];
26
+ }
27
+
28
+ export interface ICreateOrGetConversationDTO {
29
+ name?: string;
30
+ admin?: boolean;
31
+ type: "chat" | "group";
32
+ user: {
33
+ identification: string;
34
+ robbyson_user_id: number;
35
+ user_id: number;
36
+ name: string;
37
+ }[];
38
+ }
@@ -0,0 +1,24 @@
1
+ import { GetUserDTO } from "./user.dto";
2
+
3
+ export interface IGetConversationDTO {
4
+ page?: number;
5
+ per?: number;
6
+ search?: string;
7
+ name?: string;
8
+ identification?: string;
9
+ classification?: string;
10
+ favorite?: boolean;
11
+ type?: ConversationType;
12
+ }
13
+
14
+ export interface ICreateConversationDTO {
15
+ name?: string;
16
+ description?: string;
17
+ type?: ConversationType;
18
+ users?: GetUserDTO[];
19
+ temporary?: boolean;
20
+ photo?: string;
21
+ admin?: boolean;
22
+ }
23
+
24
+ export type ConversationType = "chat" | "group";
@@ -0,0 +1,6 @@
1
+ export interface IGetTeamListDTO {
2
+ search: string;
3
+ page: number;
4
+ typeSearch: string;
5
+ per: number;
6
+ }
@@ -1 +1,6 @@
1
- export * as ExampleDTO from "./example.dto";
1
+ export * as ExampleDTO from "./example.dto";
2
+ export * as QuizDTO from "./quiz.dto";
3
+ export * as AgendaDTO from "./agenda.dto";
4
+ export * as ChatDTO from "./chat.dto";
5
+ export * as UserDTO from "./user.dto";
6
+ export * as FriendshipDTO from "./friendship.dto";
@@ -0,0 +1,10 @@
1
+ export type QuestionAnswerDTO = {
2
+ _id: string;
3
+ alternatives: {
4
+ _id?: string;
5
+ body?: string;
6
+ }[];
7
+ userDoesntKnow: boolean;
8
+ questionType: number;
9
+ time: number;
10
+ };
@@ -0,0 +1,24 @@
1
+ export interface GetUserDTO {
2
+ name?: string;
3
+ identification?: string;
4
+ robbyson_user_id?: number;
5
+ initial?: boolean;
6
+ active?: boolean;
7
+ deleted?: boolean;
8
+ admin?: boolean;
9
+ status?: boolean;
10
+ user_id?: number;
11
+ createdAt?: Date;
12
+ createdBy?: string;
13
+ lastUpdatedAt?: Date;
14
+ lastUpdatedBy?: string;
15
+ photo?: string;
16
+ }
17
+
18
+ export interface IGetUserListDTO {
19
+ name?: string;
20
+ identification?: string;
21
+ page?: number;
22
+ per?: number;
23
+ active?: boolean;
24
+ }
@@ -0,0 +1,6 @@
1
+ import { FriendShipTeamListModel } from "../models";
2
+ import { FriendshipDTO } from "./dtos";
3
+
4
+ export interface IFriendshipService {
5
+ getTeamList(params: FriendshipDTO.IGetTeamListDTO): Promise<FriendShipTeamListModel[]>;
6
+ }
@@ -9,4 +9,9 @@ export * from "./humor.service.interface";
9
9
  export * from "./document.service.interface";
10
10
  export * from "./guidance.service.interface";
11
11
  export * from "./validations.service.interface";
12
- export * from "./dtos";
12
+ export * from "./quiz.service.interface";
13
+ export * from "./dtos";
14
+ export * from "./agenda.service.interface";
15
+ export * from "./chat.service.interface";
16
+ export * from "./friendship.service.interface";
17
+ export * from "./tree.service.interface";
@@ -0,0 +1,16 @@
1
+ import { QuizAnsweredModel, QuizModel, QuizNotAnsweredModel } from "../models";
2
+ import { QuizDTO } from "./dtos";
3
+
4
+ export interface IQuizService {
5
+ getQuizById(quizId: string): Promise<QuizModel>;
6
+ setRefusedQuiz(quizId: string): Promise<void>;
7
+ setAnsweredQuiz(
8
+ quizId: string,
9
+ body: QuizDTO.QuestionAnswerDTO
10
+ ): Promise<void>;
11
+ getQuizzesToBeAnsweredLater(): Promise<QuizModel[]>;
12
+ getNotAnsweredQuizzes(): Promise<QuizNotAnsweredModel[]>;
13
+ getAnsweredQuizzes(): Promise<QuizAnsweredModel[]>;
14
+ getNotAnsweredQuizzesCount(): number;
15
+ getHistory(): Promise<[QuizModel[], QuizAnsweredModel[]]>;
16
+ }
@@ -2,7 +2,7 @@ import { IconHandle, ThemeBase } from "../models";
2
2
 
3
3
  export interface IThemeService {
4
4
  setApplicationTheme(contractorId?: number): Promise<Boolean>;
5
- getIconAssetUrl(iconHandle: IconHandle): string;
5
+ getIconAssetUrl(iconHandle: IconHandle | undefined): string;
6
6
  getIconsList(): readonly IconHandle[];
7
7
  getIconsPath(): string;
8
8
  getApplicationTheme(): ThemeBase| undefined;
@@ -0,0 +1,4 @@
1
+ export interface ITreeService {
2
+ setDateTree(date: any): void;
3
+ }
4
+
@@ -1,14 +1,19 @@
1
- import { UserMirrorModel } from "../models";
1
+ import { UserListModel, UserMirrorModel, UserModel } from "../models";
2
+ import { UserDTO } from "./dtos";
2
3
 
3
4
  export interface IUserService {
4
- getRobbysonUser(body: {
5
+ getUser(id: number): Promise<UserModel>;
6
+
7
+ getUsers(body: {
5
8
  filter: {
6
- robbyson_user_id: number[],
7
- },
9
+ robbyson_user_id: number[];
10
+ };
8
11
  pagination: {
9
- limit: number,
10
- },
12
+ limit: number;
13
+ };
11
14
  }): Promise<any>;
12
15
 
13
16
  getUserMirror(_id: number): Promise<UserMirrorModel>;
14
- }
17
+
18
+ getUserList(params: UserDTO.IGetUserListDTO): Promise<UserListModel[]>;
19
+ }
@@ -4,4 +4,5 @@ export interface IValidationsService {
4
4
  checkTermsOfUse(userSession: UserSessionModel | undefined): boolean;
5
5
  checkHumor(): Promise<void>;
6
6
  checkDocuments(userSession: UserSessionModel | undefined): Promise<boolean>;
7
+ checkQuiz(): Promise<boolean>;
7
8
  }
@@ -1,22 +1,33 @@
1
- import { HumorLastModel, HumorListModel, ThemeBase, UserSessionModel } from "../../models";
2
- import { BrowserHistory } from "history"
1
+ import { Week } from "../../components/tree-date-picker";
2
+
3
+ import {
4
+ HumorLastModel,
5
+ HumorListModel,
6
+ ThemeBase,
7
+ UserSessionModel,
8
+ } from "../../models";
9
+ import { BrowserHistory } from "history";
3
10
 
4
11
  export interface IRootApp {
5
- userSession?: UserSessionModel,
6
- angelFriendData?: any,
7
- ipWhiteList: boolean,
8
- isTabletOrMobile: boolean,
9
- currentLocale?: any,
10
- currentTheme: ThemeBase,
12
+ userSession?: UserSessionModel;
13
+ angelFriendData?: any;
14
+ ipWhiteList: boolean;
15
+ isTabletOrMobile: boolean;
16
+ currentLocale?: any;
17
+ currentTheme: ThemeBase;
18
+ notAnsweredQuizzesCount?: number;
11
19
  apisUrls: {
12
- private: string
13
- },
14
- hasDocumentsToAnswer: boolean | undefined,
15
- history: BrowserHistory,
20
+ private: string;
21
+ };
22
+ hasDocumentsToAnswer: boolean | undefined;
23
+ history: BrowserHistory;
16
24
  humor?: {
17
- listHumor : HumorListModel[],
18
- lastHumor : HumorLastModel[],
19
- hasRegisterMood: boolean,
20
- }
21
- createGlobalImplementations: () => void,
22
- }
25
+ listHumor: HumorListModel[];
26
+ lastHumor: HumorLastModel[];
27
+ hasRegisterMood: boolean;
28
+ };
29
+ selectedDate: Date| null,
30
+ selectedMonth: Date | null,
31
+ selectedWeek?: Week,
32
+ createGlobalImplementations: () => void;
33
+ }
@@ -0,0 +1 @@
1
+ export * from './tree';
@@ -0,0 +1 @@
1
+ export * from './tree.types';
@@ -0,0 +1,31 @@
1
+ // import { DurationInputArg1, DurationInputArg2 } from 'moment';
2
+ // import { AxiosRequestConfig } from 'axios';
3
+
4
+ export enum UnitType {
5
+ MONTHS = 'months',
6
+ WEEKS = 'weeks',
7
+ DAYS = 'days',
8
+ HOURS = 'hours',
9
+ MINUTES = 'minutes',
10
+ SECONDS = 'seconds',
11
+ }
12
+
13
+ type User = {
14
+ _id: number;
15
+ contractor_id: number;
16
+ login: string;
17
+ name: string;
18
+ robbyson_user_id: number;
19
+ system_id: number;
20
+ identification: string;
21
+ }
22
+
23
+ export type JWT = {
24
+ iat: number;
25
+ exp: number;
26
+ sub: User;
27
+ }
28
+
29
+ export enum TreeActionTypes {
30
+ SET_DATETREE = "SET_DATETREE",
31
+ }
@@ -1,6 +1,11 @@
1
1
  import _ from "lodash";
2
2
  import moment from "moment";
3
3
 
4
+ type RemainingTime = {
5
+ timeRemainingText: string;
6
+ secondsDistance: number;
7
+ };
8
+
4
9
  export class DateUtils {
5
10
  static isSameDateAsNow(date: Date): boolean {
6
11
  return moment(date).isSame(moment(new Date()), "day");
@@ -32,4 +37,38 @@ export class DateUtils {
32
37
 
33
38
  return dates;
34
39
  }
40
+
41
+ static getRemainingTimeFromNow(
42
+ compareDate: Date,
43
+ complementaryText: string
44
+ ): RemainingTime {
45
+ if (!compareDate)
46
+ return {
47
+ secondsDistance: 0,
48
+ timeRemainingText: "",
49
+ };
50
+
51
+ function formatTime(time: number, length = 2): string {
52
+ return time.toString().padStart(length, "0");
53
+ }
54
+
55
+ const diff = moment(compareDate).diff(moment(), "seconds");
56
+
57
+ const days = formatTime(Math.floor(diff / (60 * 60 * 24)), 3);
58
+ const hours = formatTime(
59
+ Math.floor((diff % (60 * 60 * 24)) / (60 * 60))
60
+ );
61
+ const minutes = formatTime(Math.floor((diff % (60 * 60)) / 60));
62
+ const seconds = formatTime(Math.floor(diff % 60));
63
+
64
+ const text =
65
+ diff < 0
66
+ ? `000 ${complementaryText} 00:00:00`
67
+ : `${days} ${complementaryText} ${hours}:${minutes}:${seconds}`;
68
+
69
+ return {
70
+ timeRemainingText: text,
71
+ secondsDistance: diff,
72
+ };
73
+ }
35
74
  }
@@ -3,4 +3,6 @@ export * from './build-error/buildError.util';
3
3
  export * from './query-params'
4
4
  export * from './cache-control'
5
5
  export * from "./robbyson-navigate";
6
- export * from "./layout.utils";
6
+ export * from "./layout.utils";
7
+ export * from "./date.utils";
8
+ export * from "./timer.utils";
@@ -0,0 +1,19 @@
1
+ export class TimerUtils {
2
+ static delay(time: number): Promise<unknown> {
3
+ return new Promise((resolve) =>
4
+ setTimeout(() => resolve(undefined), time)
5
+ );
6
+ }
7
+
8
+ static stopwatch = (function SetInterval() {
9
+ let interval: number | undefined;
10
+ return () => ({
11
+ initInterval(func: TimerHandler, time: number) {
12
+ interval = setInterval(func, time);
13
+ },
14
+ clearInterval() {
15
+ clearInterval(interval);
16
+ },
17
+ });
18
+ })();
19
+ }
@@ -1 +0,0 @@
1
- export * from './tags.interface';
@@ -1,17 +0,0 @@
1
- import { IconHandle } from "../../models";
2
- import { IBaseComponentProp } from "../base-component.prop.interface";
3
-
4
- export interface ITagsState {
5
- show: boolean;
6
- }
7
- export interface ITagsProps<T> extends IBaseComponentProp, React.HTMLAttributes<T> {
8
- closeable?: boolean;
9
- fillIcon?: string;
10
- iconHandle?: IconHandle;
11
- children?: any;
12
- variant?: "primary" | "secondary";
13
- type?: "success" | "error" | "warning";
14
- size: "small" | "large";
15
- disabled?: boolean
16
- textLocaleHandle?: string;
17
- }
@@ -1,9 +0,0 @@
1
- ///<reference types="react" />
2
- ///<reference types="robbyson-frontend-library" />
3
-
4
- declare module "styleguide/Tags" {
5
- import { ITagsProps } from "robbyson-frontend-library";
6
- const Tags: React.ComponentType<ITagsProps<any>>;
7
-
8
- export default Tags;
9
- }