2023-09-11 15:43:09 +00:00
/ *
Copyright © 2023 Seednode < seednode @ seedno . de >
* /
2023-09-12 21:32:19 +00:00
package types
2023-09-11 15:43:09 +00:00
import (
"fmt"
2023-09-12 21:32:19 +00:00
"strings"
2023-09-11 15:43:09 +00:00
)
2023-09-12 21:32:19 +00:00
func RegisterVideos ( ) * Type {
return & Type {
Css : func ( ) string {
var css strings . Builder
css . WriteString ( ` html,body { margin:0;padding:0;height:100%;} ` )
css . WriteString ( ` a { color:inherit;display:block;height:100%;width:100%;text-decoration:none;} ` )
css . WriteString ( ` video { margin:auto;display:block;max-width:97%;max-height:97%; ` )
css . WriteString ( ` object-fit:scale-down;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);} ` )
return css . String ( )
} ,
2023-09-11 17:09:08 +00:00
Title : func ( queryParams , fileUri , filePath , fileName , mime string ) string {
2023-09-11 15:43:09 +00:00
return fmt . Sprintf ( ` <title>%s</title> ` , fileName )
} ,
2023-09-11 17:09:08 +00:00
Body : func ( queryParams , fileUri , filePath , fileName , mime string ) string {
2023-09-12 02:22:26 +00:00
return fmt . Sprintf ( ` <a href="/%s"><video controls autoplay loop preload="auto"><source src="%s" type="%s" alt="Roulette selected: %s">Your browser does not support the video tag.</video></a> ` ,
2023-09-11 15:43:09 +00:00
queryParams ,
2023-09-11 17:09:08 +00:00
fileUri ,
2023-09-11 15:43:09 +00:00
mime ,
fileName )
} ,
2023-09-13 00:46:27 +00:00
Extensions : map [ string ] string {
` .mp4 ` : ` video/mp4 ` ,
` .ogm ` : ` video/ogg ` ,
` .ogv ` : ` video/ogg ` ,
` .webm ` : ` video/webm ` ,
2023-09-11 15:43:09 +00:00
} ,
2023-09-11 21:05:38 +00:00
MimeTypes : [ ] string {
` video/mp4 ` ,
` video/ogg ` ,
` video/webm ` ,
2023-09-11 15:43:09 +00:00
} ,
2023-09-12 00:38:38 +00:00
Validate : func ( filePath string ) bool {
return true
} ,
2023-09-11 15:43:09 +00:00
}
}