Merge branch 'master' into bug/38-change-language-button

This commit is contained in:
Elmo Kankkunen
2022-09-26 16:32:54 +03:00
6 changed files with 51 additions and 50 deletions
+5 -4
View File
@@ -102,15 +102,16 @@ const SignupCreatePage: NextPage = () => {
const router = useRouter();
let id: number;
let id: string;
if (router.query?.id && router.query.id !== "create") {
id = Number(router.query.id);
id = router.query.id as string;
}
useEffect(() => {
if (!Number.isNaN(id)) {
SignupApi.getForm(id, true)
const suId = id && Number(id);
if (suId !== undefined && !Number.isNaN(suId)) {
SignupApi.getForm(suId, true)
.then((res) => {
setFormData({
...res,
+37 -24
View File
@@ -26,13 +26,19 @@ const SignupEmailPage: NextPage = () => {
const { id } = router.query;
useEffect(() => {
const formId = Number(id);
SignupApi.getForm(formId, true)
.then((res) => setSignupForm(res));
SignupApi.getSignups(formId).then((res) => setSignups(res));
const formId = id && Number(id);
if (formId !== undefined && !Number.isNaN(formId)) {
SignupApi.getForm(formId, true).then((res) => {
setSignupForm(res);
});
SignupApi.getSignups(formId).then((res) => {
setSignups(res);
});
}
}, [id]);
const title = signupForm ? signupForm.title_fi : "Loading...";
const confirmDelete = async (signup: Signup, question: any) => {
if (window.confirm(`Delete: ${signup.id}: ${signup.answer[question.id]}; Are you sure?`) === true) {
try {
@@ -45,27 +51,25 @@ const SignupEmailPage: NextPage = () => {
}
};
const title = signupForm ? signupForm.title_fi : "Loading...";
const renderData = () => {
if (!signupForm || !signups || signups.length === 0) {
return <div>No signups.</div>;
}
// TODO: ATM we filter 'info' questions from table here. Maybe remove them from answer JSON altogether?
const questions = signupForm ? signupForm.questions.filter((q) => q.type !== "info").map((q) => ({
title: q.title_fi,
id: q.id,
})) : [];
// TODO: ATM we filter 'info' questions from table here. Maybe remove them from answer JSON altogether?
const questions = signupForm ? signupForm.questions.filter((q) => q.type !== "info").map((q) => ({
title: q.title_fi,
id: q.id,
})) : [];
// Generate 2-dimensional array where rows are signups and columns are answers to questions.
const CSVData = signups.map((s) => questions.map((q) => s.answer[q.id]));
// Add reserve signup "header"
if (signupForm?.quota) {
CSVData.splice(signupForm.quota, 0, ["RESERVE-SIGNUPS"]);
}
// Generate 2-dimensional array where rows are signups and columns are answers to questions.
const CSVData = signups.map((s) => questions.map((q) => s.answer[q.id]));
// Add reserve signup "header"
if (signupForm?.quota) {
CSVData.splice(signupForm.quota, 0, ["RESERVE-SIGNUPS"]);
}
return (
<AdminListCommon>
<h1>
{title}
: Sign-ups
</h1>
return (
<table>
<thead>
<tr>
@@ -81,7 +85,6 @@ const SignupEmailPage: NextPage = () => {
</th>
</tr>
</thead>
<tbody>
{signups.map((s) => (
<tr key={s.id}>
@@ -99,6 +102,16 @@ const SignupEmailPage: NextPage = () => {
))}
</tbody>
</table>
);
};
return (
<AdminListCommon>
<h1>
{title}
: Sign-ups
</h1>
{renderData()}
</AdminListCommon>
);
};
@@ -100,7 +100,7 @@ const CorporatePageView: React.FC<CorporatePageViewProps> = ({ jobAds }) => (
<CTASection
bgColor="orange1"
link="https://sosso.fi/wp-content/uploads/2021/01/sossomediakortti21.pdf"
link="https://sosso.fi/wp-content/uploads/2022/01/sossomediakortti22.pdf"
linkText="Killan lehden mediakortin löydät täältä&nbsp;"
>
Mainos Sössöön?
+1 -1
View File
@@ -19,7 +19,7 @@ const FreshmenPageHero: React.FC = () => (
<HeroAsideItem
header="Seuraa killan tiedotusta"
link="https://t.me/joinchat/rKg3rCtAVkkyNTdk"
link="https://t.me/+ubTeGSYKTvg3NmVk"
linkText="Liity killan Telegram-ryhmiin"
/>
<HeroAsideItem
+6 -19
View File
@@ -18,16 +18,12 @@ import FrontPageHero from "./FrontPageHero";
// Corporate logos import
const ABB = "https://static.sahkoinsinoorikilta.fi/img/corporate_logos/abb.jpg";
const Caruna = "https://static.sahkoinsinoorikilta.fi/img/corporate_logos/caruna.jpg";
const Eaton = "https://static.sahkoinsinoorikilta.fi/img/corporate_logos/eaton.jpg";
const Ensto = "https://static.sahkoinsinoorikilta.fi/img/corporate_logos/ensto.jpg";
const eSett = "https://static.sahkoinsinoorikilta.fi/img/corporate_logos/esett.jpg";
const Fingrid = "https://static.sahkoinsinoorikilta.fi/img/corporate_logos/fingrid.jpg";
const NRCGroup = "https://static.sahkoinsinoorikilta.fi/img/corporate_logos/nrcgroup.jpg";
const Okmetic = "https://static.sahkoinsinoorikilta.fi/img/corporate_logos/okmetic.jpg";
const Ramboll = "https://static.sahkoinsinoorikilta.fi/img/corporate_logos/ramboll.png";
const Helmet = "https://static.sahkoinsinoorikilta.fi/img/corporate_logos/helmet.png";
const Siemens = "https://static.sahkoinsinoorikilta.fi/img/corporate_logos/siemens.png";
const Afry = "https://static.sahkoinsinoorikilta.fi/img/corporate_logos/afry.png";
const Nokia = "https://static.sahkoinsinoorikilta.fi/img/corporate_logos/nokia.jpg";
const Granlund = "https://static.sahkoinsinoorikilta.fi/img/corporate_logos/granlund.jpg";
interface FrontPageViewProps {
events: Event[];
@@ -97,11 +93,8 @@ const FrontPageView: React.FC<FrontPageViewProps> = ({ events, feed }) => (
<Link to="https://www.caruna.fi/tietoa-meista/tyonhakijalle/tyonantajalupaus">
<Image src={Caruna} alt="Caruna" layout="responsive" width={200} height={100} objectFit="contain" />
</Link>
<Link to="https://new.siemens.com/fi/fi.html">
<Image src={Siemens} alt="Siemens" layout="responsive" width={200} height={100} objectFit="contain" />
</Link>
<Link to="https://www.eaton.com/us/en-us.html">
<Image src={Eaton} alt="Eaton" layout="responsive" width={200} height={100} objectFit="contain" />
<Link to="https://www.nokia.com/fi_fi/">
<Image src={Nokia} alt="Nokia" layout="responsive" width={200} height={100} objectFit="contain" />
</Link>
<Link to="https://www.ensto.com/fi">
<Image src={Ensto} alt="Ensto" layout="responsive" width={200} height={100} objectFit="contain" />
@@ -115,14 +108,8 @@ const FrontPageView: React.FC<FrontPageViewProps> = ({ events, feed }) => (
<Link to="https://www.okmetic.com/fi/">
<Image src={Okmetic} alt="Okmetic" layout="responsive" width={200} height={100} objectFit="contain" />
</Link>
<Link to="https://fi.ramboll.com/">
<Image src={Ramboll} alt="Ramboll" layout="responsive" width={200} height={100} objectFit="contain" />
</Link>
<Link to="https://helmetcapital.fi/">
<Image src={Helmet} alt="Helmet" layout="responsive" width={200} height={100} objectFit="contain" />
</Link>
<Link to="https://afry.com/en">
<Image src={Afry} alt="Afry" layout="responsive" width={200} height={100} objectFit="contain" />
<Link to="https://www.granlund.fi/">
<Image src={Granlund} alt="Granlund" layout="responsive" width={200} height={100} objectFit="contain" />
</Link>
</div>
<Link to="/yritysyhteistyo">Haluatko kuulla lisää yhteistyöstä kanssamme?</Link>