bibliogram/src/site/pug/user.pug

69 lines
2.6 KiB
Plaintext
Raw Normal View History

//- Needs user, url, constants, website_origin, display_feed_validation_buttons
2020-01-12 12:50:21 +00:00
include includes/timeline_page.pug
2020-01-12 15:39:50 +00:00
include includes/next_page_button.pug
include includes/display_structured
2020-02-18 00:39:20 +00:00
include includes/feed_link
2020-01-12 12:50:21 +00:00
- const numberFormat = new Intl.NumberFormat().format
doctype html
html
head
2020-02-02 13:24:14 +00:00
if user.data.full_name
title= `${user.data.full_name} (@${user.data.username}) | Bibliogram`
else
title= `@${user.data.username} | Bibliogram`
2020-02-05 06:05:18 +00:00
include includes/head
2020-01-12 15:39:50 +00:00
script(src="/static/js/pagination.js" type="module")
2020-02-21 12:35:19 +00:00
script(src="/static/js/post_overlay.js" type="module")
2020-01-12 12:50:21 +00:00
body
.main-divider
header.profile-overview
.profile-sticky
2020-02-18 00:39:20 +00:00
img(src=user.proxyProfilePicture width=150 height=150 alt=`${user.data.full_name || user.data.username}'s profile picture.`).pfp
2020-01-12 12:50:21 +00:00
//-
2020-01-14 14:38:33 +00:00
Instagram only uses the above URL, but an HD version is also available.
The alt text is pathetic, I know. I don't have much to work with.
2020-02-02 13:24:14 +00:00
if user.data.full_name
h1.full-name= user.data.full_name
h2.username= `@${user.data.username}`
else
h1.full-name= `@${user.data.username}`
2020-02-18 00:39:20 +00:00
p.structured-text.bio
- const bio = user.getStructuredBio()
if bio
+display_structured(bio)
if user.data.external_url
p.website
a(href=user.data.external_url)= user.data.external_url
if user.posts != undefined
2020-02-02 13:24:14 +00:00
div.profile-counter #[span(data-numberformat=user.posts).count #{numberFormat(user.posts)}] posts
2020-02-18 00:39:20 +00:00
if user.following != undefined
2020-02-02 13:24:14 +00:00
div.profile-counter #[span(data-numberformat=user.following).count #{numberFormat(user.following)}] following
2020-02-18 00:39:20 +00:00
if user.followedBy != undefined
2020-02-02 13:24:14 +00:00
div.profile-counter #[span(data-numberformat=user.followedBy).count #{numberFormat(user.followedBy)}] followed by
2020-01-14 14:38:33 +00:00
div.links
if constants.settings.rss_enabled
+feed_link("RSS", "rss", user.data.username, "application/rss+xml", display_feed_validation_buttons)
+feed_link("Atom", "atom", user.data.username, "application/atom+xml", display_feed_validation_buttons)
2020-02-21 12:35:19 +00:00
a(rel="noreferrer noopener" href=`https://www.instagram.com/${user.data.username}` target="_blank") instagram.com
2020-01-12 12:50:21 +00:00
2020-01-27 12:06:44 +00:00
- const hasPosts = !user.data.is_private && user.timeline.pages.length && user.timeline.pages[0].length
main(class=hasPosts ? "" : "no-posts")#timeline.timeline
if !user.data.is_private
if hasPosts
each page, pageIndex in user.timeline.pages
+timeline_page(page, pageIndex)
+next_page_button(user, url)
2020-01-12 12:50:21 +00:00
2020-01-27 12:06:44 +00:00
else
div
div.page-number
span.number No posts.
else
div
div.page-number
span.number Profile is private.