diff --git a/api/src/thumbnail.rs b/api/src/thumbnail.rs index 8fbb308..da78e3a 100644 --- a/api/src/thumbnail.rs +++ b/api/src/thumbnail.rs @@ -7,16 +7,21 @@ pub async fn get(file: PathBuf) -> Option { let clips_dir = thumbs_dir(); // Only serve jpg's and png's through this route - return match file.extension() { - Some(ext) => { - if ext == "jpg" || ext == "png" || ext == "jpeg" { - println!("Found it"); - NamedFile::open(Path::new(&clips_dir).join(file)).await.ok() - } else { - println!("bad extension"); - None - } - }, - None => None + let file_path = Path::new(&clips_dir).join(file); + if file_path.is_file() { + return match file_path.extension() { + Some(ext) => { + if ext == "jpg" || ext == "png" || ext == "jpeg" { + NamedFile::open(file_path).await.ok() + } else { + println!("bad extension"); + None + } + }, + None => None + } + } else { + let path = Path::new("static/cantfindshit.gif"); + return NamedFile::open(path).await.ok(); } } diff --git a/ts/index.ts b/ts/index.ts index ba32515..74ccfff 100644 --- a/ts/index.ts +++ b/ts/index.ts @@ -1,13 +1,13 @@ class Category { name: string - thumbnail_b64: string|null + thumbnail: string|null constructor(raw: any) { this.name = raw['name'] - this.thumbnail_b64 = raw['thumbnail'] + this.thumbnail= raw['thumbnail'] // Setting some defaults if(!this.name) { this.name = null } - if(!this.thumbnail_b64) { this.thumbnail_b64 = null } + if(!this.thumbnail) { this.thumbnail= null } } title_link() : HTMLHeadingElement { @@ -19,7 +19,7 @@ class Category { link.text = this.name } else { link.href = '#' - link.text = 'this nigga eatin beans' + link.text = this.name + 'ft. No thumbnail' } container.appendChild(link) @@ -33,8 +33,8 @@ class Category { nail.className = 'pure-img' // Modern browser's should be able to cache this request - if(!(this.thumbnail_b64 == null || this.thumbnail_b64.length == 0)) { - nail.setAttribute('src', `data:image/jpg;base64,${this.thumbnail_b64}`) + if(!(this.thumbnail == null || this.thumbnail.length == 0)) { + nail.setAttribute('src', `${this.thumbnail}`) } else{ nail.setAttribute('src', '/static/cantfindshit.gif') } diff --git a/ts/package.json b/ts/package.json index 0d78012..714cf52 100644 --- a/ts/package.json +++ b/ts/package.json @@ -5,7 +5,8 @@ "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", - "build": "tsc" + "setup": "mkdir -p api/static/js", + "build": "tsc" }, "repository": { "type": "git",