diff options
Diffstat (limited to 'desk/web/tv/router.hoon')
-rw-r--r-- | desk/web/tv/router.hoon | 39 |
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 == + == +-- |