Skip to content

Commit

Permalink
Merge pull request #435 from dump-hr/roko/add-speakers-socials-input
Browse files Browse the repository at this point in the history
Roko/add speakers socials input
  • Loading branch information
lovretomic authored Dec 9, 2024
2 parents cf4f507 + a321686 commit 4ace9c8
Show file tree
Hide file tree
Showing 5 changed files with 61 additions and 0 deletions.
7 changes: 7 additions & 0 deletions apps/api/db/migrations/meta/_journal.json
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,13 @@
"when": 1716132892106,
"tag": "0010_slimy_stature",
"breakpoints": true
},
{
"idx": 11,
"version": "5",
"when": 1732540348770,
"tag": "0011_narrow_clea",
"breakpoints": true
}
]
}
2 changes: 2 additions & 0 deletions apps/api/db/schema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,8 @@ export const company = pgTable('company', {
description: text('description'),
opportunitiesDescription: text('opportunities_description'),
website: text('website_url'),
instagram: text('instagram_url'),
linkedin: text('linkedin_url'),
logoImage: text('logo_image'),
landingImage: text('landing_image'),
landingImageCompanyCulture: text('landing_image_company_culture'),
Expand Down
10 changes: 10 additions & 0 deletions apps/api/src/company/company.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,8 @@ export class CompanyService {
description: company.description,
opportunitiesDescription: company.opportunitiesDescription,
website: company.website,
instagram: company.instagram,
linkedin: company.linkedin,
booth: booth.name,
logoImage: company.logoImage,
landingImage: company.landingImage,
Expand All @@ -69,6 +71,8 @@ export class CompanyService {
description: company.description,
opportunitiesDescription: company.opportunitiesDescription,
website: company.website,
instagram: company.instagram,
linkedin: company.linkedin,
logoImage: company.logoImage,
landingImage: company.landingImage,
landingImageCompanyCulture: company.landingImageCompanyCulture,
Expand Down Expand Up @@ -97,6 +101,8 @@ export class CompanyService {
description: company.description,
opportunitiesDescription: company.opportunitiesDescription,
website: company.website,
instagram: company.instagram,
linkedin: company.linkedin,
logoImage: company.logoImage,
landingImage: company.landingImage,
landingImageCompanyCulture: company.landingImageCompanyCulture,
Expand Down Expand Up @@ -176,6 +182,8 @@ export class CompanyService {
username: dto.username,
description: dto.description,
website: dto.website,
instagram: dto.instagram,
linkedin: dto.linkedin,
codeId: dto.codeId,
})
.where(eq(company.id, id))
Expand All @@ -198,6 +206,8 @@ export class CompanyService {
.set({
description: data.description,
website: data.website,
instagram: data.instagram,
linkedin: data.linkedin,
opportunitiesDescription: data.opportunitiesDescription,
})
.where(eq(company.id, companyId))
Expand Down
18 changes: 18 additions & 0 deletions apps/sponsor/src/formSteps/Description/Description.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ import c from './Description.module.scss';
export const Description: FormComponent = ({ close }) => {
const [description, setDescription] = useState<string>();
const [website, setWebsite] = useState<string>();
const [instagram, setInstagram] = useState<string>();
const [linkedin, setLinkedin] = useState<string>();
const [opportunitiesDescription, setOpportunitiesDescription] =
useState<string>();

Expand All @@ -29,6 +31,8 @@ export const Description: FormComponent = ({ close }) => {
await updateDescription.mutateAsync({
description: description ?? company.description ?? '',
website: website ?? company.website ?? '',
instagram: instagram ?? company.instagram ?? '',
linkedin: linkedin ?? company.linkedin ?? '',
opportunitiesDescription:
opportunitiesDescription ?? company.opportunitiesDescription ?? '',
});
Expand Down Expand Up @@ -74,6 +78,20 @@ export const Description: FormComponent = ({ close }) => {
onChange={(e) => setWebsite(e)}
/>
</div>
<div className={c.inputContainer}>
<Input
value={instagram ?? company.instagram ?? ''}
label='Link na Instagram profil'
onChange={(e) => setInstagram(e)}
/>
</div>
<div className={c.inputContainer}>
<Input
value={linkedin ?? company.linkedin ?? ''}
label='Link na LinkedIn profil'
onChange={(e) => setLinkedin(e)}
/>
</div>
<button onClick={handleSubmit} className={c.button}>
Spremi
</button>
Expand Down
24 changes: 24 additions & 0 deletions packages/types/src/dto/company.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ export type CompanyPublicDto = {
description?: string;
opportunitiesDescription?: string;
website?: string;
instagram?: string;
linkedin?: string;
booth?: string;
logoImage?: string;
landingImage?: string;
Expand All @@ -38,6 +40,8 @@ export type CompanyDto = {
description?: string;
opportunitiesDescription?: string;
website?: string;
instagram?: string;
linkedin?: string;
boothId?: number;
logoImage?: string;
landingImage?: string;
Expand Down Expand Up @@ -73,6 +77,14 @@ export class CompanyModifyDto {
@ValidateIf((e) => e.website !== '')
website: string;

@IsOptional()
@IsString()
instagram: string;

@IsOptional()
@IsString()
linkedin: string;

@IsOptional()
@IsNumber()
codeId: number;
Expand All @@ -97,4 +109,16 @@ export class CompanyModifyDescriptionDto {
@IsString()
@IsUrl()
website: string;

@IsOptional()
@ValidateIf((e) => e.instagram !== '')
@IsString()
@IsUrl()
instagram: string;

@IsOptional()
@ValidateIf((e) => e.linkedin !== '')
@IsString()
@IsUrl()
linkedin: string;
}

0 comments on commit 4ace9c8

Please sign in to comment.