1+ ' use strict'
2+
3+ require ' ./ImageViewer.scss'
4+
5+ React = require ' react'
6+
7+ ImageViewer = ({
8+ files
9+ file
10+ viewPrevious
11+ viewNext
12+ selectFile
13+ prevFile
14+ nextFile
15+ showNotifications
16+ toggleZoom
17+ imageZoomedIn
18+ }) ->
19+
20+ <div className = " ImageViewer" >
21+ <main className = " flex column middle light-bg" >
22+ <div className = " content flex column flex-grow" >
23+ {if file .name
24+ <p className = " file-name" >{file .name }</p >
25+ }
26+
27+ {if file .caption
28+ <p className = " file-caption" >{file .caption }</p >
29+ }
30+
31+ <div className = " slideshow flex column flex-grow" >
32+ <div className = " preview flex center flex-grow flex-shrink" >
33+ <div className = " previous flex flex-grow" >
34+ { if prevFile
35+ <a className = " arrow-previous" onClick = {viewPrevious}>
36+ <button className = " clean icon arrow" ></button >
37+ </a >
38+ }
39+
40+ { if ! prevFile
41+ <a className = " arrow-previous invisible disabled" >
42+ <button className = " clean icon arrow" ></button >
43+ </a >
44+ }
45+ </div >
46+
47+ <div className = " image flex column center" >
48+ <div className = " img-container flex flex-grow" >
49+ {if ! imageZoomedIn
50+ <div className = " bg-image" onClick = {toggleZoom} style = {backgroundImage : ' url(' + file .url + ' )' } />
51+ }
52+ {if imageZoomedIn
53+ <div className = " bg-image zoomed elevated" onClick = {toggleZoom}>
54+ <img src = {file .url }/>
55+ </div >
56+ }
57+ </div >
58+ </div >
59+
60+ <div className = " next flex flex-grow" >
61+ { if nextFile
62+ <a className = " arrow-next" onClick = {viewNext}>
63+ <button className = " clean icon arrow right" ></button >
64+ </a >
65+ }
66+
67+ { if ! nextFile
68+ <a className = " arrow-next invisible disabled" >
69+ <button className = " clean icon arrow right" ></button >
70+ </a >
71+ }
72+ </div >
73+ </div >
74+
75+ <ul className = " thumbnails" >
76+ {for file in files
77+ <li className = " thumbnail" key = {file .name }>
78+ <button className = " clean" onClick = {selectFile .bind (null , file)}>
79+ <img src = {file .url }/>
80+ {if file .unreadMessages > 0 && showNotifications
81+ <div className = " notification absolute" >
82+ {file .unreadMessages }
83+ </div >
84+ }
85+ </button >
86+ </li >
87+ }
88+ </ul >
89+
90+ </div >
91+ </div >
92+ </main >
93+ </div >
94+
95+ module .exports = ImageViewer
0 commit comments