fix(theseus): Fixed multiple bugs (#1304)

* fix(theseus): Resolve log tab freezing entire app (#1127, #1237)
Switched to `vue-typed-virtual-list` due to freezing issues in WebKit caused by `vue-virtual-scroller`, which were difficult to resolve with the previous library.

* fix(theseus): Double opening of Socials Share link (#1136, #1074)

* fix(theseus): Proper symlinks resolution (#1236)
Ensures correct symlink resolution for specific mods, the mods directory, and the entire profile directory.

* fix(theseus): Correctly recognize NeoForge mods (#1215)

* fix(theseus): Corrected `Environments` and `Loaders` filters (#899)

* fix(theseus): Remove `_JAVA_OPTIONS` when testing JRE (#1171)

* fix(theseus): Fixed opening files using `show_in_folder`
Previously, opening a mod would display the contents of the JAR file instead of its location.

* fix(theseus): Hide `.DS_Store` files (#1274, #1002, #1174)

* fix(theseus): Corrected tooltip color

* fix(theseus): Fixed white mode issues (#1144, #1010)

* fix: Corrected `Slider` min and max value handling (#1008)

* fix: Fixed rebase problems

* fix: Fixed `:deep` usage warning

* chore: Updated eslint plugins to fix conflicts with Prettier
This commit is contained in:
Norbiros
2024-07-20 02:20:12 +02:00
committed by GitHub
parent f1713647cf
commit 797e1f1f21
18 changed files with 441 additions and 426 deletions

View File

@@ -80,17 +80,15 @@ const props = withDefaults(defineProps<Props>(), {
const currentValue = ref(Math.max(props.min, props.modelValue))
const inputValueValid = (newValue: number) => {
if (newValue < props.min) {
currentValue.value = props.min
} else if (newValue > props.max) {
currentValue.value = props.max
} else if (!newValue) {
currentValue.value = props.min
} else {
currentValue.value = newValue - (props.forceStep ? newValue % props.step : 0)
}
const inputValueValid = (inputValue: number) => {
let newValue = inputValue || props.min
if (props.forceStep) {
newValue -= newValue % props.step
}
newValue = Math.max(props.min, Math.min(newValue, props.max))
currentValue.value = newValue
emit('update:modelValue', currentValue.value)
}

View File

@@ -30,6 +30,10 @@ const props = defineProps({
type: Boolean,
default: false,
},
openInNewTab: {
type: Boolean,
default: true,
},
})
const shareModal = ref(null)
@@ -90,6 +94,8 @@ const sendEmail = computed(
&body=${encodeURIComponent(content.value)}`,
)
const targetParameter = computed(() => (props.openInNewTab ? '_blank' : '_self'))
const sendTweet = computed(
() => `https://twitter.com/intent/tweet?text=${encodeURIComponent(content.value)}`,
)
@@ -137,14 +143,19 @@ defineExpose({
<Button v-if="canShare" v-tooltip="'Share'" icon-only @click="share">
<ShareIcon />
</Button>
<a v-tooltip="'Send as an email'" class="btn icon-only" target="_blank" :href="sendEmail">
<a
v-tooltip="'Send as an email'"
class="btn icon-only"
:href="sendEmail"
:target="targetParameter"
>
<MailIcon />
</a>
<a
v-if="link"
v-tooltip="'Open link in browser'"
class="btn icon-only"
target="_blank"
:target="targetParameter"
:href="url"
>
<GlobeIcon />
@@ -152,7 +163,7 @@ defineExpose({
<a
v-tooltip="'Toot about it'"
class="btn mastodon icon-only"
target="_blank"
:target="targetParameter"
:href="sendToot"
>
<MastodonIcon />
@@ -160,7 +171,7 @@ defineExpose({
<a
v-tooltip="'Tweet about it'"
class="btn twitter icon-only"
target="_blank"
:target="targetParameter"
:href="sendTweet"
>
<TwitterIcon />
@@ -168,7 +179,7 @@ defineExpose({
<a
v-tooltip="'Share on Reddit'"
class="btn reddit icon-only"
target="_blank"
:target="targetParameter"
:href="postOnReddit"
>
<RedditIcon />