use assetserver::Asset;
use axum::http::header;
use macro_assets::assets;
use macro_sass::sass;

assets! {
	prefix: "/assets"
	router: asset_router()

	//
	// MARK: styles
	//

	Styles_Main {
		source: sass!("css/main.scss").as_bytes(),
		target: "/css/main.css",
		headers: [
			(header::CONTENT_TYPE, "text/css")
		]
	}

	//
	// MARK: images
	//

	Image_Cover {
		source: include_bytes!("../../assets/images/cover-small.jpg"),
		target: "/img/face.jpg",
		headers: [
			(header::CONTENT_TYPE, "image/jpg")
		]
	}

	Image_Betalupi {
		source: include_bytes!("../../assets/images/betalupi-map.png"),
		target: "/img/betalupi.png",
		headers: [
			(header::CONTENT_TYPE, "image/png")
		]
	}

	Image_Icon {
		source: include_bytes!("../../assets/images/icon.png"),
		target: "/img/icon.png",
		headers: [
			(header::CONTENT_TYPE, "image/png")
		]
	}

	//
	// MARK: fonts
	//

	FiraCode_Bold_woff2 {
		source: include_bytes!("../../assets/fonts/fira/FiraCode-Bold.woff2"),
		target: "/fonts/FiraCode-Bold.woff2",
		headers: [
			(header::CONTENT_TYPE, "application/font-woff2")
		]
	}

	FiraCode_Light_woff2 {
		source: include_bytes!("../../assets/fonts/fira/FiraCode-Light.woff2"),
		target: "/fonts/FiraCode-Light.woff2",
		headers: [
			(header::CONTENT_TYPE, "application/font-woff2")
		]
	}

	FiraCode_Medium_woff2 {
		source: include_bytes!("../../assets/fonts/fira/FiraCode-Medium.woff2"),
		target: "/fonts/FiraCode-Medium.woff2",
		headers: [
			(header::CONTENT_TYPE, "application/font-woff2")
		]
	}

	FiraCode_Regular_woff2 {
		source: include_bytes!("../../assets/fonts/fira/FiraCode-Regular.woff2"),
		target: "/fonts/FiraCode-Regular.woff2",
		headers: [
			(header::CONTENT_TYPE, "application/font-woff2")
		]
	}

	FiraCode_SemiBold_woff2 {
		source: include_bytes!("../../assets/fonts/fira/FiraCode-SemiBold.woff2"),
		target: "/fonts/FiraCode-SemiBold.woff2",
		headers: [
			(header::CONTENT_TYPE, "application/font-woff2")
		]
	}

	FiraCode_VF_woff2 {
		source: include_bytes!("../../assets/fonts/fira/FiraCode-VF.woff2"),
		target: "/fonts/FiraCode-VF.woff2",
		headers: [
			(header::CONTENT_TYPE, "application/font-woff2")
		]
	}

	//
	// MARK: icons
	//

	Fa_Brands_woff2 {
		source: include_bytes!("../../assets/fonts/fa/fa-brands-400.woff2"),
		target: "/fonts/fa/fa-brands-400.woff2",
		headers: [
			(header::CONTENT_TYPE, "application/font-woff2")
		]
	}

	Fa_Regular_woff2 {
		source: include_bytes!("../../assets/fonts/fa/fa-regular-400.woff2"),
		target: "/fonts/fa/fa-regular-400.woff2",
		headers: [
			(header::CONTENT_TYPE, "application/font-woff2")
		]
	}

	Fa_Solid_woff2 {
		source: include_bytes!("../../assets/fonts/fa/fa-solid-900.woff2"),
		target: "/fonts/fa/fa-solid-900.woff2",
		headers: [
			(header::CONTENT_TYPE, "application/font-woff2")
		]
	}

	Fa_Brands_ttf {
		source: include_bytes!("../../assets/fonts/fa/fa-brands-400.ttf"),
		target: "/fonts/fa/fa-brands-400.ttf",
		headers: [
			(header::CONTENT_TYPE, "application/font-ttf")
		]
	}

	Fa_Regular_ttf {
		source: include_bytes!("../../assets/fonts/fa/fa-regular-400.ttf"),
		target: "/fonts/fa/fa-regular-400.ttf",
		headers: [
			(header::CONTENT_TYPE, "application/font-ttf")
		]
	}

	Fa_Solid_ttf {
		source: include_bytes!("../../assets/fonts/fa/fa-solid-900.ttf"),
		target: "/fonts/fa/fa-solid-900.ttf",
		headers: [
			(header::CONTENT_TYPE, "application/font-ttf")
		]
	}
}
