1- import React , { useState } from 'react' ;
1+ import React from 'react' ;
22import { useTranslation } from 'react-i18next' ;
33
44import { createStyles , makeStyles } from '@material-ui/core' ;
55
6- import {
7- SvgIconComponent ,
8- ArrowForwardRounded ,
9- ArrowBackRounded ,
10- CancelRounded ,
11- CheckCircleRounded ,
12- CloseRounded ,
13- CreateRounded ,
14- EmailRounded ,
15- ErrorRounded ,
16- ExpandMoreRounded ,
17- GetAppRounded ,
18- HelpRounded ,
19- InfoRounded ,
20- FileCopyRounded ,
21- MenuRounded ,
22- VisibilityRounded ,
23- Launch ,
24- } from '@material-ui/icons' ;
6+ import { SvgIconComponent , Launch } from '@material-ui/icons' ;
257
268import useUtilityStyles from 'styles/utilityStyles' ;
279
10+ import DynamicText from 'components/DynamicText' ;
11+
2812import creditsHeader from '../assets/creditsHeader.svg' ;
2913import groupChat from '../assets/group-chat.jpg' ;
3014import sharingKnowledge from '../assets/faqDesktop.svg' ;
@@ -38,7 +22,7 @@ import multitasking from '../assets/landingWorkImg.svg';
3822import support101 from '../assets/affirmation-img.svg' ;
3923import report from '../assets/future-goals-img.svg' ;
4024
41- const useStyles = makeStyles ( ( { palette, breakpoints } ) =>
25+ const useStyles = makeStyles ( ( { palette, breakpoints, spacing } ) =>
4226 createStyles ( {
4327 Header : {
4428 width : '100vw' ,
@@ -119,11 +103,11 @@ const useStyles = makeStyles(({ palette, breakpoints }) =>
119103 maxWidth : '59rem' ,
120104 display : 'flex' ,
121105 flexDirection : 'column' ,
122- margin : '45px auto 54.64px' ,
106+ margin : '0 auto 54.64px' ,
123107 [ breakpoints . down ( 'md' ) ] : {
124108 width : '100%' ,
125- margin : '45px auto 54.64px' ,
126- padding : '16px' ,
109+ margin : '0 auto 54.64px' ,
110+ padding : '0 16px 16px' ,
127111 } ,
128112 } ,
129113 FilterLink : {
@@ -229,6 +213,14 @@ const useStyles = makeStyles(({ palette, breakpoints }) =>
229213 display : 'none' ,
230214 } ,
231215 } ,
216+ iconAttribution : {
217+ textAlign : 'center' ,
218+ margin : spacing ( 4 , 0 ) ,
219+
220+ [ breakpoints . down ( 'md' ) ] : {
221+ margin : spacing ( 3 , 0 ) ,
222+ } ,
223+ } ,
232224 } )
233225) ;
234226
@@ -258,27 +250,6 @@ export const CreditObjects: CreditsObject[] = [
258250 provider : 'Storyset' ,
259251 altText : '' ,
260252 } ,
261- {
262- name : 'Back Arrow' ,
263- icon : ArrowBackRounded ,
264- class : 3 ,
265- usedIn : 'Buttons' ,
266- artist : 'Material Design' ,
267- providerLink : 'https://pictogrammers.com/library/mdi/' ,
268- provider : 'Pictogrammers' ,
269- altText : 'Go back' ,
270- } ,
271- {
272- name : 'Success' ,
273- icon : CheckCircleRounded ,
274- iconColor : '#0AEBA0' ,
275- class : 3 ,
276- usedIn : 'Advice Page and Letter Generator' ,
277- artist : 'Material Design' ,
278- providerLink : 'https://pictogrammers.com/library/mdi/' ,
279- provider : 'Pictogrammers' ,
280- altText : 'Correct' ,
281- } ,
282253 {
283254 name : 'Sharing Knowledge' ,
284255 img : sharingKnowledge ,
@@ -313,16 +284,6 @@ export const CreditObjects: CreditsObject[] = [
313284 provider : 'Storyset' ,
314285 altText : '' ,
315286 } ,
316- {
317- name : 'Copy' ,
318- icon : FileCopyRounded ,
319- class : 3 ,
320- usedIn : 'Download Page' ,
321- artist : 'Material Design' ,
322- providerLink : 'https://pictogrammers.com/library/mdi/' ,
323- provider : 'Pictogrammers' ,
324- altText : 'Copy to clipboard' ,
325- } ,
326287 {
327288 name : 'Data Secure' ,
328289 img : privacyPolicy ,
@@ -368,16 +329,6 @@ export const CreditObjects: CreditsObject[] = [
368329 provider : 'Storyset' ,
369330 altText : '' ,
370331 } ,
371- {
372- name : 'Email' ,
373- icon : EmailRounded ,
374- class : 3 ,
375- usedIn : 'Download Page' ,
376- artist : 'Material Design' ,
377- providerLink : 'https://pictogrammers.com/library/mdi/' ,
378- provider : 'Pictogrammers' ,
379- altText : 'Send in an email' ,
380- } ,
381332 {
382333 name : 'Report' ,
383334 img : report ,
@@ -389,71 +340,6 @@ export const CreditObjects: CreditsObject[] = [
389340 provider : 'Storyset' ,
390341 altText : '' ,
391342 } ,
392- {
393- name : 'Cancel' ,
394- icon : CancelRounded ,
395- iconColor : '#E87461' ,
396- class : 3 ,
397- usedIn : 'Advice Page' ,
398- artist : 'Material Design' ,
399- providerLink : 'https://pictogrammers.com/library/mdi/' ,
400- provider : 'Pictogrammers' ,
401- altText : 'Not correct' ,
402- } ,
403- {
404- name : 'Pencil' ,
405- icon : CreateRounded ,
406- class : 3 ,
407- usedIn : 'Letter Generator' ,
408- artist : 'Material Design' ,
409- providerLink : 'https://pictogrammers.com/library/mdi/' ,
410- provider : 'Pictogrammers' ,
411- altText : 'Edit' ,
412- } ,
413- {
414- name : 'Eye' ,
415- class : 3 ,
416- icon : VisibilityRounded ,
417- iconColor : '#9903FF' ,
418- usedIn : 'Letter Generator' ,
419- artist : 'Material Design' ,
420- providerLink : 'https://pictogrammers.com/library/mdi/' ,
421- provider : 'Pictogrammers' ,
422- altText : 'Preview pages' ,
423- } ,
424- {
425- name : 'Information Alert' ,
426- icon : InfoRounded ,
427- class : 3 ,
428- iconColor : '#2F6FED' ,
429- usedIn : 'Download Page' ,
430- artist : 'Material Design' ,
431- providerLink : 'https://pictogrammers.com/library/mdi/' ,
432- provider : 'Pictogrammers' ,
433- altText : 'Information Alert' ,
434- } ,
435- {
436- name : 'Error Alert' ,
437- icon : ErrorRounded ,
438- class : 3 ,
439- iconColor : '#2F6FED' ,
440- usedIn : 'Before You Begin' ,
441- artist : 'Material Design' ,
442- providerLink : 'https://pictogrammers.com/library/mdi/' ,
443- provider : 'Pictogrammers' ,
444- altText : 'Error Alert' ,
445- } ,
446- {
447- name : 'Help' ,
448- icon : HelpRounded ,
449- class : 3 ,
450- iconColor : '#2F6FED' ,
451- usedIn : 'Letter Generator Popups' ,
452- artist : 'Material Design' ,
453- providerLink : 'https://pictogrammers.com/library/mdi/' ,
454- provider : 'Pictogrammers' ,
455- altText : 'Help' ,
456- } ,
457343 {
458344 name : 'MultiTasking' ,
459345 img : multitasking ,
@@ -465,56 +351,6 @@ export const CreditObjects: CreditsObject[] = [
465351 provider : 'Storyset' ,
466352 altText : '' ,
467353 } ,
468- {
469- name : 'Next Arrow' ,
470- class : 3 ,
471- icon : ArrowForwardRounded ,
472- usedIn : 'Buttons' ,
473- artist : 'Material Design' ,
474- providerLink : 'https://pictogrammers.com/library/mdi/' ,
475- provider : 'Pictogrammers' ,
476- altText : 'Go forward' ,
477- } ,
478- {
479- name : 'Open Menu' ,
480- class : 3 ,
481- icon : MenuRounded ,
482- usedIn : 'Mobile Menu' ,
483- artist : 'Material Design' ,
484- providerLink : 'https://pictogrammers.com/library/mdi/' ,
485- provider : 'Pictogrammers' ,
486- altText : 'Open menu' ,
487- } ,
488- {
489- name : 'Close Menu' ,
490- class : 3 ,
491- icon : CloseRounded ,
492- usedIn : 'Mobile Menu' ,
493- artist : 'Material Design' ,
494- providerLink : 'https://pictogrammers.com/library/mdi/' ,
495- provider : 'Pictogrammers' ,
496- altText : 'Close menu' ,
497- } ,
498- {
499- name : 'Expand' ,
500- class : 3 ,
501- icon : ExpandMoreRounded ,
502- usedIn : 'Landing Page and FAQ' ,
503- artist : 'Material Design' ,
504- providerLink : 'https://pictogrammers.com/library/mdi/' ,
505- provider : 'Pictogrammers' ,
506- altText : 'Expand section' ,
507- } ,
508- {
509- name : 'Download' ,
510- icon : GetAppRounded ,
511- class : 3 ,
512- usedIn : 'Download Page' ,
513- artist : 'Material Design' ,
514- providerLink : 'https://pictogrammers.com/library/mdi/' ,
515- provider : 'Pictogrammers' ,
516- altText : 'Download' ,
517- } ,
518354 {
519355 name : 'EA Mobile' ,
520356 img : eaImage ,
@@ -567,48 +403,30 @@ export const CreditsHeader: React.FC = () => {
567403
568404export const Filter : React . FC = ( ) => {
569405 const classes = useStyles ( ) ;
570- interface FilterButtonProps {
571- name : string ;
572- }
573-
574- const [ filter , setFilter ] = useState < number > ( 1 ) ;
575- const handleFilterClick = ( e : any ) => {
576- if ( e . target . value === 'All' ) {
577- setFilter ( 1 ) ;
578- } else if ( e . target . value === 'Illustrations' ) {
579- setFilter ( 2 ) ;
580- } else if ( e . target . value === 'Icons' ) {
581- setFilter ( 3 ) ;
582- }
583- } ;
406+ const { t } = useTranslation ( ) ;
584407
585408 const alphabetizedCredits = CreditObjects . sort ( ( a , b ) =>
586409 a . name . localeCompare ( b . name )
587410 ) ;
588411
589- const filteredCredits = alphabetizedCredits . filter ( ( obj ) => {
590- if ( filter === 2 ) {
591- return obj . class === 2 ;
592- }
593- if ( filter === 3 ) {
594- return obj . class === 3 ;
595- }
596- return obj ;
597- } ) ;
598-
599412 const FilterCards : React . FC = ( ) => {
600413 const utilityClasses = useUtilityStyles ( ) ;
601414 return (
602415 < div className = { classes . CreditContainer } >
603- { filteredCredits . map ( ( credit ) => (
416+ { alphabetizedCredits . map ( ( credit ) => (
604417 < div className = { classes . CreditBox } key = { credit . name } >
605418 < div className = { classes . creditFlex } >
606419 < div className = { classes . creditText } >
607420 < h2 > { credit . name } </ h2 >
608- < p > Used on: { credit . usedIn } </ p >
609- < p > Artist: { credit . artist } </ p >
610421 < p >
611- Provider: < a href = { credit . providerLink } > { credit . provider } </ a > { ' ' }
422+ { t ( 'credits_page.card_text.used_on' ) } : { credit . usedIn }
423+ </ p >
424+ < p >
425+ { t ( 'credits_page.card_text.artist' ) } : { credit . artist }
426+ </ p >
427+ < p >
428+ { t ( 'credits_page.card_text.provider' ) } :{ ' ' }
429+ < a href = { credit . providerLink } > { credit . provider } </ a > { ' ' }
612430 < Launch
613431 className = { utilityClasses . externalLinkIcon }
614432 fontSize = "small"
@@ -634,27 +452,12 @@ export const Filter: React.FC = () => {
634452 ) ;
635453 } ;
636454
637- const FilterButton = ( { name } : FilterButtonProps ) => (
638- < button
639- className = { classes . FilterLink }
640- value = { name }
641- onClick = { handleFilterClick }
642- >
643- { name }
644- </ button >
645- ) ;
646-
647455 return (
648456 < div className = { classes . Filter } >
649457 < div className = { classes . FilterContent } >
650- < div className = { classes . FilterHeader } >
651- < p > Filter:</ p >
652- < FilterButton name = "All" />
653- < span > |</ span >
654- < FilterButton name = "Illustrations" />
655- < span > |</ span >
656- < FilterButton name = "Icons" />
657- </ div >
458+ < p className = { classes . iconAttribution } >
459+ < DynamicText i18nkey = { t ( 'credits_page.icon_attribution' ) } />
460+ </ p >
658461 < FilterCards />
659462 </ div >
660463 </ div >
0 commit comments