feat: Begins migrating views from leaf to elementary
This commit is contained in:
40
Sources/App/Views/Users/UserTable.swift
Normal file
40
Sources/App/Views/Users/UserTable.swift
Normal file
@@ -0,0 +1,40 @@
|
||||
import DatabaseClient
|
||||
import Dependencies
|
||||
import Elementary
|
||||
import ElementaryHTMX
|
||||
import SharedModels
|
||||
|
||||
struct UserTable: HTML {
|
||||
|
||||
@Dependency(\.database.users.fetchAll) var fetchAll
|
||||
|
||||
var content: some HTML {
|
||||
table(.id("user-table")) {
|
||||
thead {
|
||||
tr {
|
||||
th { "Username" }
|
||||
th { "Email" }
|
||||
th { ToggleFormButton() }
|
||||
}
|
||||
}
|
||||
tbody {
|
||||
let users = try await fetchAll()
|
||||
for user in users {
|
||||
Row(user: user)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
struct Row: HTML {
|
||||
let user: User
|
||||
|
||||
var content: some HTML<HTMLTag.tr> {
|
||||
tr {
|
||||
td { user.username }
|
||||
td { user.email }
|
||||
td { "Fix me." }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user