@@ -8,6 +8,7 @@ import CardContent from '@material-ui/core/CardContent';
88import SecurityIcon from '@material-ui/icons/Security' ;
99import ComputerIcon from '@material-ui/icons/Computer' ;
1010import AppsIcon from '@material-ui/icons/Apps' ;
11+ import { graphql , useStaticQuery } from 'gatsby' ;
1112import PageHeader from '../../components/PageHeader' ;
1213import Layout from '../../components/Layout' ;
1314import { MainContext } from '../../contexts/MainContextProvider' ;
@@ -18,46 +19,98 @@ const Software = () => {
1819 const [ , dispatch ] = useContext ( MainContext ) ;
1920 const [ searchValue , setSearchValue ] = useState ( '' ) ;
2021
22+ const imageData = useStaticQuery ( graphql `
23+ query {
24+ advancedpassgen: file(relativePath: { eq: "Advanced PassGen/ap.png" }) {
25+ childImageSharp {
26+ gatsbyImageData(layout: CONSTRAINED, height: 160)
27+ }
28+ },
29+ advancedportchecker: file(relativePath: { eq: "Advanced PortChecker/ap.png" }) {
30+ childImageSharp {
31+ gatsbyImageData(layout: CONSTRAINED, height: 160)
32+ }
33+ },
34+ aniview: file(relativePath: { eq: "AniView/aniview.png" }) {
35+ childImageSharp {
36+ gatsbyImageData(layout: CONSTRAINED, height: 160)
37+ }
38+ },
39+ deadhash: file(relativePath: { eq: "DeadHash/DeadHash.png" }) {
40+ childImageSharp {
41+ gatsbyImageData(layout: CONSTRAINED, height: 160)
42+ }
43+ },
44+ deadlock: file(relativePath: { eq: "DeadLock/deadlock.png" }) {
45+ childImageSharp {
46+ gatsbyImageData(layout: CONSTRAINED, height: 160)
47+ }
48+ },
49+ deadpix: file(relativePath: { eq: "DeadPix/deadpix.png" }) {
50+ childImageSharp {
51+ gatsbyImageData(layout: CONSTRAINED, height: 160)
52+ }
53+ },
54+ memplus: file(relativePath: { eq: "MemPlus/memplus.png" }) {
55+ childImageSharp {
56+ gatsbyImageData(layout: CONSTRAINED, height: 160)
57+ }
58+ },
59+ pkfinder: file(relativePath: { eq: "PK Finder/pkfinder.png" }) {
60+ childImageSharp {
61+ gatsbyImageData(layout: CONSTRAINED, height: 160)
62+ }
63+ }
64+ }` ) ;
65+
2166 const applications = [ {
2267 name : 'DeadHash' ,
2368 url : '/software/deadhash' ,
24- description : 'Calculate file hashes on any platform with ease thanks to an easy to use GUI, drag and drop functionality and help documentation that are all included !' ,
69+ description : 'Calculate file hashes on any platform with ease thanks to an easy to use GUI, drag and drop functionality and help documentation!' ,
2570 tags : [ 'DeadHash' , 'hashing' , 'file' ] ,
71+ image : imageData . deadhash . childImageSharp . gatsbyImageData ,
2672 } , {
2773 name : 'Advanced PassGen' ,
2874 url : '/software/advanced-passgen' ,
2975 description : 'Easily generate thousands of passwords using Advanced PassGen. You can even go so far as to define your own character set!' ,
3076 tags : [ 'Advanced PassGen' , 'password' , 'generator' ] ,
77+ image : imageData . advancedpassgen . childImageSharp . gatsbyImageData ,
3178 } , {
3279 name : 'MemPlus' ,
3380 url : '/software/memplus' ,
3481 description : 'MemPlus can be used to reduce the amount of RAM that is being used by applications on your system. In essence, freeing up memory so that more memory is available to you!' ,
3582 tags : [ 'MemPlus' , 'RAM' , 'Random access memory' ] ,
83+ image : imageData . memplus . childImageSharp . gatsbyImageData ,
3684 } , {
3785 name : 'PK Finder' ,
3886 url : '/software/pk-finder' ,
3987 description : 'Easily recover your Windows Product Key with PK Finder. As soon as you open PK Finder, you’ll be able to view your product key.' ,
4088 tags : [ 'PK Finder' , 'Product key' , 'serial' , 'license' ] ,
89+ image : imageData . pkfinder . childImageSharp . gatsbyImageData ,
4190 } , {
4291 name : 'Advanced PortChecker' ,
4392 url : '/software/advanced-portchecker' ,
4493 description : 'Scanning TCP and UDP ports has never been this easy. Watch how Advanced PortChecker updates you with real-time information while it’s scanning!' ,
4594 tags : [ 'Advanced PortChecker' , 'scanner' ] ,
95+ image : imageData . advancedportchecker . childImageSharp . gatsbyImageData ,
4696 } , {
4797 name : 'DeadLock' ,
4898 url : '/software/deadlock' ,
4999 description : 'Unlock files and folders, take full ownership over them and remove, move or copy them, free of charge! Windows Explorer integration is also possible.' ,
50100 tags : [ 'DeadLock' , 'file' , 'folder' ] ,
101+ image : imageData . deadlock . childImageSharp . gatsbyImageData ,
51102 } , {
52103 name : 'DeadPix' ,
53104 url : '/software/deadpix' ,
54- description : 'Fix dead or stuck pixels on your screen with just a couple of mouse clicks, free of charge! DeadPix can fix stuck or dead pixels by rapidly cycling the color value of the pixel. Please note that this tool does not provide a 100% success rate. ' ,
105+ description : 'Fix dead or stuck pixels on your screen with just a couple of mouse clicks, free of charge! DeadPix can fix stuck or dead pixels by rapidly cycling the color value of the pixel.' ,
55106 tags : [ 'DeadPix' , 'Pixel' , 'Screen' , 'LCD' ] ,
107+ image : imageData . deadpix . childImageSharp . gatsbyImageData ,
56108 } , {
57109 name : 'AniView' ,
58110 url : '/software/aniview' ,
59111 description : 'AniView is a free and open source GIF image viewer. You can watch GIF images your way, thanks to all the options that are available in AniView.' ,
60112 tags : [ 'AniView' , 'images' , 'GIF' , 'viewer' ] ,
113+ image : imageData . aniview . childImageSharp . gatsbyImageData ,
61114 } ] ;
62115
63116 useEffect ( ( ) => {
@@ -80,6 +133,7 @@ const Software = () => {
80133 name = { application . name }
81134 description = { application . description }
82135 url = { application . url }
136+ image = { application . image }
83137 />
84138 </ Grid >
85139 ) ) ;
@@ -151,13 +205,15 @@ const Software = () => {
151205 name = { applications . filter ( ( item ) => item . name === 'DeadHash' ) [ 0 ] . name }
152206 description = { applications . filter ( ( item ) => item . name === 'DeadHash' ) [ 0 ] . description }
153207 url = { applications . filter ( ( item ) => item . name === 'DeadHash' ) [ 0 ] . url }
208+ image = { applications . filter ( ( item ) => item . name === 'DeadHash' ) [ 0 ] . image }
154209 />
155210 </ Grid >
156211 < Grid item xs = { 12 } md = { 3 } lg = { 4 } >
157212 < Application
158213 name = { applications . filter ( ( item ) => item . name === 'Advanced PassGen' ) [ 0 ] . name }
159214 description = { applications . filter ( ( item ) => item . name === 'Advanced PassGen' ) [ 0 ] . description }
160215 url = { applications . filter ( ( item ) => item . name === 'Advanced PassGen' ) [ 0 ] . url }
216+ image = { applications . filter ( ( item ) => item . name === 'Advanced PassGen' ) [ 0 ] . image }
161217 />
162218 </ Grid >
163219 </ Grid >
@@ -191,13 +247,15 @@ const Software = () => {
191247 name = { applications . filter ( ( item ) => item . name === 'MemPlus' ) [ 0 ] . name }
192248 description = { applications . filter ( ( item ) => item . name === 'MemPlus' ) [ 0 ] . description }
193249 url = { applications . filter ( ( item ) => item . name === 'MemPlus' ) [ 0 ] . url }
250+ image = { applications . filter ( ( item ) => item . name === 'MemPlus' ) [ 0 ] . image }
194251 />
195252 </ Grid >
196253 < Grid item xs = { 12 } md = { 3 } lg = { 4 } >
197254 < Application
198255 name = { applications . filter ( ( item ) => item . name === 'PK Finder' ) [ 0 ] . name }
199256 description = { applications . filter ( ( item ) => item . name === 'PK Finder' ) [ 0 ] . description }
200257 url = { applications . filter ( ( item ) => item . name === 'PK Finder' ) [ 0 ] . url }
258+ image = { applications . filter ( ( item ) => item . name === 'PK Finder' ) [ 0 ] . image }
201259 />
202260 </ Grid >
203261 </ Grid >
@@ -227,27 +285,31 @@ const Software = () => {
227285 name = { applications . filter ( ( item ) => item . name === 'Advanced PortChecker' ) [ 0 ] . name }
228286 description = { applications . filter ( ( item ) => item . name === 'Advanced PortChecker' ) [ 0 ] . description }
229287 url = { applications . filter ( ( item ) => item . name === 'Advanced PortChecker' ) [ 0 ] . url }
288+ image = { applications . filter ( ( item ) => item . name === 'Advanced PortChecker' ) [ 0 ] . image }
230289 />
231290 </ Grid >
232291 < Grid item xs = { 12 } md = { 3 } lg = { 4 } >
233292 < Application
234293 name = { applications . filter ( ( item ) => item . name === 'DeadLock' ) [ 0 ] . name }
235294 description = { applications . filter ( ( item ) => item . name === 'DeadLock' ) [ 0 ] . description }
236295 url = { applications . filter ( ( item ) => item . name === 'DeadLock' ) [ 0 ] . url }
296+ image = { applications . filter ( ( item ) => item . name === 'DeadLock' ) [ 0 ] . image }
237297 />
238298 </ Grid >
239299 < Grid item xs = { 12 } md = { 3 } lg = { 4 } >
240300 < Application
241301 name = { applications . filter ( ( item ) => item . name === 'DeadPix' ) [ 0 ] . name }
242302 description = { applications . filter ( ( item ) => item . name === 'DeadPix' ) [ 0 ] . description }
243303 url = { applications . filter ( ( item ) => item . name === 'DeadPix' ) [ 0 ] . url }
304+ image = { applications . filter ( ( item ) => item . name === 'DeadPix' ) [ 0 ] . image }
244305 />
245306 </ Grid >
246307 < Grid item xs = { 12 } md = { 3 } lg = { 4 } >
247308 < Application
248309 name = { applications . filter ( ( item ) => item . name === 'AniView' ) [ 0 ] . name }
249310 description = { applications . filter ( ( item ) => item . name === 'AniView' ) [ 0 ] . description }
250311 url = { applications . filter ( ( item ) => item . name === 'AniView' ) [ 0 ] . url }
312+ image = { applications . filter ( ( item ) => item . name === 'AniView' ) [ 0 ] . image }
251313 />
252314 </ Grid >
253315 </ Grid >
0 commit comments