package web
import "git.jmbit.de/jmb/scanfile/server/web/templui/components/skeleton"
import "fmt"
import "git.jmbit.de/jmb/scanfile/server/internal/database"
import "git.jmbit.de/jmb/scanfile/server/web/templui/components/table"
// Loads Capa data if required
templ FileViewCapaLoader(fileid string) {
@skeleton.Skeleton(skeleton.Props{Class: "h-12 w-12 rounded-full"})
loading CAPA Info
}
templ FileViewCapa(data database.CapaData) {
CAPAbility Analysis
Capabilities
@table.Table() {
@table.Header() {
@table.Head() {
Capability
}
@table.Head() {
Namespace
}
}
@table.Body() {
for a, b := range data.Capabilities {
@table.Row() {
@table.Cell() {
{a}
}
@table.Cell() {
{b}
}
}
}
}
}
MITRE ATTA&CK Tactics
@table.Table() {
@table.Header() {
@table.Head() {
Tactic
}
@table.Head() {
Technique
}
}
@table.Body() {
for a, b := range data.Tactics {
@table.Row() {
@table.Cell() {
{a}
}
@table.Cell() {
{b}
}
}
}
}
}
MBC Objectives
@table.Table() {
@table.Header() {
@table.Head() {
Objective
}
@table.Head() {
Value
}
}
@table.Body() {
for a, b := range data.Objectives {
@table.Row() {
@table.Cell() {
{a}
}
@table.Cell() {
{b}
}
}
}
}
}
Maec Detections
@table.Table() {
@table.Header() {
@table.Head() {
Category
}
@table.Head() {
Value
}
}
@table.Body() {
for a, b := range data.Maec {
@table.Row() {
@table.Cell() {
{a}
}
@table.Cell() {
{b}
}
}
}
}
}
}