Optional widened main column #402

Open
Riedler wants to merge 8 commits from Riedler/akkoma-fe:wide-columns-for-upstream into develop
9 changed files with 32 additions and 6 deletions

View file

@ -59,7 +59,8 @@ export default {
{
'-reverse': this.reverseLayout,
'-no-sticky-headers': this.noSticky,
'-has-new-post-button': this.newPostButtonShown
'-has-new-post-button': this.newPostButtonShown,
'-wide-timeline': this.widenTimeline
},
'-' + this.layoutType
]
@ -93,6 +94,9 @@ export default {
newPostButtonShown () {
return this.$store.getters.mergedConfig.alwaysShowNewPostButton || this.layoutType === 'mobile'
},
widenTimeline () {
return this.$store.getters.mergedConfig.widenTimeline
},
showFeaturesPanel () { return this.$store.state.instance.showFeaturesPanel },
editingAvailable () { return this.$store.state.instance.editingAvailable },
layoutType () { return this.$store.state.interface.layoutType },

View file

@ -172,6 +172,10 @@ nav {
background-color: rgba(0, 0, 0, 0.15);
background-color: var(--underlay, rgba(0, 0, 0, 0.15));
Review

unrelated to your changes, but do you happen to know why background-color is defined twice here? iiuc the second parameter in var already is a fallback value. Is this for old browsers which don’ŧ support var at all, or something else?

unrelated to your changes, but do you happen to know why `background-color` is defined twice here? iiuc the second parameter in `var` already is a fallback value. Is this for old browsers which don’ŧ support `var` at all, or something else?
Review

I would assume it's for older browers that don't know the var syntax, since invalid values get discarded, in which case line 172 would be in effect. At this point though, do we still want to support that? That's basically just for IE11 and other really really ancient browsers.

image
image source: https://caniuse.com/css-variables

I doubt akkoma works on these browsers at all tbh. If not for all of the grid and flex, definitely for our fairly modern javascript (though I'm less knowledgable there, so don't ask me for specifics xD).

I would assume it's for older browers that don't know the `var` syntax, since invalid values get discarded, in which case line 172 would be in effect. At this point though, do we still want to support that? That's basically just for IE11 and other really *really* ancient browsers. ![image](/attachments/b1aae1ef-c2b4-41b9-ab74-e7307b4f9ef6) image source: https://caniuse.com/css-variables I doubt akkoma works on these browsers at all tbh. If not for all of the grid and flex, definitely for our fairly modern javascript (though I'm less knowledgable there, so don't ask me for specifics xD).
303 KiB
z-index: -1000;
.-wide-timeline & {
margin:0 calc(var(--columnGap) / -2);
}
}
.app-layout {
@ -187,12 +191,17 @@ nav {
grid-template-rows: 1fr;
box-sizing: border-box;
margin: 0 auto;
padding: 0 calc(var(--columnGap) / 2);
align-content: flex-start;
flex-wrap: wrap;
justify-content: center;
min-height: 100vh;
overflow-x: clip;
&.-wide-timeline {
--maxiColumn: minmax(var(--miniColumn), 1fr);
}
.column {
--___columnMargin: var(--columnGap);

View file

@ -88,10 +88,8 @@ const Gallery = {
set(this.sizes, id, { width, height })
},
rowStyle (row) {
if (row.audio) {
return { 'padding-bottom': '25%' } // fixed reduced height for audio
} else if (!row.minimal && !row.grid) {
return { 'padding-bottom': `${(100 / (row.items.length + 0.6))}%` }
if (!row.audio && !row.minimal && !row.grid) {
return { 'aspect-ratio': `1/${(1 / (row.items.length + 0.6))}` }
}
},
itemStyle (id, row) {

View file

@ -96,9 +96,15 @@
.gallery-row {
position: relative;
height: 0;
width: 100%;
flex-grow: 1;
.Status & {
max-height: 30em;
}
&.-audio {
aspect-ratio: 4/1; // this is terrible, but it's how it was before so I'm not changing it >:(
}
&:not(:first-child) {
margin-top: 0.5em;

View file

@ -269,6 +269,11 @@
{{ $t('settings.right_sidebar') }}
</BooleanSetting>
</li>
<li>
<BooleanSetting path="widenTimeline">
{{ $t('settings.widen_timeline') }}
</BooleanSetting>
</li>
<li>
<ChoiceSetting
v-if="user"

View file

@ -934,6 +934,7 @@
"title": "Version"
},
"virtual_scrolling": "Anzeige der Zeitleiste optimieren",
"widen_timeline": "Zeitleiste verbreitern, um horizontalen Platz zu füllen",
"word_filter": "Wortfilter",
"wordfilter": "Wortfilter"
},

View file

@ -948,6 +948,7 @@
},
"virtual_scrolling": "Optimize timeline rendering",
"use_blurhash": "Use blurhashes for NSFW thumbnails",
"widen_timeline": "Widen the Timeline to fill horizontal space",
"word_filter": "Word filter",
"wordfilter": "Wordfilter"
},

View file

@ -77,6 +77,7 @@ export const defaultState = {
hideScopeNotice: false,
useStreamingApi: false,
sidebarRight: undefined, // instance default
widenTimeline: undefined, // instance default
subjectLineBehavior: undefined, // instance default
alwaysShowSubjectInput: undefined, // instance default
postContentType: undefined, // instance default

View file

@ -61,6 +61,7 @@ const defaultState = {
showNavShortcuts: true,
showWiderShortcuts: true,
sidebarRight: false,
widenTimeline: true,
subjectLineBehavior: 'email',
theme: 'pleroma-dark',
virtualScrolling: true,