ddns/templates/layout_templ.go

80 lines
8.3 KiB
Go

// Code generated by templ - DO NOT EDIT.
// templ: version: v0.3.898
package templates
//lint:file-ignore SA4006 This context is only used if a nested component is present.
import "github.com/a-h/templ"
import templruntime "github.com/a-h/templ/runtime"
import "io"
import "context"
// Render renders a component to an io.Writer
func Render(w io.Writer, component templ.Component) error {
return component.Render(context.Background(), w)
}
// RenderMultiple renders multiple components to an io.Writer in sequence
func RenderMultiple(w io.Writer, components ...templ.Component) error {
for _, component := range components {
if err := component.Render(context.Background(), w); err != nil {
return err
}
}
return nil
}
// Layout is the base layout for all pages
func Layout(title string) templ.Component {
return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
return templ_7745c5c3_CtxErr
}
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
if !templ_7745c5c3_IsBuffer {
defer func() {
templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
if templ_7745c5c3_Err == nil {
templ_7745c5c3_Err = templ_7745c5c3_BufErr
}
}()
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var1 := templ.GetChildren(ctx)
if templ_7745c5c3_Var1 == nil {
templ_7745c5c3_Var1 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "<!doctype html><html lang=\"en\"><head><meta charset=\"UTF-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"><title>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var2 string
templ_7745c5c3_Var2, templ_7745c5c3_Err = templ.JoinStringErrs(title)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `templates/layout.templ`, Line: 28, Col: 17}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var2))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 2, "</title><script defer src=\"https://cdn.jsdelivr.net/npm/@imacrayon/alpine-ajax@0.12.2/dist/cdn.min.js\"></script><script defer src=\"https://cdn.jsdelivr.net/npm/alpinejs@3.14.1/dist/cdn.min.js\"></script><link href=\"https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css\" rel=\"stylesheet\"><link rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.1/font/bootstrap-icons.css\"><script src=\"https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js\"></script><style>\n\t\t\t\t/* Base Styles */\n\t\t\t\tbody {\n\t\t\t\t\tpadding-top: 20px;\n\t\t\t\t\tbackground-color: #f8f9fa;\n\t\t\t\t}\n\t\t\t\t.card {\n\t\t\t\t\tmargin-bottom: 20px;\n\t\t\t\t\tbox-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n\t\t\t\t}\n\t\t\t\t.config-warning {\n\t\t\t\t\tmargin-bottom: 20px;\n\t\t\t\t}\n\t\t\t\t.toast-container {\n\t\t\t\t\tposition: fixed;\n\t\t\t\t\ttop: 20px;\n\t\t\t\t\tright: 20px;\n\t\t\t\t\tz-index: 1050;\n\t\t\t\t}\n\t\t\t\t.update-badge {\n\t\t\t\t\tfont-size: 0.8em;\n\t\t\t\t\tmargin-left: 10px;\n\t\t\t\t}\n\t\t\t\t.spin {\n\t\t\t\t animation: spin 1s linear infinite;\n\t\t\t\t}\n\t\t\t\t@keyframes spin {\n\t\t\t\t from { transform: rotate(0deg); }\n\t\t\t\t to { transform: rotate(360deg); }\n\t\t\t\t}\n\n\t\t\t\t/* Modal Styles */\n\t\t\t\tdialog {\n\t\t\t\t\tborder: none !important;\n\t\t\t\t\toutline: none !important;\n\t\t\t\t\tborder-radius: 0;\n\t\t\t\t\tpadding: 0;\n\t\t\t\t\tmargin: 0;\n\t\t\t\t\tbackground: transparent;\n\t\t\t\t\tbox-shadow: none;\n\t\t\t\t\tmax-width: none;\n\t\t\t\t\tmax-height: none;\n\t\t\t\t\twidth: 100vw;\n\t\t\t\t\theight: 100vh;\n\t\t\t\t\tposition: fixed;\n\t\t\t\t\ttop: 0;\n\t\t\t\t\tleft: 0;\n\t\t\t\t}\n\n\t\t\t\tdialog[open] {\n\t\t\t\t\tborder: none !important;\n\t\t\t\t\toutline: none !important;\n\t\t\t\t}\n\n\t\t\t\tdialog::backdrop {\n\t\t\t\t\tbackground: rgba(0, 0, 0, 0.5);\n\t\t\t\t\tbackdrop-filter: blur(4px);\n\t\t\t\t\tanimation: fadeIn 0.2s ease-out;\n\t\t\t\t}\n\n\t\t\t\t.modal-container {\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\talign-items: center;\n\t\t\t\t\tjustify-content: center;\n\t\t\t\t\tmin-height: 100vh;\n\t\t\t\t\tpadding: 1rem;\n\t\t\t\t\tanimation: modalShow 0.3s ease-out;\n\t\t\t\t}\n\n\t\t\t\t.modal-content {\n\t\t\t\t\tbackground: white;\n\t\t\t\t\tborder-radius: 12px;\n\t\t\t\t\tbox-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);\n\t\t\t\t\twidth: 100%;\n\t\t\t\t\tmax-width: 600px;\n\t\t\t\t\tmax-height: 90vh;\n\t\t\t\t\toverflow: hidden;\n\t\t\t\t\ttransform: scale(1);\n\t\t\t\t\tanimation: modalSlideIn 0.3s ease-out;\n\t\t\t\t}\n\n\t\t\t\t.modal-header {\n\t\t\t\t\tbackground: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);\n\t\t\t\t\tborder-bottom: 1px solid #dee2e6;\n\t\t\t\t\tpadding: 1.5rem;\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\talign-items: center;\n\t\t\t\t\tjustify-content: space-between;\n\t\t\t\t}\n\n\t\t\t\t.modal-title {\n\t\t\t\t\tmargin: 0;\n\t\t\t\t\tfont-weight: 600;\n\t\t\t\t\tcolor: #495057;\n\t\t\t\t\tfont-size: 1.25rem;\n\t\t\t\t}\n\n\t\t\t\t.modal-body {\n\t\t\t\t\tpadding: 2rem;\n\t\t\t\t\tmax-height: 60vh;\n\t\t\t\t\toverflow-y: auto;\n\t\t\t\t}\n\n\t\t\t\t.modal-footer {\n\t\t\t\t\tbackground: #f8f9fa;\n\t\t\t\t\tborder-top: 1px solid #dee2e6;\n\t\t\t\t\tpadding: 1.5rem;\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\tgap: 0.75rem;\n\t\t\t\t\tjustify-content: flex-end;\n\t\t\t\t}\n\n\t\t\t\t/* Enhanced form styling within modals */\n\t\t\t\t.modal-body .form-label {\n\t\t\t\t\tcolor: #495057;\n\t\t\t\t\tmargin-bottom: 0.75rem;\n\t\t\t\t}\n\n\t\t\t\t.modal-body .form-control,\n\t\t\t\t.modal-body .form-select {\n\t\t\t\t\tborder: 2px solid #e9ecef;\n\t\t\t\t\tborder-radius: 8px;\n\t\t\t\t\tpadding: 0.75rem;\n\t\t\t\t\ttransition: all 0.2s ease;\n\t\t\t\t}\n\n\t\t\t\t.modal-body .form-control:focus,\n\t\t\t\t.modal-body .form-select:focus {\n\t\t\t\t\tborder-color: #0d6efd;\n\t\t\t\t\tbox-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.1);\n\t\t\t\t}\n\n\t\t\t\t.modal-body .input-group-text {\n\t\t\t\t\tborder: 2px solid #e9ecef;\n\t\t\t\t\tborder-left: none;\n\t\t\t\t\tbackground: #f8f9fa;\n\t\t\t\t\tfont-weight: 500;\n\t\t\t\t}\n\n\t\t\t\t.modal-body .form-check {\n\t\t\t\t\tborder: 1px solid #e9ecef;\n\t\t\t\t}\n\n\t\t\t\t.modal-body .form-text {\n\t\t\t\t\tfont-size: 0.875rem;\n\t\t\t\t\tcolor: #6c757d;\n\t\t\t\t\tmargin-top: 0.5rem;\n\t\t\t\t}\n\n\t\t\t\t/* Animations */\n\t\t\t\t@keyframes fadeIn {\n\t\t\t\t\tfrom { opacity: 0; }\n\t\t\t\t\tto { opacity: 1; }\n\t\t\t\t}\n\n\t\t\t\t@keyframes modalShow {\n\t\t\t\t\tfrom { opacity: 0; }\n\t\t\t\t\tto { opacity: 1; }\n\t\t\t\t}\n\n\t\t\t\t@keyframes modalSlideIn {\n\t\t\t\t\tfrom {\n\t\t\t\t\t\ttransform: scale(0.95) translateY(-20px);\n\t\t\t\t\t\topacity: 0;\n\t\t\t\t\t}\n\t\t\t\t\tto {\n\t\t\t\t\t\ttransform: scale(1) translateY(0);\n\t\t\t\t\t\topacity: 1;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t/* Responsive adjustments */\n\t\t\t\t@media (max-width: 768px) {\n\t\t\t\t\t.modal-container {\n\t\t\t\t\t\tpadding: 0.5rem;\n\t\t\t\t\t}\n\n\t\t\t\t\t.modal-content {\n\t\t\t\t\t\tmax-height: 95vh;\n\t\t\t\t\t\tborder-radius: 8px;\n\t\t\t\t\t}\n\n\t\t\t\t\t.modal-header,\n\t\t\t\t\t.modal-body,\n\t\t\t\t\t.modal-footer {\n\t\t\t\t\t\tpadding: 1rem;\n\t\t\t\t\t}\n\n\t\t\t\t\t.modal-body {\n\t\t\t\t\t\tmax-height: 70vh;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t</style></head><body id=\"body\"><div class=\"toast-container position-fixed top-0 end-0 p-3\"><ul x-sync id=\"notification_list\" x-merge=\"prepend\" role=\"status\" class=\"list-unstyled\"></ul></div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = templ_7745c5c3_Var1.Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 3, "<dialog id=\"global-dialog\" x-init @dialog:open.window=\"$el.showModal()\"><div id=\"contact\"></div></dialog></body></html>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
return nil
})
}
var _ = templruntime.GeneratedTemplate