summaryrefslogtreecommitdiff
path: root/desk/web/tv/router.hoon
diff options
context:
space:
mode:
Diffstat (limited to 'desk/web/tv/router.hoon')
-rw-r--r--desk/web/tv/router.hoon39
1 files changed, 39 insertions, 0 deletions
diff --git a/desk/web/tv/router.hoon b/desk/web/tv/router.hoon
new file mode 100644
index 0000000..6f4df21
--- /dev/null
+++ b/desk/web/tv/router.hoon
@@ -0,0 +1,39 @@
+/- boke, tp=trill-post, cnt=contact
+/+ kaji, fetch-lib=fetch, plib=trill-utils, const=constants, sr=sortug, lib=boke
+/= index /web/index
+/= tvp /web/tv/tv
+/= subscribe /web/subscribe
+|_ [rl=req-line:kaji s=state:boke =bowl:gall]
++* fetch ~(. fetch-lib [s bowl])
+ tv ~(. tvp [s bowl])
+++ eyre-bail (error-response:kaji 404)
+++ manx-bail (error-page:kaji 404)
+::
+++ $ ^- eyre-res:kaji
+ =/ p pat.rl ::?. mob.rl pat.rl [%m pat.rl]
+ :: ?. (is-subscribed:lib src.bowl) nudge
+ ?+ p eyre-bail
+ ~ main
+ [%f *] fragment
+ ==
+++ main
+ :- %page
+ =/ ut (~(get by here.tv.s) 'spandrell-tv')
+ ?~ ut manx-bail
+ =/ sta (~(get by schedule.u.ut) started.current.u.ut)
+ ?~ sta manx-bail :: TODO old station sorry
+ =/ page (main:tv ['spandrell-tv' %our 'Spandrell TV' ~docteg-mothep u.sta])
+ (index ~[page] bowl)
+
+++ nudge
+ :- %page
+ =/ sub ~(. subscribe src.bowl)
+ =/ nudgep (nudge:sub "TV")
+ (index ~[nudgep] bowl)
+++ fragment
+ :- %html
+ ?+ pat.rl manx-bail
+ [%f %s ~] ;div ;* tv-list:tv ==
+ [%f %u ~] ;div ;* radio-list:tv ==
+ ==
+--