@ndla/ui 33.3.2 → 33.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/Footer/Footer.js +18 -16
- package/es/Footer/FooterLinks.js +23 -22
- package/es/ResourceGroup/ResourceGroup.js +12 -19
- package/es/ResourceGroup/ResourceItem.js +34 -36
- package/es/locale/messages-en.js +6 -0
- package/es/locale/messages-nb.js +6 -0
- package/es/locale/messages-nn.js +6 -0
- package/es/locale/messages-se.js +6 -0
- package/es/locale/messages-sma.js +6 -0
- package/lib/Footer/Footer.js +18 -16
- package/lib/Footer/FooterLinks.js +23 -22
- package/lib/ResourceGroup/ResourceGroup.d.ts +3 -1
- package/lib/ResourceGroup/ResourceGroup.js +11 -18
- package/lib/ResourceGroup/ResourceItem.js +34 -36
- package/lib/locale/messages-en.d.ts +6 -0
- package/lib/locale/messages-en.js +6 -0
- package/lib/locale/messages-nb.d.ts +6 -0
- package/lib/locale/messages-nb.js +6 -0
- package/lib/locale/messages-nn.d.ts +6 -0
- package/lib/locale/messages-nn.js +6 -0
- package/lib/locale/messages-se.d.ts +6 -0
- package/lib/locale/messages-se.js +6 -0
- package/lib/locale/messages-sma.d.ts +6 -0
- package/lib/locale/messages-sma.js +6 -0
- package/package.json +2 -2
- package/src/Footer/Footer.tsx +8 -6
- package/src/Footer/FooterLinks.tsx +20 -21
- package/src/ResourceGroup/ResourceGroup.tsx +13 -18
- package/src/ResourceGroup/ResourceItem.tsx +31 -40
- package/src/locale/messages-en.ts +6 -0
- package/src/locale/messages-nb.ts +6 -0
- package/src/locale/messages-nn.ts +6 -0
- package/src/locale/messages-se.ts +6 -0
- package/src/locale/messages-sma.ts +6 -0
|
@@ -440,6 +440,11 @@ declare const messages: {
|
|
|
440
440
|
archived: string;
|
|
441
441
|
};
|
|
442
442
|
subjectsPage: {
|
|
443
|
+
filterSubjects: string;
|
|
444
|
+
scrollToGroup: string;
|
|
445
|
+
goToTop: string;
|
|
446
|
+
alphabeticSort: string;
|
|
447
|
+
subjectGroup: string;
|
|
443
448
|
allSubjects: string;
|
|
444
449
|
chooseSubject: string;
|
|
445
450
|
errorDescription: string;
|
|
@@ -787,6 +792,7 @@ declare const messages: {
|
|
|
787
792
|
};
|
|
788
793
|
footer: {
|
|
789
794
|
aboutNDLA: string;
|
|
795
|
+
socialMedia: string;
|
|
790
796
|
selectLanguage: string;
|
|
791
797
|
info: string;
|
|
792
798
|
editorInChief: string;
|
|
@@ -244,6 +244,11 @@ var messages = _objectSpread(_objectSpread({
|
|
|
244
244
|
archived: 'This is an expired and unmaintained subject.'
|
|
245
245
|
},
|
|
246
246
|
subjectsPage: {
|
|
247
|
+
filterSubjects: 'Filter subjects',
|
|
248
|
+
scrollToGroup: 'Scroll to group',
|
|
249
|
+
goToTop: 'Scroll to top',
|
|
250
|
+
alphabeticSort: 'Subjects grouped alphabetically',
|
|
251
|
+
subjectGroup: 'Group "{{ category }}"',
|
|
247
252
|
allSubjects: 'All subjects',
|
|
248
253
|
chooseSubject: 'Choose subject',
|
|
249
254
|
errorDescription: 'Sorry, an error occurred while loading the subjects.',
|
|
@@ -582,6 +587,7 @@ var messages = _objectSpread(_objectSpread({
|
|
|
582
587
|
},
|
|
583
588
|
footer: {
|
|
584
589
|
aboutNDLA: 'About NDLA',
|
|
590
|
+
socialMedia: 'Social media',
|
|
585
591
|
selectLanguage: 'Choose language (språk): ',
|
|
586
592
|
info: 'This webapplication is developed by NDLA as Open Source code.',
|
|
587
593
|
editorInChief: 'Editor in chief: ',
|
|
@@ -440,6 +440,11 @@ declare const messages: {
|
|
|
440
440
|
archived: string;
|
|
441
441
|
};
|
|
442
442
|
subjectsPage: {
|
|
443
|
+
filterSubjects: string;
|
|
444
|
+
scrollToGroup: string;
|
|
445
|
+
goToTop: string;
|
|
446
|
+
alphabeticSort: string;
|
|
447
|
+
subjectGroup: string;
|
|
443
448
|
allSubjects: string;
|
|
444
449
|
errorDescription: string;
|
|
445
450
|
chooseSubject: string;
|
|
@@ -787,6 +792,7 @@ declare const messages: {
|
|
|
787
792
|
};
|
|
788
793
|
footer: {
|
|
789
794
|
aboutNDLA: string;
|
|
795
|
+
socialMedia: string;
|
|
790
796
|
selectLanguage: string;
|
|
791
797
|
vision: string;
|
|
792
798
|
linksHeader: string;
|
|
@@ -244,6 +244,11 @@ var messages = _objectSpread(_objectSpread({
|
|
|
244
244
|
archived: 'Dette er et utgått fag som ikke vedlikeholdes.'
|
|
245
245
|
},
|
|
246
246
|
subjectsPage: {
|
|
247
|
+
filterSubjects: 'Filtrer fag',
|
|
248
|
+
scrollToGroup: 'Hopp til gruppe',
|
|
249
|
+
goToTop: 'Gå til toppen',
|
|
250
|
+
alphabeticSort: 'Fag gruppert alfabetisk',
|
|
251
|
+
subjectGroup: 'Gruppe "{{ category }}"',
|
|
247
252
|
allSubjects: 'Alle fag',
|
|
248
253
|
errorDescription: 'Beklager, en feil oppstod under lasting av fagene.',
|
|
249
254
|
chooseSubject: 'Velg fag',
|
|
@@ -582,6 +587,7 @@ var messages = _objectSpread(_objectSpread({
|
|
|
582
587
|
},
|
|
583
588
|
footer: {
|
|
584
589
|
aboutNDLA: 'Om NDLA',
|
|
590
|
+
socialMedia: 'Sosiale medier',
|
|
585
591
|
selectLanguage: 'Velg språk (language): ',
|
|
586
592
|
vision: 'Sammen skaper vi framtidas læring',
|
|
587
593
|
linksHeader: 'Andre NDLA-nettsteder',
|
|
@@ -440,6 +440,11 @@ declare const messages: {
|
|
|
440
440
|
archived: string;
|
|
441
441
|
};
|
|
442
442
|
subjectsPage: {
|
|
443
|
+
filterSubjects: string;
|
|
444
|
+
scrollToGroup: string;
|
|
445
|
+
goToTop: string;
|
|
446
|
+
alphabeticSort: string;
|
|
447
|
+
subjectGroup: string;
|
|
443
448
|
allSubjects: string;
|
|
444
449
|
errorDescription: string;
|
|
445
450
|
chooseSubject: string;
|
|
@@ -787,6 +792,7 @@ declare const messages: {
|
|
|
787
792
|
};
|
|
788
793
|
footer: {
|
|
789
794
|
aboutNDLA: string;
|
|
795
|
+
socialMedia: string;
|
|
790
796
|
selectLanguage: string;
|
|
791
797
|
vision: string;
|
|
792
798
|
linksHeader: string;
|
|
@@ -244,6 +244,11 @@ var messages = _objectSpread(_objectSpread({
|
|
|
244
244
|
archived: 'Dette er eit utgått fag som ikkje blir halde ved like.'
|
|
245
245
|
},
|
|
246
246
|
subjectsPage: {
|
|
247
|
+
filterSubjects: 'Filtrer fag',
|
|
248
|
+
scrollToGroup: 'Hopp til gruppe',
|
|
249
|
+
goToTop: 'Gå til toppen',
|
|
250
|
+
alphabeticSort: 'Fag gruppert alfabetisk',
|
|
251
|
+
subjectGroup: 'Gruppe "{{ category }}"',
|
|
247
252
|
allSubjects: 'Alle fag',
|
|
248
253
|
errorDescription: 'Orsak, ein feil oppstod under lasting av faga.',
|
|
249
254
|
chooseSubject: 'Vel fag',
|
|
@@ -582,6 +587,7 @@ var messages = _objectSpread(_objectSpread({
|
|
|
582
587
|
},
|
|
583
588
|
footer: {
|
|
584
589
|
aboutNDLA: 'Om NDLA',
|
|
590
|
+
socialMedia: 'Sosiale media',
|
|
585
591
|
selectLanguage: 'Vel språk (language): ',
|
|
586
592
|
vision: 'Saman skapar vi framtidas læring',
|
|
587
593
|
linksHeader: 'Andre NDLA-nettstader',
|
|
@@ -440,6 +440,11 @@ declare const messages: {
|
|
|
440
440
|
archived: string;
|
|
441
441
|
};
|
|
442
442
|
subjectsPage: {
|
|
443
|
+
filterSubjects: string;
|
|
444
|
+
scrollToGroup: string;
|
|
445
|
+
goToTop: string;
|
|
446
|
+
alphabeticSort: string;
|
|
447
|
+
subjectGroup: string;
|
|
443
448
|
allSubjects: string;
|
|
444
449
|
errorDescription: string;
|
|
445
450
|
chooseSubject: string;
|
|
@@ -787,6 +792,7 @@ declare const messages: {
|
|
|
787
792
|
};
|
|
788
793
|
footer: {
|
|
789
794
|
aboutNDLA: string;
|
|
795
|
+
socialMedia: string;
|
|
790
796
|
selectLanguage: string;
|
|
791
797
|
vision: string;
|
|
792
798
|
linksHeader: string;
|
|
@@ -244,6 +244,11 @@ var messages = _objectSpread(_objectSpread({
|
|
|
244
244
|
archived: 'Dát leat heaittihuvvon fága mii ii ođasmahttojuvvo.'
|
|
245
245
|
},
|
|
246
246
|
subjectsPage: {
|
|
247
|
+
filterSubjects: 'Filtrer fag',
|
|
248
|
+
scrollToGroup: 'Hopp til gruppe',
|
|
249
|
+
goToTop: 'Gå til toppen',
|
|
250
|
+
alphabeticSort: 'Fag gruppert alfabetisk',
|
|
251
|
+
subjectGroup: 'Gruppe "{{ category }}"',
|
|
247
252
|
allSubjects: 'Buot fágat',
|
|
248
253
|
errorDescription: 'Šállošat, boasttuvuohta čuožžilii fágaid viežžamis.',
|
|
249
254
|
chooseSubject: 'Vállje fága',
|
|
@@ -582,6 +587,7 @@ var messages = _objectSpread(_objectSpread({
|
|
|
582
587
|
},
|
|
583
588
|
footer: {
|
|
584
589
|
aboutNDLA: 'NDLA birra',
|
|
590
|
+
socialMedia: 'Sosiale medier',
|
|
585
591
|
selectLanguage: 'Vállje giela (language): ',
|
|
586
592
|
vision: 'Ovttas hábmet boahtteáiggi oahppama',
|
|
587
593
|
linksHeader: 'Eará NDLA neahttabáikkit',
|
|
@@ -440,6 +440,11 @@ declare const messages: {
|
|
|
440
440
|
archived: string;
|
|
441
441
|
};
|
|
442
442
|
subjectsPage: {
|
|
443
|
+
filterSubjects: string;
|
|
444
|
+
scrollToGroup: string;
|
|
445
|
+
goToTop: string;
|
|
446
|
+
alphabeticSort: string;
|
|
447
|
+
subjectGroup: string;
|
|
443
448
|
allSubjects: string;
|
|
444
449
|
errorDescription: string;
|
|
445
450
|
chooseSubject: string;
|
|
@@ -787,6 +792,7 @@ declare const messages: {
|
|
|
787
792
|
};
|
|
788
793
|
footer: {
|
|
789
794
|
aboutNDLA: string;
|
|
795
|
+
socialMedia: string;
|
|
790
796
|
selectLanguage: string;
|
|
791
797
|
vision: string;
|
|
792
798
|
linksHeader: string;
|
|
@@ -244,6 +244,11 @@ var messages = _objectSpread(_objectSpread({
|
|
|
244
244
|
archived: 'Dette er et utgått fag som ikke vedlikeholdes.'
|
|
245
245
|
},
|
|
246
246
|
subjectsPage: {
|
|
247
|
+
filterSubjects: 'Filtrer fag',
|
|
248
|
+
scrollToGroup: 'Hopp til gruppe',
|
|
249
|
+
goToTop: 'Gå til toppen',
|
|
250
|
+
alphabeticSort: 'Fag gruppert alfabetisk',
|
|
251
|
+
subjectGroup: 'Gruppe "{{ category }}"',
|
|
247
252
|
allSubjects: 'Alle fag',
|
|
248
253
|
errorDescription: 'Beklager, en feil oppstod under lasting av fagene.',
|
|
249
254
|
chooseSubject: 'Velg fag',
|
|
@@ -582,6 +587,7 @@ var messages = _objectSpread(_objectSpread({
|
|
|
582
587
|
},
|
|
583
588
|
footer: {
|
|
584
589
|
aboutNDLA: 'Om NDLA',
|
|
590
|
+
socialMedia: 'Sosiale medier',
|
|
585
591
|
selectLanguage: 'Velg språk (language): ',
|
|
586
592
|
vision: 'Sammen skaper vi framtidas læring',
|
|
587
593
|
linksHeader: 'Andre NDLA-nettsteder',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ndla/ui",
|
|
3
|
-
"version": "33.
|
|
3
|
+
"version": "33.4.0",
|
|
4
4
|
"description": "UI component library for NDLA.",
|
|
5
5
|
"license": "GPL-3.0",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -82,5 +82,5 @@
|
|
|
82
82
|
"publishConfig": {
|
|
83
83
|
"access": "public"
|
|
84
84
|
},
|
|
85
|
-
"gitHead": "
|
|
85
|
+
"gitHead": "71660738efc896fc54a66aa024262947cdd4cf3f"
|
|
86
86
|
}
|
package/src/Footer/Footer.tsx
CHANGED
|
@@ -30,7 +30,7 @@ type StyledFooterProps = {
|
|
|
30
30
|
addMargin?: boolean;
|
|
31
31
|
};
|
|
32
32
|
|
|
33
|
-
const
|
|
33
|
+
const StyledDiv = styled.div<StyledFooterProps>`
|
|
34
34
|
color: #fff;
|
|
35
35
|
position: relative;
|
|
36
36
|
background: ${colors.brand.dark};
|
|
@@ -159,11 +159,13 @@ const Footer = ({ children, links, languageSelector, auth, privacyLinks }: Props
|
|
|
159
159
|
return (
|
|
160
160
|
<>
|
|
161
161
|
{languageSelector && <StyledLanguageWrapper>{languageSelector}</StyledLanguageWrapper>}
|
|
162
|
-
<
|
|
163
|
-
<
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
162
|
+
<footer>
|
|
163
|
+
<StyledDiv addMargin={!languageSelector}>
|
|
164
|
+
<OneColumn cssModifier="large">{footerContent}</OneColumn>
|
|
165
|
+
<StyledBackground />
|
|
166
|
+
</StyledDiv>
|
|
167
|
+
{auth}
|
|
168
|
+
</footer>
|
|
167
169
|
</>
|
|
168
170
|
);
|
|
169
171
|
};
|
|
@@ -8,17 +8,18 @@ import { useTranslation } from 'react-i18next';
|
|
|
8
8
|
const StyledLinksWrapper = styled.div`
|
|
9
9
|
display: flex;
|
|
10
10
|
align-items: flex-start;
|
|
11
|
-
|
|
11
|
+
gap: ${spacing.normal};
|
|
12
|
+
div:first-of-type {
|
|
12
13
|
margin-right: ${spacing.large};
|
|
13
14
|
}
|
|
14
15
|
${mq.range({ from: breakpoints.desktop })} {
|
|
15
|
-
|
|
16
|
+
div:first-of-type {
|
|
16
17
|
margin-right: ${spacingUnit * 4}px;
|
|
17
18
|
}
|
|
18
19
|
}
|
|
19
20
|
${mq.range({ until: breakpoints.tabletWide })} {
|
|
20
21
|
flex-direction: column;
|
|
21
|
-
>
|
|
22
|
+
> div {
|
|
22
23
|
margin-top: ${spacing.large};
|
|
23
24
|
}
|
|
24
25
|
}
|
|
@@ -86,7 +87,7 @@ const StyledSocialMediaLinkWrapper = styled.div`
|
|
|
86
87
|
align-items: center;
|
|
87
88
|
`;
|
|
88
89
|
|
|
89
|
-
const StyledHeaderLinks = styled.
|
|
90
|
+
const StyledHeaderLinks = styled.h3`
|
|
90
91
|
${fonts.sizes(16, 1.5)};
|
|
91
92
|
font-weight: ${fonts.weight.semibold};
|
|
92
93
|
margin: ${spacing.xsmall} 0;
|
|
@@ -97,11 +98,11 @@ const FooterLinks = ({ links }: FooterLinksProps) => {
|
|
|
97
98
|
return (
|
|
98
99
|
<>
|
|
99
100
|
<StyledLinksWrapper>
|
|
100
|
-
<
|
|
101
|
-
<StyledHeaderLinks>
|
|
101
|
+
<div>
|
|
102
|
+
<StyledHeaderLinks id="otherLinks">
|
|
102
103
|
{t('footer.linksHeader')} <Launch />
|
|
103
104
|
</StyledHeaderLinks>
|
|
104
|
-
<StyledNav>
|
|
105
|
+
<StyledNav aria-labelledby="otherLinks">
|
|
105
106
|
{commonLinks.map((link) => (
|
|
106
107
|
<div key={link.url}>
|
|
107
108
|
<StyledSafeLink
|
|
@@ -115,20 +116,18 @@ const FooterLinks = ({ links }: FooterLinksProps) => {
|
|
|
115
116
|
</div>
|
|
116
117
|
))}
|
|
117
118
|
</StyledNav>
|
|
118
|
-
</
|
|
119
|
-
<
|
|
120
|
-
|
|
121
|
-
{
|
|
122
|
-
<
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
</StyledNav>
|
|
131
|
-
</section>
|
|
119
|
+
</div>
|
|
120
|
+
<StyledNav aria-label={t('footer.socialMedia')}>
|
|
121
|
+
{links.map((link) => (
|
|
122
|
+
<StyledSocialMediaLinkWrapper key={link.to}>
|
|
123
|
+
<StyledSocialMediaIcon>{link.icon}</StyledSocialMediaIcon>
|
|
124
|
+
<StyledSafeLink to={link.to}>
|
|
125
|
+
{link.text}
|
|
126
|
+
<Forward />
|
|
127
|
+
</StyledSafeLink>
|
|
128
|
+
</StyledSocialMediaLinkWrapper>
|
|
129
|
+
))}
|
|
130
|
+
</StyledNav>
|
|
132
131
|
</StyledLinksWrapper>
|
|
133
132
|
</>
|
|
134
133
|
);
|
|
@@ -8,35 +8,33 @@
|
|
|
8
8
|
|
|
9
9
|
import React, { ReactNode } from 'react';
|
|
10
10
|
import styled from '@emotion/styled';
|
|
11
|
-
import {
|
|
11
|
+
import { css } from '@emotion/react';
|
|
12
|
+
import { colors, fonts, spacing } from '@ndla/core';
|
|
12
13
|
|
|
13
14
|
import ResourceList, { ResourceListProps } from './ResourceList';
|
|
15
|
+
import { HeadingLevel } from '../types';
|
|
14
16
|
|
|
15
17
|
const Wrapper = styled.section`
|
|
16
18
|
margin-bottom: ${spacing.large};
|
|
17
19
|
`;
|
|
18
20
|
|
|
19
|
-
|
|
20
|
-
invertedStyle?: boolean;
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
const StyledHeader = styled.header<StyledHeaderProps>`
|
|
24
|
-
margin: ${spacing.small} 0 ${spacing.xsmall};
|
|
25
|
-
${(props) => props.invertedStyle && `color: #fff`};
|
|
26
|
-
`;
|
|
27
|
-
|
|
28
|
-
const StyledHeading = styled.h1`
|
|
21
|
+
const headingStyle = css`
|
|
29
22
|
${fonts.sizes('16px', '18px')};
|
|
30
23
|
font-weight: ${fonts.weight.bold};
|
|
31
24
|
text-transform: uppercase;
|
|
32
25
|
letter-spacing: 0.05em;
|
|
33
|
-
margin: 0;
|
|
26
|
+
margin: ${spacing.small} 0 ${spacing.xsmall};
|
|
27
|
+
`;
|
|
28
|
+
|
|
29
|
+
const invertedStyle = css`
|
|
30
|
+
color: ${colors.white};
|
|
34
31
|
`;
|
|
35
32
|
|
|
36
33
|
type Props = {
|
|
37
34
|
invertedStyle?: boolean;
|
|
38
35
|
toggleAdditionalResources: () => void;
|
|
39
36
|
heartButton?: (path: string) => ReactNode;
|
|
37
|
+
headingLevel?: HeadingLevel;
|
|
40
38
|
};
|
|
41
39
|
|
|
42
40
|
const ResourceGroup = ({
|
|
@@ -45,15 +43,12 @@ const ResourceGroup = ({
|
|
|
45
43
|
showAdditionalResources,
|
|
46
44
|
toggleAdditionalResources,
|
|
47
45
|
contentType,
|
|
48
|
-
invertedStyle,
|
|
46
|
+
invertedStyle: invertedStyleProp,
|
|
47
|
+
headingLevel: Heading = 'h1',
|
|
49
48
|
heartButton,
|
|
50
49
|
}: Props & ResourceListProps) => (
|
|
51
50
|
<Wrapper>
|
|
52
|
-
{title &&
|
|
53
|
-
<StyledHeader invertedStyle={invertedStyle}>
|
|
54
|
-
<StyledHeading>{title}</StyledHeading>
|
|
55
|
-
</StyledHeader>
|
|
56
|
-
)}
|
|
51
|
+
{title && <Heading css={[headingStyle, invertedStyleProp ? invertedStyle : undefined]}>{title}</Heading>}
|
|
57
52
|
{resources.length > 0 ? (
|
|
58
53
|
<ResourceList
|
|
59
54
|
title={title}
|
|
@@ -80,9 +80,9 @@ const ListElement = styled.li<ListElementProps>`
|
|
|
80
80
|
props.additional &&
|
|
81
81
|
css`
|
|
82
82
|
border-style: dashed;
|
|
83
|
-
animation-name: ${fadeInAdditionalsKeyframe};
|
|
84
83
|
animation-duration: 0.8s;
|
|
85
84
|
animation-fill-mode: forwards;
|
|
85
|
+
animation: ${fadeInAdditionalsKeyframe};
|
|
86
86
|
`}
|
|
87
87
|
${(props) => props.extraBottomMargin && `margin-bottom: ${spacing.large};`}
|
|
88
88
|
|
|
@@ -143,10 +143,7 @@ const ResourceLink = styled(SafeLink)`
|
|
|
143
143
|
}
|
|
144
144
|
`;
|
|
145
145
|
|
|
146
|
-
|
|
147
|
-
active?: boolean;
|
|
148
|
-
};
|
|
149
|
-
const Heading = styled.h2<ActiveProps>`
|
|
146
|
+
const headingStyle = css`
|
|
150
147
|
font-weight: ${fonts.weight.semibold};
|
|
151
148
|
transform: translateY(-1px);
|
|
152
149
|
text-transform: none;
|
|
@@ -161,28 +158,21 @@ const Heading = styled.h2<ActiveProps>`
|
|
|
161
158
|
${fonts.sizes('20px', '26px')};
|
|
162
159
|
}
|
|
163
160
|
|
|
164
|
-
|
|
165
|
-
box-shadow: ${colors.link};
|
|
166
|
-
}
|
|
161
|
+
box-shadow: ${colors.link};
|
|
167
162
|
|
|
168
163
|
${ResourceLink}:hover &,
|
|
169
164
|
${ResourceLink}:focus & {
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
165
|
+
box-shadow: ${colors.linkHover};
|
|
166
|
+
}
|
|
167
|
+
`;
|
|
168
|
+
|
|
169
|
+
const activeHeadingStyle = css`
|
|
170
|
+
color: ${colors.brand.greyDark};
|
|
171
|
+
box-shadow: none;
|
|
172
|
+
small {
|
|
173
|
+
padding-left: ${spacing.small};
|
|
174
|
+
font-weight: ${fonts.weight.normal};
|
|
173
175
|
}
|
|
174
|
-
${(props) =>
|
|
175
|
-
props.active &&
|
|
176
|
-
css`
|
|
177
|
-
color: ${colors.brand.greyDark};
|
|
178
|
-
span {
|
|
179
|
-
box-shadow: none;
|
|
180
|
-
}
|
|
181
|
-
small {
|
|
182
|
-
padding-left: ${spacing.small};
|
|
183
|
-
font-weight: ${fonts.weight.normal};
|
|
184
|
-
}
|
|
185
|
-
`}
|
|
186
176
|
`;
|
|
187
177
|
|
|
188
178
|
const IconWrapper = styled.div`
|
|
@@ -247,6 +237,7 @@ const ResourceItem = ({
|
|
|
247
237
|
const hidden = additional ? !showAdditionalResources : false;
|
|
248
238
|
return (
|
|
249
239
|
<ListElement
|
|
240
|
+
aria-current={active ? 'page' : undefined}
|
|
250
241
|
contentType={contentType}
|
|
251
242
|
hidden={hidden && !active}
|
|
252
243
|
active={active}
|
|
@@ -257,21 +248,17 @@ const ResourceItem = ({
|
|
|
257
248
|
<IconWrapper>
|
|
258
249
|
<ContentTypeBadge type={contentType ?? ''} background border={false} />
|
|
259
250
|
</IconWrapper>
|
|
260
|
-
<
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
</span>
|
|
265
|
-
</Heading>
|
|
251
|
+
<span css={[headingStyle, activeHeadingStyle]}>
|
|
252
|
+
{name}
|
|
253
|
+
<small>{t('resource.youAreHere')}</small>
|
|
254
|
+
</span>
|
|
266
255
|
</ActiveWrapper>
|
|
267
256
|
) : (
|
|
268
257
|
<ResourceLink to={path}>
|
|
269
258
|
<IconWrapper>
|
|
270
259
|
<ContentTypeBadge type={contentType ?? ''} background border={false} />
|
|
271
260
|
</IconWrapper>
|
|
272
|
-
<
|
|
273
|
-
<span>{name}</span>
|
|
274
|
-
</Heading>
|
|
261
|
+
<span css={headingStyle}>{name}</span>
|
|
275
262
|
</ResourceLink>
|
|
276
263
|
)}
|
|
277
264
|
<TypeWrapper>
|
|
@@ -288,18 +275,22 @@ const ResourceItem = ({
|
|
|
288
275
|
<>
|
|
289
276
|
{additional && (
|
|
290
277
|
<Tooltip tooltip={contentTypeDescription}>
|
|
291
|
-
<
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
278
|
+
<div>
|
|
279
|
+
<Additional
|
|
280
|
+
className="c-icon--20 u-margin-left-tiny c-topic-resource__list__additional-icons"
|
|
281
|
+
aria-label={contentTypeDescription}
|
|
282
|
+
/>
|
|
283
|
+
</div>
|
|
295
284
|
</Tooltip>
|
|
296
285
|
)}
|
|
297
286
|
{!additional && (
|
|
298
287
|
<Tooltip tooltip={contentTypeDescription}>
|
|
299
|
-
<
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
288
|
+
<div>
|
|
289
|
+
<Core
|
|
290
|
+
className="c-icon--20 u-margin-left-tiny c-topic-resource__list__additional-icons"
|
|
291
|
+
aria-label={contentTypeDescription}
|
|
292
|
+
/>
|
|
293
|
+
</div>
|
|
303
294
|
</Tooltip>
|
|
304
295
|
)}
|
|
305
296
|
</>
|
|
@@ -253,6 +253,11 @@ const messages = {
|
|
|
253
253
|
archived: 'This is an expired and unmaintained subject.',
|
|
254
254
|
},
|
|
255
255
|
subjectsPage: {
|
|
256
|
+
filterSubjects: 'Filter subjects',
|
|
257
|
+
scrollToGroup: 'Scroll to group',
|
|
258
|
+
goToTop: 'Scroll to top',
|
|
259
|
+
alphabeticSort: 'Subjects grouped alphabetically',
|
|
260
|
+
subjectGroup: 'Group "{{ category }}"',
|
|
256
261
|
allSubjects: 'All subjects',
|
|
257
262
|
chooseSubject: 'Choose subject',
|
|
258
263
|
errorDescription: 'Sorry, an error occurred while loading the subjects.',
|
|
@@ -624,6 +629,7 @@ const messages = {
|
|
|
624
629
|
},
|
|
625
630
|
footer: {
|
|
626
631
|
aboutNDLA: 'About NDLA',
|
|
632
|
+
socialMedia: 'Social media',
|
|
627
633
|
selectLanguage: 'Choose language (språk): ',
|
|
628
634
|
info: 'This webapplication is developed by NDLA as Open Source code.',
|
|
629
635
|
editorInChief: 'Editor in chief: ',
|
|
@@ -252,6 +252,11 @@ const messages = {
|
|
|
252
252
|
archived: 'Dette er et utgått fag som ikke vedlikeholdes.',
|
|
253
253
|
},
|
|
254
254
|
subjectsPage: {
|
|
255
|
+
filterSubjects: 'Filtrer fag',
|
|
256
|
+
scrollToGroup: 'Hopp til gruppe',
|
|
257
|
+
goToTop: 'Gå til toppen',
|
|
258
|
+
alphabeticSort: 'Fag gruppert alfabetisk',
|
|
259
|
+
subjectGroup: 'Gruppe "{{ category }}"',
|
|
255
260
|
allSubjects: 'Alle fag',
|
|
256
261
|
errorDescription: 'Beklager, en feil oppstod under lasting av fagene.',
|
|
257
262
|
chooseSubject: 'Velg fag',
|
|
@@ -623,6 +628,7 @@ const messages = {
|
|
|
623
628
|
},
|
|
624
629
|
footer: {
|
|
625
630
|
aboutNDLA: 'Om NDLA',
|
|
631
|
+
socialMedia: 'Sosiale medier',
|
|
626
632
|
selectLanguage: 'Velg språk (language): ',
|
|
627
633
|
vision: 'Sammen skaper vi framtidas læring',
|
|
628
634
|
linksHeader: 'Andre NDLA-nettsteder',
|
|
@@ -252,6 +252,11 @@ const messages = {
|
|
|
252
252
|
archived: 'Dette er eit utgått fag som ikkje blir halde ved like.',
|
|
253
253
|
},
|
|
254
254
|
subjectsPage: {
|
|
255
|
+
filterSubjects: 'Filtrer fag',
|
|
256
|
+
scrollToGroup: 'Hopp til gruppe',
|
|
257
|
+
goToTop: 'Gå til toppen',
|
|
258
|
+
alphabeticSort: 'Fag gruppert alfabetisk',
|
|
259
|
+
subjectGroup: 'Gruppe "{{ category }}"',
|
|
255
260
|
allSubjects: 'Alle fag',
|
|
256
261
|
errorDescription: 'Orsak, ein feil oppstod under lasting av faga.',
|
|
257
262
|
chooseSubject: 'Vel fag',
|
|
@@ -624,6 +629,7 @@ const messages = {
|
|
|
624
629
|
},
|
|
625
630
|
footer: {
|
|
626
631
|
aboutNDLA: 'Om NDLA',
|
|
632
|
+
socialMedia: 'Sosiale media',
|
|
627
633
|
selectLanguage: 'Vel språk (language): ',
|
|
628
634
|
vision: 'Saman skapar vi framtidas læring',
|
|
629
635
|
linksHeader: 'Andre NDLA-nettstader',
|
|
@@ -252,6 +252,11 @@ const messages = {
|
|
|
252
252
|
archived: 'Dát leat heaittihuvvon fága mii ii ođasmahttojuvvo.',
|
|
253
253
|
},
|
|
254
254
|
subjectsPage: {
|
|
255
|
+
filterSubjects: 'Filtrer fag',
|
|
256
|
+
scrollToGroup: 'Hopp til gruppe',
|
|
257
|
+
goToTop: 'Gå til toppen',
|
|
258
|
+
alphabeticSort: 'Fag gruppert alfabetisk',
|
|
259
|
+
subjectGroup: 'Gruppe "{{ category }}"',
|
|
255
260
|
allSubjects: 'Buot fágat',
|
|
256
261
|
errorDescription: 'Šállošat, boasttuvuohta čuožžilii fágaid viežžamis.',
|
|
257
262
|
chooseSubject: 'Vállje fága',
|
|
@@ -624,6 +629,7 @@ const messages = {
|
|
|
624
629
|
},
|
|
625
630
|
footer: {
|
|
626
631
|
aboutNDLA: 'NDLA birra',
|
|
632
|
+
socialMedia: 'Sosiale medier',
|
|
627
633
|
selectLanguage: 'Vállje giela (language): ',
|
|
628
634
|
vision: 'Ovttas hábmet boahtteáiggi oahppama',
|
|
629
635
|
linksHeader: 'Eará NDLA neahttabáikkit',
|
|
@@ -252,6 +252,11 @@ const messages = {
|
|
|
252
252
|
archived: 'Dette er et utgått fag som ikke vedlikeholdes.',
|
|
253
253
|
},
|
|
254
254
|
subjectsPage: {
|
|
255
|
+
filterSubjects: 'Filtrer fag',
|
|
256
|
+
scrollToGroup: 'Hopp til gruppe',
|
|
257
|
+
goToTop: 'Gå til toppen',
|
|
258
|
+
alphabeticSort: 'Fag gruppert alfabetisk',
|
|
259
|
+
subjectGroup: 'Gruppe "{{ category }}"',
|
|
255
260
|
allSubjects: 'Alle fag',
|
|
256
261
|
errorDescription: 'Beklager, en feil oppstod under lasting av fagene.',
|
|
257
262
|
chooseSubject: 'Velg fag',
|
|
@@ -624,6 +629,7 @@ const messages = {
|
|
|
624
629
|
},
|
|
625
630
|
footer: {
|
|
626
631
|
aboutNDLA: 'Om NDLA',
|
|
632
|
+
socialMedia: 'Sosiale medier',
|
|
627
633
|
selectLanguage: 'Velg språk (language): ',
|
|
628
634
|
vision: 'Sammen skaper vi framtidas læring',
|
|
629
635
|
linksHeader: 'Andre NDLA-nettsteder',
|