From 5ee29e291788f7faff508009cc3a05ed5aa4bcd4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 3 Jul 2024 10:07:15 +0000 Subject: [PATCH 1/8] Bump jsdom from 24.0.0 to 24.1.0 Bumps [jsdom](https://github.com/jsdom/jsdom) from 24.0.0 to 24.1.0. - [Release notes](https://github.com/jsdom/jsdom/releases) - [Changelog](https://github.com/jsdom/jsdom/blob/main/Changelog.md) - [Commits](https://github.com/jsdom/jsdom/compare/24.0.0...24.1.0) --- updated-dependencies: - dependency-name: jsdom dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 53 ++++++++++++++++++++++++++++------------------------ 2 files changed, 30 insertions(+), 25 deletions(-) diff --git a/package.json b/package.json index d99f6f9abc..df68308ca7 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "immer": "^10.1.1", "isomorphic-fetch": "3.0.0", "js-cookie": "^3.0.5", - "jsdom": "^24.0.0", + "jsdom": "^24.1.0", "jszip": "^3.10.1", "jwt-decode": "4.0.0", "linkify-react": "^3.0.4", diff --git a/yarn.lock b/yarn.lock index 733e857983..eae2b4bcdb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9537,7 +9537,7 @@ http-errors@2.0.0: statuses "2.0.1" toidentifier "1.0.1" -http-proxy-agent@^7.0.0: +http-proxy-agent@^7.0.2: version "7.0.2" resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz#9a8b1f246866c028509486585f62b8f2c18c270e" integrity sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig== @@ -9554,10 +9554,10 @@ http-signature@~1.3.6: jsprim "^2.0.2" sshpk "^1.14.1" -https-proxy-agent@^7.0.2: - version "7.0.4" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz#8e97b841a029ad8ddc8731f26595bad868cb4168" - integrity sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg== +https-proxy-agent@^7.0.4: + version "7.0.5" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz#9e8b5013873299e11fab6fd548405da2d6c602b2" + integrity sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw== dependencies: agent-base "^7.0.2" debug "4" @@ -10249,31 +10249,31 @@ jscodeshift@^0.15.1: temp "^0.8.4" write-file-atomic "^2.3.0" -jsdom@^24.0.0: - version "24.0.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-24.0.0.tgz#e2dc04e4c79da368481659818ee2b0cd7c39007c" - integrity sha512-UDS2NayCvmXSXVP6mpTj+73JnNQadZlr9N68189xib2tx5Mls7swlTNao26IoHv46BZJFvXygyRtyXd1feAk1A== +jsdom@^24.1.0: + version "24.1.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-24.1.0.tgz#0cffdabd42c506788bfecd160e8ac22d4387f971" + integrity sha512-6gpM7pRXCwIOKxX47cgOyvyQDN/Eh0f1MeKySBV2xGdKtqJBLj8P25eY3EVCWo2mglDDzozR2r2MW4T+JiNUZA== dependencies: cssstyle "^4.0.1" data-urls "^5.0.0" decimal.js "^10.4.3" form-data "^4.0.0" html-encoding-sniffer "^4.0.0" - http-proxy-agent "^7.0.0" - https-proxy-agent "^7.0.2" + http-proxy-agent "^7.0.2" + https-proxy-agent "^7.0.4" is-potential-custom-element-name "^1.0.1" - nwsapi "^2.2.7" + nwsapi "^2.2.10" parse5 "^7.1.2" - rrweb-cssom "^0.6.0" + rrweb-cssom "^0.7.0" saxes "^6.0.0" symbol-tree "^3.2.4" - tough-cookie "^4.1.3" + tough-cookie "^4.1.4" w3c-xmlserializer "^5.0.0" webidl-conversions "^7.0.0" whatwg-encoding "^3.1.1" whatwg-mimetype "^4.0.0" whatwg-url "^14.0.0" - ws "^8.16.0" + ws "^8.17.0" xml-name-validator "^5.0.0" jsesc@^2.5.1: @@ -11220,10 +11220,10 @@ null-loader@^4.0.1: loader-utils "^2.0.0" schema-utils "^3.0.0" -nwsapi@^2.2.7: - version "2.2.7" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.7.tgz#738e0707d3128cb750dddcfe90e4610482df0f30" - integrity sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ== +nwsapi@^2.2.10: + version "2.2.10" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.10.tgz#0b77a68e21a0b483db70b11fad055906e867cda8" + integrity sha512-QK0sRs7MKv0tKe1+5uZIQk/C8XGza4DAnztJG8iD+TpJIORARrCxczA738awHrZoHeTjSSoHqao2teO0dC/gFQ== nypm@^0.3.3: version "0.3.3" @@ -13424,6 +13424,11 @@ rrweb-cssom@^0.6.0: resolved "https://registry.yarnpkg.com/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz#ed298055b97cbddcdeb278f904857629dec5e0e1" integrity sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw== +rrweb-cssom@^0.7.0: + version "0.7.1" + resolved "https://registry.yarnpkg.com/rrweb-cssom/-/rrweb-cssom-0.7.1.tgz#c73451a484b86dd7cfb1e0b2898df4b703183e4b" + integrity sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg== + rst-selector-parser@^2.2.3: version "2.2.3" resolved "https://registry.yarnpkg.com/rst-selector-parser/-/rst-selector-parser-2.2.3.tgz#81b230ea2fcc6066c89e3472de794285d9b03d91" @@ -14451,10 +14456,10 @@ totalist@^3.0.0: resolved "https://registry.yarnpkg.com/totalist/-/totalist-3.0.1.tgz#ba3a3d600c915b1a97872348f79c127475f6acf8" integrity sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ== -tough-cookie@^4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf" - integrity sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw== +tough-cookie@^4.1.3, tough-cookie@^4.1.4: + version "4.1.4" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.4.tgz#945f1461b45b5a8c76821c33ea49c3ac192c1b36" + integrity sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag== dependencies: psl "^1.1.33" punycode "^2.1.1" @@ -15410,7 +15415,7 @@ ws@^7.3.1: resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9" integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== -ws@^8.16.0, ws@^8.2.3: +ws@^8.17.0, ws@^8.2.3: version "8.17.1" resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.1.tgz#9293da530bb548febc95371d90f9c878727d919b" integrity sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ== From bacc11e112944446b6665753b0b5e1aed3f143b9 Mon Sep 17 00:00:00 2001 From: Ivar Nakken Date: Wed, 3 Jul 2024 17:27:42 +0200 Subject: [PATCH 2/8] Fix overflow issues on meeting details Technically, this also applies to event details, but the pool names there are rarely named something with multiple words. --- app/components/UserAttendance/AttendanceModalContent.css | 9 +++++---- app/components/UserAttendance/AttendanceStatus.css | 4 ++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/app/components/UserAttendance/AttendanceModalContent.css b/app/components/UserAttendance/AttendanceModalContent.css index 5da184fe87..1055febf29 100644 --- a/app/components/UserAttendance/AttendanceModalContent.css +++ b/app/components/UserAttendance/AttendanceModalContent.css @@ -69,12 +69,13 @@ .row > img { width: 50px; height: 50px; - margin: 0 10px; + margin: 0 var(--spacing-md); } .nav { - margin: 5px auto; - height: 40px; + margin: var(--spacing-sm) auto; + min-height: 40px; + height: fit-content; border: 1px solid var(--border-gray); border-radius: var(--border-radius-md); font-size: var(--font-size-sm); @@ -84,7 +85,7 @@ height: 100%; border-radius: inherit; text-align: center; - padding: 5px 15px; + padding: var(--spacing-sm) var(--spacing-md); font-weight: 500; } diff --git a/app/components/UserAttendance/AttendanceStatus.css b/app/components/UserAttendance/AttendanceStatus.css index 2e0dedb95f..4ec6e6be36 100644 --- a/app/components/UserAttendance/AttendanceStatus.css +++ b/app/components/UserAttendance/AttendanceStatus.css @@ -6,7 +6,7 @@ min-height: 72px; text-align: center; border-radius: var(--border-radius-md); - margin: 10px 0; + margin: var(--spacing-sm) 0; overflow: hidden; } @@ -15,6 +15,6 @@ min-width: 25%; flex-direction: column; align-items: center; - padding: 7px 0; + padding: var(--spacing-sm); background-color: var(--additive-background); } From f79c0c74ff56abbf2e4b962b001063cad929d38f Mon Sep 17 00:00:00 2001 From: Ivar Nakken Date: Wed, 3 Jul 2024 19:39:06 +0200 Subject: [PATCH 3/8] Update various headers to resemble each other more Especially the ones on the event and meeting lists. --- app/components/Feed/activity.css | 7 +++---- .../components/CompanyInterest.css | 3 ++- app/routes/events/components/EventList.css | 11 ++-------- app/routes/events/components/EventList.tsx | 2 +- .../meetings/components/MeetingList.css | 8 ------- app/routes/pages/components/PageDetail.css | 21 +------------------ app/routes/pages/components/PageDetail.tsx | 8 +++---- app/routes/surveys/components/surveys.css | 5 ----- 8 files changed, 13 insertions(+), 52 deletions(-) diff --git a/app/components/Feed/activity.css b/app/components/Feed/activity.css index 02ffeda35a..2b6cfa6d14 100644 --- a/app/components/Feed/activity.css +++ b/app/components/Feed/activity.css @@ -1,9 +1,8 @@ .header { display: flex; align-items: center; - padding: 10px 20px; - border-bottom: 1px solid - rgba(var(--rgb-min), var(--rgb-min), var(--rgb-min), 9%); + padding: var(--spacing-sm) var(--spacing-md); + border-bottom: 1px solid var(--border-gray); word-break: break-word; white-space: pre-line; } @@ -13,7 +12,7 @@ align-items: center; justify-content: space-between; flex-direction: row; - padding: 10px 20px; + padding: var(--spacing-sm) var(--spacing-md); } .activityHeaderItem { diff --git a/app/routes/companyInterest/components/CompanyInterest.css b/app/routes/companyInterest/components/CompanyInterest.css index 76315e19aa..5c844cfe62 100644 --- a/app/routes/companyInterest/components/CompanyInterest.css +++ b/app/routes/companyInterest/components/CompanyInterest.css @@ -53,7 +53,8 @@ .heading { font-weight: 500; font-size: var(--font-size-lg); - margin-top: 0.7rem; + line-height: 1.3; + margin: var(--spacing-sm) 0; } .topline { diff --git a/app/routes/events/components/EventList.css b/app/routes/events/components/EventList.css index 65b9f9d088..715809a08f 100644 --- a/app/routes/events/components/EventList.css +++ b/app/routes/events/components/EventList.css @@ -1,12 +1,5 @@ @import url('~app/styles/variables.css'); -.heading { - font-size: var(--font-size-lg); - border-bottom: 1px solid var(--border-gray); - padding-bottom: 10px; - margin-bottom: 20px; -} - .noEvents { color: var(--secondary-font-color); font-weight: 400; @@ -14,11 +7,11 @@ } .eventGroup { - margin-bottom: 40px; + margin-bottom: var(--spacing-lg); } .bottomBorder { - margin-top: 40px; + margin-top: var(--spacing-lg); border-top: 1px solid var(--border-gray); } diff --git a/app/routes/events/components/EventList.tsx b/app/routes/events/components/EventList.tsx index 81ed183d31..2d1df1967c 100644 --- a/app/routes/events/components/EventList.tsx +++ b/app/routes/events/components/EventList.tsx @@ -75,7 +75,7 @@ const EventListGroup = ({ }) => { return isEmpty(events) ? null : (
-

{name}

+

{name}

{events.map((event) => ( = ({ page }) => { <>

Medlemmer

-
-
+ + {leaders.map(({ user }) => ( = ({ page }) => { {co_leaders.map(({ user }) => ( ))} -
+
{members.map(({ user, role }) => ( @@ -115,7 +115,7 @@ const GroupRenderer: PageRenderer = ({ page }) => { ))}
-
+ )} diff --git a/app/routes/surveys/components/surveys.css b/app/routes/surveys/components/surveys.css index a94f187b4b..d2b8d0c693 100644 --- a/app/routes/surveys/components/surveys.css +++ b/app/routes/surveys/components/surveys.css @@ -29,11 +29,6 @@ margin-right: 30px; } -.bottomBorder { - margin-top: 40px; - border-top: 1px solid var(--border-gray); -} - .search h2 { display: inline; margin-right: 20px; From ed8027b1a7c6e767111eb9e3aba628389015e8c7 Mon Sep 17 00:00:00 2001 From: Ivar Nakken Date: Wed, 3 Jul 2024 20:15:23 +0200 Subject: [PATCH 4/8] Reword header on company interest editor The "editor" is also used when you just want to view the submitted form, so I believe saying you're "editing it" may sound scary and is in most cases "wrong". Also add a back button --- app/routes/bdb/utils.tsx | 2 +- .../companyInterest/components/CompanyInterest.css | 5 ----- .../components/CompanyInterestList.tsx | 6 +++--- .../components/CompanyInterestPage.tsx | 9 +++++---- .../companyInterest/components/CompanySemesterGUI.tsx | 11 +++-------- 5 files changed, 12 insertions(+), 21 deletions(-) diff --git a/app/routes/bdb/utils.tsx b/app/routes/bdb/utils.tsx index 91c6e400cd..b3bfc8a391 100644 --- a/app/routes/bdb/utils.tsx +++ b/app/routes/bdb/utils.tsx @@ -187,7 +187,7 @@ export const getContactStatuses = ( export const BdbTabs = () => ( <> - Interesseskjema + Interesseskjema BDB ); diff --git a/app/routes/companyInterest/components/CompanyInterest.css b/app/routes/companyInterest/components/CompanyInterest.css index 76315e19aa..125c485d02 100644 --- a/app/routes/companyInterest/components/CompanyInterest.css +++ b/app/routes/companyInterest/components/CompanyInterest.css @@ -15,11 +15,6 @@ margin-left: 20px; } -.guiWrapper { - margin-right: 30px; - flex-wrap: wrap; -} - .guiBoxes { justify-content: flex-end; margin: 10px 0; diff --git a/app/routes/companyInterest/components/CompanyInterestList.tsx b/app/routes/companyInterest/components/CompanyInterestList.tsx index b9c060554d..b7ecb5ed3a 100644 --- a/app/routes/companyInterest/components/CompanyInterestList.tsx +++ b/app/routes/companyInterest/components/CompanyInterestList.tsx @@ -143,7 +143,7 @@ const CompanyInterestList = () => { title: 'Bedriftsnavn', dataIndex: 'companyName', render: (companyName: string, companyInterest: Record) => ( - + {companyInterest.company ? companyInterest.company.name : companyName} ), @@ -209,7 +209,7 @@ const CompanyInterestList = () => { + Ny bedriftsinteresse } @@ -231,7 +231,7 @@ const CompanyInterestList = () => { isClearable={false} /> - + Endre aktive semestre diff --git a/app/routes/companyInterest/components/CompanyInterestPage.tsx b/app/routes/companyInterest/components/CompanyInterestPage.tsx index 886dd5012b..c4ad1ccda4 100644 --- a/app/routes/companyInterest/components/CompanyInterestPage.tsx +++ b/app/routes/companyInterest/components/CompanyInterestPage.tsx @@ -461,7 +461,7 @@ const CompanyInterestPage = () => { : createCompanyInterest(newData, isEnglish), ).then(() => { navigate( - allowedBdb ? '/companyInterest/' : '/pages/bedrifter/for-bedrifter', + allowedBdb ? '/company-interest' : '/pages/bedrifter/for-bedrifter', ); }); }; @@ -525,13 +525,14 @@ const CompanyInterestPage = () => { }, ]; - const title = edit - ? 'Redigerer bedriftsinteresse' - : FORM_LABELS.mainHeading[language]; + const title = edit ? 'Bedriftsinteresse' : FORM_LABELS.mainHeading[language]; return ( diff --git a/app/routes/companyInterest/components/CompanySemesterGUI.tsx b/app/routes/companyInterest/components/CompanySemesterGUI.tsx index e3a4263cc2..34aaacfad6 100644 --- a/app/routes/companyInterest/components/CompanySemesterGUI.tsx +++ b/app/routes/companyInterest/components/CompanySemesterGUI.tsx @@ -40,14 +40,9 @@ const validate = createValidator({ const CompanySemesterGUI = () => { return ( - - - + + + From cc6d17f743d18d70e036bb4c05c899f9f5812289 Mon Sep 17 00:00:00 2001 From: Ivar Nakken Date: Sat, 23 Mar 2024 20:05:47 +0100 Subject: [PATCH 5/8] Fix fetching of company contacts in joblisting editor --- app/actions/CompanyActions.ts | 4 +- .../components/JoblistingEditor.tsx | 40 ++++++++++--------- 2 files changed, 24 insertions(+), 20 deletions(-) diff --git a/app/actions/CompanyActions.ts b/app/actions/CompanyActions.ts index 4a86c13d59..c5a904c193 100644 --- a/app/actions/CompanyActions.ts +++ b/app/actions/CompanyActions.ts @@ -183,8 +183,8 @@ export function deleteSemesterStatus( }); } -export function fetchCompanyContacts({ companyId }: { companyId: EntityId }) { - return callAPI({ +export function fetchCompanyContacts(companyId: EntityId) { + return callAPI<{ results: CompanyContact[] }>({ types: Company.FETCH_COMPANY_CONTACT, endpoint: `/companies/${companyId}/company-contacts/`, method: 'GET', diff --git a/app/routes/joblistings/components/JoblistingEditor.tsx b/app/routes/joblistings/components/JoblistingEditor.tsx index 48e5fb0294..d6dbd64f97 100644 --- a/app/routes/joblistings/components/JoblistingEditor.tsx +++ b/app/routes/joblistings/components/JoblistingEditor.tsx @@ -43,6 +43,9 @@ import { import { places, jobTypes, yearValues } from '../constants'; import styles from './JoblistingEditor.css'; import type { EntityId } from '@reduxjs/toolkit'; +import type { searchMapping } from 'app/reducers/search'; +import type { ListCompany } from 'app/store/models/Company'; +import type { DetailedJoblisting } from 'app/store/models/Joblisting'; type SelectInputObject = { label: string; @@ -82,7 +85,7 @@ const JoblistingEditor = () => { const isNew = joblistingId === undefined; const joblisting = useAppSelector((state) => - selectJoblistingById(state, joblistingId), + selectJoblistingById(state, joblistingId), ); const navigate = useNavigate(); @@ -128,18 +131,18 @@ const JoblistingEditor = () => { }); const fetchContacts = useCallback( - (company: SelectInputObject) => { - return dispatch( - fetchCompanyContacts({ - companyId: company.id, - }), - ).then((action) => { - const responsibleOptions = action.payload.map((contact) => ({ - label: contact.name, - value: contact.id, - })); - setResponsibleOptions(responsibleOptions); - }); + (company: (typeof searchMapping)['companies.company'] | ListCompany) => { + const companyId = 'value' in company ? company.value : company.id; + + return dispatch(fetchCompanyContacts(companyId as EntityId)).then( + (res) => { + const responsibleOptions = res.payload.results.map((contact) => ({ + label: contact.name, + value: contact.id, + })); + setResponsibleOptions(responsibleOptions); + }, + ); }, [dispatch], ); @@ -147,7 +150,11 @@ const JoblistingEditor = () => { usePreparedEffect( 'fetchContacts', () => { - if (!isNew && joblisting?.company) { + if ( + !isNew && + joblisting?.company && + typeof joblisting.company === 'object' + ) { return fetchContacts(joblisting?.company); } }, @@ -231,10 +238,6 @@ const JoblistingEditor = () => { filter={['companies.company']} onChange={(event) => { fetchContacts(event).then(() => { - form.change('joblistingEditor', { - label: 'Ingen', - value: null, - }); form.change('responsible', { label: 'Ingen', value: null, @@ -274,6 +277,7 @@ const JoblistingEditor = () => { name="workplaces" component={SelectInput.Field} options={places} + required tags /> Date: Fri, 5 Jul 2024 23:23:35 +0200 Subject: [PATCH 6/8] Change ts compiler option "module" to `preserve` `commonjs` is not an allowed module when `moduleResolution` is set to `bundler`. --- tsconfig.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tsconfig.json b/tsconfig.json index 779f71d66b..30d46baab4 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,7 +2,7 @@ "compilerOptions": { "target": "esnext", "jsx": "react-jsx", - "module": "commonjs", + "module": "preserve", "moduleResolution": "bundler", "baseUrl": "./", "paths": { From c2d6f974f4fbe1db2abb55c99f37ca425c7c6ca4 Mon Sep 17 00:00:00 2001 From: Ivar Nakken Date: Thu, 4 Jul 2024 00:21:44 +0200 Subject: [PATCH 7/8] Translate all alts to Norwegian Our webapp is, after all, in Norwegian. --- app/components/EventItem/index.tsx | 6 +++--- app/components/Footer/index.tsx | 2 +- app/components/GroupMember/index.tsx | 2 +- app/components/Header/index.tsx | 12 ++++++++++-- app/components/Image/ProfilePicture.tsx | 2 +- app/components/JoblistingItem/index.tsx | 2 +- app/components/Reactions/ReactionPicker.tsx | 2 +- app/components/Search/SearchPageResults.tsx | 6 +++++- app/components/Upload/ImageUpload.tsx | 8 ++++++-- app/routes/articles/components/ArticleList.tsx | 2 +- app/routes/bdb/components/BdbDetail.tsx | 2 +- app/routes/brand/components/BrandPage.tsx | 12 ++++++++++-- .../components/CompanyInterestPage.tsx | 10 ++++++++-- app/routes/events/components/EventDetail/index.tsx | 2 +- .../components/EventEditor/EditorSection/Header.tsx | 2 +- app/routes/frontpage/components/ArticleItem.tsx | 2 +- .../frontpage/components/FrontpageEventItem.tsx | 2 +- app/routes/frontpage/components/LatestReadme.tsx | 2 +- app/routes/frontpage/components/Pinned.tsx | 2 +- app/routes/frontpage/components/PublicFrontpage.tsx | 2 +- .../interestgroups/components/InterestGroup.tsx | 2 +- .../components/InterestGroupDetail.tsx | 2 +- .../components/subcomponents/EmailItem/index.tsx | 6 +++++- .../photos/components/GalleryPictureEditModal.tsx | 4 ++-- app/routes/photos/components/GalleryPictureModal.tsx | 2 +- .../surveys/components/SurveyList/SurveyItem.tsx | 2 +- app/routes/users/components/UserProfile.tsx | 2 +- cypress/e2e/profile_spec.js | 4 ++-- cypress/e2e/router_spec.js | 8 ++++---- packages/lego-bricks/src/components/Image/index.tsx | 2 +- .../src/components/Layout/Page/PageCover.tsx | 2 +- 31 files changed, 76 insertions(+), 42 deletions(-) diff --git a/app/components/EventItem/index.tsx b/app/components/EventItem/index.tsx index 29124d7d1d..9af9e6dc46 100644 --- a/app/components/EventItem/index.tsx +++ b/app/components/EventItem/index.tsx @@ -158,7 +158,7 @@ const EventItem = ({ {event.cover && ( Event cover image @@ -185,7 +185,7 @@ const EventItem = ({ {`Event )} @@ -236,7 +236,7 @@ const EventItem = ({ {event.cover && ( Event cover diff --git a/app/components/Footer/index.tsx b/app/components/Footer/index.tsx index ee5dbd3d45..34ea5b9e31 100644 --- a/app/components/Footer/index.tsx +++ b/app/components/Footer/index.tsx @@ -130,7 +130,7 @@ const Footer = () => { netcompany Informasjonskapsler (cookies) diff --git a/app/components/GroupMember/index.tsx b/app/components/GroupMember/index.tsx index 311b5df809..8ce3abf1ce 100644 --- a/app/components/GroupMember/index.tsx +++ b/app/components/GroupMember/index.tsx @@ -26,7 +26,7 @@ const GroupMember = ({ user, role, leader, co_leader, groupName }: Props) => { )} > profilePicture diff --git a/app/components/Header/index.tsx b/app/components/Header/index.tsx index 56740bb500..fb8fd3814d 100644 --- a/app/components/Header/index.tsx +++ b/app/components/Header/index.tsx @@ -118,8 +118,16 @@ const HeaderLogo = () => {
- - + Abakus sin logo + Abakus sin logo
diff --git a/app/components/Image/ProfilePicture.tsx b/app/components/Image/ProfilePicture.tsx index 60338af92e..3cec5b01f8 100644 --- a/app/components/Image/ProfilePicture.tsx +++ b/app/components/Image/ProfilePicture.tsx @@ -16,7 +16,7 @@ const ProfilePicture = ({ user, size = 100, className, - alt = `${user.username}'s profile picture`, + alt = `${user.username} sitt profilbilde`, style, ...props }: Props) => ( diff --git a/app/components/JoblistingItem/index.tsx b/app/components/JoblistingItem/index.tsx index d57385a9c8..fc66d31f93 100644 --- a/app/components/JoblistingItem/index.tsx +++ b/app/components/JoblistingItem/index.tsx @@ -21,7 +21,7 @@ const JoblistingItem = ({ joblisting }: JobListingItemProps) => ( className={styles.companyLogo} src={joblisting.company.logo} placeholder={joblisting.company.logoPlaceholder} - alt={`${joblisting.company.name} logo`} + alt={`${joblisting.company.name} sin logo`} /> )}
diff --git a/app/components/Reactions/ReactionPicker.tsx b/app/components/Reactions/ReactionPicker.tsx index 84575553bb..0c46374bc0 100644 --- a/app/components/Reactions/ReactionPicker.tsx +++ b/app/components/Reactions/ReactionPicker.tsx @@ -188,7 +188,7 @@ const ReactionPicker = ({ emojis, contentTarget }: Props) => { /> {isLoading ? (
- Emoji loading indicator + Lasteindikator
) : ( { {result.picture && result.picture !== 'cover' && ( - search + {`Bilde )} diff --git a/app/components/Upload/ImageUpload.tsx b/app/components/Upload/ImageUpload.tsx index 04568565db..107231bab6 100644 --- a/app/components/Upload/ImageUpload.tsx +++ b/app/components/Upload/ImageUpload.tsx @@ -60,7 +60,11 @@ const FilePreview = ({ file, onRemove }: FilePreviewProps) => { justifyContent="space-between" className={styles.previewRow} > - preview + Forhåndsvisning av bilde
{file.name}
@@ -133,7 +137,7 @@ const UploadArea = ({ multiple, onDrop, image, accept }: UploadAreaProps) => { )} {image && ( - presentation + Opplastet bilde )}
diff --git a/app/routes/articles/components/ArticleList.tsx b/app/routes/articles/components/ArticleList.tsx index 3a7ccf9945..c88c597882 100644 --- a/app/routes/articles/components/ArticleList.tsx +++ b/app/routes/articles/components/ArticleList.tsx @@ -29,7 +29,7 @@ export const ArticleListItem = ({ article }: { article: PublicArticle }) => { Article cover diff --git a/app/routes/bdb/components/BdbDetail.tsx b/app/routes/bdb/components/BdbDetail.tsx index bc08e5f27f..ae135ed3e4 100644 --- a/app/routes/bdb/components/BdbDetail.tsx +++ b/app/routes/bdb/components/BdbDetail.tsx @@ -287,7 +287,7 @@ const BdbDetail = () => { + ) } title={[ diff --git a/app/routes/brand/components/BrandPage.tsx b/app/routes/brand/components/BrandPage.tsx index 007dcda09a..fbd3cac3d8 100644 --- a/app/routes/brand/components/BrandPage.tsx +++ b/app/routes/brand/components/BrandPage.tsx @@ -40,7 +40,11 @@ const BrandPage = () => (

- Allowed examples + Eksempler på tillatte versjoner av logo
@@ -70,7 +74,11 @@ const BrandPage = () => (
- Not allowed examples + Eksempler på ikke tillatte versjoner av logo
diff --git a/app/routes/companyInterest/components/CompanyInterestPage.tsx b/app/routes/companyInterest/components/CompanyInterestPage.tsx index 886dd5012b..5a61e8ddf6 100644 --- a/app/routes/companyInterest/components/CompanyInterestPage.tsx +++ b/app/routes/companyInterest/components/CompanyInterestPage.tsx @@ -215,7 +215,7 @@ const CollaborationBox = ({ ); -const LanguageFlag = ({ language }: { language: string }) => { +const LanguageFlag = ({ language }: { language: 'english' | 'norwegian' }) => { let flag; switch (language) { @@ -232,7 +232,13 @@ const LanguageFlag = ({ language }: { language: string }) => { break; } - return Country flag; + return ( + {language + ); }; type CompanyInterestFormEntity = { diff --git a/app/routes/events/components/EventDetail/index.tsx b/app/routes/events/components/EventDetail/index.tsx index ce5de6c310..bb7de4cbc6 100644 --- a/app/routes/events/components/EventDetail/index.tsx +++ b/app/routes/events/components/EventDetail/index.tsx @@ -501,7 +501,7 @@ const EventDetail = () => { > MazeMap-logo {mapIsOpen ? 'Skjul kart' : 'Vis kart'} diff --git a/app/routes/events/components/EventEditor/EditorSection/Header.tsx b/app/routes/events/components/EventEditor/EditorSection/Header.tsx index e7de979413..1d85a14ed2 100644 --- a/app/routes/events/components/EventEditor/EditorSection/Header.tsx +++ b/app/routes/events/components/EventEditor/EditorSection/Header.tsx @@ -99,7 +99,7 @@ const Header = ({ {`${e.cover} { form.change('cover', `${e.key}:${e.token}`); close(); diff --git a/app/routes/frontpage/components/ArticleItem.tsx b/app/routes/frontpage/components/ArticleItem.tsx index 6e3c132786..a3afe7c284 100644 --- a/app/routes/frontpage/components/ArticleItem.tsx +++ b/app/routes/frontpage/components/ArticleItem.tsx @@ -27,7 +27,7 @@ const ArticleItem = ({ item, url, meta }: Props) => { src={item?.cover || ''} placeholder={item?.coverPlaceholder} height="110" - alt="Article cover" + alt="Forsidebilde til artikkel" />
diff --git a/app/routes/frontpage/components/FrontpageEventItem.tsx b/app/routes/frontpage/components/FrontpageEventItem.tsx index aa8aa76f20..14a0835a9f 100644 --- a/app/routes/frontpage/components/FrontpageEventItem.tsx +++ b/app/routes/frontpage/components/FrontpageEventItem.tsx @@ -31,7 +31,7 @@ const FrontpageEventItem = ({ item, url, meta }: Props) => { width={270} height={80} src={item?.cover || ''} - alt={`${item?.title} cover image`} + alt={`Forsidebildet til ${item?.title}`} placeholder={item?.coverPlaceholder} /> )} diff --git a/app/routes/frontpage/components/LatestReadme.tsx b/app/routes/frontpage/components/LatestReadme.tsx index 839774b0a9..644aae3443 100644 --- a/app/routes/frontpage/components/LatestReadme.tsx +++ b/app/routes/frontpage/components/LatestReadme.tsx @@ -46,7 +46,7 @@ const LatestReadme = ({
{readmes.slice(0, displayCount).map(({ image, pdf, title }) => ( - {`Cover + {`Forsidebildet ))}
diff --git a/app/routes/frontpage/components/Pinned.tsx b/app/routes/frontpage/components/Pinned.tsx index 371821ef72..042cdf218f 100644 --- a/app/routes/frontpage/components/Pinned.tsx +++ b/app/routes/frontpage/components/Pinned.tsx @@ -34,7 +34,7 @@ const Pinned = ({ item, url, meta, style }: Props) => { placeholder={item?.coverPlaceholder} height={500} width={1667} - alt={`Cover of ${item?.title}`} + alt={`Forsidebildet til ${item?.title}`} />
diff --git a/app/routes/frontpage/components/PublicFrontpage.tsx b/app/routes/frontpage/components/PublicFrontpage.tsx index d3ca1973cc..c4ee9680fc 100644 --- a/app/routes/frontpage/components/PublicFrontpage.tsx +++ b/app/routes/frontpage/components/PublicFrontpage.tsx @@ -99,7 +99,7 @@ const HspInfo = () => ( NETCOMPANY diff --git a/app/routes/interestgroups/components/InterestGroup.tsx b/app/routes/interestgroups/components/InterestGroup.tsx index 78ca38eb58..9a8420ec6a 100644 --- a/app/routes/interestgroups/components/InterestGroup.tsx +++ b/app/routes/interestgroups/components/InterestGroup.tsx @@ -34,7 +34,7 @@ const InterestGroupComponent = ({ group, active }: Props) => { currentTarget.src = ABAKUS_ICON; currentTarget.onerror = null; }} - alt={active ? `${group.name} logo` : 'logo'} + alt={`${group.name} sin logo`} /> ); diff --git a/app/routes/interestgroups/components/InterestGroupDetail.tsx b/app/routes/interestgroups/components/InterestGroupDetail.tsx index 9a3a10467a..067fd788ea 100644 --- a/app/routes/interestgroups/components/InterestGroupDetail.tsx +++ b/app/routes/interestgroups/components/InterestGroupDetail.tsx @@ -169,7 +169,7 @@ const InterestGroupDetail = () => { {logo && ( {`${group.name} { return (
{logo && ( - {recipient + {`${recipient} )}
{readmeIfy(recipient)}
diff --git a/app/routes/photos/components/GalleryPictureEditModal.tsx b/app/routes/photos/components/GalleryPictureEditModal.tsx index 574d35ef6f..4c394684ec 100644 --- a/app/routes/photos/components/GalleryPictureEditModal.tsx +++ b/app/routes/photos/components/GalleryPictureEditModal.tsx @@ -108,7 +108,7 @@ const GalleryPictureEditModal = () => { Albumcover @@ -125,7 +125,7 @@ const GalleryPictureEditModal = () => { diff --git a/app/routes/photos/components/GalleryPictureModal.tsx b/app/routes/photos/components/GalleryPictureModal.tsx index 78d05bebc0..29d00b0f92 100644 --- a/app/routes/photos/components/GalleryPictureModal.tsx +++ b/app/routes/photos/components/GalleryPictureModal.tsx @@ -287,7 +287,7 @@ const GalleryPictureModal = () => { some alt diff --git a/app/routes/surveys/components/SurveyList/SurveyItem.tsx b/app/routes/surveys/components/SurveyList/SurveyItem.tsx index 23950be8f6..9f8bd402fe 100644 --- a/app/routes/surveys/components/SurveyList/SurveyItem.tsx +++ b/app/routes/surveys/components/SurveyList/SurveyItem.tsx @@ -48,7 +48,7 @@ const SurveyItem = ({ survey }: Props) => { {!survey.templateType && (
- {`Cover + {`Forsidebildet
)}
diff --git a/app/routes/users/components/UserProfile.tsx b/app/routes/users/components/UserProfile.tsx index 9459949c0f..ba9c381971 100644 --- a/app/routes/users/components/UserProfile.tsx +++ b/app/routes/users/components/UserProfile.tsx @@ -443,7 +443,7 @@ const UserProfile = () => { {hasFrame && ( - Golden frame + Gullramme )} diff --git a/cypress/e2e/profile_spec.js b/cypress/e2e/profile_spec.js index 3e57a6445d..0e588f3fc6 100644 --- a/cypress/e2e/profile_spec.js +++ b/cypress/e2e/profile_spec.js @@ -33,14 +33,14 @@ describe('Profile settings', () => { it('can navigate to profile from homepage (menubar)', () => { cy.visit('/'); - cy.get(c('Header__menu')).find("[alt*='profile picture']").click(); + cy.get(c('Header__menu')).find("[alt*='webkom sitt profilbilde']").click(); cy.contains(c('Dropdown__content') + ' li', initialUser.username).click(); cy.url().should('include', '/users/me'); }); it('can navigate to settings from menubar', () => { cy.visit('/'); - cy.get(c('Header__menu')).find("[alt*='profile picture']").click(); + cy.get(c('Header__menu')).find("[alt*='webkom sitt profilbilde']").click(); cy.contains(c('Dropdown__content') + ' li', 'Innstillinger').click(); cy.url().should('include', '/users/me/settings/profile'); }); diff --git a/cypress/e2e/router_spec.js b/cypress/e2e/router_spec.js index ec03764697..f4840d659d 100644 --- a/cypress/e2e/router_spec.js +++ b/cypress/e2e/router_spec.js @@ -51,7 +51,7 @@ describe('Navigate throughout app', () => { it('should be able to navigate to users profile', () => { cy.visit('/'); cy.get(c('buttonGroup')).within(() => { - cy.get(`img[alt="webkom's profile picture"]`).click(); + cy.get(`img[alt="webkom sitt profilbilde"]`).click(); }); // Go to profile @@ -76,7 +76,7 @@ describe('Navigate throughout app', () => { it('should be able to navigate to users settings', () => { cy.visit('/'); cy.get(c('buttonGroup')).within(() => { - cy.get(`img[alt="webkom's profile picture"]`).click(); + cy.get(`img[alt="webkom sitt profilbilde"]`).click(); }); // Go to users settings @@ -107,7 +107,7 @@ describe('Navigate throughout app', () => { it('should be able to navigate to users meetings', () => { cy.visit('/'); cy.get(c('buttonGroup')).within(() => { - cy.get(`img[alt="webkom's profile picture"]`).click(); + cy.get(`img[alt="webkom sitt profilbilde"]`).click(); }); // Go to meetings @@ -209,7 +209,7 @@ describe('Navigate throughout app', () => { it('should be able to log out', () => { cy.visit('/'); cy.get(c('buttonGroup')).within(() => { - cy.get(`img[alt="webkom's profile picture"]`).click(); + cy.get(`img[alt="webkom sitt profilbilde"]`).click(); }); // Logg out diff --git a/packages/lego-bricks/src/components/Image/index.tsx b/packages/lego-bricks/src/components/Image/index.tsx index cf423d92d7..dbe023bdd6 100644 --- a/packages/lego-bricks/src/components/Image/index.tsx +++ b/packages/lego-bricks/src/components/Image/index.tsx @@ -29,7 +29,7 @@ const ImageComponent = (props: Props) => { const { src, className, - alt = 'image', + alt, style, darkModeSource, darkThemeSource, diff --git a/packages/lego-bricks/src/components/Layout/Page/PageCover.tsx b/packages/lego-bricks/src/components/Layout/Page/PageCover.tsx index 57072c514b..6148a36491 100644 --- a/packages/lego-bricks/src/components/Layout/Page/PageCover.tsx +++ b/packages/lego-bricks/src/components/Layout/Page/PageCover.tsx @@ -44,7 +44,7 @@ export const PageCover = ({ height: '100%', objectFit: 'contain', }} - alt={alt ?? 'Content cover photo'} + alt={alt ?? 'Forsidebilde til innhold'} /> )) )} From 3036f21c15cc921294551bf69cac6ce246898d6d Mon Sep 17 00:00:00 2001 From: Ivar Nakken Date: Wed, 3 Jul 2024 17:05:36 +0200 Subject: [PATCH 8/8] Make sure all written mail addresses are anchor links I believe I went through all cases. One of them wasn't even correct --- app/routes/admin/email/components/EmailLists.tsx | 2 +- app/routes/brand/components/BrandPage.tsx | 2 +- app/routes/users/components/PhotoConsents.tsx | 12 +++++++++--- app/routes/users/components/StudentConfirmation.tsx | 13 +++++++------ 4 files changed, 18 insertions(+), 11 deletions(-) diff --git a/app/routes/admin/email/components/EmailLists.tsx b/app/routes/admin/email/components/EmailLists.tsx index afc4d8e265..3e6d133e69 100644 --- a/app/routes/admin/email/components/EmailLists.tsx +++ b/app/routes/admin/email/components/EmailLists.tsx @@ -90,7 +90,7 @@ const EmailLists = () => { eller grupper. Lister kan ikke slettes, men mottakere kan endres. Delen av adressen som kommer før @abakus.no er unik og kan ikke brukes andre steder på abakus.no. Lister er åpne og alle kan sende e-post til disse. - Ønsker brukere å sende e-post fra en @abakus.no adresse må de få + Ønsker brukere å sende e-post fra en @abakus.no-adresse må de få opprettet en personlig adresse under Brukere.

( Hei, vi i PR har laget noen retningslinjer for å hjelpe deg å bruke vårt brand og design. For å bruke logoen og designet på en måte som ikke er dekket av disse retningslinjene kontakt oss på{' '} - + pr@abakus.no og legg ved en mockup av hvordan du har tenkt til å bruke det. diff --git a/app/routes/users/components/PhotoConsents.tsx b/app/routes/users/components/PhotoConsents.tsx index e46e5c52a1..1e86b91001 100644 --- a/app/routes/users/components/PhotoConsents.tsx +++ b/app/routes/users/components/PhotoConsents.tsx @@ -52,9 +52,15 @@ const ConsentManager = ({ + Er du sikker på at du vil trekke bildesamtykket ditt for + {toReadableSemester(consent)} på {presentableDomain}? Dersom du + ønsker å fjerne noen spesifikke bilder, kan du i stedet sende en + e-post til pr@abakus.no med + informasjon om hvilke bilder du vil fjerne. + + } onConfirm={() => updateConsent({ ...consent, isConsenting: false })} > {({ openConfirmModal }) => ( diff --git a/app/routes/users/components/StudentConfirmation.tsx b/app/routes/users/components/StudentConfirmation.tsx index feebe25465..3ea11dc27b 100644 --- a/app/routes/users/components/StudentConfirmation.tsx +++ b/app/routes/users/components/StudentConfirmation.tsx @@ -26,14 +26,15 @@ const NotEligibleInfo = () => ( datakommunikasjon som studie i StudentWeb og verifisere på nytt.
  • - Sende en mail til webkom@abakus.no{' '} - med dokumentasjon på at du går eller tar fag som tilhører et av studiene - over. + Sende en e-post til{' '} + webkom@abakus.no med dokumentasjon + på at du går eller tar fag som tilhører et av studiene over.
  • - Sende en mail til abakus@abakus.no{' '} - med søknad om hvorfor du ønsker å bli medlem av Abakus. Det trenger ikke - være en stor søknad :) + Sende en e-post til{' '} + abakus@abakus.no med søknad om + hvorfor du ønsker å bli medlem av Abakus. Det trenger ikke være en stor + søknad :)