feat: Working on layout / css.
This commit is contained in:
@@ -6,7 +6,7 @@ import SharedModels
|
||||
|
||||
struct UserTable: HTML {
|
||||
|
||||
@Dependency(\.database.users.fetchAll) var fetchAll
|
||||
let users: [User]
|
||||
|
||||
var content: some HTML {
|
||||
table(.id("user-table")) {
|
||||
@@ -14,11 +14,17 @@ struct UserTable: HTML {
|
||||
tr {
|
||||
th { "Username" }
|
||||
th { "Email" }
|
||||
th(.style("width: 50px;")) { ToggleFormButton() }
|
||||
th(.style("width: 50px;")) {
|
||||
Button.add()
|
||||
.attributes(
|
||||
.hx.get("/users/create"),
|
||||
.hx.target("#float"),
|
||||
.hx.swap(.outerHTML)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
tbody {
|
||||
let users = try await fetchAll()
|
||||
tbody(.id("user-table-body")) {
|
||||
for user in users {
|
||||
Row(user: user)
|
||||
}
|
||||
@@ -29,8 +35,12 @@ struct UserTable: HTML {
|
||||
struct Row: HTML {
|
||||
let user: User
|
||||
|
||||
init(user: User) {
|
||||
self.user = user
|
||||
}
|
||||
|
||||
var content: some HTML<HTMLTag.tr> {
|
||||
tr {
|
||||
tr(.id("user_\(user.id)")) {
|
||||
td { user.username }
|
||||
td { user.email }
|
||||
td {
|
||||
@@ -38,6 +48,7 @@ struct UserTable: HTML {
|
||||
.hx.get("/users/\(user.id.uuidString)"),
|
||||
.hx.target("#float"),
|
||||
.hx.swap(.outerHTML),
|
||||
.hx.pushURL(true),
|
||||
.class("btn-detail")
|
||||
) {
|
||||
"〉"
|
||||
|
||||
Reference in New Issue
Block a user