Compare commits

..

No commits in common. "5a67a32c2fd9e0490b96cebbf308f41141a97daf" and "8f8a230917c35b09260749e9b347b3929ee8816b" have entirely different histories.

13 changed files with 38 additions and 88 deletions

View file

@ -61,14 +61,12 @@ export default {
<style lang="scss">
.checkbox {
position: relative;
display: inline-flex;
display: inline-block;
min-height: 1.2em;
align-items: baseline;
gap: 0 0.5em;
&-indicator,
& .label {
align-self: center;
vertical-align: middle;
}
& > &-indicator {
@ -140,5 +138,15 @@ export default {
content: "";
}
}
& > .label {
&.-after {
margin-left: 0.5em;
}
&.-before {
margin-right: 0.5em;
}
}
}
</style>

View file

@ -59,6 +59,7 @@
flex: 10 0 auto;
cursor: pointer;
user-select: none;
padding-left: 0.5em;
&:hover {
text-decoration: underline;

View file

@ -301,7 +301,7 @@
<button
v-if="quotingAvailable"
class="bottom-left-button quote-icon button-unstyled"
:disabled="quoteThreadToggled"
:disabled="newStatus.quote.thread"
:class="{ toggled: quoteFormVisible }"
:title="$t('tool_tip.add_quote')"
@click="toggleQuoteForm"

View file

@ -5,6 +5,7 @@
:trigger-attrs="{ 'aria-label': $t('settings.setting_changed') }"
>
<template #trigger>
&nbsp;
<FAIcon icon="circle-question" />
</template>
<template #content>

View file

@ -7,6 +7,7 @@
trigger="hover"
>
<template #trigger>
&nbsp;
<FAIcon
icon="desktop"
:aria-label="$t('settings.setting_local_side')"

View file

@ -8,6 +8,7 @@
:trigger-attrs="{ 'aria-label': $t('settings.setting_changed') }"
>
<template #trigger>
&nbsp;
<FAIcon
icon="wrench"
/>

View file

@ -40,6 +40,10 @@
line-height: 1.5;
}
.suboptions {
margin-left: 1em;
}
.sidenote {
margin-left: 5em;
padding: 0.25em 1em;
@ -62,7 +66,6 @@
column-gap: 0.5em;
align-items: baseline;
padding: 0.5em 0;
line-height: 1.5em;
.setting-label {
grid-area: label;
@ -93,9 +96,6 @@
.checkbox-indicator {
grid-area: control;
height: 1.5em;
line-height: 1.5em;
align-self: baseline;
}
.-mobile & {
@ -130,12 +130,6 @@
padding-left: 0;
margin: 0;
&.suboptions {
margin-left: 2em;
border-top: 1px dotted var(--border);
}
.btn:not(.dropdown-button) {
padding: 0 2em;
}
@ -213,12 +207,6 @@
}
}
li {
.sidenote {
margin-left: 1em;
}
}
/* stylelint-disable no-descending-specificity */
.setting-item {
grid-template-columns: 1fr min-content;
@ -233,14 +221,9 @@
.checkbox {
.label {
text-align: left;
order: 2;
}
.checkbox-indicator {
order: 1;
margin-left: 0;
}
}
}
ul {
@ -253,16 +236,14 @@
}
}
.setting-list:not(.suboptions),
.option-list {
&.two-column {
grid-template-columns: 1fr;
}
}
.UnitSetting {
padding-right: 0.5em;
}
}
&.peek {

View file

@ -58,7 +58,6 @@ const FilteringTab = {
hide = false,
name = '',
value = '',
caseSensitive = false,
} = data
this.createFilter({
@ -67,7 +66,6 @@ const FilteringTab = {
hide,
name,
value,
caseSensitive,
})
},
onImportFailure(result) {

View file

@ -51,16 +51,7 @@
text-align: right;
}
> label.checkbox {
display: grid;
grid-template-columns: subgrid;
grid-template-rows: subgrid;
grid-column: 1 / span 2;
text-align: right;
}
.filter-field-value {
display: flex;
grid-column: 2 / span 2;
}
}

View file

@ -254,20 +254,6 @@
:value="filter[1].value"
@input="updateFilter(filter[0], 'value', $event.target.value)"
>
{{ ' ' }}
</div>
<div class="filter-value filter-field">
<Checkbox
:id="'filterCaseSensitive' + filter[0]"
:model-value="filter[1].caseSensitive"
:name="'filterCaseSensitive' + filter[0]"
class="input-inset input-boolean case-sensitive"
@update:model-value="updateFilter(filter[0], 'caseSensitive', $event)"
>
<template #before>
{{ $t('settings.filter.case_sensitive') }}
</template>
</Checkbox>
</div>
<div class="filter-expires filter-field">
<label

View file

@ -4,7 +4,7 @@
.quick-action-buttons {
display: grid;
margin-left: -0.5em;
grid-template-columns: repeat(auto-fill, minmax(3.75em, 10%));
grid-template-columns: repeat(auto-fill, minmax(3.5em, 10%));
grid-auto-flow: row dense;
grid-auto-rows: 1fr;
grid-gap: 0.5em 0.1em;

View file

@ -440,7 +440,6 @@
"plain": "Simple",
"user": "User (Simple)",
"user_regexp": "User (RegExp)",
"case_sensitive": "Case-sensitive",
"hide": "Hide completely",
"name": "Name",
"value": "Value",

View file

@ -10,32 +10,24 @@ export const muteFilterHits = (muteFilters, status) => {
return muteFilters
.toSorted((a, b) => b.order - a.order)
.map((filter) => {
const { hide, expires, name, value, type, enabled, caseSensitive = false } = filter
const { hide, expires, name, value, type, enabled } = filter
if (!enabled) return false
if (value === '') return false
if (expires !== null && expires < Date.now()) return false
switch (type) {
case 'word': {
let match = false
if (caseSensitive) {
match =
statusText.includes(value) ||
statusSummary.includes(value)
} else {
const lowercaseValue = value.toLowerCase()
match =
statusText.toLowerCase().includes(lowercaseValue) ||
statusSummary.toLowerCase().includes(lowercaseValue)
}
if (match) {
const lowercaseValue = value.toLowerCase()
if (
statusText.toLowerCase().includes(lowercaseValue) ||
statusSummary.toLowerCase().includes(lowercaseValue)
) {
return { hide, name }
}
break
}
case 'regexp': {
try {
const re = new RegExp(value, caseSensitive ? '' : 'i')
const re = new RegExp(value, 'i')
if (re.test(statusText) || re.test(statusSummary)) {
return { hide, name }
}
@ -45,27 +37,18 @@ export const muteFilterHits = (muteFilters, status) => {
}
}
case 'user': {
let match = false
if (caseSensitive) {
match =
poster.includes(value) ||
replyToUser.includes(value) ||
mentions.some((mention) => mention.includes(value))
} else {
const lowercaseValue = value.toLowerCase()
match =
poster.toLowerCase().includes(lowercaseValue) ||
replyToUser.toLowerCase().includes(lowercaseValue) ||
mentions.some((mention) => mention.toLowerCase().includes(lowercaseValue))
}
if (match) {
if (
poster.includes(value) ||
replyToUser.includes(value) ||
mentions.some((mention) => mention.includes(value))
) {
return { hide, name }
}
break
}
case 'user_regexp': {
try {
const re = new RegExp(value, caseSensitive ? '' : 'i')
const re = new RegExp(value, 'i')
if (
re.test(poster) ||
re.test(replyToUser) ||