@@ -208,8 +208,11 @@ struct PreviewFileInfo: View {
208
208
HStack {
209
209
Image ( systemName: " document " )
210
210
. frame ( width: 20 , height: 20 )
211
+ . foregroundColor ( . teal)
211
212
Text ( " \( file. mime) " )
213
+ . foregroundColor ( . teal)
212
214
}
215
+
213
216
if file. password != " " {
214
217
Image ( systemName: " key " )
215
218
. frame ( width: 20 , height: 20 )
@@ -229,6 +232,12 @@ struct PreviewFileInfo: View {
229
232
Text ( " Max Views: \( String ( file. maxv) ) " )
230
233
}
231
234
}
235
+ if let width = file. meta ? [ " PILImageWidth " ] ? . value as? Int ,
236
+ let height = file. meta ? [ " PILImageHeight " ] ? . value as? Int {
237
+ Spacer ( )
238
+ Text ( " \( width) × \( height) " )
239
+ . foregroundColor ( . secondary)
240
+ }
232
241
}
233
242
HStack {
234
243
HStack {
@@ -252,34 +261,41 @@ struct PreviewFileInfo: View {
252
261
253
262
HStack {
254
263
Image ( systemName: " calendar " )
255
- . frame ( width: 20 , height: 20 )
264
+ . frame ( width: 15 , height: 15 )
256
265
Text ( " \( file. formattedDate ( ) ) " )
257
266
}
258
267
259
268
// Photo Information Section
260
269
if let dateTime = file. exif ? [ " DateTimeOriginal " ] ? . value as? String {
261
270
HStack {
262
271
Image ( systemName: " camera " )
263
- . frame ( width: 20 , height: 20 )
272
+ . frame ( width: 15 , height: 15 )
273
+ . font ( . caption)
264
274
Text ( " Captured: \( formatExifDate ( dateTime) ) " )
275
+ . font ( . caption)
265
276
}
277
+ . foregroundColor ( . secondary)
266
278
}
267
279
268
280
if let gpsArea = file. meta ? [ " GPSArea " ] ? . value as? String {
269
281
HStack {
270
282
Image ( systemName: " location " )
271
- . frame ( width: 20 , height: 20 )
283
+ . frame ( width: 15 , height: 15 )
272
284
Text ( gpsArea)
285
+ . font ( . caption)
273
286
}
287
+ . foregroundColor ( . secondary)
274
288
}
275
289
276
290
if let elevation = file. exif ? [ " GPSInfo " ] ? . value as? [ String : Any ] ,
277
291
let altitude = elevation [ " 6 " ] as? Double {
278
292
HStack {
279
- Image ( systemName: " mountain.2 " )
280
- . frame ( width: 20 , height: 20 )
293
+ Image ( systemName: " mountain.2.circle " )
294
+ . frame ( width: 15 , height: 15 )
281
295
Text ( String ( format: " Elevation: %.1f m " , altitude) )
296
+ . font ( . caption)
282
297
}
298
+ . foregroundColor ( . secondary)
283
299
}
284
300
285
301
// Camera Information Section
@@ -289,62 +305,80 @@ struct PreviewFileInfo: View {
289
305
let cameraName = make. isEmpty || model. contains ( make) ? model : " \( make) \( model) "
290
306
HStack {
291
307
Image ( systemName: " camera.aperture " )
292
- . frame ( width: 20 , height: 20 )
308
+ . frame ( width: 15 , height: 15 )
293
309
Text ( " Camera: \( cameraName) " )
310
+ . font ( . caption)
294
311
}
312
+ . foregroundColor ( . secondary)
295
313
}
296
314
297
315
if let lens = file. exif ? [ " LensModel " ] ? . value as? String {
298
316
HStack {
299
317
Image ( systemName: " camera.aperture " )
300
- . frame ( width: 20 , height: 20 )
318
+ . frame ( width: 15 , height: 15 )
301
319
Text ( " Lens: \( lens) " )
320
+ . font ( . caption)
302
321
}
322
+ . foregroundColor ( . secondary)
303
323
}
304
324
325
+
305
326
if let focalLength = file. exif ? [ " FocalLength " ] ? . value as? Double {
306
327
HStack {
307
328
Image ( systemName: " camera.aperture " )
308
- . frame ( width: 20 , height: 20 )
329
+ . frame ( width: 15 , height: 15 )
309
330
Text ( String ( format: " Focal Length: %.0fmm " , focalLength) )
331
+ . font ( . caption)
310
332
}
333
+ . foregroundColor ( . secondary)
311
334
}
312
335
313
336
if let fNumber = file. exif ? [ " FNumber " ] ? . value as? Double {
314
337
HStack {
315
338
Image ( systemName: " camera.aperture " )
316
- . frame ( width: 20 , height: 20 )
339
+ . frame ( width: 15 , height: 15 )
317
340
Text ( String ( format: " Aperture: 𝑓%.1f " , fNumber) )
341
+ . font ( . caption)
318
342
}
343
+ . foregroundColor ( . secondary)
319
344
}
320
345
321
346
if let iso = file. exif ? [ " ISOSpeedRatings " ] ? . value as? Int {
322
347
HStack {
323
348
Image ( systemName: " camera.aperture " )
324
349
. frame ( width: 20 , height: 20 )
325
350
Text ( " ISO: \( iso) " )
351
+ . font ( . caption)
326
352
}
353
+ . foregroundColor ( . secondary)
354
+
327
355
}
328
356
329
357
if let exposureTime = file. exif ? [ " ExposureTime " ] ? . value as? String {
330
358
HStack {
331
359
Image ( systemName: " camera.aperture " )
332
- . frame ( width: 20 , height: 20 )
360
+ . frame ( width: 15 , height: 15 )
333
361
Text ( " Exposure: \( formatExposureTime ( exposureTime) ) s " )
362
+ . font ( . caption)
334
363
}
364
+ . foregroundColor ( . secondary)
335
365
}
336
366
337
367
if let software = file. exif ? [ " Software " ] ? . value as? String {
338
368
HStack {
339
369
Image ( systemName: " app " )
340
- . frame ( width: 20 , height: 20 )
370
+ . frame ( width: 15 , height: 15 )
341
371
Text ( " Software: \( software) " )
372
+ . font ( . caption)
342
373
}
374
+ . foregroundColor ( . secondary)
343
375
}
344
376
}
345
377
346
378
if !file. info. isEmpty {
347
379
Text ( file. info)
380
+ . font ( . caption)
381
+ . foregroundColor ( . secondary)
348
382
}
349
383
}
350
384
. padding ( 40 )
0 commit comments