Skip to content

Commit 45cb2ff

Browse files
authored
feat/open-feedback 2025 (#725)
1 parent d5f1c4c commit 45cb2ff

File tree

13 files changed

+144
-123
lines changed

13 files changed

+144
-123
lines changed

src/2023/Talks/Talks2023.tsx

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
11
import React, { FC, useEffect, useState } from "react";
2-
import LessThanDarkBlueIcon from "../../assets/images/LessThanDarkBlueIcon.svg";
3-
import MoreThanBlueIcon from "../../assets/images/MoreThanBlueIcon.svg";
4-
import SectionWrapper from "../../components/SectionWrapper/SectionWrapper";
5-
import TitleSection from "../../components/SectionTitle/TitleSection";
6-
import { Color } from "../../styles/colors";
7-
import conferenceData from "../../data/2023.json";
2+
import LessThanDarkBlueIcon from "@assets/images/LessThanDarkBlueIcon.svg";
3+
import MoreThanBlueIcon from "@assets/images/MoreThanBlueIcon.svg";
4+
import SectionWrapper from "@components/SectionWrapper/SectionWrapper";
5+
import TitleSection from "@components/SectionTitle/TitleSection";
6+
import { Color } from "@styles/colors";
7+
import conferenceData from "@data/2023.json";
88
import {
99
StyledMarginBottom,
1010
StyledSpeakersSection,
1111
StyledTitleContainer,
1212
StyledTitleIcon,
1313
StyledWaveContainer,
1414
} from "./Talks.style";
15-
import { useFetchTalks } from "../../hooks/useFetchTalks";
15+
import { useFetchTalks } from "@hooks/useFetchTalks";
1616
import { Dropdown, DropdownChangeEvent } from "primereact/dropdown";
1717
import "primereact/resources/primereact.min.css";
1818
import "primereact/resources/themes/lara-light-indigo/theme.css";
19-
import "../../styles/theme.css";
20-
import TrackInformation from "../../components/common/TrackInformation";
21-
import { useSentryErrorReport } from "../../hooks/useSentryErrorReport";
19+
import "@styles/theme.css";
20+
import TrackInformation from "@components/common/TrackInformation";
21+
import { useSentryErrorReport } from "@hooks/useSentryErrorReport";
2222

2323
interface TrackInfo {
2424
name: string;
@@ -51,7 +51,7 @@ const Talks2023: FC<React.PropsWithChildren<unknown>> = () => {
5151

5252
// Helper function to remove text between parentheses
5353
const removeParenthesesContent = (text: string): string => {
54-
return text.replace(/\s*\([^)]*\)/g, '');
54+
return text.replace(/\s*\([^)]*\)/g, "");
5555
};
5656

5757
const dropDownOptions = [
@@ -133,6 +133,7 @@ const Talks2023: FC<React.PropsWithChildren<unknown>> = () => {
133133
key={track.groupId}
134134
track={track}
135135
year={conferenceData.edition}
136+
openFeedbackId={conferenceData.openFeedbackId}
136137
/>
137138
))}
138139
</>

src/2024/Talks/Talks2024.tsx

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
11
import React, { FC, useEffect, useState } from "react";
2-
import LessThanDarkBlueIcon from "../../assets/images/LessThanDarkBlueIcon.svg";
3-
import MoreThanBlueIcon from "../../assets/images/MoreThanBlueIcon.svg";
4-
import SectionWrapper from "../../components/SectionWrapper/SectionWrapper";
5-
import TitleSection from "../../components/SectionTitle/TitleSection";
6-
import { Color } from "../../styles/colors";
7-
import conferenceData from "../../data/2024.json";
2+
import LessThanDarkBlueIcon from "@assets/images/LessThanDarkBlueIcon.svg";
3+
import MoreThanBlueIcon from "@assets/images/MoreThanBlueIcon.svg";
4+
import SectionWrapper from "@components/SectionWrapper/SectionWrapper";
5+
import TitleSection from "@components/SectionTitle/TitleSection";
6+
import { Color } from "@styles/colors";
7+
import conferenceData from "@data/2024.json";
88

9-
import { useFetchTalks } from "../../hooks/useFetchTalks";
9+
import { useFetchTalks } from "@hooks/useFetchTalks";
1010
import { Dropdown, DropdownChangeEvent } from "primereact/dropdown";
1111
import "primereact/resources/primereact.min.css";
1212
import "primereact/resources/themes/lara-light-indigo/theme.css";
13-
import "../../styles/theme.css";
13+
import "@styles/theme.css";
1414
import {
1515
StyledMarginBottom,
1616
StyledSpeakersSection,
1717
StyledTitleContainer,
1818
StyledTitleIcon,
1919
StyledWaveContainer,
20-
} from "../../views/Talks/Talks.style";
21-
import TrackInformation from "../../components/common/TrackInformation";
22-
import { useSentryErrorReport } from "../../hooks/useSentryErrorReport";
20+
} from "@views/Talks/Talks.style";
21+
import TrackInformation from "@components/common/TrackInformation";
22+
import { useSentryErrorReport } from "@hooks/useSentryErrorReport";
2323

2424
interface TrackInfo {
2525
name: string;
@@ -52,7 +52,7 @@ const Talks2024: FC<React.PropsWithChildren<unknown>> = () => {
5252

5353
// Helper function to remove text between parentheses
5454
const removeParenthesesContent = (text: string): string => {
55-
return text.replace(/\s*\([^)]*\)/g, '');
55+
return text.replace(/\s*\([^)]*\)/g, "");
5656
};
5757

5858
const dropDownOptions = [
@@ -135,6 +135,7 @@ const Talks2024: FC<React.PropsWithChildren<unknown>> = () => {
135135
key={track.groupId}
136136
track={track}
137137
year={conferenceData.edition}
138+
openFeedbackId={conferenceData.openFeedbackId}
138139
/>
139140
))}
140141
</>

src/components/Talk/TalkCard.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import React from "react";
2-
import CommonTalkCard, { TalkCardProps } from "../common/TalkCard";
2+
import { TalkCard as CommonTalkCard, TalkCardProps } from "../common/TalkCard";
33

44
export type { TalkCardProps };
55

src/components/common/TalkCard.tsx

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,27 +8,27 @@ import {
88
ROUTE_2024_TALK_DETAIL,
99
ROUTE_SPEAKER_DETAIL,
1010
ROUTE_TALK_DETAIL,
11-
} from "../../constants/routes";
12-
import { Color } from "../../styles/colors";
11+
} from "@constants/routes";
12+
import { Color } from "@styles/colors";
1313
import { StyledJobsInfo } from "../JobOffers/JobsCard";
1414
import {
1515
StyledSessionCard,
1616
StyledSessionText,
1717
StyledTagsWrapper,
1818
StyledTalkSpeaker,
1919
StyledTalkTitle,
20-
} from "../../views/Talks/Talks.style";
21-
import { StyledVoteTalkLink } from "../../views/MeetingDetail/MeetingDetail";
20+
} from "@views/Talks/Talks.style";
21+
import { StyledVoteTalkLink } from "@views/MeetingDetail/MeetingDetail";
2222
import {
2323
extractSessionCategoryInfo,
2424
extractSessionTags,
25-
} from "../../services/sessionsAdapter";
25+
} from "@services/sessionsAdapter";
2626
import {
2727
CategoryItemEnum,
2828
QuestionAnswers,
2929
SessionCategory,
3030
SessionSpeaker,
31-
} from "../../types/sessions";
31+
} from "@types/sessions";
3232

3333
export interface TalkCardProps {
3434
talk: {
@@ -43,6 +43,7 @@ export interface TalkCardProps {
4343
categories: SessionCategory[];
4444
questionAnswers: QuestionAnswers[];
4545
};
46+
openFeedbackId: string;
4647
year: string;
4748
showTrack?: boolean;
4849
}
@@ -73,6 +74,7 @@ export const TalkCard: FC<React.PropsWithChildren<TalkCardProps>> = ({
7374
showTrack = false,
7475
talk,
7576
year,
77+
openFeedbackId,
7678
}) => {
7779
return (
7880
<StyledSessionCard>
@@ -110,9 +112,9 @@ export const TalkCard: FC<React.PropsWithChildren<TalkCardProps>> = ({
110112
return <Tag key={tag} text={tag} textColor={Color.WHITE} />;
111113
})}
112114
</StyledTagsWrapper>
113-
<section style={{ display: "none" }}>
115+
<section style={{ display: "block" }}>
114116
<StyledVoteTalkLink
115-
href={`https://openfeedback.io/devbcn24/0/${talk.id}`}
117+
href={`https://openfeedback.io/${openFeedbackId}/0/${talk.id}`}
116118
target={"_blank"}
117119
rel="noreferrer noopener"
118120
>
@@ -123,5 +125,3 @@ export const TalkCard: FC<React.PropsWithChildren<TalkCardProps>> = ({
123125
</StyledSessionCard>
124126
);
125127
};
126-
127-
export default TalkCard;

src/components/common/TrackInformation.tsx

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11
import React, { FC, useMemo } from "react";
2-
import TalkCard from "./TalkCard";
2+
import { TalkCard } from "./TalkCard";
33
import {
44
StyledSessionSection,
55
StyledTrackInfo,
6-
} from "../../views/Talks/Talks.style";
6+
} from "@views/Talks/Talks.style";
77

8-
import { IGroup } from "../../types/sessions";
8+
import { IGroup } from "@types/sessions";
99

1010
interface TrackInfoProps {
1111
track: IGroup;
1212
year: string;
13+
openFeedbackId: string;
1314
}
1415

1516
const useGenerateAnchorName = (trackName: string) => {
@@ -24,6 +25,7 @@ const useGenerateAnchorName = (trackName: string) => {
2425
const TrackInformation: FC<React.PropsWithChildren<TrackInfoProps>> = ({
2526
track,
2627
year,
28+
openFeedbackId,
2729
}) => {
2830
const anchorName = useGenerateAnchorName(track.groupName);
2931

@@ -33,11 +35,16 @@ const TrackInformation: FC<React.PropsWithChildren<TrackInfoProps>> = ({
3335
<StyledSessionSection>
3436
{Array.isArray(track.sessions) &&
3537
track.sessions.map((session) => (
36-
<TalkCard talk={session} key={session.id} year={year} />
38+
<TalkCard
39+
talk={session}
40+
key={session.id}
41+
year={year}
42+
openFeedbackId={openFeedbackId}
43+
/>
3744
))}
3845
</StyledSessionSection>
3946
</div>
4047
);
4148
};
4249

43-
export default React.memo(TrackInformation);
50+
export default React.memo(TrackInformation);

src/data/2023.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
"enabled": true
2222
},
2323
"linkedin": "https://www.linkedin.com/company/devbcn",
24+
"openFeedbackId": "devbcn-2023",
2425
"schedule": {
2526
"enabled": true
2627
},

src/data/2024.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
"enabled": true
2323
},
2424
"linkedin": "https://www.linkedin.com/company/devbcn",
25+
"openFeedbackId": "devbcn24",
2526
"bluesky": "https://bsky.app/profile/devbcn.bsky.social",
2627
"schedule": {
2728
"enabled": true

src/data/2025.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
"enabled": true
2222
},
2323
"linkedin": "https://www.linkedin.com/company/devbcn",
24+
"openFeedbackId": "TG4hBcL7iPtV2LecVdHu",
2425
"schedule": {
2526
"enabled": true
2627
},

0 commit comments

Comments
 (0)