Compare commits
17 commits
1f37c53ab3
...
f6841decce
Author | SHA1 | Date | |
---|---|---|---|
|
f6841decce | ||
|
1eb96182bb | ||
|
dad461f407 | ||
|
c0875ee34e | ||
|
ad8579af99 | ||
|
fe35147649 | ||
|
758fc48156 | ||
|
0da1926802 | ||
|
b461fc1c4a | ||
|
1603193436 | ||
|
fa76be2f9a | ||
|
28955d8444 | ||
|
3cab1faaf4 | ||
|
d0228728f4 | ||
|
a18854a30d | ||
|
f61f224bb1 | ||
|
4ed8847b9d |
32 changed files with 191 additions and 113 deletions
0
changelog.d/batch2.skip
Normal file
0
changelog.d/batch2.skip
Normal file
|
@ -1 +1 @@
|
|||
better display of mutes
|
||||
better display of mute reason on posts
|
||||
|
|
|
@ -35,11 +35,11 @@ export default {
|
|||
{
|
||||
component: 'Root',
|
||||
directives: {
|
||||
'--buttonDefaultHoverGlow': 'shadow | 0 0 4 --text / 0.5',
|
||||
'--buttonDefaultFocusGlow': 'shadow | 0 0 4 4 --link / 0.5',
|
||||
'--buttonDefaultHoverGlow': 'shadow | 0 0 1 2 --text / 0.4',
|
||||
'--buttonDefaultFocusGlow': 'shadow | 0 0 1 2 --link / 0.5',
|
||||
'--buttonDefaultShadow': 'shadow | 0 0 2 #000000',
|
||||
'--buttonDefaultBevel': 'shadow | $borderSide(#FFFFFF top 0.2 2), $borderSide(#000000 bottom 0.2 2)',
|
||||
'--buttonPressedBevel': 'shadow | $borderSide(#FFFFFF bottom 0.2 2), $borderSide(#000000 top 0.2 2)'
|
||||
'--buttonDefaultBevel': 'shadow | $borderSide(#FFFFFF top 0.2 1), $borderSide(#000000 bottom 0.2 1)',
|
||||
'--buttonPressedBevel': 'shadow | inset 0 0 4 #000000, $borderSide(#FFFFFF bottom 0.2 1), $borderSide(#000000 top 0.2 1)'
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -78,28 +78,28 @@ export default {
|
|||
{
|
||||
state: ['toggled'],
|
||||
directives: {
|
||||
background: '--inheritedBackground,-14.2',
|
||||
background: '--accent,-24.2',
|
||||
shadow: ['--buttonDefaultShadow', '--buttonPressedBevel']
|
||||
}
|
||||
},
|
||||
{
|
||||
state: ['toggled', 'hover'],
|
||||
directives: {
|
||||
background: '--inheritedBackground,-14.2',
|
||||
background: '--accent,-24.2',
|
||||
shadow: ['--buttonDefaultHoverGlow', '--buttonPressedBevel']
|
||||
}
|
||||
},
|
||||
{
|
||||
state: ['toggled', 'disabled'],
|
||||
directives: {
|
||||
background: '$blend(--inheritedBackground 0.25 --parent)',
|
||||
background: '$blend(--accent 0.25 --parent)',
|
||||
shadow: ['--buttonPressedBevel']
|
||||
}
|
||||
},
|
||||
{
|
||||
state: ['disabled'],
|
||||
directives: {
|
||||
background: '$blend(--inheritedBackground 0.25 --parent)',
|
||||
background: '$blend(--accent 0.25 --parent)',
|
||||
shadow: ['--buttonDefaultBevel']
|
||||
}
|
||||
},
|
||||
|
|
|
@ -66,7 +66,6 @@ const ChatMessage = {
|
|||
return this.message.attachments.length > 0
|
||||
},
|
||||
...mapState({
|
||||
betterShadow: state => state.interface.browserSupport.cssFilter,
|
||||
currentUser: state => state.users.currentUser,
|
||||
restrictedNicknames: state => state.instance.restrictedNicknames
|
||||
}),
|
||||
|
|
|
@ -20,7 +20,6 @@
|
|||
>
|
||||
<UserAvatar
|
||||
:compact="true"
|
||||
:better-shadow="betterShadow"
|
||||
:user="author"
|
||||
/>
|
||||
</UserPopover>
|
||||
|
|
|
@ -8,6 +8,11 @@ const DialogModal = {
|
|||
default: () => {},
|
||||
type: Function
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
mobileCenter () {
|
||||
return this.$store.getters.mergedConfig.modalMobileCenter
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<template>
|
||||
<span
|
||||
class="dialog-container"
|
||||
:class="{ 'dark-overlay': darkOverlay }"
|
||||
:class="{ 'dark-overlay': darkOverlay, '-center-mobile': mobileCenter }"
|
||||
@click.self.stop="onCancel()"
|
||||
>
|
||||
<div
|
||||
|
@ -79,6 +79,7 @@
|
|||
padding: 0.5em;
|
||||
border-top: 1px solid var(--border);
|
||||
display: grid;
|
||||
justify-content: end;
|
||||
grid-gap: 0.5em;
|
||||
grid-template-columns: min-content;
|
||||
grid-auto-columns: min-content;
|
||||
|
@ -99,6 +100,10 @@
|
|||
justify-content: stretch;
|
||||
align-items: end;
|
||||
justify-items: stretch;
|
||||
|
||||
&.-center-mobile {
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
|
||||
.dialog-modal.panel {
|
||||
|
|
|
@ -64,12 +64,12 @@
|
|||
<div v-if="editing">
|
||||
<PostStatusForm
|
||||
v-if="draft.type !== 'edit'"
|
||||
:disable-draft="true"
|
||||
:hide-draft="true"
|
||||
v-bind="postStatusFormProps"
|
||||
/>
|
||||
<EditStatusForm
|
||||
v-else
|
||||
:disable-draft="true"
|
||||
:hide-draft="true"
|
||||
:params="postStatusFormProps"
|
||||
/>
|
||||
</div>
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
class="panel-body"
|
||||
:params="params"
|
||||
@posted="doCloseModal"
|
||||
@draft-done="doCloseModal"
|
||||
@can-close="doCloseModal"
|
||||
/>
|
||||
</div>
|
||||
|
|
|
@ -99,11 +99,6 @@
|
|||
display: inline-flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
|
||||
&.-picked-reaction {
|
||||
border: 1px solid var(--accent);
|
||||
margin-right: -1px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -154,10 +149,6 @@
|
|||
}
|
||||
|
||||
&.-picked-reaction {
|
||||
border: 1px solid var(--accent);
|
||||
margin-left: -1px; // offset the border, can't use inset shadows either
|
||||
margin-right: -1px;
|
||||
|
||||
.svg-inline--fa {
|
||||
color: var(--accent);
|
||||
}
|
||||
|
|
|
@ -5,18 +5,22 @@
|
|||
:for="manualEntry ? name : name + '-font-switcher'"
|
||||
class="label"
|
||||
>
|
||||
{{ label }}
|
||||
{{ $t('settings.style.themes3.font.label', { label }) }}
|
||||
</label>
|
||||
{{ ' ' }}
|
||||
<Checkbox
|
||||
v-if="typeof fallback !== 'undefined'"
|
||||
class="font-checkbox"
|
||||
:id="name + '-o'"
|
||||
:model-value="present"
|
||||
@change="$emit('update:modelValue', typeof modelValue === 'undefined' ? fallback : undefined)"
|
||||
>
|
||||
{{ $t('settings.style.themes3.define') }}
|
||||
</Checkbox>
|
||||
<p v-if="modelValue?.family">
|
||||
<div
|
||||
v-if="modelValue?.family"
|
||||
class="font-input"
|
||||
>
|
||||
<label
|
||||
v-if="manualEntry"
|
||||
:id="name + '-label'"
|
||||
|
@ -122,7 +126,7 @@
|
|||
</optgroup>
|
||||
</Select>
|
||||
</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
@ -134,6 +138,15 @@
|
|||
min-width: 20em;
|
||||
max-width: 20em;
|
||||
}
|
||||
|
||||
.font-input {
|
||||
margin-left: 2em;
|
||||
margin-top: 0.5em;
|
||||
}
|
||||
|
||||
.font-checkbox {
|
||||
margin-left: 1em;
|
||||
}
|
||||
}
|
||||
|
||||
.invalid-tooltip {
|
||||
|
|
|
@ -18,7 +18,7 @@ export default {
|
|||
{
|
||||
component: 'Root',
|
||||
directives: {
|
||||
'--defaultInputBevel': 'shadow | $borderSide(#FFFFFF bottom 0.2), $borderSide(#000000 top 0.2)',
|
||||
'--defaultInputBevel': 'shadow | $borderSide(#FFFFFF bottom 0.2), $borderSide(#000000 top 0.2), inset 0 0 2 #000000 / 0.15',
|
||||
'--defaultInputHoverGlow': 'shadow | 0 0 4 --text / 0.5',
|
||||
'--defaultInputFocusGlow': 'shadow | 0 0 4 4 --link / 0.5'
|
||||
}
|
||||
|
|
|
@ -43,7 +43,6 @@ const Notification = {
|
|||
data () {
|
||||
return {
|
||||
statusExpanded: false,
|
||||
betterShadow: this.$store.state.interface.browserSupport.cssFilter,
|
||||
unmuted: false,
|
||||
showingApproveConfirmDialog: false,
|
||||
showingDenyConfirmDialog: false
|
||||
|
|
|
@ -48,7 +48,6 @@
|
|||
<UserAvatar
|
||||
class="post-avatar"
|
||||
:compact="true"
|
||||
:better-shadow="betterShadow"
|
||||
:user="notification.from_profile"
|
||||
/>
|
||||
</UserPopover>
|
||||
|
|
|
@ -38,12 +38,20 @@ export default {
|
|||
roundness: 3,
|
||||
blur: '5px',
|
||||
shadow: [{
|
||||
x: 1,
|
||||
y: 1,
|
||||
blur: 4,
|
||||
x: 0,
|
||||
y: 0,
|
||||
blur: 3,
|
||||
spread: 0,
|
||||
color: '#000000',
|
||||
alpha: 0.6
|
||||
alpha: 0.5
|
||||
},
|
||||
{
|
||||
x: 0,
|
||||
y: 4,
|
||||
blur: 6,
|
||||
spread: 3,
|
||||
color: '#000000',
|
||||
alpha: 0.3
|
||||
}]
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,7 +17,23 @@ export default {
|
|||
directives: {
|
||||
backgroundNoCssColor: 'yes',
|
||||
background: '--fg',
|
||||
shadow: []
|
||||
shadow: [{
|
||||
x: 0,
|
||||
y: 1,
|
||||
blur: 3,
|
||||
spread: 0,
|
||||
color: '#000000',
|
||||
alpha: 0.4
|
||||
},
|
||||
{
|
||||
x: 0,
|
||||
y: 1,
|
||||
blur: 0,
|
||||
spread: 0,
|
||||
color: '#ffffff',
|
||||
alpha: 0.2,
|
||||
inset: true
|
||||
}]
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
@ -101,6 +101,8 @@ const PostStatusForm = {
|
|||
'disableSubmit',
|
||||
'disablePreview',
|
||||
'disableDraft',
|
||||
'hideDraft',
|
||||
'closeable',
|
||||
'placeholder',
|
||||
'maxHeight',
|
||||
'postHandler',
|
||||
|
@ -115,6 +117,7 @@ const PostStatusForm = {
|
|||
],
|
||||
emits: [
|
||||
'posted',
|
||||
'draft-done',
|
||||
'resize',
|
||||
'mediaplay',
|
||||
'mediapause',
|
||||
|
@ -232,6 +235,9 @@ const PostStatusForm = {
|
|||
showAllScopes () {
|
||||
return !this.mergedConfig.minimalScopesMode
|
||||
},
|
||||
hideExtraActions () {
|
||||
return this.disableDraft || this.hideDraft
|
||||
},
|
||||
emojiUserSuggestor () {
|
||||
return suggestor({
|
||||
emoji: [
|
||||
|
@ -353,10 +359,12 @@ const PostStatusForm = {
|
|||
}
|
||||
},
|
||||
safeToSaveDraft () {
|
||||
return this.newStatus.status ||
|
||||
return (
|
||||
this.newStatus.status ||
|
||||
this.newStatus.spoilerText ||
|
||||
this.newStatus.files?.length ||
|
||||
this.newStatus.hasPoll
|
||||
) && this.saveable
|
||||
},
|
||||
...mapGetters(['mergedConfig']),
|
||||
...mapState({
|
||||
|
@ -760,12 +768,20 @@ const PostStatusForm = {
|
|||
this.newStatus.id = id
|
||||
}
|
||||
this.saveable = false
|
||||
this.clearStatus()
|
||||
if (!this.shouldAutoSaveDraft) {
|
||||
this.$emit('draft-done')
|
||||
}
|
||||
})
|
||||
} else if (this.newStatus.id) {
|
||||
// There is a draft, but there is nothing in it, clear it
|
||||
return this.abandonDraft()
|
||||
.then(() => {
|
||||
this.saveable = false
|
||||
this.clearStatus()
|
||||
if (!this.shouldAutoSaveDraft) {
|
||||
this.$emit('draft-done')
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
|
@ -316,13 +316,12 @@
|
|||
</template>
|
||||
</button>
|
||||
<Popover
|
||||
v-if="!disableDraft"
|
||||
v-if="!hideExtraActions"
|
||||
class="more-post-actions"
|
||||
:normal-button="true"
|
||||
trigger="click"
|
||||
placement="bottom"
|
||||
:offset="{ y: 5 }"
|
||||
:bound-to="{ x: 'container' }"
|
||||
>
|
||||
<template #trigger>
|
||||
<FAIcon
|
||||
|
@ -336,15 +335,20 @@
|
|||
role="menu"
|
||||
>
|
||||
<button
|
||||
v-if="!disableDraft"
|
||||
v-if="!hideDraft || !disableDraft"
|
||||
class="menu-item dropdown-item dropdown-item-icon"
|
||||
role="menu"
|
||||
:disabled="!safeToSaveDraft"
|
||||
:disabled="!safeToSaveDraft && saveable"
|
||||
:class="{ disabled: !safeToSaveDraft }"
|
||||
@click.prevent="saveDraft"
|
||||
@click="close"
|
||||
>
|
||||
<template v-if="closeable">
|
||||
{{ $t('post_status.save_to_drafts_and_close_button') }}
|
||||
</template>
|
||||
<template v-else>
|
||||
{{ $t('post_status.save_to_drafts_button') }}
|
||||
</template>
|
||||
</button>
|
||||
</div>
|
||||
</template>
|
||||
|
|
|
@ -14,7 +14,9 @@
|
|||
<PostStatusForm
|
||||
class="panel-body"
|
||||
v-bind="params"
|
||||
:closeable="true"
|
||||
@posted="resetAndClose"
|
||||
@draft-done="resetAndClose"
|
||||
/>
|
||||
</div>
|
||||
</Modal>
|
||||
|
|
|
@ -57,7 +57,7 @@
|
|||
:key="style.key"
|
||||
:data-theme-key="style.key"
|
||||
class="button-default theme-preview"
|
||||
:class="{ toggled: isStyleActive(style.key), disabled: switchInProgress }"
|
||||
:class="{ toggled: isThemeActive(style.key), disabled: switchInProgress }"
|
||||
@click="style.version === 'v2' ? setTheme(style.key) : setStyle(style.key)"
|
||||
:disabled="switchInProgress"
|
||||
>
|
||||
|
@ -207,8 +207,39 @@
|
|||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<UnitSetting
|
||||
path="emojiSize"
|
||||
:step="0.1"
|
||||
:units="['px', 'rem']"
|
||||
:reset-default="{ 'px': 32, 'rem': 2.2 }"
|
||||
>
|
||||
{{ $t('settings.emoji_size') }}
|
||||
</UnitSetting>
|
||||
<ul
|
||||
class="setting-list suboptions"
|
||||
>
|
||||
<li>
|
||||
<FloatSetting
|
||||
v-if="user"
|
||||
path="emojiReactionsScale"
|
||||
expert="1"
|
||||
>
|
||||
{{ $t('settings.emoji_reactions_scale') }}
|
||||
</FloatSetting>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<UnitSetting
|
||||
path="navbarSize"
|
||||
:step="0.1"
|
||||
:units="['px', 'rem']"
|
||||
:reset-default="{ 'px': 55, 'rem': 3.5 }"
|
||||
>
|
||||
{{ $t('settings.navbar_size') }}
|
||||
</UnitSetting>
|
||||
</li>
|
||||
<h3>{{ $t('settings.style.interface_font_user_override') }}</h3>
|
||||
<ul class="setting-list">
|
||||
<li>
|
||||
<FontControl
|
||||
:model-value="mergedConfig.theme3hacks.fonts.interface"
|
||||
|
@ -249,41 +280,6 @@
|
|||
@update:modelValue="v => updateFont('monospace', v)"
|
||||
/>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<UnitSetting
|
||||
path="emojiSize"
|
||||
:step="0.1"
|
||||
:units="['px', 'rem']"
|
||||
:reset-default="{ 'px': 32, 'rem': 2.2 }"
|
||||
>
|
||||
{{ $t('settings.emoji_size') }}
|
||||
</UnitSetting>
|
||||
<ul
|
||||
class="setting-list suboptions"
|
||||
>
|
||||
<li>
|
||||
<FloatSetting
|
||||
v-if="user"
|
||||
path="emojiReactionsScale"
|
||||
expert="1"
|
||||
>
|
||||
{{ $t('settings.emoji_reactions_scale') }}
|
||||
</FloatSetting>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<UnitSetting
|
||||
path="navbarSize"
|
||||
:step="0.1"
|
||||
:units="['px', 'rem']"
|
||||
:reset-default="{ 'px': 55, 'rem': 3.5 }"
|
||||
>
|
||||
{{ $t('settings.navbar_size') }}
|
||||
</UnitSetting>
|
||||
</li>
|
||||
<h3>{{ $t('settings.columns') }}</h3>
|
||||
<li>
|
||||
<UnitSetting
|
||||
|
@ -345,6 +341,11 @@
|
|||
<div class="setting-item">
|
||||
<h2>{{ $t('settings.visual_tweaks') }}</h2>
|
||||
<ul class="setting-list">
|
||||
<li>
|
||||
<BooleanSetting path="modalMobileCenter">
|
||||
{{ $t('settings.mobile_center_dialog') }}
|
||||
</BooleanSetting>
|
||||
</li>
|
||||
<li>
|
||||
<ChoiceSetting
|
||||
id="forcedRoundness"
|
||||
|
|
|
@ -288,7 +288,6 @@ const Status = {
|
|||
case 'nsfw': return this.$t('status.sensitive_muted')
|
||||
}
|
||||
}
|
||||
console.log(this.muteReasons, mainReason())
|
||||
return this.$t(
|
||||
'status.multi_reason_mute',
|
||||
{
|
||||
|
@ -417,9 +416,6 @@ const Status = {
|
|||
currentUser () {
|
||||
return this.$store.state.users.currentUser
|
||||
},
|
||||
betterShadow () {
|
||||
return this.$store.state.interface.browserSupport.cssFilter
|
||||
},
|
||||
mergedConfig () {
|
||||
return this.$store.getters.mergedConfig
|
||||
},
|
||||
|
|
|
@ -65,7 +65,6 @@
|
|||
v-if="retweet"
|
||||
class="left-side repeater-avatar"
|
||||
:show-actor-type-indicator="showActorTypeIndicator"
|
||||
:better-shadow="betterShadow"
|
||||
:user="statusoid.user"
|
||||
/>
|
||||
<div class="right-side faint">
|
||||
|
@ -120,7 +119,6 @@
|
|||
class="post-avatar"
|
||||
:show-actor-type-indicator="showActorTypeIndicator"
|
||||
:compact="compact"
|
||||
:better-shadow="betterShadow"
|
||||
:user="status.user"
|
||||
/>
|
||||
</UserPopover>
|
||||
|
@ -600,12 +598,14 @@
|
|||
<PostStatusForm
|
||||
ref="postStatusForm"
|
||||
class="reply-body"
|
||||
:closeable="true"
|
||||
:reply-to="status.id"
|
||||
:attentions="status.attentions"
|
||||
:replied-user="status.user"
|
||||
:copy-message-scope="status.visibility"
|
||||
:subject="replySubject"
|
||||
@posted="doToggleReplying"
|
||||
@draft-done="doToggleReplying"
|
||||
@can-close="doToggleReplying"
|
||||
/>
|
||||
</div>
|
||||
|
|
|
@ -16,11 +16,19 @@ export default {
|
|||
background: '--fg',
|
||||
shadow: [{
|
||||
x: 0,
|
||||
y: 0,
|
||||
y: 1,
|
||||
blur: 4,
|
||||
spread: 0,
|
||||
color: '#000000',
|
||||
alpha: 0.6
|
||||
alpha: 0.4
|
||||
},
|
||||
{
|
||||
x: 0,
|
||||
y: 2,
|
||||
blur: 7,
|
||||
spread: 0,
|
||||
color: '#000000',
|
||||
alpha: 0.3
|
||||
}]
|
||||
}
|
||||
},
|
||||
|
|
|
@ -11,10 +11,10 @@ export default {
|
|||
shadow: [{
|
||||
x: 0,
|
||||
y: 1,
|
||||
blur: 8,
|
||||
blur: 4,
|
||||
spread: 0,
|
||||
color: '#000000',
|
||||
alpha: 0.7
|
||||
alpha: 0.2
|
||||
}]
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,14 +15,14 @@ library.add(
|
|||
const UserAvatar = {
|
||||
props: [
|
||||
'user',
|
||||
'betterShadow',
|
||||
'compact',
|
||||
'showActorTypeIndicator'
|
||||
],
|
||||
data () {
|
||||
return {
|
||||
showPlaceholder: false,
|
||||
defaultAvatar: `${this.$store.state.instance.server + this.$store.state.instance.defaultAvatar}`
|
||||
defaultAvatar: `${this.$store.state.instance.server + this.$store.state.instance.defaultAvatar}`,
|
||||
betterShadow: this.$store.state.interface.browserSupport.cssFilter
|
||||
}
|
||||
},
|
||||
components: {
|
||||
|
|
|
@ -48,7 +48,6 @@ export default {
|
|||
data () {
|
||||
return {
|
||||
followRequestInProgress: false,
|
||||
betterShadow: this.$store.state.interface.browserSupport.cssFilter,
|
||||
showingConfirmMute: false,
|
||||
muteExpiryAmount: 0,
|
||||
muteExpiryUnit: 'minutes'
|
||||
|
|
|
@ -16,10 +16,7 @@
|
|||
class="user-info-avatar -link"
|
||||
@click="zoomAvatar"
|
||||
>
|
||||
<UserAvatar
|
||||
:better-shadow="betterShadow"
|
||||
:user="user"
|
||||
/>
|
||||
<UserAvatar :user="user" />
|
||||
<div class="user-info-avatar -link -overlay">
|
||||
<FAIcon
|
||||
class="fa-scale-110 fa-old-padding"
|
||||
|
@ -30,7 +27,6 @@
|
|||
<UserAvatar
|
||||
v-else-if="typeof avatarAction === 'function'"
|
||||
class="user-info-avatar"
|
||||
:better-shadow="betterShadow"
|
||||
:user="user"
|
||||
@click="avatarAction"
|
||||
/>
|
||||
|
@ -38,10 +34,7 @@
|
|||
v-else
|
||||
:to="userProfileLink(user)"
|
||||
>
|
||||
<UserAvatar
|
||||
:better-shadow="betterShadow"
|
||||
:user="user"
|
||||
/>
|
||||
<UserAvatar :user="user" />
|
||||
</router-link>
|
||||
<div class="user-summary">
|
||||
<div class="top-line">
|
||||
|
|
|
@ -321,7 +321,8 @@
|
|||
"auto_save_nothing_new": "Nothing new to save.",
|
||||
"auto_save_saved": "Saved.",
|
||||
"auto_save_saving": "Saving...",
|
||||
"save_to_drafts_button": "Save to drafts"
|
||||
"save_to_drafts_button": "Save to drafts",
|
||||
"save_to_drafts_and_close_button": "Save to drafts and close"
|
||||
},
|
||||
"registration": {
|
||||
"bio_optional": "Bio (optional)",
|
||||
|
@ -381,6 +382,7 @@
|
|||
"actor_type_Person": "a normal user",
|
||||
"actor_type_Service": "a bot",
|
||||
"actor_type_Group": "a group",
|
||||
"mobile_center_dialog": "Vertically center dialogs on mobile",
|
||||
"app_name": "App name",
|
||||
"expert_mode": "Show advanced",
|
||||
"save": "Save changes",
|
||||
|
@ -867,7 +869,8 @@
|
|||
"lookup_local_fonts": "Load list of fonts installed on this computer",
|
||||
"enter_manually": "Enter font name family manually",
|
||||
"entry": "Enter {fontFamily}",
|
||||
"select": "Select font"
|
||||
"select": "Select font",
|
||||
"label": "{label} font"
|
||||
}
|
||||
},
|
||||
"interface_font_user_override": "Override theme/browser font used",
|
||||
|
@ -1243,7 +1246,7 @@
|
|||
"status_unavailable": "Status unavailable",
|
||||
"copy_link": "Copy link to status",
|
||||
"external_source": "External source",
|
||||
"muted_words": "Wordfiltered: {word} | Wordfiltered: {word} and {numWordsMore} more word",
|
||||
"muted_words": "Wordfiltered: {word} | Wordfiltered: {word} and {numWordsMore} more words",
|
||||
"multi_reason_mute": "{main} | {main} + one more reason | {main} + {numReasonsMore} more reasons",
|
||||
"thread_muted": "Thread muted",
|
||||
"thread_muted_and_words": ", has words:",
|
||||
|
|
|
@ -142,6 +142,7 @@ export const defaultState = {
|
|||
modalOnApproveFollow: undefined, // instance default
|
||||
modalOnDenyFollow: undefined, // instance default
|
||||
modalOnRemoveUserFromFollowers: undefined, // instance default
|
||||
modalMobileCenter: undefined,
|
||||
playVideosInModal: false,
|
||||
useOneClickNsfw: false,
|
||||
useContainFit: true,
|
||||
|
|
|
@ -82,6 +82,7 @@ const defaultState = {
|
|||
modalOnApproveFollow: false,
|
||||
modalOnDenyFollow: false,
|
||||
modalOnRemoveUserFromFollowers: false,
|
||||
modalMobileCenter: false,
|
||||
loginMethod: 'password',
|
||||
logo: '/static/logo.svg',
|
||||
logoMargin: '.2em',
|
||||
|
|
|
@ -81,9 +81,27 @@ export const colorFunctions = {
|
|||
return alphaBlend(background, amount, foreground)
|
||||
}
|
||||
},
|
||||
boost: {
|
||||
argsNeeded: 2,
|
||||
documentation: 'If given color is dark makes it darker, if color is light - makes it lighter',
|
||||
args: [
|
||||
'color: source color',
|
||||
'amount: how much darken/brighten the color'
|
||||
],
|
||||
exec: (args, { findColor }, { dynamicVars, staticVars }) => {
|
||||
const [colorArg, amountArg] = args
|
||||
|
||||
const color = convert(findColor(colorArg, { dynamicVars, staticVars })).rgb
|
||||
const amount = Number(amountArg)
|
||||
|
||||
const isLight = relativeLuminance(color) < 0.5
|
||||
const mod = isLight ? -1 : 1
|
||||
return brightness(amount * mod, color).rgb
|
||||
}
|
||||
},
|
||||
mod: {
|
||||
argsNeeded: 2,
|
||||
documentation: 'Old function that increases or decreases brightness depending if color is dark or light. Advised against using it as it might give unexpected results.',
|
||||
documentation: 'Old function that increases or decreases brightness depending if background color is dark or light. Advised against using it as it might give unexpected results.',
|
||||
args: [
|
||||
'color: source color',
|
||||
'amount: how much darken/brighten the color'
|
||||
|
@ -109,6 +127,7 @@ export const shadowFunctions = {
|
|||
args: [
|
||||
'color: border color',
|
||||
'side: string indicating on which side border should be, takes either one word or two words joined by dash (i.e. "left" or "bottom-right")',
|
||||
'width: border width (thickness)',
|
||||
'[alpha]: (Optional) border opacity, defaults to 1 (fully opaque)',
|
||||
'[inset]: (Optional) whether border should be on the inside or outside, defaults to inside'
|
||||
],
|
||||
|
|
|
@ -94,7 +94,7 @@ Button:toggled:pressed {
|
|||
}
|
||||
|
||||
Input {
|
||||
background: $mod(--bg -80);
|
||||
background: $boost(--bg 20);
|
||||
shadow: --defaultInputBevel;
|
||||
roundness: 0
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue