From fada05c56d0de54c2195663138d4ad9025ca1adf Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Wed, 13 Mar 2024 22:21:01 -0600 Subject: [PATCH] add icons for tailwind - svg icons from heroicons.com - add Type to String map for: - StoragePoolState - StorageVolType - default icons are sized 24x24 - added 36x36, 48x48, 64x64 - adding styling to home.gohtml homepage --- assets/tailwind.config.js | 9 +- lib/host/lib.go | 60 ++++++- lib/host/view.go | 6 + lib/storagepool/lib.go | 10 ++ lib/storagevol/lib.go | 12 ++ main.go | 11 +- public/css/style.css | 179 +++++++++++++++++++++ public/icons/36-adjustments-horizontal.svg | 4 + public/icons/36-backspace.svg | 4 + public/icons/36-bell-alert.svg | 4 + public/icons/36-bell.svg | 4 + public/icons/36-bolt-slash.svg | 4 + public/icons/36-bolt.svg | 4 + public/icons/36-calendar-days.svg | 4 + public/icons/36-camera.svg | 5 + public/icons/36-check-circle.svg | 4 + public/icons/36-check.svg | 4 + public/icons/36-chevron-right.svg | 3 + public/icons/36-circle-stack.svg | 4 + public/icons/36-code-bracket.svg | 4 + public/icons/36-command-line.svg | 4 + public/icons/36-computer-desktop.svg | 4 + public/icons/36-cube-solid.svg | 4 + public/icons/36-cube-transparent.svg | 4 + public/icons/36-cube.svg | 4 + public/icons/36-exclamation-circle.svg | 4 + public/icons/36-hashtag.svg | 4 + public/icons/36-home.svg | 3 + public/icons/36-inbox-arrow-down.svg | 4 + public/icons/36-inbox-stack.svg | 4 + public/icons/36-information-circle.svg | 4 + public/icons/36-light-build.svg | 4 + public/icons/36-light-bulb.svg | 4 + public/icons/36-link.svg | 4 + public/icons/36-list-bullet.svg | 4 + public/icons/36-magnifying-glass.svg | 4 + public/icons/36-minus-circle.svg | 4 + public/icons/36-no-symbol.svg | 4 + public/icons/36-pause-circle.svg | 4 + public/icons/36-play-circle.svg | 5 + public/icons/36-plus-circle.svg | 4 + public/icons/36-question-mark-circle.svg | 4 + public/icons/36-server-stack.svg | 4 + public/icons/36-server.svg | 4 + public/icons/36-share.svg | 4 + public/icons/36-stop-circle.svg | 5 + public/icons/36-trash.svg | 4 + public/icons/36-user-circle.svg | 4 + public/icons/36-x-circle.svg | 4 + public/icons/48-adjustments-horizontal.svg | 4 + public/icons/48-backspace.svg | 4 + public/icons/48-bell-alert.svg | 4 + public/icons/48-bell.svg | 4 + public/icons/48-bolt-slash.svg | 4 + public/icons/48-bolt.svg | 4 + public/icons/48-calendar-days.svg | 4 + public/icons/48-camera.svg | 5 + public/icons/48-check-circle.svg | 4 + public/icons/48-check.svg | 4 + public/icons/48-chevron-right.svg | 3 + public/icons/48-circle-stack.svg | 4 + public/icons/48-code-bracket.svg | 4 + public/icons/48-command-line.svg | 4 + public/icons/48-computer-desktop.svg | 4 + public/icons/48-cube-solid.svg | 4 + public/icons/48-cube-transparent.svg | 4 + public/icons/48-cube.svg | 4 + public/icons/48-exclamation-circle.svg | 4 + public/icons/48-hashtag.svg | 4 + public/icons/48-home.svg | 3 + public/icons/48-inbox-arrow-down.svg | 4 + public/icons/48-inbox-stack.svg | 4 + public/icons/48-information-circle.svg | 4 + public/icons/48-light-build.svg | 4 + public/icons/48-light-bulb.svg | 4 + public/icons/48-link.svg | 4 + public/icons/48-list-bullet.svg | 4 + public/icons/48-magnifying-glass.svg | 4 + public/icons/48-minus-circle.svg | 4 + public/icons/48-no-symbol.svg | 4 + public/icons/48-pause-circle.svg | 4 + public/icons/48-play-circle.svg | 5 + public/icons/48-plus-circle.svg | 4 + public/icons/48-question-mark-circle.svg | 4 + public/icons/48-server-stack.svg | 4 + public/icons/48-server.svg | 4 + public/icons/48-share.svg | 4 + public/icons/48-stop-circle.svg | 5 + public/icons/48-trash.svg | 4 + public/icons/48-user-circle.svg | 4 + public/icons/48-x-circle.svg | 4 + public/icons/64-adjustments-horizontal.svg | 4 + public/icons/64-backspace.svg | 4 + public/icons/64-bell-alert.svg | 4 + public/icons/64-bell.svg | 4 + public/icons/64-bolt-slash.svg | 4 + public/icons/64-bolt.svg | 4 + public/icons/64-calendar-days.svg | 4 + public/icons/64-camera.svg | 5 + public/icons/64-check-circle.svg | 4 + public/icons/64-check.svg | 4 + public/icons/64-chevron-right.svg | 3 + public/icons/64-circle-stack.svg | 4 + public/icons/64-code-bracket.svg | 4 + public/icons/64-command-line.svg | 4 + public/icons/64-computer-desktop.svg | 4 + public/icons/64-cube-solid.svg | 4 + public/icons/64-cube-transparent.svg | 4 + public/icons/64-cube.svg | 4 + public/icons/64-exclamation-circle.svg | 4 + public/icons/64-hashtag.svg | 4 + public/icons/64-home.svg | 3 + public/icons/64-inbox-arrow-down.svg | 4 + public/icons/64-inbox-stack.svg | 4 + public/icons/64-information-circle.svg | 4 + public/icons/64-light-build.svg | 4 + public/icons/64-light-bulb.svg | 4 + public/icons/64-link.svg | 4 + public/icons/64-list-bullet.svg | 4 + public/icons/64-magnifying-glass.svg | 4 + public/icons/64-minus-circle.svg | 4 + public/icons/64-no-symbol.svg | 4 + public/icons/64-pause-circle.svg | 4 + public/icons/64-play-circle.svg | 5 + public/icons/64-plus-circle.svg | 4 + public/icons/64-question-mark-circle.svg | 4 + public/icons/64-server-stack.svg | 4 + public/icons/64-server.svg | 4 + public/icons/64-share.svg | 4 + public/icons/64-stop-circle.svg | 5 + public/icons/64-trash.svg | 4 + public/icons/64-user-circle.svg | 4 + public/icons/64-x-circle.svg | 4 + public/icons/adjustments-horizontal.svg | 4 + public/icons/backspace.svg | 4 + public/icons/bell-alert.svg | 4 + public/icons/bell.svg | 4 + public/icons/bolt-slash.svg | 4 + public/icons/bolt.svg | 4 + public/icons/calendar-days.svg | 4 + public/icons/camera.svg | 5 + public/icons/check-circle.svg | 4 + public/icons/check.svg | 4 + public/icons/chevron-right.svg | 3 + public/icons/circle-stack.svg | 4 + public/icons/code-bracket.svg | 4 + public/icons/command-line.svg | 4 + public/icons/computer-desktop.svg | 4 + public/icons/cube-solid.svg | 4 + public/icons/cube-transparent.svg | 4 + public/icons/cube.svg | 4 + public/icons/exclamation-circle.svg | 4 + public/icons/hashtag.svg | 4 + public/icons/home.svg | 3 + public/icons/inbox-arrow-down.svg | 4 + public/icons/inbox-stack.svg | 4 + public/icons/information-circle.svg | 4 + public/icons/light-build.svg | 4 + public/icons/light-bulb.svg | 4 + public/icons/link.svg | 4 + public/icons/list-bullet.svg | 4 + public/icons/magnifying-glass.svg | 4 + public/icons/minus-circle.svg | 4 + public/icons/no-symbol.svg | 4 + public/icons/pause-circle.svg | 4 + public/icons/play-circle.svg | 5 + public/icons/plus-circle.svg | 4 + public/icons/question-mark-circle.svg | 4 + public/icons/server-stack.svg | 4 + public/icons/server.svg | 4 + public/icons/share.svg | 4 + public/icons/stop-circle.svg | 5 + public/icons/trash.svg | 4 + public/icons/user-circle.svg | 4 + public/icons/x-circle.svg | 4 + view/_footer.gohtml | 9 +- view/_header.gohtml | 4 +- view/_index.gohtml | 2 +- view/static/home.gohtml | 25 +-- 179 files changed, 969 insertions(+), 34 deletions(-) create mode 100644 lib/host/view.go create mode 100644 lib/storagevol/lib.go create mode 100644 public/icons/36-adjustments-horizontal.svg create mode 100644 public/icons/36-backspace.svg create mode 100644 public/icons/36-bell-alert.svg create mode 100644 public/icons/36-bell.svg create mode 100644 public/icons/36-bolt-slash.svg create mode 100644 public/icons/36-bolt.svg create mode 100644 public/icons/36-calendar-days.svg create mode 100644 public/icons/36-camera.svg create mode 100644 public/icons/36-check-circle.svg create mode 100644 public/icons/36-check.svg create mode 100644 public/icons/36-chevron-right.svg create mode 100644 public/icons/36-circle-stack.svg create mode 100644 public/icons/36-code-bracket.svg create mode 100644 public/icons/36-command-line.svg create mode 100644 public/icons/36-computer-desktop.svg create mode 100644 public/icons/36-cube-solid.svg create mode 100644 public/icons/36-cube-transparent.svg create mode 100644 public/icons/36-cube.svg create mode 100644 public/icons/36-exclamation-circle.svg create mode 100644 public/icons/36-hashtag.svg create mode 100644 public/icons/36-home.svg create mode 100644 public/icons/36-inbox-arrow-down.svg create mode 100644 public/icons/36-inbox-stack.svg create mode 100644 public/icons/36-information-circle.svg create mode 100644 public/icons/36-light-build.svg create mode 100644 public/icons/36-light-bulb.svg create mode 100644 public/icons/36-link.svg create mode 100644 public/icons/36-list-bullet.svg create mode 100644 public/icons/36-magnifying-glass.svg create mode 100644 public/icons/36-minus-circle.svg create mode 100644 public/icons/36-no-symbol.svg create mode 100644 public/icons/36-pause-circle.svg create mode 100644 public/icons/36-play-circle.svg create mode 100644 public/icons/36-plus-circle.svg create mode 100644 public/icons/36-question-mark-circle.svg create mode 100644 public/icons/36-server-stack.svg create mode 100644 public/icons/36-server.svg create mode 100644 public/icons/36-share.svg create mode 100644 public/icons/36-stop-circle.svg create mode 100644 public/icons/36-trash.svg create mode 100644 public/icons/36-user-circle.svg create mode 100644 public/icons/36-x-circle.svg create mode 100644 public/icons/48-adjustments-horizontal.svg create mode 100644 public/icons/48-backspace.svg create mode 100644 public/icons/48-bell-alert.svg create mode 100644 public/icons/48-bell.svg create mode 100644 public/icons/48-bolt-slash.svg create mode 100644 public/icons/48-bolt.svg create mode 100644 public/icons/48-calendar-days.svg create mode 100644 public/icons/48-camera.svg create mode 100644 public/icons/48-check-circle.svg create mode 100644 public/icons/48-check.svg create mode 100644 public/icons/48-chevron-right.svg create mode 100644 public/icons/48-circle-stack.svg create mode 100644 public/icons/48-code-bracket.svg create mode 100644 public/icons/48-command-line.svg create mode 100644 public/icons/48-computer-desktop.svg create mode 100644 public/icons/48-cube-solid.svg create mode 100644 public/icons/48-cube-transparent.svg create mode 100644 public/icons/48-cube.svg create mode 100644 public/icons/48-exclamation-circle.svg create mode 100644 public/icons/48-hashtag.svg create mode 100644 public/icons/48-home.svg create mode 100644 public/icons/48-inbox-arrow-down.svg create mode 100644 public/icons/48-inbox-stack.svg create mode 100644 public/icons/48-information-circle.svg create mode 100644 public/icons/48-light-build.svg create mode 100644 public/icons/48-light-bulb.svg create mode 100644 public/icons/48-link.svg create mode 100644 public/icons/48-list-bullet.svg create mode 100644 public/icons/48-magnifying-glass.svg create mode 100644 public/icons/48-minus-circle.svg create mode 100644 public/icons/48-no-symbol.svg create mode 100644 public/icons/48-pause-circle.svg create mode 100644 public/icons/48-play-circle.svg create mode 100644 public/icons/48-plus-circle.svg create mode 100644 public/icons/48-question-mark-circle.svg create mode 100644 public/icons/48-server-stack.svg create mode 100644 public/icons/48-server.svg create mode 100644 public/icons/48-share.svg create mode 100644 public/icons/48-stop-circle.svg create mode 100644 public/icons/48-trash.svg create mode 100644 public/icons/48-user-circle.svg create mode 100644 public/icons/48-x-circle.svg create mode 100644 public/icons/64-adjustments-horizontal.svg create mode 100644 public/icons/64-backspace.svg create mode 100644 public/icons/64-bell-alert.svg create mode 100644 public/icons/64-bell.svg create mode 100644 public/icons/64-bolt-slash.svg create mode 100644 public/icons/64-bolt.svg create mode 100644 public/icons/64-calendar-days.svg create mode 100644 public/icons/64-camera.svg create mode 100644 public/icons/64-check-circle.svg create mode 100644 public/icons/64-check.svg create mode 100644 public/icons/64-chevron-right.svg create mode 100644 public/icons/64-circle-stack.svg create mode 100644 public/icons/64-code-bracket.svg create mode 100644 public/icons/64-command-line.svg create mode 100644 public/icons/64-computer-desktop.svg create mode 100644 public/icons/64-cube-solid.svg create mode 100644 public/icons/64-cube-transparent.svg create mode 100644 public/icons/64-cube.svg create mode 100644 public/icons/64-exclamation-circle.svg create mode 100644 public/icons/64-hashtag.svg create mode 100644 public/icons/64-home.svg create mode 100644 public/icons/64-inbox-arrow-down.svg create mode 100644 public/icons/64-inbox-stack.svg create mode 100644 public/icons/64-information-circle.svg create mode 100644 public/icons/64-light-build.svg create mode 100644 public/icons/64-light-bulb.svg create mode 100644 public/icons/64-link.svg create mode 100644 public/icons/64-list-bullet.svg create mode 100644 public/icons/64-magnifying-glass.svg create mode 100644 public/icons/64-minus-circle.svg create mode 100644 public/icons/64-no-symbol.svg create mode 100644 public/icons/64-pause-circle.svg create mode 100644 public/icons/64-play-circle.svg create mode 100644 public/icons/64-plus-circle.svg create mode 100644 public/icons/64-question-mark-circle.svg create mode 100644 public/icons/64-server-stack.svg create mode 100644 public/icons/64-server.svg create mode 100644 public/icons/64-share.svg create mode 100644 public/icons/64-stop-circle.svg create mode 100644 public/icons/64-trash.svg create mode 100644 public/icons/64-user-circle.svg create mode 100644 public/icons/64-x-circle.svg create mode 100644 public/icons/adjustments-horizontal.svg create mode 100644 public/icons/backspace.svg create mode 100644 public/icons/bell-alert.svg create mode 100644 public/icons/bell.svg create mode 100644 public/icons/bolt-slash.svg create mode 100644 public/icons/bolt.svg create mode 100644 public/icons/calendar-days.svg create mode 100644 public/icons/camera.svg create mode 100644 public/icons/check-circle.svg create mode 100644 public/icons/check.svg create mode 100644 public/icons/chevron-right.svg create mode 100644 public/icons/circle-stack.svg create mode 100644 public/icons/code-bracket.svg create mode 100644 public/icons/command-line.svg create mode 100644 public/icons/computer-desktop.svg create mode 100644 public/icons/cube-solid.svg create mode 100644 public/icons/cube-transparent.svg create mode 100644 public/icons/cube.svg create mode 100644 public/icons/exclamation-circle.svg create mode 100644 public/icons/hashtag.svg create mode 100644 public/icons/home.svg create mode 100644 public/icons/inbox-arrow-down.svg create mode 100644 public/icons/inbox-stack.svg create mode 100644 public/icons/information-circle.svg create mode 100644 public/icons/light-build.svg create mode 100644 public/icons/light-bulb.svg create mode 100644 public/icons/link.svg create mode 100644 public/icons/list-bullet.svg create mode 100644 public/icons/magnifying-glass.svg create mode 100644 public/icons/minus-circle.svg create mode 100644 public/icons/no-symbol.svg create mode 100644 public/icons/pause-circle.svg create mode 100644 public/icons/play-circle.svg create mode 100644 public/icons/plus-circle.svg create mode 100644 public/icons/question-mark-circle.svg create mode 100644 public/icons/server-stack.svg create mode 100644 public/icons/server.svg create mode 100644 public/icons/share.svg create mode 100644 public/icons/stop-circle.svg create mode 100644 public/icons/trash.svg create mode 100644 public/icons/user-circle.svg create mode 100644 public/icons/x-circle.svg diff --git a/assets/tailwind.config.js b/assets/tailwind.config.js index e4f9c53..921cfb9 100644 --- a/assets/tailwind.config.js +++ b/assets/tailwind.config.js @@ -2,7 +2,14 @@ module.exports = { content: ["../view/**/*.gohtml"], theme: { - extend: {}, + extend: { + listStyleImage: { + chevronRight: 'url("/static/icons/chevron-right.svg")', + xCircle: 'url("/static/icons/x-circle.svg")', + checkCircle: 'url("/static/icons/check-circle.svg")', + noSymbol: 'url("/static/icons/no-symbol.svg")', + }, + }, }, plugins: [], } diff --git a/lib/host/lib.go b/lib/host/lib.go index cf140bb..72bba2d 100644 --- a/lib/host/lib.go +++ b/lib/host/lib.go @@ -12,6 +12,8 @@ import ( "git.staur.ca/stobbsm/clustvirt/lib/guest" "git.staur.ca/stobbsm/clustvirt/lib/secret" + "git.staur.ca/stobbsm/clustvirt/lib/storagepool" + "git.staur.ca/stobbsm/clustvirt/lib/storagevol" "git.staur.ca/stobbsm/clustvirt/util" "libvirt.org/go/libvirt" ) @@ -98,6 +100,11 @@ type StoragePoolInfo struct { XML string Active bool Persistent bool + AutoStart bool + State string + Capacity uint64 + Allocation uint64 + Available uint64 // HAEnabled indicates if the storage pool has High Availability HAEnabled bool // Volumes defined in the storage pool @@ -107,11 +114,12 @@ type StoragePoolInfo struct { // VolumeInfo holds basic information about Volumes available in storage pools type VolumeInfo struct { Name string - // StoragePool this volume is part of - StoragePool StoragePoolInfo - Type string - Size uint - XML string + Key string + Path string + Type string + Capacity uint64 + Allocation uint64 + XML string } // NetIfInfo holds basic information about available network interfaces (not their connections, the devices themselves) @@ -265,6 +273,48 @@ func (h *Host) getStoragePools(wg *sync.WaitGroup) { if h.StoragePoolList[i].Persistent, err = s.IsPersistent(); err != nil { log.Println(err) } + if h.StoragePoolList[i].AutoStart, err = s.GetAutostart(); err != nil { + log.Println(err) + } + spInfo, err := s.GetInfo() + if err != nil { + log.Println(err) + } + h.StoragePoolList[i].State = storagepool.StoragePoolStateMap[spInfo.State] + h.StoragePoolList[i].Capacity = spInfo.Capacity + h.StoragePoolList[i].Allocation = spInfo.Allocation + h.StoragePoolList[i].Available = spInfo.Available + + svols, err := s.ListAllStorageVolumes(0) + if err != nil { + log.Println(err) + } + if len(svols) > 0 { + h.StoragePoolList[i].Volumes = make([]VolumeInfo, len(svols)) + for j, sv := range svols { + if h.StoragePoolList[i].Volumes[j].Name, err = sv.GetName(); err != nil { + log.Println(err) + } + if h.StoragePoolList[i].Volumes[j].Key, err = sv.GetKey(); err != nil { + log.Println(err) + } + if h.StoragePoolList[i].Volumes[j].Path, err = sv.GetPath(); err != nil { + log.Println(err) + } + svInfo, err := sv.GetInfo() // Type, Capacity, Allocation + if err != nil { + log.Println(err) + } + h.StoragePoolList[i].Volumes[j].Type = storagevol.StorageVolTypeMap[svInfo.Type] + h.StoragePoolList[i].Volumes[j].Capacity = svInfo.Capacity + h.StoragePoolList[i].Volumes[j].Allocation = svInfo.Allocation + if h.StoragePoolList[i].Volumes[j].XML, err = sv.GetXMLDesc(0); err != nil { + log.Println(err) + } + + sv.Free() + } + } s.Free() } diff --git a/lib/host/view.go b/lib/host/view.go new file mode 100644 index 0000000..3de8403 --- /dev/null +++ b/lib/host/view.go @@ -0,0 +1,6 @@ +package host + +import "github.com/go-chi/chi/v5" + +func (h *Host) HTMXRenderHandler(router *chi.Router) { +} diff --git a/lib/storagepool/lib.go b/lib/storagepool/lib.go index ee7d83a..d9e6996 100644 --- a/lib/storagepool/lib.go +++ b/lib/storagepool/lib.go @@ -1 +1,11 @@ package storagepool + +import "libvirt.org/go/libvirt" + +var StoragePoolStateMap = map[libvirt.StoragePoolState]string{ + libvirt.STORAGE_POOL_INACTIVE: "inactive", + libvirt.STORAGE_POOL_BUILDING: "building", + libvirt.STORAGE_POOL_RUNNING: "running", + libvirt.STORAGE_POOL_DEGRADED: "degraded", + libvirt.STORAGE_POOL_INACCESSIBLE: "inaccessible", +} diff --git a/lib/storagevol/lib.go b/lib/storagevol/lib.go new file mode 100644 index 0000000..740012e --- /dev/null +++ b/lib/storagevol/lib.go @@ -0,0 +1,12 @@ +package storagevol + +import "libvirt.org/go/libvirt" + +var StorageVolTypeMap = map[libvirt.StorageVolType]string{ +libvirt.STORAGE_VOL_FILE: "file", +libvirt.STORAGE_VOL_BLOCK: "block", +libvirt.STORAGE_VOL_DIR: "dir", +libvirt.STORAGE_VOL_NETWORK: "network", +libvirt.STORAGE_VOL_NETDIR: "netdir", +libvirt.STORAGE_VOL_PLOOP: "ploop", +} diff --git a/main.go b/main.go index 4116b5d..374c634 100644 --- a/main.go +++ b/main.go @@ -31,15 +31,6 @@ func main() { r := chi.NewRouter() r.Use(middleware.Logger) - r.Get("/", func(w http.ResponseWriter, r *http.Request) { - defer r.Body.Close() - if DEBUG { - w.Header().Add("Cache-Control", "no-cache, no-store, must-revalidate") - w.Header().Add("Pragma", "no-cache") - w.Header().Add("Expire", "0") - } - log.Println(w.Write([]byte("Nothing on / yet"))) - }) r.Get("/static/*", func(w http.ResponseWriter, r *http.Request) { defer r.Body.Close() if DEBUG { @@ -49,7 +40,7 @@ func main() { } fs.ServeHTTP(w, r) }) - r.Get("/home", func(w http.ResponseWriter, r *http.Request) { + r.Get("/", func(w http.ResponseWriter, r *http.Request) { defer r.Body.Close() if DEBUG { w.Header().Add("Cache-Control", "no-cache, no-store, must-revalidate") diff --git a/public/css/style.css b/public/css/style.css index 0535b7c..a4379eb 100644 --- a/public/css/style.css +++ b/public/css/style.css @@ -578,3 +578,182 @@ video { } } +.m-2 { + margin: 0.5rem; +} + +.flex { + display: flex; +} + +.flex-auto { + flex: 1 1 auto; +} + +.basis-1\/2 { + flex-basis: 50%; +} + +.basis-1\/4 { + flex-basis: 25%; +} + +.list-inside { + list-style-position: inside; +} + +.list-image-checkCircle { + list-style-image: url("/static/icons/check-circle.svg"); +} + +.gap-4 { + gap: 1rem; +} + +.rounded-2xl { + border-radius: 1rem; +} + +.rounded-t-lg { + border-top-left-radius: 0.5rem; + border-top-right-radius: 0.5rem; +} + +.border-2 { + border-width: 2px; +} + +.border-8 { + border-width: 8px; +} + +.border-double { + border-style: double; +} + +.border-hidden { + border-style: hidden; +} + +.border-blue-200 { + --tw-border-opacity: 1; + border-color: rgb(191 219 254 / var(--tw-border-opacity)); +} + +.border-green-200 { + --tw-border-opacity: 1; + border-color: rgb(187 247 208 / var(--tw-border-opacity)); +} + +.bg-blue-100 { + --tw-bg-opacity: 1; + background-color: rgb(219 234 254 / var(--tw-bg-opacity)); +} + +.bg-blue-50 { + --tw-bg-opacity: 1; + background-color: rgb(239 246 255 / var(--tw-bg-opacity)); +} + +.bg-blue-500 { + --tw-bg-opacity: 1; + background-color: rgb(59 130 246 / var(--tw-bg-opacity)); +} + +.bg-green-100 { + --tw-bg-opacity: 1; + background-color: rgb(220 252 231 / var(--tw-bg-opacity)); +} + +.bg-green-50 { + --tw-bg-opacity: 1; + background-color: rgb(240 253 244 / var(--tw-bg-opacity)); +} + +.bg-green-500 { + --tw-bg-opacity: 1; + background-color: rgb(34 197 94 / var(--tw-bg-opacity)); +} + +.bg-red-500 { + --tw-bg-opacity: 1; + background-color: rgb(239 68 68 / var(--tw-bg-opacity)); +} + +.bg-slate-200 { + --tw-bg-opacity: 1; + background-color: rgb(226 232 240 / var(--tw-bg-opacity)); +} + +.p-0 { + padding: 0px; +} + +.p-2 { + padding: 0.5rem; +} + +.px-6 { + padding-left: 1.5rem; + padding-right: 1.5rem; +} + +.pb-0 { + padding-bottom: 0px; +} + +.pt-2 { + padding-top: 0.5rem; +} + +.indent-6 { + text-indent: 1.5rem; +} + +.text-2xl { + font-size: 1.5rem; + line-height: 2rem; +} + +.text-sm { + font-size: 0.875rem; + line-height: 1.25rem; +} + +.text-xl { + font-size: 1.25rem; + line-height: 1.75rem; +} + +.font-bold { + font-weight: 700; +} + +.font-semibold { + font-weight: 600; +} + +.font-thin { + font-weight: 100; +} + +.italic { + font-style: italic; +} + +@media (min-width: 640px) { + .sm\:gap-8 { + gap: 2rem; + } +} + +@media (min-width: 768px) { + .md\:basis-1\/3 { + flex-basis: 33.333333%; + } + + .md\:gap-6 { + gap: 1.5rem; + } +} + diff --git a/public/icons/36-adjustments-horizontal.svg b/public/icons/36-adjustments-horizontal.svg new file mode 100644 index 0000000..9c5769f --- /dev/null +++ b/public/icons/36-adjustments-horizontal.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/36-backspace.svg b/public/icons/36-backspace.svg new file mode 100644 index 0000000..9450715 --- /dev/null +++ b/public/icons/36-backspace.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/36-bell-alert.svg b/public/icons/36-bell-alert.svg new file mode 100644 index 0000000..c56e0e6 --- /dev/null +++ b/public/icons/36-bell-alert.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/36-bell.svg b/public/icons/36-bell.svg new file mode 100644 index 0000000..a172573 --- /dev/null +++ b/public/icons/36-bell.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/36-bolt-slash.svg b/public/icons/36-bolt-slash.svg new file mode 100644 index 0000000..e48fc6c --- /dev/null +++ b/public/icons/36-bolt-slash.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/36-bolt.svg b/public/icons/36-bolt.svg new file mode 100644 index 0000000..30fefc4 --- /dev/null +++ b/public/icons/36-bolt.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/36-calendar-days.svg b/public/icons/36-calendar-days.svg new file mode 100644 index 0000000..edf9ed5 --- /dev/null +++ b/public/icons/36-calendar-days.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/36-camera.svg b/public/icons/36-camera.svg new file mode 100644 index 0000000..2e5a3ee --- /dev/null +++ b/public/icons/36-camera.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/public/icons/36-check-circle.svg b/public/icons/36-check-circle.svg new file mode 100644 index 0000000..2c6c671 --- /dev/null +++ b/public/icons/36-check-circle.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/36-check.svg b/public/icons/36-check.svg new file mode 100644 index 0000000..a5a0b9a --- /dev/null +++ b/public/icons/36-check.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/36-chevron-right.svg b/public/icons/36-chevron-right.svg new file mode 100644 index 0000000..dcbf5bf --- /dev/null +++ b/public/icons/36-chevron-right.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/icons/36-circle-stack.svg b/public/icons/36-circle-stack.svg new file mode 100644 index 0000000..9c96dc0 --- /dev/null +++ b/public/icons/36-circle-stack.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/36-code-bracket.svg b/public/icons/36-code-bracket.svg new file mode 100644 index 0000000..04b3913 --- /dev/null +++ b/public/icons/36-code-bracket.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/36-command-line.svg b/public/icons/36-command-line.svg new file mode 100644 index 0000000..ba88bf1 --- /dev/null +++ b/public/icons/36-command-line.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/36-computer-desktop.svg b/public/icons/36-computer-desktop.svg new file mode 100644 index 0000000..aba5316 --- /dev/null +++ b/public/icons/36-computer-desktop.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/36-cube-solid.svg b/public/icons/36-cube-solid.svg new file mode 100644 index 0000000..80186e2 --- /dev/null +++ b/public/icons/36-cube-solid.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/36-cube-transparent.svg b/public/icons/36-cube-transparent.svg new file mode 100644 index 0000000..49707e5 --- /dev/null +++ b/public/icons/36-cube-transparent.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/36-cube.svg b/public/icons/36-cube.svg new file mode 100644 index 0000000..c37e725 --- /dev/null +++ b/public/icons/36-cube.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/36-exclamation-circle.svg b/public/icons/36-exclamation-circle.svg new file mode 100644 index 0000000..1867715 --- /dev/null +++ b/public/icons/36-exclamation-circle.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/36-hashtag.svg b/public/icons/36-hashtag.svg new file mode 100644 index 0000000..a5a5c02 --- /dev/null +++ b/public/icons/36-hashtag.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/36-home.svg b/public/icons/36-home.svg new file mode 100644 index 0000000..d49ddaf --- /dev/null +++ b/public/icons/36-home.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/icons/36-inbox-arrow-down.svg b/public/icons/36-inbox-arrow-down.svg new file mode 100644 index 0000000..df09a08 --- /dev/null +++ b/public/icons/36-inbox-arrow-down.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/36-inbox-stack.svg b/public/icons/36-inbox-stack.svg new file mode 100644 index 0000000..1749dfa --- /dev/null +++ b/public/icons/36-inbox-stack.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/36-information-circle.svg b/public/icons/36-information-circle.svg new file mode 100644 index 0000000..32fbcb2 --- /dev/null +++ b/public/icons/36-information-circle.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/36-light-build.svg b/public/icons/36-light-build.svg new file mode 100644 index 0000000..fdc6feb --- /dev/null +++ b/public/icons/36-light-build.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/36-light-bulb.svg b/public/icons/36-light-bulb.svg new file mode 100644 index 0000000..38e9fc3 --- /dev/null +++ b/public/icons/36-light-bulb.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/36-link.svg b/public/icons/36-link.svg new file mode 100644 index 0000000..700c5d2 --- /dev/null +++ b/public/icons/36-link.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/36-list-bullet.svg b/public/icons/36-list-bullet.svg new file mode 100644 index 0000000..aa1c409 --- /dev/null +++ b/public/icons/36-list-bullet.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/36-magnifying-glass.svg b/public/icons/36-magnifying-glass.svg new file mode 100644 index 0000000..ac452bf --- /dev/null +++ b/public/icons/36-magnifying-glass.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/36-minus-circle.svg b/public/icons/36-minus-circle.svg new file mode 100644 index 0000000..de17842 --- /dev/null +++ b/public/icons/36-minus-circle.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/36-no-symbol.svg b/public/icons/36-no-symbol.svg new file mode 100644 index 0000000..99cc79f --- /dev/null +++ b/public/icons/36-no-symbol.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/36-pause-circle.svg b/public/icons/36-pause-circle.svg new file mode 100644 index 0000000..fdba006 --- /dev/null +++ b/public/icons/36-pause-circle.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/36-play-circle.svg b/public/icons/36-play-circle.svg new file mode 100644 index 0000000..af2f6b1 --- /dev/null +++ b/public/icons/36-play-circle.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/public/icons/36-plus-circle.svg b/public/icons/36-plus-circle.svg new file mode 100644 index 0000000..993fc69 --- /dev/null +++ b/public/icons/36-plus-circle.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/36-question-mark-circle.svg b/public/icons/36-question-mark-circle.svg new file mode 100644 index 0000000..c71da54 --- /dev/null +++ b/public/icons/36-question-mark-circle.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/36-server-stack.svg b/public/icons/36-server-stack.svg new file mode 100644 index 0000000..b2f150a --- /dev/null +++ b/public/icons/36-server-stack.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/36-server.svg b/public/icons/36-server.svg new file mode 100644 index 0000000..6f0c055 --- /dev/null +++ b/public/icons/36-server.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/36-share.svg b/public/icons/36-share.svg new file mode 100644 index 0000000..13982dc --- /dev/null +++ b/public/icons/36-share.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/36-stop-circle.svg b/public/icons/36-stop-circle.svg new file mode 100644 index 0000000..b579668 --- /dev/null +++ b/public/icons/36-stop-circle.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/public/icons/36-trash.svg b/public/icons/36-trash.svg new file mode 100644 index 0000000..d6058d4 --- /dev/null +++ b/public/icons/36-trash.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/36-user-circle.svg b/public/icons/36-user-circle.svg new file mode 100644 index 0000000..24343db --- /dev/null +++ b/public/icons/36-user-circle.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/36-x-circle.svg b/public/icons/36-x-circle.svg new file mode 100644 index 0000000..7d9e6c3 --- /dev/null +++ b/public/icons/36-x-circle.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/48-adjustments-horizontal.svg b/public/icons/48-adjustments-horizontal.svg new file mode 100644 index 0000000..7ce687e --- /dev/null +++ b/public/icons/48-adjustments-horizontal.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/48-backspace.svg b/public/icons/48-backspace.svg new file mode 100644 index 0000000..a13ee99 --- /dev/null +++ b/public/icons/48-backspace.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/48-bell-alert.svg b/public/icons/48-bell-alert.svg new file mode 100644 index 0000000..3b42f52 --- /dev/null +++ b/public/icons/48-bell-alert.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/48-bell.svg b/public/icons/48-bell.svg new file mode 100644 index 0000000..73bcb51 --- /dev/null +++ b/public/icons/48-bell.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/48-bolt-slash.svg b/public/icons/48-bolt-slash.svg new file mode 100644 index 0000000..20c0b75 --- /dev/null +++ b/public/icons/48-bolt-slash.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/48-bolt.svg b/public/icons/48-bolt.svg new file mode 100644 index 0000000..4f25b37 --- /dev/null +++ b/public/icons/48-bolt.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/48-calendar-days.svg b/public/icons/48-calendar-days.svg new file mode 100644 index 0000000..cd44284 --- /dev/null +++ b/public/icons/48-calendar-days.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/48-camera.svg b/public/icons/48-camera.svg new file mode 100644 index 0000000..e53f445 --- /dev/null +++ b/public/icons/48-camera.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/public/icons/48-check-circle.svg b/public/icons/48-check-circle.svg new file mode 100644 index 0000000..5dd1a77 --- /dev/null +++ b/public/icons/48-check-circle.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/48-check.svg b/public/icons/48-check.svg new file mode 100644 index 0000000..d6de916 --- /dev/null +++ b/public/icons/48-check.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/48-chevron-right.svg b/public/icons/48-chevron-right.svg new file mode 100644 index 0000000..fae6a73 --- /dev/null +++ b/public/icons/48-chevron-right.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/icons/48-circle-stack.svg b/public/icons/48-circle-stack.svg new file mode 100644 index 0000000..0602434 --- /dev/null +++ b/public/icons/48-circle-stack.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/48-code-bracket.svg b/public/icons/48-code-bracket.svg new file mode 100644 index 0000000..a4a5b0b --- /dev/null +++ b/public/icons/48-code-bracket.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/48-command-line.svg b/public/icons/48-command-line.svg new file mode 100644 index 0000000..0a058ba --- /dev/null +++ b/public/icons/48-command-line.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/48-computer-desktop.svg b/public/icons/48-computer-desktop.svg new file mode 100644 index 0000000..85b28d6 --- /dev/null +++ b/public/icons/48-computer-desktop.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/48-cube-solid.svg b/public/icons/48-cube-solid.svg new file mode 100644 index 0000000..69b9dab --- /dev/null +++ b/public/icons/48-cube-solid.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/48-cube-transparent.svg b/public/icons/48-cube-transparent.svg new file mode 100644 index 0000000..b18430b --- /dev/null +++ b/public/icons/48-cube-transparent.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/48-cube.svg b/public/icons/48-cube.svg new file mode 100644 index 0000000..4dd1df0 --- /dev/null +++ b/public/icons/48-cube.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/48-exclamation-circle.svg b/public/icons/48-exclamation-circle.svg new file mode 100644 index 0000000..42c315e --- /dev/null +++ b/public/icons/48-exclamation-circle.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/48-hashtag.svg b/public/icons/48-hashtag.svg new file mode 100644 index 0000000..0c872f3 --- /dev/null +++ b/public/icons/48-hashtag.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/48-home.svg b/public/icons/48-home.svg new file mode 100644 index 0000000..5f52336 --- /dev/null +++ b/public/icons/48-home.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/icons/48-inbox-arrow-down.svg b/public/icons/48-inbox-arrow-down.svg new file mode 100644 index 0000000..b92ddb5 --- /dev/null +++ b/public/icons/48-inbox-arrow-down.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/48-inbox-stack.svg b/public/icons/48-inbox-stack.svg new file mode 100644 index 0000000..d022d8b --- /dev/null +++ b/public/icons/48-inbox-stack.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/48-information-circle.svg b/public/icons/48-information-circle.svg new file mode 100644 index 0000000..ac942c0 --- /dev/null +++ b/public/icons/48-information-circle.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/48-light-build.svg b/public/icons/48-light-build.svg new file mode 100644 index 0000000..a242baf --- /dev/null +++ b/public/icons/48-light-build.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/48-light-bulb.svg b/public/icons/48-light-bulb.svg new file mode 100644 index 0000000..6d459f8 --- /dev/null +++ b/public/icons/48-light-bulb.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/48-link.svg b/public/icons/48-link.svg new file mode 100644 index 0000000..04e7fe9 --- /dev/null +++ b/public/icons/48-link.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/48-list-bullet.svg b/public/icons/48-list-bullet.svg new file mode 100644 index 0000000..7cff1b7 --- /dev/null +++ b/public/icons/48-list-bullet.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/48-magnifying-glass.svg b/public/icons/48-magnifying-glass.svg new file mode 100644 index 0000000..8f4344e --- /dev/null +++ b/public/icons/48-magnifying-glass.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/48-minus-circle.svg b/public/icons/48-minus-circle.svg new file mode 100644 index 0000000..5c06af4 --- /dev/null +++ b/public/icons/48-minus-circle.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/48-no-symbol.svg b/public/icons/48-no-symbol.svg new file mode 100644 index 0000000..c0c2c9b --- /dev/null +++ b/public/icons/48-no-symbol.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/48-pause-circle.svg b/public/icons/48-pause-circle.svg new file mode 100644 index 0000000..f164105 --- /dev/null +++ b/public/icons/48-pause-circle.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/48-play-circle.svg b/public/icons/48-play-circle.svg new file mode 100644 index 0000000..3615bce --- /dev/null +++ b/public/icons/48-play-circle.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/public/icons/48-plus-circle.svg b/public/icons/48-plus-circle.svg new file mode 100644 index 0000000..b56ca09 --- /dev/null +++ b/public/icons/48-plus-circle.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/48-question-mark-circle.svg b/public/icons/48-question-mark-circle.svg new file mode 100644 index 0000000..c44bcbc --- /dev/null +++ b/public/icons/48-question-mark-circle.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/48-server-stack.svg b/public/icons/48-server-stack.svg new file mode 100644 index 0000000..dce764e --- /dev/null +++ b/public/icons/48-server-stack.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/48-server.svg b/public/icons/48-server.svg new file mode 100644 index 0000000..c40af6d --- /dev/null +++ b/public/icons/48-server.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/48-share.svg b/public/icons/48-share.svg new file mode 100644 index 0000000..85e00a1 --- /dev/null +++ b/public/icons/48-share.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/48-stop-circle.svg b/public/icons/48-stop-circle.svg new file mode 100644 index 0000000..ea51573 --- /dev/null +++ b/public/icons/48-stop-circle.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/public/icons/48-trash.svg b/public/icons/48-trash.svg new file mode 100644 index 0000000..8f20791 --- /dev/null +++ b/public/icons/48-trash.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/48-user-circle.svg b/public/icons/48-user-circle.svg new file mode 100644 index 0000000..1972f54 --- /dev/null +++ b/public/icons/48-user-circle.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/48-x-circle.svg b/public/icons/48-x-circle.svg new file mode 100644 index 0000000..6102924 --- /dev/null +++ b/public/icons/48-x-circle.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/64-adjustments-horizontal.svg b/public/icons/64-adjustments-horizontal.svg new file mode 100644 index 0000000..1bc7460 --- /dev/null +++ b/public/icons/64-adjustments-horizontal.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/64-backspace.svg b/public/icons/64-backspace.svg new file mode 100644 index 0000000..57112d5 --- /dev/null +++ b/public/icons/64-backspace.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/64-bell-alert.svg b/public/icons/64-bell-alert.svg new file mode 100644 index 0000000..b064b64 --- /dev/null +++ b/public/icons/64-bell-alert.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/64-bell.svg b/public/icons/64-bell.svg new file mode 100644 index 0000000..b5dc61c --- /dev/null +++ b/public/icons/64-bell.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/64-bolt-slash.svg b/public/icons/64-bolt-slash.svg new file mode 100644 index 0000000..eacf2ce --- /dev/null +++ b/public/icons/64-bolt-slash.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/64-bolt.svg b/public/icons/64-bolt.svg new file mode 100644 index 0000000..31f6082 --- /dev/null +++ b/public/icons/64-bolt.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/64-calendar-days.svg b/public/icons/64-calendar-days.svg new file mode 100644 index 0000000..636ad68 --- /dev/null +++ b/public/icons/64-calendar-days.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/64-camera.svg b/public/icons/64-camera.svg new file mode 100644 index 0000000..4f4b82b --- /dev/null +++ b/public/icons/64-camera.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/public/icons/64-check-circle.svg b/public/icons/64-check-circle.svg new file mode 100644 index 0000000..086e7c0 --- /dev/null +++ b/public/icons/64-check-circle.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/64-check.svg b/public/icons/64-check.svg new file mode 100644 index 0000000..df025a1 --- /dev/null +++ b/public/icons/64-check.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/64-chevron-right.svg b/public/icons/64-chevron-right.svg new file mode 100644 index 0000000..556c0de --- /dev/null +++ b/public/icons/64-chevron-right.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/icons/64-circle-stack.svg b/public/icons/64-circle-stack.svg new file mode 100644 index 0000000..4556407 --- /dev/null +++ b/public/icons/64-circle-stack.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/64-code-bracket.svg b/public/icons/64-code-bracket.svg new file mode 100644 index 0000000..807b5e9 --- /dev/null +++ b/public/icons/64-code-bracket.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/64-command-line.svg b/public/icons/64-command-line.svg new file mode 100644 index 0000000..7dc7b4b --- /dev/null +++ b/public/icons/64-command-line.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/64-computer-desktop.svg b/public/icons/64-computer-desktop.svg new file mode 100644 index 0000000..714809c --- /dev/null +++ b/public/icons/64-computer-desktop.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/64-cube-solid.svg b/public/icons/64-cube-solid.svg new file mode 100644 index 0000000..92a9219 --- /dev/null +++ b/public/icons/64-cube-solid.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/64-cube-transparent.svg b/public/icons/64-cube-transparent.svg new file mode 100644 index 0000000..e36e732 --- /dev/null +++ b/public/icons/64-cube-transparent.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/64-cube.svg b/public/icons/64-cube.svg new file mode 100644 index 0000000..ff8c830 --- /dev/null +++ b/public/icons/64-cube.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/64-exclamation-circle.svg b/public/icons/64-exclamation-circle.svg new file mode 100644 index 0000000..8c07f3a --- /dev/null +++ b/public/icons/64-exclamation-circle.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/64-hashtag.svg b/public/icons/64-hashtag.svg new file mode 100644 index 0000000..a09f735 --- /dev/null +++ b/public/icons/64-hashtag.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/64-home.svg b/public/icons/64-home.svg new file mode 100644 index 0000000..788e80a --- /dev/null +++ b/public/icons/64-home.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/icons/64-inbox-arrow-down.svg b/public/icons/64-inbox-arrow-down.svg new file mode 100644 index 0000000..0926a03 --- /dev/null +++ b/public/icons/64-inbox-arrow-down.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/64-inbox-stack.svg b/public/icons/64-inbox-stack.svg new file mode 100644 index 0000000..cbcc15a --- /dev/null +++ b/public/icons/64-inbox-stack.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/64-information-circle.svg b/public/icons/64-information-circle.svg new file mode 100644 index 0000000..e2aed80 --- /dev/null +++ b/public/icons/64-information-circle.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/64-light-build.svg b/public/icons/64-light-build.svg new file mode 100644 index 0000000..18b742f --- /dev/null +++ b/public/icons/64-light-build.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/64-light-bulb.svg b/public/icons/64-light-bulb.svg new file mode 100644 index 0000000..f3c7a05 --- /dev/null +++ b/public/icons/64-light-bulb.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/64-link.svg b/public/icons/64-link.svg new file mode 100644 index 0000000..a7f4ab1 --- /dev/null +++ b/public/icons/64-link.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/64-list-bullet.svg b/public/icons/64-list-bullet.svg new file mode 100644 index 0000000..b69c3dd --- /dev/null +++ b/public/icons/64-list-bullet.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/64-magnifying-glass.svg b/public/icons/64-magnifying-glass.svg new file mode 100644 index 0000000..fdc530d --- /dev/null +++ b/public/icons/64-magnifying-glass.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/64-minus-circle.svg b/public/icons/64-minus-circle.svg new file mode 100644 index 0000000..f34562a --- /dev/null +++ b/public/icons/64-minus-circle.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/64-no-symbol.svg b/public/icons/64-no-symbol.svg new file mode 100644 index 0000000..eae1492 --- /dev/null +++ b/public/icons/64-no-symbol.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/64-pause-circle.svg b/public/icons/64-pause-circle.svg new file mode 100644 index 0000000..2ead061 --- /dev/null +++ b/public/icons/64-pause-circle.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/64-play-circle.svg b/public/icons/64-play-circle.svg new file mode 100644 index 0000000..8050aff --- /dev/null +++ b/public/icons/64-play-circle.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/public/icons/64-plus-circle.svg b/public/icons/64-plus-circle.svg new file mode 100644 index 0000000..7e9e219 --- /dev/null +++ b/public/icons/64-plus-circle.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/64-question-mark-circle.svg b/public/icons/64-question-mark-circle.svg new file mode 100644 index 0000000..c5b0bdf --- /dev/null +++ b/public/icons/64-question-mark-circle.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/64-server-stack.svg b/public/icons/64-server-stack.svg new file mode 100644 index 0000000..86f59bd --- /dev/null +++ b/public/icons/64-server-stack.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/64-server.svg b/public/icons/64-server.svg new file mode 100644 index 0000000..4f5347d --- /dev/null +++ b/public/icons/64-server.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/64-share.svg b/public/icons/64-share.svg new file mode 100644 index 0000000..33a1288 --- /dev/null +++ b/public/icons/64-share.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/64-stop-circle.svg b/public/icons/64-stop-circle.svg new file mode 100644 index 0000000..1f6dccc --- /dev/null +++ b/public/icons/64-stop-circle.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/public/icons/64-trash.svg b/public/icons/64-trash.svg new file mode 100644 index 0000000..d0255ca --- /dev/null +++ b/public/icons/64-trash.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/64-user-circle.svg b/public/icons/64-user-circle.svg new file mode 100644 index 0000000..5d35b4b --- /dev/null +++ b/public/icons/64-user-circle.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/64-x-circle.svg b/public/icons/64-x-circle.svg new file mode 100644 index 0000000..3079f68 --- /dev/null +++ b/public/icons/64-x-circle.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/adjustments-horizontal.svg b/public/icons/adjustments-horizontal.svg new file mode 100644 index 0000000..e1b8e4c --- /dev/null +++ b/public/icons/adjustments-horizontal.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/backspace.svg b/public/icons/backspace.svg new file mode 100644 index 0000000..4a675cc --- /dev/null +++ b/public/icons/backspace.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/bell-alert.svg b/public/icons/bell-alert.svg new file mode 100644 index 0000000..34b87f5 --- /dev/null +++ b/public/icons/bell-alert.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/bell.svg b/public/icons/bell.svg new file mode 100644 index 0000000..fb47516 --- /dev/null +++ b/public/icons/bell.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/bolt-slash.svg b/public/icons/bolt-slash.svg new file mode 100644 index 0000000..9bf2988 --- /dev/null +++ b/public/icons/bolt-slash.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/bolt.svg b/public/icons/bolt.svg new file mode 100644 index 0000000..2209fa3 --- /dev/null +++ b/public/icons/bolt.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/calendar-days.svg b/public/icons/calendar-days.svg new file mode 100644 index 0000000..46ee22a --- /dev/null +++ b/public/icons/calendar-days.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/camera.svg b/public/icons/camera.svg new file mode 100644 index 0000000..b0e8063 --- /dev/null +++ b/public/icons/camera.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/public/icons/check-circle.svg b/public/icons/check-circle.svg new file mode 100644 index 0000000..a242f86 --- /dev/null +++ b/public/icons/check-circle.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/check.svg b/public/icons/check.svg new file mode 100644 index 0000000..2971ce8 --- /dev/null +++ b/public/icons/check.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/chevron-right.svg b/public/icons/chevron-right.svg new file mode 100644 index 0000000..731438b --- /dev/null +++ b/public/icons/chevron-right.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/icons/circle-stack.svg b/public/icons/circle-stack.svg new file mode 100644 index 0000000..ead8698 --- /dev/null +++ b/public/icons/circle-stack.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/code-bracket.svg b/public/icons/code-bracket.svg new file mode 100644 index 0000000..31d53ba --- /dev/null +++ b/public/icons/code-bracket.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/command-line.svg b/public/icons/command-line.svg new file mode 100644 index 0000000..a7c543b --- /dev/null +++ b/public/icons/command-line.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/computer-desktop.svg b/public/icons/computer-desktop.svg new file mode 100644 index 0000000..516642b --- /dev/null +++ b/public/icons/computer-desktop.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/cube-solid.svg b/public/icons/cube-solid.svg new file mode 100644 index 0000000..4536f82 --- /dev/null +++ b/public/icons/cube-solid.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/cube-transparent.svg b/public/icons/cube-transparent.svg new file mode 100644 index 0000000..239100b --- /dev/null +++ b/public/icons/cube-transparent.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/cube.svg b/public/icons/cube.svg new file mode 100644 index 0000000..bb54e1f --- /dev/null +++ b/public/icons/cube.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/exclamation-circle.svg b/public/icons/exclamation-circle.svg new file mode 100644 index 0000000..9c22a37 --- /dev/null +++ b/public/icons/exclamation-circle.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/hashtag.svg b/public/icons/hashtag.svg new file mode 100644 index 0000000..8136964 --- /dev/null +++ b/public/icons/hashtag.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/home.svg b/public/icons/home.svg new file mode 100644 index 0000000..9b47315 --- /dev/null +++ b/public/icons/home.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/icons/inbox-arrow-down.svg b/public/icons/inbox-arrow-down.svg new file mode 100644 index 0000000..0230698 --- /dev/null +++ b/public/icons/inbox-arrow-down.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/inbox-stack.svg b/public/icons/inbox-stack.svg new file mode 100644 index 0000000..048ba73 --- /dev/null +++ b/public/icons/inbox-stack.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/information-circle.svg b/public/icons/information-circle.svg new file mode 100644 index 0000000..7a30c28 --- /dev/null +++ b/public/icons/information-circle.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/light-build.svg b/public/icons/light-build.svg new file mode 100644 index 0000000..aed55fb --- /dev/null +++ b/public/icons/light-build.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/light-bulb.svg b/public/icons/light-bulb.svg new file mode 100644 index 0000000..6c7d24d --- /dev/null +++ b/public/icons/light-bulb.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/link.svg b/public/icons/link.svg new file mode 100644 index 0000000..79d062c --- /dev/null +++ b/public/icons/link.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/list-bullet.svg b/public/icons/list-bullet.svg new file mode 100644 index 0000000..e8a2984 --- /dev/null +++ b/public/icons/list-bullet.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/magnifying-glass.svg b/public/icons/magnifying-glass.svg new file mode 100644 index 0000000..68a1933 --- /dev/null +++ b/public/icons/magnifying-glass.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/minus-circle.svg b/public/icons/minus-circle.svg new file mode 100644 index 0000000..9cfaa24 --- /dev/null +++ b/public/icons/minus-circle.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/no-symbol.svg b/public/icons/no-symbol.svg new file mode 100644 index 0000000..b887176 --- /dev/null +++ b/public/icons/no-symbol.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/pause-circle.svg b/public/icons/pause-circle.svg new file mode 100644 index 0000000..26755bb --- /dev/null +++ b/public/icons/pause-circle.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/play-circle.svg b/public/icons/play-circle.svg new file mode 100644 index 0000000..95a0f60 --- /dev/null +++ b/public/icons/play-circle.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/public/icons/plus-circle.svg b/public/icons/plus-circle.svg new file mode 100644 index 0000000..2fc7591 --- /dev/null +++ b/public/icons/plus-circle.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/question-mark-circle.svg b/public/icons/question-mark-circle.svg new file mode 100644 index 0000000..0d7dfe1 --- /dev/null +++ b/public/icons/question-mark-circle.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/server-stack.svg b/public/icons/server-stack.svg new file mode 100644 index 0000000..4d40d47 --- /dev/null +++ b/public/icons/server-stack.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/server.svg b/public/icons/server.svg new file mode 100644 index 0000000..c34d24c --- /dev/null +++ b/public/icons/server.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/share.svg b/public/icons/share.svg new file mode 100644 index 0000000..8aec5c8 --- /dev/null +++ b/public/icons/share.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/stop-circle.svg b/public/icons/stop-circle.svg new file mode 100644 index 0000000..1ff0274 --- /dev/null +++ b/public/icons/stop-circle.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/public/icons/trash.svg b/public/icons/trash.svg new file mode 100644 index 0000000..86d6f1f --- /dev/null +++ b/public/icons/trash.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/user-circle.svg b/public/icons/user-circle.svg new file mode 100644 index 0000000..379c79d --- /dev/null +++ b/public/icons/user-circle.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/icons/x-circle.svg b/public/icons/x-circle.svg new file mode 100644 index 0000000..1f2df82 --- /dev/null +++ b/public/icons/x-circle.svg @@ -0,0 +1,4 @@ + + + + diff --git a/view/_footer.gohtml b/view/_footer.gohtml index e21410f..9ece79a 100644 --- a/view/_footer.gohtml +++ b/view/_footer.gohtml @@ -1,6 +1,7 @@ {{ define "footer" }} -
- - - +
+ + + +
{{ end }} diff --git a/view/_header.gohtml b/view/_header.gohtml index d411e23..70fa5d0 100644 --- a/view/_header.gohtml +++ b/view/_header.gohtml @@ -1,6 +1,6 @@ {{ define "header" }} -

Clustvirt

-

Libvirtd simplified and clustered

+

Clustvirt

+

Libvirtd simplified and clustered