Live video on the AT Protocol
1package app
2
3import (
4 "embed"
5 "encoding/json"
6 "io/fs"
7)
8
9//go:embed all:dist/**
10var AllFiles embed.FS
11
12//go:embed all:assets/**
13var AssetFiles embed.FS
14
15//go:embed package.json
16var pkg []byte
17
18// fetch a static snapshot of the current Streamplace web app
19func Files() (fs.FS, error) {
20 rootFiles, err := fs.Sub(AllFiles, "dist")
21 if err != nil {
22 return nil, err
23 }
24 return rootFiles, nil
25}
26
27// fetch assets including fonts
28func Assets() (fs.FS, error) {
29 assetFiles, err := fs.Sub(AssetFiles, "assets")
30 if err != nil {
31 return nil, err
32 }
33 return assetFiles, nil
34}
35
36func PackageJSON() (map[string]any, error) {
37 var data map[string]any
38 err := json.Unmarshal(pkg, &data)
39 if err != nil {
40 return nil, err
41 }
42 return data, nil
43}