Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
b2bd2d3
feat: Added gradient animated informative view while onboarding
thisismayuresh Nov 11, 2025
2b24ef8
feat: Added the Basic Onboarding Welcome Modals
thisismayuresh Nov 12, 2025
194435e
feat: Merge Branch Next (SubOS Integration Changes) into Current
thisismayuresh Nov 12, 2025
fd80dc4
feat: Added and updated some property from the widget text object
thisismayuresh Nov 12, 2025
1014cbd
feat: Renamed the WelcomeConfigureDestinationModal to WelcomeConfigur…
thisismayuresh Nov 12, 2025
209eba2
feat: Renamed the WelcomeConfigureDestinationModal to WelcomeConfigur…
thisismayuresh Nov 12, 2025
419f126
feat: Added extensive Types and Typing in WelcomeConfigureStepModal
thisismayuresh Nov 12, 2025
ead7dcf
feat: Added the flow of modal closing and switching
thisismayuresh Nov 12, 2025
f6c6533
feat: Added the Modal Flow
thisismayuresh Nov 12, 2025
acfa06a
feat: Using Localstorage
thisismayuresh Nov 12, 2025
0495c2d
feat: Using Localstorage
thisismayuresh Nov 12, 2025
39d6c4a
feat: Added the Welcome Modals and Introductory Modals
thisismayuresh Nov 13, 2025
2c8bfba
feat: Removed the log
thisismayuresh Nov 13, 2025
27c0d7e
feat: Implemented the restriction for the Retry Count and Retry Interval
thisismayuresh Nov 13, 2025
4e95921
feat: Implemented the restrction on certain validation elements as pe…
thisismayuresh Nov 13, 2025
b115298
feat: Added webhookRetrySettingsUnavailable
thisismayuresh Nov 13, 2025
67f3f68
feat: Added other essential restriction as per requirement
thisismayuresh Nov 13, 2025
8204abc
feat: Removed the welcome flag onClose of the welcome modal
thisismayuresh Nov 13, 2025
3cc4678
feat: Added certain meta metrics
thisismayuresh Nov 13, 2025
ba3924d
feat: Refactored the buisness logic of Find and Replace button disabi…
thisismayuresh Nov 13, 2025
60bd55e
feat: Removed non essential logs
thisismayuresh Nov 13, 2025
b6425b4
feat: Merging Sub OS Integration Branch
thisismayuresh Nov 13, 2025
ee81b74
feat: Removed unused import member React
thisismayuresh Nov 13, 2025
13a1f1d
feat: Added the styles in the LeftSideContent.style
thisismayuresh Nov 13, 2025
4beacc4
feat: Added the constant welcome message key from localstorage
thisismayuresh Nov 13, 2025
9e4f0ad
feat: Added the Action Anchrt for file download
thisismayuresh Nov 13, 2025
787e999
feat: Added the yellow message of the Get in Touch
thisismayuresh Nov 13, 2025
a6c4872
feat: Removed the duplicated restriction on find and replace modal
thisismayuresh Nov 13, 2025
6d673c3
feat: Added the file download sample functionality on welcome modal
thisismayuresh Nov 13, 2025
365f27f
feat: Added key for Object BILLABLEMETRIC_CODE_ENUM and wrapped took …
thisismayuresh Nov 14, 2025
a8ca798
feat: Removed the redundant Plan Details
thisismayuresh Nov 14, 2025
eac27a8
feat: Added the scrollable content under the plan header pricing
thisismayuresh Nov 14, 2025
fbf5fa7
feat: Replaced the icons and updated as displayed in the website
thisismayuresh Nov 14, 2025
9923008
feat: Added the complete returned value IErrorDetails
thisismayuresh Nov 14, 2025
ccc17ce
feat: Removed the Error and only returning the extracted formatted st…
thisismayuresh Nov 14, 2025
5ee6074
feat: Added the new messages of onboarding flow
thisismayuresh Nov 14, 2025
1822efc
feat: Removed the redundant IImportConfig
thisismayuresh Nov 14, 2025
1871d82
feat: Changed the file name to be easily noticable
thisismayuresh Nov 14, 2025
199944e
feat: Changed the file name to be easily noticable
thisismayuresh Nov 14, 2025
fb7a935
feat: Added and modified properties in the constant configuration
thisismayuresh Nov 14, 2025
ed8416a
feat: Added the logo and contents in the static csv file
thisismayuresh Nov 17, 2025
aa23daf
feat: Opened the link in new tab
thisismayuresh Nov 17, 2025
91d32dc
feat: Added the redable message of the DirectEntryView table header
thisismayuresh Nov 17, 2025
c3fb73a
feat: Added the dynamic color to the image logo image for redability
thisismayuresh Nov 17, 2025
827facb
feat: Added the light logo for better visibility
thisismayuresh Nov 17, 2025
dbfdcfd
feat: Removed the dependency clearWelcomeFlag
thisismayuresh Nov 17, 2025
fddfc58
feat: Added the new message for Divider label
thisismayuresh Nov 17, 2025
897e454
feat: Dynamically shown the component and lock based on active plan d…
thisismayuresh Nov 17, 2025
e743102
feat: Moved the Recommended badge at the corner of the Card
thisismayuresh Nov 17, 2025
8611a06
feat: Handeled the better handling of closing of WelcomeImpoterModal
thisismayuresh Nov 17, 2025
66c8e47
feat: Added the initial TRIAL Plan when user onboards
thisismayuresh Nov 17, 2025
384ef82
feat: Organized import of mantine modal
thisismayuresh Nov 18, 2025
057ad65
feat: Added type Partial<IColumn>[] in sampleColumns
thisismayuresh Nov 18, 2025
122c7e6
feat: Safely extracted the column properties from column.selectValues
thisismayuresh Nov 18, 2025
77fc288
feat: Added JSX specific strokeWidth
thisismayuresh Nov 18, 2025
f0c1d70
feat: Called the onDoWelcomeWidgetAction parent function
thisismayuresh Nov 18, 2025
36064f9
feat: Fixed the modal welcome opening and closing
thisismayuresh Nov 18, 2025
371e27a
feat: Properly shown modal, and added 1K records in the csv file and …
thisismayuresh Nov 19, 2025
5473e92
feat: Removed the logs
thisismayuresh Nov 19, 2025
2426a49
feat: Removed the projectId and Added invalid records in the CSV file…
thisismayuresh Nov 24, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,15 @@ export class GetImportConfig {
isFeatureAvailableMap.set(code, false);
});

try {
for (const billableMetricCode of Object.keys(BILLABLEMETRIC_CODE_ENUM)) {
for (const billableMetricCode of Object.values(BILLABLEMETRIC_CODE_ENUM)) {
try {
const isAvailable = await this.paymentAPIService.checkEvent({
email: userEmail,
billableMetricCode: BILLABLEMETRIC_CODE_ENUM[billableMetricCode],
});
isFeatureAvailableMap.set(billableMetricCode, isAvailable);
}
} catch (error) {}
} catch (error) {}
}

let template: TemplateEntity;
if (templateId) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,8 @@ export class CreateProjectCommand extends AuthenticatedCommand {
@IsBoolean()
@IsOptional()
onboarding?: boolean;

@IsBoolean()
@IsOptional()
autoGenerated?: boolean;
}
Original file line number Diff line number Diff line change
Expand Up @@ -298,7 +298,6 @@ export class DoReview extends BaseReview {
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
const teamMemberEmails = environment.map((teamMember) => teamMember._userId.email);
console.log(teamMemberEmails);

const emailContents = this.emailService.getEmailContent({
type: 'IMPORT_LIMIT_EXCEEDED_EMAIL',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,6 @@ export class StartProcess {
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
const teamMemberEmails = environment.map((teamMember) => teamMember._userId.email);
console.log(teamMemberEmails);

const emailContents = this.emailService.getEmailContent({
type: 'IMPORT_LIMIT_EXCEEDED_EMAIL',
Expand Down
15 changes: 15 additions & 0 deletions apps/api/src/app/shared/exceptions/user-verification.exception.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import { HttpException, HttpStatus } from '@nestjs/common';
import { APIMessages } from '../constants';

export class InvalidVerificationCodeException extends HttpException {
constructor() {
super(
{
message: APIMessages.INVALID_VERIFICATION_CODE,
error: 'InvalidVerificationCode',
statusCode: HttpStatus.BAD_REQUEST,
},
HttpStatus.BAD_REQUEST
);
}
}
6 changes: 4 additions & 2 deletions apps/api/src/app/team/usecase/invite/invite.usecase.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,10 @@ export class Invite {

async exec(command: InviteCommand) {
try {
// const subscription = await this.paymentAPIService.fetchActiveSubscription(command.invitedBy);
// const allocated = subscription.meta.TEAM_MEMBERS;
/*
* const subscription = await this.paymentAPIService.fetchActiveSubscription(command.invitedBy);
* const allocated = subscription.meta.TEAM_MEMBERS;
*/

const existingInvitationsCount = await this.projectInvitationRepository.count({
_projectId: command.projectId,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,11 @@ export class UpdateTemplateColumns {

column.sequence = index;
column.dateFormats = column.dateFormats?.map((format) => format.toUpperCase()) || [];
column.isRequired = existingUserColumns?.isRequired || false;
column.isUnique = existingUserColumns?.isUnique || false;
column.selectValues = existingUserColumns?.selectValues || [];
column.dateFormats = existingUserColumns?.dateFormats || [];
column.validations = existingUserColumns?.validations || [];
column.isRequired = existingUserColumns?.isRequired || column.isRequired || false;
column.isUnique = existingUserColumns?.isUnique || column.isUnique || false;
column.selectValues = column.selectValues || existingUserColumns?.selectValues || [];
column.dateFormats = existingUserColumns?.dateFormats || column.dateFormats || [];
column.validations = existingUserColumns?.validations || column.validations || [];
});
const columns = await this.columnRepository.createMany(userColumns);
await this.saveSampleFile.execute(columns, _templateId);
Expand Down
4 changes: 2 additions & 2 deletions apps/web/assets/icons/Forbidden.icon.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ export function ForbiddenIcon({ size = 'xl' }: IconType) {
id="Forbid--Streamline-Tabler"
>
<desc>Forbid Streamline Icon: https://streamlinehq.com</desc>
<path d="M3 12a9 9 0 1 0 18 0 9 9 0 1 0 -18 0" stroke-width="2"></path>
<path d="m9 9 6 6" stroke-width="2"></path>
<path d="M3 12a9 9 0 1 0 18 0 9 9 0 1 0 -18 0" strokeWidth="2"></path>
<path d="m9 9 6 6" strokeWidth="2"></path>
</svg>
);
}
10 changes: 10 additions & 0 deletions apps/web/assets/icons/GiveHeart.icon.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import React from 'react';

export const GiveHeartIcon = () => (
<svg width="38" height="31" viewBox="0 0 38 31" fill="none" xmlns="http://www.w3.org/2000/svg">
<path
d="M13.8834 14.4273L17.5 14.4281C21.6422 14.4281 25 17.786 25 21.9281L13.3317 21.9266L13.3333 23.5948L26.6667 23.5935V21.9281C26.6667 20.124 26.1364 18.423 25.1899 16.9268L30 16.9281C33.3205 16.9281 36.1874 18.8701 37.5269 21.6805C33.5855 26.8815 27.2032 30.2615 20 30.2615C15.3979 30.2615 11.4991 29.2771 8.33265 27.5535L8.33507 12.0465C10.411 12.3438 12.3106 13.1875 13.8834 14.4273ZM5 10.2614C5.85473 10.2614 6.55918 10.9048 6.65547 11.7337L6.66667 11.9266V26.9281C6.66667 27.8486 5.92048 28.5948 5 28.5948H1.66667C0.7462 28.5948 0 27.8486 0 26.9281V11.9281C0 11.0076 0.7462 10.2614 1.66667 10.2614H5ZM21.0774 1.22039L21.6662 1.81L22.2559 1.22039C23.883 -0.406796 26.5214 -0.406796 28.1485 1.22039C29.7757 2.84757 29.7757 5.48575 28.1485 7.11294L21.6667 13.5948L15.1849 7.11294C13.5577 5.48575 13.5577 2.84757 15.1849 1.22039C16.812 -0.406796 19.4502 -0.406796 21.0774 1.22039Z"
fill="#F7B801"
/>
</svg>
);
20 changes: 20 additions & 0 deletions apps/web/assets/icons/Importer.icon.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import { IconType } from '@types';
import { IconSizes } from 'config';

export const ImporterIcon = ({ size = 'xl', color = 'currentColor', className }: IconType) => {
return (
<svg
width={IconSizes[size]}
height={IconSizes[size]}
viewBox="0 0 30 27"
fill="none"
xmlns="http://www.w3.org/2000/svg"
className={className}
>
<path
d="M30 1.5C30 0.67158 29.3284 0 28.5 0H1.5C0.67158 0 0 0.67158 0 1.5V25.5C0 26.3284 0.67158 27 1.5 27H28.5C29.3284 27 30 26.3284 30 25.5V1.5ZM3 18H8.12406C9.2814 20.6488 11.9245 22.5 15 22.5C18.0754 22.5 20.7186 20.6488 21.876 18H27V24H3V18ZM3 3H27V15H19.5C19.5 17.4853 17.4853 19.5 15 19.5C12.5147 19.5 10.5 17.4853 10.5 15H3V3ZM21 9H16.5V4.5H13.5V9H9L15 15.75L21 9Z"
fill={color}
/>
</svg>
);
};
20 changes: 20 additions & 0 deletions apps/web/assets/icons/IntegrationStep.icon.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import { IconType } from '@types';
import { IconSizes } from 'config';

export const IntegrationStepIcon = ({ size = 'xl', color = 'currentColor', className }: IconType) => {
return (
<svg
width={IconSizes[size]}
height={IconSizes[size]}
viewBox="0 0 27 30"
fill="none"
xmlns="http://www.w3.org/2000/svg"
className={className}
>
<path
d="M8.39184 16.2172C8.29909 15.8266 8.25 15.4191 8.25 15C8.25 14.581 8.29908 14.1735 8.39181 13.7829L6.90437 12.9242L8.40437 10.326L9.89285 11.1854C10.4825 10.6276 11.2014 10.2051 12 9.96741V8.25H15V9.96741C15.7986 10.2051 16.5174 10.6276 17.107 11.1853L18.5956 10.3259L20.0958 12.924L18.6081 13.7828C18.701 14.1735 18.75 14.581 18.75 15C18.75 15.419 18.701 15.8265 18.6082 16.2171L20.0958 17.0758L18.5958 19.674L17.1072 18.8145C16.5176 19.3724 15.7987 19.7949 15.0002 20.0325V21.75H12.0002V20.0326C11.2016 19.795 10.4827 19.3725 9.89298 18.8147L8.40446 19.6742L6.90437 17.076L8.39184 16.2172ZM13.5 17.25C14.7426 17.25 15.75 16.2426 15.75 15C15.75 13.7574 14.7426 12.75 13.5 12.75C12.2574 12.75 11.25 13.7574 11.25 15C11.25 16.2426 12.2574 17.25 13.5 17.25ZM18 3H3V27H24V9H18V3ZM0 1.4877C0 0.666075 0.671235 0 1.49775 0H19.5L26.9995 7.5L27 28.4888C27 29.3234 26.3326 30 25.5099 30H1.4901C0.66714 30 0 29.317 0 28.5123V1.4877Z"
fill={color}
/>
</svg>
);
};
12 changes: 12 additions & 0 deletions apps/web/assets/icons/ListTick.icon.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import React from 'react';

export const ListTickIcon = () => {
return (
<svg width="31" height="29" viewBox="0 0 31 29" fill="none" xmlns="http://www.w3.org/2000/svg">
<path
d="M8.67852 3.33333V8.33333H3.67852V3.33333H8.67852ZM0.345184 0V11.6667H12.0119V0H0.345184ZM17.0119 0H30.3452V3.33333H17.0119V0ZM17.0119 11.6667H30.3452V15H17.0119V11.6667ZM17.0119 23.3333H30.3452V26.6667H17.0119V23.3333ZM13.1904 20.3452L10.8333 17.9882L5.34518 23.4763L2.35702 20.4882L0 22.8452L5.34518 28.1903L13.1904 20.3452Z"
fill="#F7B801"
/>
</svg>
);
};
16 changes: 16 additions & 0 deletions apps/web/assets/icons/RoundedCheck.icon.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import { IconType } from '@types';

export function RoundedCheckIcon(props: IconType) {
return (
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="-5 -7 24 24"
fill={props?.color}
className={props?.className}
style={props?.style}
>
{/* eslint-disable-next-line max-len */}
<path d="M5.486 9.73a.997.997 0 0 1-.707-.292L.537 5.195A1 1 0 1 1 1.95 3.78l3.535 3.535L11.85.952a1 1 0 0 1 1.415 1.414L6.193 9.438a.997.997 0 0 1-.707.292z"></path>
</svg>
);
}
19 changes: 19 additions & 0 deletions apps/web/assets/icons/SetupDestination.icon.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import { IconType } from '@types';
import { IconSizes } from 'config';

export const SetupDestinationIcon = ({ size = 'xl' }: IconType) => {
return (
<svg
width={IconSizes[size]}
height={IconSizes[size]}
viewBox="0 0 30 30"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M15 27C21.6275 27 27 21.6275 27 15C27 8.37258 21.6275 3 15 3C8.37258 3 3 8.37258 3 15C3 21.6275 8.37258 27 15 27ZM15 30C6.71572 30 0 23.2842 0 15C0 6.71572 6.71572 0 15 0C23.2842 0 30 6.71572 30 15C30 23.2842 23.2842 30 15 30ZM15 21C18.3137 21 21 18.3137 21 15C21 11.6863 18.3137 9 15 9C11.6863 9 9 11.6863 9 15C9 18.3137 11.6863 21 15 21ZM15 24C10.0294 24 6 19.9706 6 15C6 10.0294 10.0294 6 15 6C19.9706 6 24 10.0294 24 15C24 19.9706 19.9706 24 15 24ZM15 18C13.3431 18 12 16.6569 12 15C12 13.3431 13.3431 12 15 12C16.6569 12 18 13.3431 18 15C18 16.6569 16.6569 18 15 18Z"
fill="white"
/>
</svg>
);
};
10 changes: 10 additions & 0 deletions apps/web/assets/icons/Stocks.icon.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import React from 'react';

export const StocksIcon = () => (
<svg width="32" height="30" viewBox="0 0 32 30" fill="none" xmlns="http://www.w3.org/2000/svg">
<path
d="M3.33333 0V26.6667H30V30H0V0H3.33333ZM28.8215 5.48815L31.1785 7.84518L21.6667 17.357L16.6667 12.3583L9.51185 19.5118L7.15482 17.1548L16.6667 7.64298L21.6667 12.6417L28.8215 5.48815Z"
fill="#F7B801"
/>
</svg>
);
20 changes: 20 additions & 0 deletions apps/web/assets/icons/Team.icon.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import { IconType } from '@types';
import { IconSizes } from 'config';

export const TeamIcon = ({ size = 'xl', color = 'currentColor', className }: IconType) => {
return (
<svg
width={IconSizes[size]}
height={IconSizes[size]}
viewBox="0 0 33 33"
fill="none"
xmlns="http://www.w3.org/2000/svg"
className={className}
>
<path
d="M28.4072 10.5H30C31.6569 10.5 33 11.8431 33 13.5V19.5C33 21.1569 31.6569 22.5 30 22.5H28.4072C27.669 28.4195 22.6194 33 16.5 33V30C21.4706 30 25.5 25.9706 25.5 21V12C25.5 7.02944 21.4706 3 16.5 3C11.5294 3 7.5 7.02944 7.5 12V22.5H3C1.34314 22.5 0 21.1569 0 19.5V13.5C0 11.8431 1.34314 10.5 3 10.5H4.59284C5.33099 4.58053 10.3806 0 16.5 0C22.6194 0 27.669 4.58053 28.4072 10.5ZM3 13.5V19.5H4.5V13.5H3ZM28.5 13.5V19.5H30V13.5H28.5ZM10.1392 22.1773L11.7294 19.6331C13.1124 20.4993 14.7477 21 16.5 21C18.2523 21 19.8876 20.4993 21.2706 19.6331L22.8609 22.1773C21.0168 23.3323 18.8364 24 16.5 24C14.1636 24 11.9832 23.3323 10.1392 22.1773Z"
fill={color}
/>
</svg>
);
};
10 changes: 10 additions & 0 deletions apps/web/assets/icons/TimeClock.icon.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import React from 'react';

export const TimeClockIcon = () => (
<svg width="30" height="35" viewBox="0 0 30 35" fill="none" xmlns="http://www.w3.org/2000/svg">
<path
d="M5.63718 8.28017C8.20332 6.22745 11.4583 5 15 5C18.5417 5 21.7967 6.22745 24.3628 8.28017L26.7852 5.85787L29.1422 8.21488L26.7198 10.6372C28.7725 13.2033 30 16.4583 30 20C30 28.2843 23.2843 35 15 35C6.71573 35 0 28.2843 0 20C0 16.4583 1.22745 13.2033 3.28017 10.6372L0.857867 8.21488L3.21488 5.85787L5.63718 8.28017ZM15 31.6667C21.4433 31.6667 26.6667 26.4433 26.6667 20C26.6667 13.5567 21.4433 8.33333 15 8.33333C8.55668 8.33333 3.33333 13.5567 3.33333 20C3.33333 26.4433 8.55668 31.6667 15 31.6667ZM16.6667 18.3333H21.6667L13.3333 29.1667V21.6667H8.33333L16.6667 10.8253V18.3333ZM8.33333 0H21.6667V3.33333H8.33333V0Z"
fill="#F7B801"
/>
</svg>
);
Loading
Loading