Use footer elements
This commit is contained in:
parent
c1695593d3
commit
d854ef3a6a
@ -19,7 +19,7 @@ component AMVVideo(amv *arn.AMV)
|
|||||||
VideoControls(amv.ID, amv.Info.Duration)
|
VideoControls(amv.ID, amv.Info.Duration)
|
||||||
|
|
||||||
component AMVFooter(amv *arn.AMV, user *arn.User)
|
component AMVFooter(amv *arn.AMV, user *arn.User)
|
||||||
.amv-footer
|
footer.amv-footer
|
||||||
if amv.Title.ByUser(user) == ""
|
if amv.Title.ByUser(user) == ""
|
||||||
a(href=amv.Link() + "/edit") untitled
|
a(href=amv.Link() + "/edit") untitled
|
||||||
else
|
else
|
||||||
@ -30,7 +30,7 @@ component AMVFooter(amv *arn.AMV, user *arn.User)
|
|||||||
a(href=amv.Creator().Link())= amv.Creator().Nick + " "
|
a(href=amv.Creator().Link())= amv.Creator().Nick + " "
|
||||||
|
|
||||||
component AMVMiniFooter(amv *arn.AMV, user *arn.User)
|
component AMVMiniFooter(amv *arn.AMV, user *arn.User)
|
||||||
.amv-footer
|
footer.amv-footer
|
||||||
if amv.Title.ByUser(user) == ""
|
if amv.Title.ByUser(user) == ""
|
||||||
a(href=amv.Link() + "/edit") untitled
|
a(href=amv.Link() + "/edit") untitled
|
||||||
else
|
else
|
||||||
|
@ -34,7 +34,7 @@ component QuoteTextPreview(quote *arn.Quote)
|
|||||||
blockquote!= utils.RenderQuoteText(utils.CutLongDescription(quote.Text.English))
|
blockquote!= utils.RenderQuoteText(utils.CutLongDescription(quote.Text.English))
|
||||||
|
|
||||||
component QuoteFooter(quote *arn.Quote)
|
component QuoteFooter(quote *arn.Quote)
|
||||||
.quote-footer
|
footer.quote-footer
|
||||||
span posted
|
span posted
|
||||||
span.utc-date.no-tip(data-date=quote.Created)
|
span.utc-date.no-tip(data-date=quote.Created)
|
||||||
span by
|
span by
|
||||||
|
@ -33,7 +33,7 @@ component SoundTrackMedia(track *arn.SoundTrack)
|
|||||||
ExternalMedia(track.Media[0])
|
ExternalMedia(track.Media[0])
|
||||||
|
|
||||||
component SoundTrackFooter(track *arn.SoundTrack, user *arn.User)
|
component SoundTrackFooter(track *arn.SoundTrack, user *arn.User)
|
||||||
.soundtrack-footer
|
footer.soundtrack-footer
|
||||||
if track.Title.ByUser(user) == ""
|
if track.Title.ByUser(user) == ""
|
||||||
a(href=track.Link() + "/edit") untitled
|
a(href=track.Link() + "/edit") untitled
|
||||||
else
|
else
|
||||||
@ -44,7 +44,7 @@ component SoundTrackFooter(track *arn.SoundTrack, user *arn.User)
|
|||||||
a(href=track.Creator().Link())= track.Creator().Nick + " "
|
a(href=track.Creator().Link())= track.Creator().Nick + " "
|
||||||
|
|
||||||
component SoundTrackMiniFooter(track *arn.SoundTrack, user *arn.User)
|
component SoundTrackMiniFooter(track *arn.SoundTrack, user *arn.User)
|
||||||
.soundtrack-footer
|
footer.soundtrack-footer
|
||||||
if track.Title.ByUser(user) == ""
|
if track.Title.ByUser(user) == ""
|
||||||
a(href=track.Link() + "/edit") untitled
|
a(href=track.Link() + "/edit") untitled
|
||||||
else
|
else
|
||||||
|
@ -21,7 +21,7 @@ component AnimeMainColumn(anime *arn.Anime, listItem *arn.AnimeListItem, tracks
|
|||||||
p.anime-summary.mountable(data-mountable-type="header")= anime.Summary
|
p.anime-summary.mountable(data-mountable-type="header")= anime.Summary
|
||||||
|
|
||||||
.anime-summary-footer-container
|
.anime-summary-footer-container
|
||||||
.anime-summary-footer
|
footer.anime-summary-footer
|
||||||
AnimeGenres(anime)
|
AnimeGenres(anime)
|
||||||
AnimeActions(anime, listItem, user)
|
AnimeActions(anime, listItem, user)
|
||||||
|
|
||||||
|
@ -29,4 +29,4 @@ component Charge(user *arn.User)
|
|||||||
Icon("diamond")
|
Icon("diamond")
|
||||||
span 12000
|
span 12000
|
||||||
|
|
||||||
.footer.mountable Different currencies will automatically be converted.
|
footer.footer.mountable Different currencies will automatically be converted.
|
@ -19,7 +19,7 @@ component PopularCompaniesScrollable(companies []*arn.Company, companyToAnime ma
|
|||||||
|
|
||||||
.popular-company-body.popular-company-description!= markdown.Render(company.Description)
|
.popular-company-body.popular-company-description!= markdown.Render(company.Description)
|
||||||
|
|
||||||
.popular-company-footer
|
footer.popular-company-footer
|
||||||
.company-anime
|
.company-anime
|
||||||
each anime in utils.MaxAnime(companyToAnime[company.ID], 12)
|
each anime in utils.MaxAnime(companyToAnime[company.ID], 12)
|
||||||
CompanyAnimeNoTip(anime, user)
|
CompanyAnimeNoTip(anime, user)
|
||||||
|
@ -30,7 +30,7 @@ component Editor(url string, score int, scoreTitle string, scoreTypes map[string
|
|||||||
p Companies
|
p Companies
|
||||||
p.editor-score= stringutils.Plural(scoreTypes["Company"], "contribution")
|
p.editor-score= stringutils.Plural(scoreTypes["Company"], "contribution")
|
||||||
|
|
||||||
.footer.mountable
|
footer.footer.mountable
|
||||||
a.footer-element(href="/editor/mal/diff/anime" + user.Settings().Editor.Filter.Suffix()) MALdiff
|
a.footer-element(href="/editor/mal/diff/anime" + user.Settings().Editor.Filter.Suffix()) MALdiff
|
||||||
a.footer-element(href="/editor/kitsu/new/anime") Kitsu
|
a.footer-element(href="/editor/kitsu/new/anime") Kitsu
|
||||||
a.footer-element(href="/editor/jobs") Jobs
|
a.footer-element(href="/editor/jobs") Jobs
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
component AnimeEditorListFull(title string, missing []*arn.Anime, count int, pageURI string, generateSearchLink func(*arn.Anime) string, user *arn.User)
|
component AnimeEditorListFull(title string, missing []*arn.Anime, count int, pageURI string, generateSearchLink func(*arn.Anime) string, user *arn.User)
|
||||||
EditorTabs(pageURI, user)
|
EditorTabs(pageURI, user)
|
||||||
h1.editor-list-page-title.mountable= title
|
h1.editor-list-page-title.mountable= title
|
||||||
.footer.editor-list-entry-count.mountable= strconv.Itoa(count) + " anime"
|
footer.footer.editor-list-entry-count.mountable= strconv.Itoa(count) + " anime"
|
||||||
AnimeEditorList(missing, pageURI, generateSearchLink)
|
AnimeEditorList(missing, pageURI, generateSearchLink)
|
||||||
|
|
||||||
component AnimeEditorList(animes []*arn.Anime, pageURI string, generateSearchLink func(*arn.Anime) string)
|
component AnimeEditorList(animes []*arn.Anime, pageURI string, generateSearchLink func(*arn.Anime) string)
|
||||||
|
@ -37,5 +37,5 @@ component Episode(anime *arn.Anime, episode *arn.Episode, episodeIndex int, uplo
|
|||||||
p.episode-view-airing-date
|
p.episode-view-airing-date
|
||||||
span.utc-airing-date(data-start-date=episode.AiringDate.Start, data-end-date=episode.AiringDate.End, data-episode-number=episode.Number)= episode.AiringDate.StartDateHuman()
|
span.utc-airing-date(data-start-date=episode.AiringDate.Start, data-end-date=episode.AiringDate.End, data-episode-number=episode.Number)= episode.AiringDate.StartDateHuman()
|
||||||
|
|
||||||
.footer
|
footer.footer
|
||||||
p Make sure to support the anime you're watching by buying officially released Blu-rays and merchandise.
|
p Make sure to support the anime you're watching by buying officially released Blu-rays and merchandise.
|
@ -12,5 +12,5 @@ component FrontPage
|
|||||||
source(src="https://arn.sfo2.cdn.digitaloceanspaces.com/videos/others/violet.webm", type="video/webm")
|
source(src="https://arn.sfo2.cdn.digitaloceanspaces.com/videos/others/violet.webm", type="video/webm")
|
||||||
|
|
||||||
component Footer
|
component Footer
|
||||||
.footer.mountable
|
footer.footer.mountable
|
||||||
SocialMediaLinks
|
SocialMediaLinks
|
@ -14,5 +14,5 @@ component Inventory(inventory *arn.Inventory, viewUser *arn.User, user *arn.User
|
|||||||
if slot.Quantity > 1
|
if slot.Quantity > 1
|
||||||
.inventory-slot-quantity= slot.Quantity
|
.inventory-slot-quantity= slot.Quantity
|
||||||
|
|
||||||
.footer.mountable
|
footer.footer.mountable
|
||||||
p You can consume items by double-clicking them.
|
p You can consume items by double-clicking them.
|
@ -31,7 +31,7 @@ component Notification(notification *arn.Notification)
|
|||||||
.notification-info
|
.notification-info
|
||||||
h3.notification-title= notification.Title
|
h3.notification-title= notification.Title
|
||||||
|
|
||||||
.notification-footer
|
footer.notification-footer
|
||||||
p.notification-text= notification.Message
|
p.notification-text= notification.Message
|
||||||
.notification-date.utc-date(data-date=notification.Created)
|
.notification-date.utc-date(data-date=notification.Created)
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
//- span= pie.Title
|
//- span= pie.Title
|
||||||
//- PieChart(pie.Slices)
|
//- PieChart(pie.Slices)
|
||||||
|
|
||||||
//- .footer.mountable
|
//- footer.footer.mountable
|
||||||
//- span= viewUser.Nick + " spent "
|
//- span= viewUser.Nick + " spent "
|
||||||
//- span= int(stats.AnimeWatchingTime / time.Hour / 24)
|
//- span= int(stats.AnimeWatchingTime / time.Hour / 24)
|
||||||
//- span days watching anime.
|
//- span days watching anime.
|
@ -17,7 +17,7 @@ component QuoteMainColumn(quote *arn.Quote, user *arn.User)
|
|||||||
h3.widget-title Comments
|
h3.widget-title Comments
|
||||||
Comments(quote, user)
|
Comments(quote, user)
|
||||||
|
|
||||||
.footer.mountable
|
footer.footer.mountable
|
||||||
if quote.EditedBy != ""
|
if quote.EditedBy != ""
|
||||||
span Edited
|
span Edited
|
||||||
span.utc-date(data-date=quote.Edited)
|
span.utc-date(data-date=quote.Edited)
|
||||||
|
@ -86,4 +86,4 @@ component SettingsAccounts(user *arn.User)
|
|||||||
Icon("refresh")
|
Icon("refresh")
|
||||||
span Sync
|
span Sync
|
||||||
|
|
||||||
.footer Reserved for upcoming features.
|
footer.footer Reserved for upcoming features.
|
@ -22,6 +22,6 @@ component SettingsInfo(user *arn.User)
|
|||||||
InputBool("Privacy.ShowAge", user.Settings().Privacy.ShowAge, "Show age", "Shows your age on the profile page")
|
InputBool("Privacy.ShowAge", user.Settings().Privacy.ShowAge, "Show age", "Shows your age on the profile page")
|
||||||
InputBool("Privacy.ShowLocation", user.Settings().Privacy.ShowLocation, "Show location", "Shows your location on the profile page")
|
InputBool("Privacy.ShowLocation", user.Settings().Privacy.ShowLocation, "Show location", "Shows your location on the profile page")
|
||||||
|
|
||||||
.footer
|
footer.footer
|
||||||
p Can only be made visible to logged in members.
|
p Can only be made visible to logged in members.
|
||||||
|
|
@ -27,7 +27,7 @@ component SettingsNotifications(user *arn.User)
|
|||||||
Icon("paper-plane")
|
Icon("paper-plane")
|
||||||
span Send test notification
|
span Send test notification
|
||||||
|
|
||||||
.footer
|
footer.footer
|
||||||
p(title="This setting is not account bound, instead it is bound to your browser.") You can customize this setting on every device you own.
|
p(title="This setting is not account bound, instead it is bound to your browser.") You can customize this setting on every device you own.
|
||||||
|
|
||||||
.widget.mountable(data-api="/api/settings/" + user.ID)
|
.widget.mountable(data-api="/api/settings/" + user.ID)
|
||||||
|
@ -30,7 +30,7 @@ component SettingsPersonal(user *arn.User)
|
|||||||
img.profile-cover.cover-input-preview.lazy(data-src=user.CoverLink("small"), data-webp="true", alt="Cover image")
|
img.profile-cover.cover-input-preview.lazy(data-src=user.CoverLink("small"), data-webp="true", alt="Cover image")
|
||||||
|
|
||||||
if !user.IsPro()
|
if !user.IsPro()
|
||||||
.footer
|
footer.footer
|
||||||
p PRO account required.
|
p PRO account required.
|
||||||
|
|
||||||
component AvatarInput(user *arn.User)
|
component AvatarInput(user *arn.User)
|
||||||
|
@ -7,7 +7,7 @@ component Shop(items []*arn.ShopItem, itemPopularity map[string]int, user *arn.U
|
|||||||
each item in items
|
each item in items
|
||||||
ShopItem(item, itemPopularity[item.ID])
|
ShopItem(item, itemPopularity[item.ID])
|
||||||
|
|
||||||
#pro-benefits-footer.buttons.mountable
|
footer#pro-benefits-footer.buttons.mountable
|
||||||
button.pro-benefits-button.action(data-action="toggleFade", data-trigger="click", data-element-id="pro-benefits")
|
button.pro-benefits-button.action(data-action="toggleFade", data-trigger="click", data-element-id="pro-benefits")
|
||||||
RawIcon("question-circle")
|
RawIcon("question-circle")
|
||||||
p View benefits of PRO accounts
|
p View benefits of PRO accounts
|
||||||
|
@ -61,7 +61,7 @@ component SoundTrackPage(track *arn.SoundTrack, user *arn.User)
|
|||||||
h3.widget-title Comments
|
h3.widget-title Comments
|
||||||
Comments(track, user)
|
Comments(track, user)
|
||||||
|
|
||||||
.footer.mountable
|
footer.footer.mountable
|
||||||
if track.EditedBy != ""
|
if track.EditedBy != ""
|
||||||
span Edited
|
span Edited
|
||||||
span.utc-date(data-date=track.Edited)
|
span.utc-date(data-date=track.Edited)
|
||||||
|
@ -9,7 +9,7 @@ component Statistics(pieCharts []*arn.PieChart)
|
|||||||
h3.widget-title= pie.Title
|
h3.widget-title= pie.Title
|
||||||
PieChart(pie.Slices)
|
PieChart(pie.Slices)
|
||||||
|
|
||||||
.footer
|
footer.footer
|
||||||
p Data is collected for statistical purposes only. We respect user privacy and we will never display or sell critical data to 3rd party services.
|
p Data is collected for statistical purposes only. We respect user privacy and we will never display or sell critical data to 3rd party services.
|
||||||
|
|
||||||
component StatisticsHeader
|
component StatisticsHeader
|
||||||
|
@ -6,5 +6,5 @@ component EditorRankingList(users []*arn.User, idToScore map[string]int, url str
|
|||||||
each user in users
|
each user in users
|
||||||
UserCard(user, fmt.Sprintf("%s points", humanize.Comma(int64(idToScore[user.ID]))))
|
UserCard(user, fmt.Sprintf("%s points", humanize.Comma(int64(idToScore[user.ID]))))
|
||||||
|
|
||||||
.footer.mountable
|
footer.footer.mountable
|
||||||
p Score is generated from new data submissions and data fixes.
|
p Score is generated from new data submissions and data fixes.
|
@ -24,7 +24,7 @@ component ProUsers(users []*arn.User, url string)
|
|||||||
each user in users
|
each user in users
|
||||||
UserCard(user, "until " + user.ProExpires[:10])
|
UserCard(user, "until " + user.ProExpires[:10])
|
||||||
|
|
||||||
.footer.mountable
|
footer.footer.mountable
|
||||||
p We are thankful to everyone supporting the site!
|
p We are thankful to everyone supporting the site!
|
||||||
|
|
||||||
component UserLists(groups []*utils.UserList, url string)
|
component UserLists(groups []*utils.UserList, url string)
|
||||||
@ -39,7 +39,7 @@ component UserLists(groups []*utils.UserList, url string)
|
|||||||
UserCard(user, stringutils.Capitalize(user.Role))
|
UserCard(user, stringutils.Capitalize(user.Role))
|
||||||
|
|
||||||
component StaffRecruitment
|
component StaffRecruitment
|
||||||
.footer.mountable
|
footer.footer.mountable
|
||||||
p
|
p
|
||||||
a(href="https://github.com/animenotifier/notify.moe#installation", target="_blank", rel="noopener") Interested in contributing code?
|
a(href="https://github.com/animenotifier/notify.moe#installation", target="_blank", rel="noopener") Interested in contributing code?
|
||||||
br
|
br
|
||||||
|
@ -12,7 +12,7 @@ component Welcome(user *arn.User)
|
|||||||
//- [^\\W\\s\\d]{1,24}[A-Za-z]{1}
|
//- [^\\W\\s\\d]{1,24}[A-Za-z]{1}
|
||||||
InputText("Nick", user.CleanNick(), "Nick", "Your username on notify.moe", 25)
|
InputText("Nick", user.CleanNick(), "Nick", "Your username on notify.moe", 25)
|
||||||
|
|
||||||
.footer.mountable
|
footer.footer.mountable
|
||||||
p Only letters and underscore.
|
p Only letters and underscore.
|
||||||
else if !user.HasAvatar()
|
else if !user.HasAvatar()
|
||||||
p.welcome-text.mountable Add an avatar so people can recognize you.
|
p.welcome-text.mountable Add an avatar so people can recognize you.
|
||||||
@ -20,7 +20,7 @@ component Welcome(user *arn.User)
|
|||||||
.mountable(data-api="/api/user/" + user.ID)
|
.mountable(data-api="/api/user/" + user.ID)
|
||||||
AvatarInput(user)
|
AvatarInput(user)
|
||||||
|
|
||||||
.footer.mountable
|
footer.footer.mountable
|
||||||
p Recommended size: 560x560 (minimum: 280x280)
|
p Recommended size: 560x560 (minimum: 280x280)
|
||||||
else if user.Introduction == ""
|
else if user.Introduction == ""
|
||||||
p.welcome-text.mountable Write a little introduction for your profile.
|
p.welcome-text.mountable Write a little introduction for your profile.
|
||||||
@ -28,7 +28,7 @@ component Welcome(user *arn.User)
|
|||||||
.mountable(data-api="/api/user/" + user.ID)
|
.mountable(data-api="/api/user/" + user.ID)
|
||||||
InputTextArea("Introduction", user.Introduction, "Introduction", "Tell us a little bit about yourself", 2000)
|
InputTextArea("Introduction", user.Introduction, "Introduction", "Tell us a little bit about yourself", 2000)
|
||||||
|
|
||||||
.footer.mountable
|
footer.footer.mountable
|
||||||
p Markdown allowed.
|
p Markdown allowed.
|
||||||
else
|
else
|
||||||
p.welcome-text.mountable You're ready to start using Anime Notifier!
|
p.welcome-text.mountable You're ready to start using Anime Notifier!
|
||||||
|
@ -1,6 +1,4 @@
|
|||||||
.footer
|
.footer
|
||||||
horizontal-wrap
|
|
||||||
justify-content center
|
|
||||||
text-align center
|
text-align center
|
||||||
font-size 0.8rem
|
font-size 0.8rem
|
||||||
opacity 0.7
|
opacity 0.7
|
||||||
@ -13,7 +11,7 @@
|
|||||||
opacity 0.7 !important
|
opacity 0.7 !important
|
||||||
|
|
||||||
.footer-element
|
.footer-element
|
||||||
horizontal
|
display inline-flex
|
||||||
align-items center
|
align-items center
|
||||||
|
|
||||||
:after
|
:after
|
||||||
|
Loading…
Reference in New Issue
Block a user