Use footer elements

This commit is contained in:
Eduard Urbach 2019-09-01 16:39:17 +09:00
parent c1695593d3
commit d854ef3a6a
Signed by: akyoto
GPG Key ID: C874F672B1AF20C0
25 changed files with 30 additions and 32 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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.

View File

@ -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)

View File

@ -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

View File

@ -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)

View File

@ -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.

View File

@ -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

View File

@ -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.

View File

@ -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)

View File

@ -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.

View File

@ -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)

View File

@ -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.

View File

@ -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.

View File

@ -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)

View File

@ -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)

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -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!

View File

@ -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