File tree Expand file tree Collapse file tree 1 file changed +16
-1
lines changed Expand file tree Collapse file tree 1 file changed +16
-1
lines changed Original file line number Diff line number Diff line change @@ -4,10 +4,25 @@ import Link from 'next/link'
44import { assetPrefix } from '../lib/assetPrefix'
55import styled from 'styled-components'
66import { getPreviousSlug , getNextSlug } from '../lib/drawings'
7+ import { useRouter } from 'next/router'
78
89export const DrawingPage : React . FC < { drawing : Drawing , year : number } > = ( { drawing, year } ) => {
10+ const router = useRouter ( )
11+ const goToPrevious = ( ) => router . push ( `/drawing/${ getPreviousSlug ( drawing . slug ) } ` )
12+ const goToNext = ( ) => router . push ( `/drawing/${ getNextSlug ( drawing . slug ) } ` )
13+
14+ const onKeyDown = ( event : React . KeyboardEvent < HTMLDivElement > ) => {
15+ const handler = ( {
16+ ArrowUp : goToPrevious ,
17+ ArrowDown : goToNext ,
18+ ArrowLeft : goToPrevious ,
19+ ArrowRight : goToNext ,
20+ } as Record < string , Function > ) [ event . key ]
21+ handler ?.( )
22+ }
23+
924 return (
10- < Container >
25+ < Container onKeyDown = { onKeyDown } tabIndex = { - 1 } >
1126 < Title > { drawing . title } </ Title >
1227 < ImageWrap >
1328 < Image src = { `${ assetPrefix } /images/${ drawing . image } ` } alt = { drawing . title } />
You can’t perform that action at this time.
0 commit comments