package components import ( "context" "github.com/starfleetcptn/gomft/internal/db" "strconv" ) type UserEditData struct { User *db.User Roles []db.Role UserRoles []db.Role IsNew bool ErrorMessage string } templ UserEdit(ctx context.Context, data UserEditData) { @LayoutWithContext("Edit User", ctx) {

if data.IsNew { Add New User } else { Edit User }

if data.ErrorMessage != "" { }

User Information

if data.IsNew { Create a new user account with appropriate permissions. } else { Update user information and permissions. }

Grant administrative privileges to this user

if !data.IsNew {

Account Status

Prevent user from logging in

}
Cancel
} } // JavaScript to handle URL parameters for displaying messages script handleUrlParams() { document.addEventListener('DOMContentLoaded', function() { const params = new URLSearchParams(window.location.search); const error = params.get('error'); const details = params.get('details'); const status = params.get('status'); if (error) { const errorMsgEl = document.getElementById('error-message'); const errorTitleEl = errorMsgEl.querySelector('.error-title'); const errorDetailsEl = errorMsgEl.querySelector('.error-details'); errorTitleEl.textContent = error; if (details) { errorDetailsEl.textContent = details; } else { errorDetailsEl.textContent = ''; } errorMsgEl.classList.remove('hidden'); // If notyf is available, use it if (window.notyf) { window.notyf.error(error); } } if (status) { const statusMsgEl = document.getElementById('status-message'); statusMsgEl.textContent = status; statusMsgEl.classList.remove('hidden'); // If notyf is available, use it if (window.notyf) { window.notyf.success(status); } } }); }