Merge branch 'master' into 'production'
Prod deploy: Package updates See merge request sahkoinsinoorikilta/vtmk/web2.0-frontend!92
This commit is contained in:
+7
-7
@@ -8,7 +8,7 @@ stages:
|
||||
- deploy
|
||||
|
||||
install:
|
||||
image: node:14
|
||||
image: node:16
|
||||
stage: setup
|
||||
script:
|
||||
- npm ci
|
||||
@@ -21,34 +21,34 @@ install:
|
||||
expire_in: 1 week
|
||||
|
||||
audit:
|
||||
image: node:14
|
||||
image: node:16
|
||||
needs: ["install"]
|
||||
stage: audit
|
||||
script:
|
||||
- npm audit --audit-level=critical
|
||||
|
||||
es:lint:
|
||||
image: node:14
|
||||
image: node:16
|
||||
needs: ["install"]
|
||||
stage: lint
|
||||
script:
|
||||
- npm run lint:es
|
||||
|
||||
css:lint:
|
||||
image: node:14
|
||||
image: node:16
|
||||
needs: ["install"]
|
||||
stage: lint
|
||||
script:
|
||||
- npm run lint:css
|
||||
|
||||
# test:unit:
|
||||
# image: node:14
|
||||
# image: node:16
|
||||
# stage: test
|
||||
# script:
|
||||
# - npm run test:unit
|
||||
|
||||
build:
|
||||
image: node:14
|
||||
image: node:16
|
||||
needs: ["install"]
|
||||
stage: build
|
||||
script:
|
||||
@@ -66,7 +66,7 @@ build:
|
||||
- .next/cache/
|
||||
|
||||
test:e2e:
|
||||
image: circleci/node:14-browsers
|
||||
image: circleci/node:16-browsers
|
||||
needs: ["install", "build"]
|
||||
stage: test
|
||||
script:
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"extends": [
|
||||
"stylelint-config-standard",
|
||||
"stylelint-config-recommended",
|
||||
"stylelint-config-styled-components"
|
||||
],
|
||||
"syntax": "css"
|
||||
"customSyntax": "postcss-jsx"
|
||||
}
|
||||
|
||||
+3
-3
@@ -1,5 +1,5 @@
|
||||
# Install dependencies only when needed
|
||||
FROM node:14-alpine AS deps
|
||||
FROM node:16-alpine AS deps
|
||||
# Check https://github.com/nodejs/docker-node/tree/b4117f9333da4138b03a546ec926ef50a31506c3#nodealpine to understand why libc6-compat might be needed.
|
||||
RUN apk add --no-cache libc6-compat
|
||||
WORKDIR /app
|
||||
@@ -7,7 +7,7 @@ COPY package.json package-lock.json ./
|
||||
RUN npm ci
|
||||
|
||||
# Rebuild the source code only when needed
|
||||
FROM node:14-alpine AS builder
|
||||
FROM node:16-alpine AS builder
|
||||
WORKDIR /app
|
||||
COPY . .
|
||||
COPY --from=deps /app/node_modules ./node_modules
|
||||
@@ -21,7 +21,7 @@ ARG SENTRY_AUTH_TOKEN
|
||||
RUN npm run build
|
||||
|
||||
# Production image, copy all the files and run next
|
||||
FROM node:14-alpine AS runner
|
||||
FROM node:16-alpine AS runner
|
||||
WORKDIR /app
|
||||
|
||||
ENV NODE_ENV production
|
||||
|
||||
@@ -10,7 +10,7 @@ This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next
|
||||
## Installation
|
||||
|
||||
1. Clone/download repo
|
||||
2. Install node v14 ([`nvm`](https://github.com/nvm-sh/nvm))
|
||||
2. Install node v16 ([`nvm`](https://github.com/nvm-sh/nvm))
|
||||
3. `npm install`
|
||||
|
||||
## Getting Started
|
||||
|
||||
Vendored
-1
@@ -1,5 +1,4 @@
|
||||
/// <reference types="next" />
|
||||
/// <reference types="next/types/global" />
|
||||
/// <reference types="next/image-types/global" />
|
||||
|
||||
// NOTE: This file should not be edited
|
||||
|
||||
Generated
+931
-2447
File diff suppressed because it is too large
Load Diff
+9
-7
@@ -48,28 +48,30 @@
|
||||
"eslint": "^7.32.0",
|
||||
"eslint-config-airbnb": "^18.2.1",
|
||||
"eslint-config-airbnb-typescript": "^13.0.0",
|
||||
"eslint-config-next": "^11.1.2",
|
||||
"eslint-config-next": "^12.0.7",
|
||||
"husky": "^7.0.1",
|
||||
"jest": "^27.1.0",
|
||||
"next-sitemap": "^1.6.203",
|
||||
"npm-run-all": "^4.1.5",
|
||||
"stylelint": "^13.13.1",
|
||||
"stylelint-config-standard": "^22.0.0",
|
||||
"postcss-jsx": "^0.36.4",
|
||||
"postcss-syntax": "^0.36.2",
|
||||
"stylelint": "^14.2.0",
|
||||
"stylelint-config-recommended": "^6.0.0",
|
||||
"stylelint-config-styled-components": "^0.1.1",
|
||||
"testcafe": "^1.15.3",
|
||||
"ts-jest": "^27.0.5",
|
||||
"typescript": "^4.3.5"
|
||||
},
|
||||
"dependencies": {
|
||||
"@next/bundle-analyzer": "^11.1.2",
|
||||
"@rjsf/core": "^3.1.0",
|
||||
"@sentry/nextjs": "^6.14.3",
|
||||
"@next/bundle-analyzer": "^12.0.7",
|
||||
"@rjsf/core": "^3.2.1",
|
||||
"@sentry/nextjs": "^6.16.0",
|
||||
"axios": "^0.21.1",
|
||||
"date-fns": "^2.23.0",
|
||||
"fast-deep-equal": "^3.1.3",
|
||||
"js-cookie": "^3.0.0",
|
||||
"lodash": "^4.17.21",
|
||||
"next": "^11.1.2",
|
||||
"next": "^12.0.7",
|
||||
"normalize.css": "^8.0.1",
|
||||
"react": "^17.0.2",
|
||||
"react-beautiful-dnd": "^13.1.0",
|
||||
|
||||
@@ -36,6 +36,7 @@ export const HeroSecondarySectionItem: React.FC<HeroSecondarySectionItemProps> =
|
||||
const Section = styled.section`
|
||||
background-color: ${colors.green1};
|
||||
color: ${colors.darkBlue};
|
||||
width: 100%;
|
||||
padding: 3rem;
|
||||
|
||||
h1 {
|
||||
|
||||
+1
-1
@@ -12,7 +12,7 @@ export async function generateToken(username: string, password: string): Promise
|
||||
return resp.data.token;
|
||||
}
|
||||
|
||||
export function setTokenCookie(token: string) {
|
||||
export function setTokenCookie(token: string): void {
|
||||
Cookies.set("jwt", token);
|
||||
Cookies.set("jwt", token, { domain: ".sahkoinsinoorikilta.fi" });
|
||||
}
|
||||
|
||||
@@ -54,15 +54,10 @@ const ActualPageHero: React.FC = () => (
|
||||
linkText="Ulkoiset suhteet ›"
|
||||
/>
|
||||
</HeroAside>
|
||||
|
||||
|
||||
<HeroSecondarySection
|
||||
heading="Kiltahuone sijaitsee Tuas-talossa (Maarintie 8)"
|
||||
>
|
||||
<HeroSecondarySectionItem note="Ma">
|
||||
<span>
|
||||
Killan hallitus päivystää kiltahuoneella <strong>maanantaisin.</strong> Tuolloin voit ostaa kiltatuotteita, kuten esim. haalarimerkkejä tai laulukirjoja.
|
||||
</span>
|
||||
</HeroSecondarySectionItem>
|
||||
<HeroSecondarySectionItem note="To">
|
||||
<span>
|
||||
Kiltapäiväkerho Kiltis kokoontuu <strong>torstaisin kiltahuoneella.</strong>. Lämpimästi tervetuloa kaikki SIKkiläiset ja SIK-mieliset!
|
||||
|
||||
@@ -151,6 +151,7 @@ const ContactsPageView: React.FC = () => (
|
||||
<BlueLink to="mailto:hallitus@sahkoinsinoorikilta.fi">
|
||||
hallitus@sahkoinsinoorikilta.fi
|
||||
</BlueLink>
|
||||
{". Hallituksen yksittäisiin jäseniin saat yhteyden etunimi.sukunimi@sahkoinsinoorikilta.fi osoitteista."}
|
||||
</p>
|
||||
)}
|
||||
</CommitteeContainer>
|
||||
|
||||
@@ -7,7 +7,7 @@ import CorporatePageHero from "./CorporatePageHero";
|
||||
import JobAdList from "./JobAdList";
|
||||
|
||||
const EXCURSION_RULES = "https://static.sahkoinsinoorikilta.fi/saannot/excursiosaannot.pdf";
|
||||
const YTMK_MAIL = "ytmk@sahkoinsinoorikilta.fi";
|
||||
const CORPORATE_MASTER_MAIL = "tommi.oinonen@sahkoinsinoorikilta.fi";
|
||||
|
||||
interface CorporatePageViewProps {
|
||||
jobAds: JobAd[];
|
||||
@@ -92,9 +92,9 @@ const CorporatePageView: React.FC<CorporatePageViewProps> = ({ jobAds }) => (
|
||||
<TextSection>
|
||||
<h3>Olethan yhteydessä!</h3>
|
||||
<div>
|
||||
<p>Yllämainituista mahdollisuuksista, sekä muista ideoista kiinnostuneena, voit olla yhteydessä Yrityssuhdemestariimme Ottoon.</p>
|
||||
<p>Yllämainituista mahdollisuuksista, sekä muista ideoista kiinnostuneena, voit olla yhteydessä Yrityssuhdemestariimme Tommiin.</p>
|
||||
<h6>Yrityssuhdemestari</h6>
|
||||
<p>Otto Julkunen <br />044 973 2842<br /> <a href="mailto:otto.julkunen@sahkoinsinoorikilta.fi">otto.julkunen@sahkoinsinoorikilta.fi</a></p>
|
||||
<p>Tommi Oinonen <br />044 299 3439<br /> <a href={`mailto:${CORPORATE_MASTER_MAIL}`}>{CORPORATE_MASTER_MAIL}</a></p>
|
||||
</div>
|
||||
</TextSection>
|
||||
|
||||
@@ -110,7 +110,7 @@ const CorporatePageView: React.FC<CorporatePageViewProps> = ({ jobAds }) => (
|
||||
<h3 id="tyopaikat">Työpaikkailmoitukset</h3>
|
||||
<div>
|
||||
<JobAdList jobAds={jobAds} />
|
||||
<p>Voit saada yrityksesi työpaikkailmoituksen listalle lähettämällä sen osoitteeseen <a href={`mailto:${YTMK_MAIL}`}>{YTMK_MAIL}</a></p>
|
||||
<p>Voit saada yrityksesi työpaikkailmoituksen listalle lähettämällä sen osoitteeseen <a href={`mailto:${CORPORATE_MASTER_MAIL}`}>{CORPORATE_MASTER_MAIL}</a></p>
|
||||
</div>
|
||||
|
||||
</TextSection>
|
||||
|
||||
@@ -64,7 +64,7 @@ const HonoraryPageView: React.FC = () => (
|
||||
<li>2001 Marko Koski</li>
|
||||
<li>2002 Sanna Allt, Jussi Salmio</li>
|
||||
<li>2003 Ville-Hermanni Kilpiä</li>
|
||||
<li>2004 Sanna Santajärvi</li>
|
||||
<li>2004 Sanna Liimatainen (os. Santajärvi)</li>
|
||||
<li>2005 Janne Viskari</li>
|
||||
<li>2006 Mika Isosaari</li>
|
||||
<li>2007 Henna Sirkiä (os. Heikkilä)</li>
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
import React from "react";
|
||||
import styled from "styled-components";
|
||||
import { IChangeEvent, ISubmitEvent, ErrorSchema } from "@rjsf/core";
|
||||
import {
|
||||
IChangeEvent, ISubmitEvent, ErrorSchema, Widget,
|
||||
} from "@rjsf/core";
|
||||
import { SignupForm } from "@models/Signup";
|
||||
import Checkboxes from "@components/Widgets/Checkbox/Checkboxes";
|
||||
import RadioButtonWidget from "@components/Widgets/RadioButton/RadioButtonWidget";
|
||||
@@ -12,8 +14,8 @@ import { buildFormSchema, buildUISchema, signupFormQuestionToQuestion } from "./
|
||||
import { useTranslation } from "../../i18n";
|
||||
|
||||
const customWidgets = {
|
||||
radio: RadioButtonWidget,
|
||||
checkboxes: Checkboxes,
|
||||
radio: RadioButtonWidget as unknown as Widget,
|
||||
checkboxes: Checkboxes as unknown as Widget,
|
||||
};
|
||||
|
||||
interface SignUpPageViewProps {
|
||||
|
||||
@@ -53,6 +53,7 @@
|
||||
"src/utils/*"
|
||||
]
|
||||
},
|
||||
"incremental": true
|
||||
},
|
||||
"include": [
|
||||
"./src/**/*",
|
||||
|
||||
Reference in New Issue
Block a user