mirror of
				https://github.com/mickael-kerjean/filestash.git
				synced 2025-11-04 05:27:04 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			170 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			170 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
import React from "react";
 | 
						|
import { Log } from "../model/";
 | 
						|
import "./icon.scss";
 | 
						|
 | 
						|
import img_save from "../assets/img/save.svg";
 | 
						|
import img_power from "../assets/img/power.svg";
 | 
						|
import img_bucket from "../assets/img/bucket.svg";
 | 
						|
import img_loading from "../assets/img/loader.svg";
 | 
						|
import img_play from "../assets/img/play.svg";
 | 
						|
import img_pause from "../assets/img/pause.svg";
 | 
						|
import img_error from "../assets/img/error.svg";
 | 
						|
import img_loading_white from "../assets/img/loader_white.svg";
 | 
						|
import img_download_white from "../assets/img/download_white.svg";
 | 
						|
import img_upload_white from "../assets/img/upload_white.svg";
 | 
						|
import img_todo_white from "../assets/img/todo_white.svg";
 | 
						|
import img_calendar_white from "../assets/img/calendar_white.svg";
 | 
						|
import img_calendar from "../assets/img/calendar.svg";
 | 
						|
import img_alarm from "../assets/img/alarm.svg";
 | 
						|
import img_arrow_right from "../assets/img/arrow_right.svg";
 | 
						|
import img_arrow_right_white from "../assets/img/arrow_right_white.svg";
 | 
						|
import img_arrow_left_white from "../assets/img/arrow_left_white.svg";
 | 
						|
import img_arrow_left from "../assets/img/arrow_left.svg";
 | 
						|
import img_arrow_top from "../assets/img/arrow_top.svg";
 | 
						|
import img_arrow_bottom from "../assets/img/arrow_bottom.svg";
 | 
						|
import img_more from "../assets/img/more.svg";
 | 
						|
import img_close from "../assets/img/close.svg";
 | 
						|
import img_close_dark from "../assets/img/close_dark.svg";
 | 
						|
import img_arrow_down from "../assets/img/arrow-down.svg";
 | 
						|
import img_arrow_up_double from "../assets/img/arrow-up-double.svg";
 | 
						|
import img_arrow_down_double from "../assets/img/arrow-down-double.svg";
 | 
						|
import img_search from "../assets/img/search.svg";
 | 
						|
import img_search_dark from "../assets/img/search_dark.svg";
 | 
						|
import img_grid from "../assets/img/grid.svg";
 | 
						|
import img_list from "../assets/img/list.svg";
 | 
						|
import img_sort from "../assets/img/sort.svg";
 | 
						|
import img_check from "../assets/img/check.svg";
 | 
						|
import img_info from "../assets/img/info.svg";
 | 
						|
import img_fullscreen from "../assets/img/fullscreen.svg";
 | 
						|
import img_camera from "../assets/img/camera.svg";
 | 
						|
import img_location from "../assets/img/location.svg";
 | 
						|
import img_stop from "../assets/img/stop.svg";
 | 
						|
import img_refresh from "../assets/img/refresh.svg";
 | 
						|
import img_copy from "../assets/img/copy.svg";
 | 
						|
import img_eye from "../assets/img/eye.svg";
 | 
						|
import img_volume from "../assets/img/volume.svg";
 | 
						|
import img_volume_mute from "../assets/img/volume_mute.svg";
 | 
						|
import img_volume_low from "../assets/img/volume_low.svg";
 | 
						|
 | 
						|
export const img_placeholder = "/assets/icons/placeholder.png";
 | 
						|
 | 
						|
export const Icon = (props) => {
 | 
						|
    if (props.name === null) return null;
 | 
						|
    let img;
 | 
						|
    if (props.name === "directory") {
 | 
						|
        img = "/assets/icons/folder.svg";
 | 
						|
    } else if (props.name === "file") {
 | 
						|
        img = "/assets/icons/file.svg";
 | 
						|
    } else if (props.name === "save") {
 | 
						|
        img = img_save;
 | 
						|
    } else if (props.name === "power") {
 | 
						|
        img = img_power;
 | 
						|
    } else if (props.name === "edit") {
 | 
						|
        img = "/assets/icons/edit.svg";
 | 
						|
    } else if (props.name === "delete") {
 | 
						|
        img = "/assets/icons/delete.svg";
 | 
						|
    } else if (props.name === "share") {
 | 
						|
        img = "/assets/icons/share.svg";
 | 
						|
    } else if (props.name === "tag") {
 | 
						|
        img = "/assets/icons/tag.svg";
 | 
						|
    } else if (props.name === "bucket") {
 | 
						|
        img = img_bucket;
 | 
						|
    } else if (props.name === "download_white") {
 | 
						|
        img = img_download_white;
 | 
						|
    } else if (props.name === "upload_white") {
 | 
						|
        img = img_upload_white;
 | 
						|
    } else if (props.name === "play") {
 | 
						|
        img = img_play;
 | 
						|
    } else if (props.name === "pause") {
 | 
						|
        img = img_pause;
 | 
						|
    } else if (props.name === "error") {
 | 
						|
        img = img_error;
 | 
						|
    } else if (props.name === "loading_white") {
 | 
						|
        img = img_loading_white;
 | 
						|
    } else if (props.name === "loading") {
 | 
						|
        img = img_loading;
 | 
						|
    } else if (props.name === "calendar_white") {
 | 
						|
        img = img_calendar_white;
 | 
						|
    } else if (props.name === "schedule") {
 | 
						|
        img = img_calendar;
 | 
						|
    } else if (props.name === "deadline") {
 | 
						|
        img = img_alarm;
 | 
						|
    } else if (props.name === "todo_white") {
 | 
						|
        img = img_todo_white;
 | 
						|
    } else if (props.name === "arrow_bottom") {
 | 
						|
        img = img_arrow_bottom;
 | 
						|
    } else if (props.name === "arrow_top") {
 | 
						|
        img = img_arrow_top;
 | 
						|
    } else if (props.name === "arrow_right") {
 | 
						|
        img = img_arrow_right;
 | 
						|
    } else if (props.name === "arrow_right_white") {
 | 
						|
        img = img_arrow_right_white;
 | 
						|
    } else if (props.name === "arrow_left_white") {
 | 
						|
        img = img_arrow_left_white;
 | 
						|
    } else if (props.name === "arrow_left") {
 | 
						|
        img = img_arrow_left;
 | 
						|
    } else if (props.name === "more") {
 | 
						|
        img = img_more;
 | 
						|
    } else if (props.name === "close") {
 | 
						|
        img = img_close;
 | 
						|
    } else if (props.name === "close_dark") {
 | 
						|
        img = img_close_dark;
 | 
						|
    } else if (props.name === "arrow_up_double") {
 | 
						|
        img = img_arrow_up_double;
 | 
						|
    } else if (props.name === "arrow_down_double") {
 | 
						|
        img = img_arrow_down_double;
 | 
						|
    } else if (props.name === "arrow_down") {
 | 
						|
        img = img_arrow_down;
 | 
						|
    } else if (props.name === "search") {
 | 
						|
        img = img_search;
 | 
						|
    } else if (props.name === "search_dark") {
 | 
						|
        img = img_search_dark;
 | 
						|
    } else if (props.name === "grid") {
 | 
						|
        img = img_grid;
 | 
						|
    } else if (props.name === "list") {
 | 
						|
        img = img_list;
 | 
						|
    } else if (props.name === "sort") {
 | 
						|
        img = img_sort;
 | 
						|
    } else if (props.name === "check") {
 | 
						|
        img = img_check;
 | 
						|
    } else if (props.name === "info") {
 | 
						|
        img = img_info;
 | 
						|
    } else if (props.name === "fullscreen") {
 | 
						|
        img = img_fullscreen;
 | 
						|
    } else if (props.name === "camera") {
 | 
						|
        img = img_camera;
 | 
						|
    } else if (props.name === "location") {
 | 
						|
        img = img_location;
 | 
						|
    } else if (props.name === "stop") {
 | 
						|
        img = img_stop;
 | 
						|
    } else if (props.name === "refresh") {
 | 
						|
        img = img_refresh;
 | 
						|
    } else if (props.name === "copy") {
 | 
						|
        img = img_copy;
 | 
						|
    } else if (props.name === "empty_folder") {
 | 
						|
        img = "/assets/icons/empty_folder.svg";
 | 
						|
    } else if (props.name === "empty_search") {
 | 
						|
        img = "/assets/icons/empty_search.svg";
 | 
						|
    } else if (props.name === "eye") {
 | 
						|
        img = img_eye;
 | 
						|
    } else if (props.name === "volume") {
 | 
						|
        img = img_volume;
 | 
						|
    } else if (props.name === "volume_mute") {
 | 
						|
        img = img_volume_mute;
 | 
						|
    } else if (props.name === "volume_low") {
 | 
						|
        img = img_volume_low;
 | 
						|
    } else {
 | 
						|
        throw (new Error(`unknown icon: "${props.name}"`));
 | 
						|
    }
 | 
						|
 | 
						|
    return (
 | 
						|
        <img className="component_icon"
 | 
						|
            draggable={false}
 | 
						|
            onError={() => Log.send(`cannot load icon ${props.name}`)}
 | 
						|
            style={props.style}
 | 
						|
            onClick={props.onClick}
 | 
						|
            src={img}
 | 
						|
            alt={props.name}/>
 | 
						|
    );
 | 
						|
};
 |