Compare commits
No commits in common. "5a67a32c2fd9e0490b96cebbf308f41141a97daf" and "8f8a230917c35b09260749e9b347b3929ee8816b" have entirely different histories.
5a67a32c2f
...
8f8a230917
13 changed files with 38 additions and 88 deletions
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -59,6 +59,7 @@
|
|||
flex: 10 0 auto;
|
||||
cursor: pointer;
|
||||
user-select: none;
|
||||
padding-left: 0.5em;
|
||||
|
||||
&:hover {
|
||||
text-decoration: underline;
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
:trigger-attrs="{ 'aria-label': $t('settings.setting_changed') }"
|
||||
>
|
||||
<template #trigger>
|
||||
|
||||
<FAIcon icon="circle-question" />
|
||||
</template>
|
||||
<template #content>
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@
|
|||
trigger="hover"
|
||||
>
|
||||
<template #trigger>
|
||||
|
||||
<FAIcon
|
||||
icon="desktop"
|
||||
:aria-label="$t('settings.setting_local_side')"
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@
|
|||
:trigger-attrs="{ 'aria-label': $t('settings.setting_changed') }"
|
||||
>
|
||||
<template #trigger>
|
||||
|
||||
<FAIcon
|
||||
icon="wrench"
|
||||
/>
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -440,7 +440,6 @@
|
|||
"plain": "Simple",
|
||||
"user": "User (Simple)",
|
||||
"user_regexp": "User (RegExp)",
|
||||
"case_sensitive": "Case-sensitive",
|
||||
"hide": "Hide completely",
|
||||
"name": "Name",
|
||||
"value": "Value",
|
||||
|
|
|
|||
|
|
@ -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) ||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue