!7
html {
new Matches m;
L artists = mechList("Randall | Artist names");
final SS artistLinks =
litcimap("1st Crevolution" := "https://www.reverbnation.com/crevolution");
//mechMapCI("Randall | Artist Links");
final SS artistImages = litcimap(
"1st Crevolution" := "http://eyeocr.sourceforge.net/filestore/filestore.php?cmd=serve&file=blob_1014262&contentType=image/jpeg",
"Indra Afia" := "http://eyeocr.sourceforge.net/filestore/filestore.php?cmd=serve&file=blob_1014263&contentType=image/jpeg",
"Midnyte Flyte Band" := "http://eyeocr.sourceforge.net/filestore/filestore.php?cmd=serve&file=blob_1014264&contentType=image/jpeg");
if (eqic(uri, "/artists")) {
ret hhtml(
hhead(htitle("Future Rootz Records | Artists") + headStuff())
+ hbody(bodyTopStuff() + hcenter(
topStuff())
+ h2("Artists", style := "margin-top: 30px")
+ htableRaw2(map(func(fS artist) -> L {
S link = or(artistLinks.get(artist), myLink("/artist/" + urlencode(artist)));
S facebook = mechMapCI("Randall | Artist Facebook pages").get(artist);
S twitter = mechMapCI("Randall | Artist twitter links").get(artist);
SS albums = mechMap("Randall | " + artist + " | Albums");
L songs = mechList("Randall | " + artist + " | Songs");
ret ll(targetBlank(link, himg(artistImages.get(artist), width := 200)),
targetBlank(link, b(htmlencode(artist)))
+ (nempty(facebook) ? " " + targetBlank(facebook, hsnippetimg(#1101174, width := 24, height := 24, align := "absmiddle")) : "")
+ (nempty(twitter) ? " " + targetBlank(twitter, hsnippetimg(#1101176, width := 24, height := 24, align := "absmiddle")) : "")
+ " " + targetBlank("https://www.youtube.com/channel/UCidR6RXZ6u2-bdxUh_n2cQA", hsnippetimg(#1101189, width := 24, height := 24, align := "absmiddle"))
+ " | " + ahref(rawSelfLink("/gallery/" + urlencode(artist)), "Photo Gallery")
+ " | " + ahref(rawSelfLink("/events/" + urlencode(artist)), "Events")
+ " | " + targetBlank("https://www.youtube.com/channel/UCidR6RXZ6u2-bdxUh_n2cQA", "TV")
//+ " | " + targetBlank("https://youtu.be/ST-9ez6jk1k", "TV 2")
+ (empty(albums) ? "" : p("Albums")
+ ul_noEncode(map(func(S album, S link) -> S {
htmlencode(album) + " | Album | Price: €20 | " + ahref(link, "Buy")
}, albums)))
+ (empty(songs) ? "" : p("Songs")
+ ul_noEncode(map(func(S song) -> S {
S link = mechMapCI("Randall | " + artist + " | Songs | YouTube").get(song);
ret ahref(myLink("/song/" + urlencode(artist) + "/" + urlencode(song)), htmlencode(song))
+ (nempty(link) ? " | " + ahref(link, "Preview") : "");
/*" | Format: MP3 (256kbit) | Price: 99c | " + ahref("http://futurerootsrecordings.bigcartel.com/product/1st-crevolution", "Buy")*/
}, songs)))
);
}, artists), ll(style := "width: 100%"), ll(style := "background-image: url(" + snippetImageURL(#1101190) + "); background-position: center;"), ll(style := "color: white; text-shadow: 2px 2px #000000;"))
, style := "background-color: white"));
}
if (swic(uri, "/gallery/", m)) {
fS artist = urldecode(m.rest());
if (!contains(artists, artist)) ret subBot_serve404();
L ids = mL("Randall | " + artist + " | Photo IDs");
ret h1_title(htmlencode(artist))
+ h3("Gallery")
+ lines(map(ids, func(S photoID) -> S {
hsnippetimg(photoID, height := 200)
}));
}
if (swic(uri, "/artist/", m)) {
fS artist = urldecode(m.rest());
if (!contains(artists, artist)) ret subBot_serve404();
ret h1_title(htmlencode(artist))
+ h3("Songs")
+ ul_noEncode(map(func(S song) -> S {
ahref(myLink("/song/" + urlencode(artist) + "/" + urlencode(song)), htmlencode(song))
}, mechList("Randall | " + artist + " | Songs")));
}
if (swic(uri, "/song/", m))
ret "Song page for " + htmlencode(urldecode(m.rest()))
+ soundcloudEmbed("194090074", eq("1", params.get("autoplay")));
if (eqic(uri, "/contact")) ret "Contact page";
// home page
if (eq(uri, "/"))
ret hhtml(
hhead(htitle("Future Rootz Recordings")
+ headStuff())
+ hbody(
bodyTopStuff()
+ hcenter(
topStuffWithCircles()
+ p(himg("http://eyeocr.sourceforge.net/filestore/filestore.php?cmd=serve&file=blob_1014262&contentType=image/jpeg", width := 700))
+ p(" ", style := "margin-bottom: 40px")
//+ p(treeImg())
//+ [[ ]]
)/*, style := "background-color: #66cc00"*/));
ret subBot_serve404();
}
sS recordImg(O... params) {
ret himg("http://eyeocr.sourceforge.net/filestore/filestore.php?cmd=serve&file=blob_1014261&contentType=image/png",
arrayPlus(params, width := 60, align := "absmiddle"));
}
sS treeImg() {
ret himg("http://eyeocr.sourceforge.net/filestore/filestore.php?cmd=serve&file=blob_1014260&contentType=image/jpeg");
}
sS topStuffWithCircles() {
ret hjssnippet(#1014798) + topStuff();
}
sS topStuff() {
ret h1(
recordImg(style := "margin-right: 40px") + " " + ahref(myLink("/"), "Future Rootz Recordings", style := "color: black; text-decoration: none; background-color: white; padding-left: 1em; padding-right: 1em; border: 1px solid black") + " " + recordImg(style := "margin-left: 40px"),
style := "color: #e60000; font-family: Hind Siliguri; font-weight: 700; font-size: 40px")
+ p(ahref(myLink("/"), "Home")
+ " | " + ahref(myLink("/artists"), "Artists") + " | " + ahref("/", "Booking")
+ " | " + ahref("/", "News")+ " | "
+ ahref("/", "About us") + " | " + ahref("/", "Shop")
+ " | " + ahref("/", "Newsletter")
+ " | " + ahref("/", "Impressum")
+ " " + hsnippetimg(#1101186, width := 24, height := 24, align := 'absmiddle));
}
sS headStuff() {
ret hmobilefix()
+ hcss("body { margin: 0; background-color: white; }")
+ hGoogleFont("Hind Siliguri:700");
}
sS bodyTopStuff() {
ret hfulltag('canvas, "", id := "canva", style := "position: fixed; top: 0; z-index: -1;")
// footer
+ div(targetBlank("http://facebook.com/", hsnippetimg(#1101174, width := 24, align := 'absmiddle))
+ " " + targetBlank("http://instagram.com/", hsnippetimg(#1101188, width := 24, height := 24, align := 'absmiddle))
+ " " + targetBlank("http://twitter.com/", hsnippetimg(#1101176, width := 24, height := 24, align := 'absmiddle)),
style := "position: fixed; bottom: 0; width: 100%; padding-top: 3px; padding-bottom: 3px; background: white; text-align: center; border-top: 1px solid black");
}