Begin HTML output

This commit is contained in:
mitteneer 2024-04-10 16:03:35 -04:00
parent 2b22cbe6c1
commit 75a63a19fc
3 changed files with 30 additions and 17 deletions

View file

@ -28,7 +28,7 @@ pub fn build(b: *std.Build) !void {
// All dependencies **must** be added to imports above this line. // All dependencies **must** be added to imports above this line.
try jetzig.jetzigInit(b, exe, .{.zmpl_version = .v2}); try jetzig.jetzigInit(b, exe, .{ .zmpl_version = .v2 });
b.installArtifact(exe); b.installArtifact(exe);

View file

@ -4,7 +4,7 @@ const queries = @import("../lib/db.zig");
const sqlite = @import("sqlite"); const sqlite = @import("sqlite");
pub fn index(request: *jetzig.Request, data: *jetzig.Data) !jetzig.View { pub fn index(request: *jetzig.Request, data: *jetzig.Data) !jetzig.View {
_ = data; var root = try data.array();
var gpa = std.heap.GeneralPurposeAllocator(.{}){}; var gpa = std.heap.GeneralPurposeAllocator(.{}){};
const allocator = gpa.allocator(); const allocator = gpa.allocator();
var arena = std.heap.ArenaAllocator.init(allocator); var arena = std.heap.ArenaAllocator.init(allocator);
@ -16,30 +16,31 @@ pub fn index(request: *jetzig.Request, data: *jetzig.Data) !jetzig.View {
.create = true, .create = true,
}, },
.threading_mode = .MultiThread, .threading_mode = .MultiThread,
}); });
//var root = try data.object();
const params = try request.params(); const params = try request.params();
const query: ?[]const u8 = if (params.get("q")) |param| param.string.value else null; const queryOrNull: ?[]const u8 = if (params.get("q")) |param| param.string.value else null;
if (query != null){ if (queryOrNull) |query| {
// sql.search(query, db); // sql.search(query, db);
var artistSearch = try db.prepare(queries.getArtistSearch); var artistSearch = try db.prepare(queries.getArtistSearch);
defer artistSearch.deinit(); defer artistSearch.deinit();
const artistResults = try artistSearch.all( const artistResults = try artistSearch.all(
struct{ struct {
artist: []u8, artist: []u8,
plays: usize, url: usize,
}, },
arena.allocator(), arena.allocator(),
.{}, .{},
.{ .artist = query}, .{ .artist = query },
); );
for (artistResults) |r|{ for (artistResults) |r| {
std.log.debug("artist: {s}, Plays: {}", .{r.artist, r.plays}); std.log.debug("artist: {s}, url: {s}", .{ r.artist, r.url });
root.append(data.string(r.artist));
root.append(data.string(r.url));
//std.log.debug("{s}", .{r}); //std.log.debug("{s}", .{r});
} }
} else{ } else {
return request.render(.bad_request); return request.render(.bad_request);
} }
//const query = params.get("q"); //const query = params.get("q");

View file

@ -1,3 +1,15 @@
<div> <table>
<span>Content goes here</span> <tr>
</div> <th>Artist</th>
<th>Album</th>
<th>Track</th>
</tr>
<tr>
@zig {
for (0..)
<td id="artistUpdate"></td>
<td id="albumUpdate"></td>
<td id="trackUpdate"></td>
}
</tr>
</table>