Update all radios in _top.zmpl
This commit is contained in:
parent
ee855dde18
commit
894e562400
3 changed files with 12 additions and 17 deletions
Binary file not shown.
54
src/app/lib/db.zig
Normal file
54
src/app/lib/db.zig
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
const std = @import("std");
|
||||
const sql = @import("sqlite");
|
||||
|
||||
pub fn loadDb(path: []u8) !sql.sqlite.Db{
|
||||
try sql.sqlite.Db.init(.{
|
||||
.mode = sql.sqlite.Db.Mode{ .File = path},
|
||||
.open_flags = .{
|
||||
.write = true,
|
||||
.create = true,
|
||||
},
|
||||
.threading_mode = .MultiThread,
|
||||
});
|
||||
}
|
||||
|
||||
const addArtist = \\INSERT INTO artists ('artist', 'plays', 'url') VALUES (?,?)
|
||||
;
|
||||
|
||||
const addTrack = \\INSERT INTO tracks ('artist', 'track', 'album', 'plays', 'url') VALUES (?,?,?,?)
|
||||
;
|
||||
|
||||
const getArtist = \\SELECT artist, plays FROM artists WHERE artist == ?
|
||||
;
|
||||
|
||||
const getTrack = \\SELECT artist, track, album, plays FROM tracks WHERE track == ?
|
||||
;
|
||||
|
||||
const getTrackSearch = \\SELECT url FROM artists WHERE artist == ?
|
||||
;
|
||||
|
||||
const getArtistSearch = \\SELECT artist, plays FROM artists WHERE artist == ?
|
||||
;
|
||||
|
||||
pub var db = loadDb("/home/swebb/Source/zuletzt/src/app/database/data.db");
|
||||
|
||||
pub fn search(query: []const u8) !void{
|
||||
var artistSearch = try db.prepare(getArtistSearch);
|
||||
defer artistSearch.deinit();
|
||||
var trackSearch = try db.prepare(getTrackSearch);
|
||||
defer trackSearch.deinit();
|
||||
|
||||
const artistResults = try artistSearch.one(
|
||||
struct {
|
||||
artist: [128:0]u8,
|
||||
plays: usize,
|
||||
},
|
||||
.{},
|
||||
.{ .artist = query},
|
||||
);
|
||||
|
||||
if (artistResults) |r|{
|
||||
std.log.debug("Artist: {}, Plays: {}", .{r.name, r.plays});
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,31 +1,26 @@
|
|||
@html {
|
||||
<style>
|
||||
#myHeader { background-color: lightblue; color: black; padding: 40px; text-align: center;}
|
||||
</style>
|
||||
}
|
||||
<div>
|
||||
<fieldset>
|
||||
Top:
|
||||
<input type="radio" label="Artist" name="q" value="artist" hx-get="/stats" hx-target="#update" hx-include="[name='t']" hx-swap="outerHTML" hx-trigger="click" checked>Artist</input>
|
||||
<input type="radio" label="Album" name="q" value="album">Album</input>
|
||||
<input type="radio" label="Track" name="q" value="track">Track</input>
|
||||
<input type="radio" label="Album" name="q" value="album" hx-get="/stats" hx-target="#update" hx-include="[name='t']" hx-swap="outerHTML" hx-trigger="click">Album</input>
|
||||
<input type="radio" label="Track" name="q" value="track" hx-get="/stats" hx-target="#update" hx-include="[name='t']" hx-swap="outerHTML" hx-trigger="click">Track</input>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
of:
|
||||
<input type="radio" label="Day" name="t" value="day" checked>Day</input>
|
||||
<input type="radio" label="Week" name="t" value="week">Week</input>
|
||||
<input type="radio" label="Month" name="t" value="month">Month</input>
|
||||
<input type="radio" label="3 Months" name="t" value="quarter">3 Months</input>
|
||||
<input type="radio" label="6 Months" name="t" value="half">6 Months</input>
|
||||
<input type="radio" label="Current Year" name="t" value="begin">Current Year</input>
|
||||
<input type="radio" label="365 Days" name="t" value="year">365 days</input>
|
||||
<input type="radio" label="All Time" name="t" value="all">All Time</input>
|
||||
<input type="radio" label="Day" name="t" value="day" hx-get="/stats" hx-target="#update" hx-include="[name='q']" hx-swap="outerHTML" hx-trigger="click" checked>Day</input>
|
||||
<input type="radio" label="Week" name="t" value="week" hx-get="/stats" hx-target="#update" hx-include="[name='q']" hx-swap="outerHTML" hx-trigger="click">Week</input>
|
||||
<input type="radio" label="Month" name="t" value="month" hx-get="/stats" hx-target="#update" hx-include="[name='q']" hx-swap="outerHTML" hx-trigger="click">Month</input>
|
||||
<input type="radio" label="3 Months" name="t" value="quarter" hx-get="/stats" hx-target="#update" hx-include="[name='q']" hx-swap="outerHTML" hx-trigger="click">3 Months</input>
|
||||
<input type="radio" label="6 Months" name="t" value="half" hx-get="/stats" hx-target="#update" hx-include="[name='q']" hx-swap="outerHTML" hx-trigger="click">6 Months</input>
|
||||
<input type="radio" label="Current Year" name="t" value="begin" hx-get="/stats" hx-target="#update" hx-include="[name='q']" hx-swap="outerHTML" hx-trigger="click">Current Year</input>
|
||||
<input type="radio" label="365 Days" name="t" value="year" hx-get="/stats" hx-target="#update" hx-include="[name='q']" hx-swap="outerHTML" hx-trigger="click">365 days</input>
|
||||
<input type="radio" label="All Time" name="t" value="all" hx-get="/stats" hx-target="#update" hx-include="[name='q']" hx-swap="outerHTML" hx-trigger="click">All Time</input>
|
||||
</fieldset>
|
||||
|
||||
<tr>
|
||||
<td colspan="3">
|
||||
<b id="myHeader">hyello</b>
|
||||
<b id="update">hyello</b>
|
||||
</td>
|
||||
</tr>
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue