gotosocial/web/source/css/profile.css
tobi 80663061d8
[feature] Add opt-in RSS feed for account's latest Public posts (#897)
* start adding rss functionality

* add gorilla/feeds dependency

* first bash at building rss feed
still needs work, this is an interim commit

* tidy up a bit

* add publicOnly option to GetAccountLastPosted

* implement rss endpoint

* fix test

* add initial user docs for rss

* update rss logo

* docs update

* add rssFeed to frontend

* feed -> feed.rss

* enableRSS

* increase rss logo size a lil bit

* add rss toggle

* move emojify to text package

* fiddle with rss feed formatting

* add Text field to test statuses

* move status to rss item to typeconverter

* update bun schema for enablerss

* simplify 304 checking

* assume account not rss

* update tests

* update swagger docs

* allow more characters in title, trim nicer

* update last posted to be more consistent
2022-10-08 14:00:39 +02:00

235 lines
4 KiB
CSS

/*
GoToSocial
Copyright (C) 2021-2022 GoToSocial Authors admin@gotosocial.org
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
header {
a img {
height: 5rem;
}
}
main {
background: transparent;
padding-top: 0;
}
.profile {
background: $bg-accent;
display: grid;
grid-template-rows: auto auto auto;
grid-template-columns: auto;
gap: 0.5rem;
margin-bottom: 0.2rem;
overflow-x: hidden;
border-radius: $br;
box-shadow: $boxshadow;
border: $boxshadow-border;
.headerimage {
width: 100%;
aspect-ratio: 3 / 1;
max-height: 30ch;
overflow: hidden;
box-shadow: $boxshadow;
img {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: $br-inner $br-inner 0 0;
}
}
.basic {
max-height: 10rem;
margin-top: -7rem;
display: grid;
grid-template-columns: 1rem auto 1fr;
grid-template-rows: auto auto auto;
grid-template-areas:
". avatar ."
"filler2 avatar displayname"
". avatar username";
#profile-basic-filler2 {
grid-area: filler2;
background: $bg-trans;
}
.avatar {
align-self: end;
box-sizing: border-box;
height: 8.5rem;
width: 8.5rem;
grid-area: avatar;
background: $bg;
border: 0.2rem solid $avatar-border;
padding: 0;
border-radius: $br;
position: relative;
box-shadow: $boxshadow;
img {
object-fit: cover;
border-radius: $br-inner;
width: 100%;
height: 100%;
}
}
a, div {
color: inherit;
text-decoration: none;
padding: 0.5rem;
}
.displayname {
grid-area: displayname;
padding-right: 1rem;
font-weight: bold;
font-size: 2rem;
line-height: 2.2rem;
background: $bg-trans;
word-break: break-all;
text-overflow: ellipsis;
overflow: hidden;
max-height: 6rem;
}
.username {
display: flex;
flex-wrap: wrap;
grid-area: username;
padding-top: 0;
margin-top: 0.25rem;
padding-bottom: 0.25rem;
color: $fg-accent;
font-weight: bold;
word-break: break-all;
text-overflow: ellipsis;
overflow: hidden;
}
}
@media screen and (max-width: 600px) {
.basic {
max-height: initial;
margin-top: -7.5vh;
display: flex;
flex-direction: column;
#profile-basic-filler2 {
display: none;
}
.avatar {
align-self: flex-start;
margin-left: 1rem;
height: 22vw;
width: 22vw;
}
.displayname {
padding-left: 1rem;
font-size: 5vw;
align-self: stretch;
}
.username {
padding-left: 1rem;
}
}
}
.detailed {
display: flex;
flex-direction: column;
flex: 1 1 25em;
h2 {
margin-top: 0;
}
.bio {
margin-top: 0.5rem;
margin-bottom: 0.5rem;
margin-left: 1rem;
margin-right: 1rem;
word-break: break-word;
a {
color: $acc1;
text-decoration: underline;
}
}
}
}
.accountstats {
display: flex;
flex-wrap: wrap;
justify-content: space-around;
border-radius: 0 0 $br $br;
border-top: 0.1rem solid $bg;
.entry {
padding: 1rem 1.2rem;
text-align: center;
}
}
.nothinghere {
margin-left: 1rem;
}
.backnextlinks {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
a {
padding: 1rem;
}
.next {
margin-left: auto;
}
}
.toot, .toot:last-child {
box-shadow: $boxshadow;
}
#recent {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
margin: 1rem;
.rsslogo {
width: 1.45em;
height: 1.45em;
object-fit: contain;
vertical-align: middle;
}
}