You've already forked AstralRinth
forked from didirus/AstralRinth
@@ -47,7 +47,7 @@
|
||||
</div>
|
||||
<Button v-if="accounts.length > 0" @click="login()">
|
||||
<PlusIcon />
|
||||
Add Account
|
||||
Add account
|
||||
</Button>
|
||||
</Card>
|
||||
</transition>
|
||||
@@ -115,6 +115,7 @@ const login = async () => {
|
||||
const url = await authenticate_begin_flow().catch(handleError)
|
||||
|
||||
const window = new WebviewWindow('loginWindow', {
|
||||
title: 'Modrinth App',
|
||||
url: url,
|
||||
})
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<script setup>
|
||||
import { onUnmounted, ref, useSlots } from 'vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
import { Card, SaveIcon, XIcon, Avatar, AnimatedLogo, PlayIcon } from 'omorphia'
|
||||
import { Card, DownloadIcon, XIcon, Avatar, AnimatedLogo, PlayIcon } from 'omorphia'
|
||||
import { convertFileSrc } from '@tauri-apps/api/tauri'
|
||||
import InstallConfirmModal from '@/components/ui/InstallConfirmModal.vue'
|
||||
import { install as pack_install } from '@/helpers/pack'
|
||||
@@ -206,7 +206,7 @@ onUnmounted(() => unlisten())
|
||||
>
|
||||
<XIcon />
|
||||
</div>
|
||||
<div v-else class="install cta buttonbase" @click="install"><SaveIcon /></div>
|
||||
<div v-else class="install cta buttonbase" @click="install"><DownloadIcon /></div>
|
||||
</template>
|
||||
<InstallConfirmModal ref="confirmModal" />
|
||||
</div>
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
<template>
|
||||
<Modal ref="modal" header="Create Instance">
|
||||
<Modal ref="modal" header="Create instance">
|
||||
<div v-if="showContent" class="modal-body">
|
||||
<div class="image-upload">
|
||||
<Avatar :src="display_icon" size="md" :rounded="true" />
|
||||
<div class="image-input">
|
||||
<Button @click="upload_icon()">
|
||||
<UploadIcon />
|
||||
Upload Icon
|
||||
Select icon
|
||||
</Button>
|
||||
<Button @click="reset_icon">
|
||||
<XIcon />
|
||||
Remove Icon
|
||||
Remove icon
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -23,7 +23,7 @@
|
||||
<Chips v-model="loader" :items="loaders" />
|
||||
</div>
|
||||
<div class="input-row">
|
||||
<p class="input-label">Game Version</p>
|
||||
<p class="input-label">Game version</p>
|
||||
<div class="versions">
|
||||
<DropdownSelect v-model="game_version" :options="game_versions" render-up />
|
||||
<Checkbox
|
||||
@@ -35,12 +35,12 @@
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="showAdvanced && loader !== 'vanilla'" class="input-row">
|
||||
<p class="input-label">Loader Version</p>
|
||||
<p class="input-label">Loader version</p>
|
||||
<Chips v-model="loader_version" :items="['stable', 'latest', 'other']" />
|
||||
</div>
|
||||
<div v-if="showAdvanced && loader_version === 'other' && loader !== 'vanilla'">
|
||||
<div v-if="game_version" class="input-row">
|
||||
<p class="input-label">Select Version</p>
|
||||
<p class="input-label">Select version</p>
|
||||
<DropdownSelect
|
||||
v-model="specified_loader_version"
|
||||
:options="selectable_versions"
|
||||
@@ -54,7 +54,7 @@
|
||||
<div class="button-group">
|
||||
<Button @click="toggle_advanced">
|
||||
<CodeIcon />
|
||||
{{ showAdvanced ? 'Hide Advanced' : 'Show Advanced' }}
|
||||
{{ showAdvanced ? 'Hide advanced' : 'Show advanced' }}
|
||||
</Button>
|
||||
<Button @click="$refs.modal.hide()">
|
||||
<XIcon />
|
||||
|
||||
@@ -172,11 +172,11 @@ const check_valid = computed(() => {
|
||||
<div class="creation-icon__description">
|
||||
<Button @click="upload_icon()">
|
||||
<UploadIcon />
|
||||
<span class="no-wrap"> Upload Icon </span>
|
||||
<span class="no-wrap"> Select icon </span>
|
||||
</Button>
|
||||
<Button @click="reset_icon()">
|
||||
<XIcon />
|
||||
<span class="no-wrap"> Remove Icon </span>
|
||||
<span class="no-wrap"> Remove icon </span>
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
@click="$refs.detectJavaModal.show(props.version, props.modelValue)"
|
||||
>
|
||||
<SearchIcon />
|
||||
Auto Detect
|
||||
Auto detect
|
||||
</Button>
|
||||
<Button :disabled="props.disabled" @click="handleJavaFileInput()">
|
||||
<FolderSearchIcon />
|
||||
|
||||
@@ -10,9 +10,9 @@ const themeStore = useTheming()
|
||||
|
||||
const fetchSettings = await get().catch(handleError)
|
||||
|
||||
if (!fetchSettings.java_globals?.JAVA_8)
|
||||
if (!fetchSettings.java_globals.JAVA_8)
|
||||
fetchSettings.java_globals.JAVA_8 = { path: '', version: '' }
|
||||
if (!fetchSettings.java_globals?.JAVA_17)
|
||||
if (!fetchSettings.java_globals.JAVA_17)
|
||||
fetchSettings.java_globals.JAVA_17 = { path: '', version: '' }
|
||||
|
||||
fetchSettings.javaArgs = fetchSettings.custom_java_args.join(' ')
|
||||
@@ -22,31 +22,33 @@ const settings = ref(fetchSettings)
|
||||
const maxMemory = ref((await get_max_memory().catch(handleError)) / 1024)
|
||||
|
||||
watch(settings.value, async (oldSettings, newSettings) => {
|
||||
if (newSettings.java_globals?.JAVA_8?.path === '') {
|
||||
newSettings.java_globals.JAVA_8 = undefined
|
||||
const setSettings = JSON.parse(JSON.stringify(newSettings))
|
||||
|
||||
if (setSettings.java_globals.JAVA_8?.path === '') {
|
||||
setSettings.java_globals.JAVA_8 = undefined
|
||||
}
|
||||
if (newSettings.java_globals?.JAVA_17?.path === '') {
|
||||
newSettings.java_globals.JAVA_17 = undefined
|
||||
if (setSettings.java_globals.JAVA_17?.path === '') {
|
||||
setSettings.java_globals.JAVA_17 = undefined
|
||||
}
|
||||
|
||||
newSettings.custom_java_args = newSettings.javaArgs.trim().split(/\s+/).filter(Boolean)
|
||||
newSettings.custom_env_args = newSettings.envArgs
|
||||
setSettings.custom_java_args = setSettings.javaArgs.trim().split(/\s+/).filter(Boolean)
|
||||
setSettings.custom_env_args = setSettings.envArgs
|
||||
.trim()
|
||||
.split(/\s+/)
|
||||
.filter(Boolean)
|
||||
.map((x) => x.split('=').filter(Boolean))
|
||||
|
||||
if (!newSettings.hooks.pre_launch) {
|
||||
newSettings.hooks.pre_launch = null
|
||||
if (!setSettings.hooks.pre_launch) {
|
||||
setSettings.hooks.pre_launch = null
|
||||
}
|
||||
if (!newSettings.hooks.wrapper) {
|
||||
newSettings.hooks.wrapper = null
|
||||
if (!setSettings.hooks.wrapper) {
|
||||
setSettings.hooks.wrapper = null
|
||||
}
|
||||
if (!newSettings.hooks.post_exit) {
|
||||
newSettings.hooks.post_exit = null
|
||||
if (!setSettings.hooks.post_exit) {
|
||||
setSettings.hooks.post_exit = null
|
||||
}
|
||||
|
||||
await set(newSettings)
|
||||
await set(setSettings)
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
<div class="input-stack">
|
||||
<button id="instance-icon" class="btn" @click="setIcon">
|
||||
<UploadIcon />
|
||||
Upload icon
|
||||
Select icon
|
||||
</button>
|
||||
<button class="btn" @click="resetIcon">
|
||||
<TrashIcon />
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
:action="clearFilters"
|
||||
>
|
||||
<ClearIcon />
|
||||
Clear Filters
|
||||
Clear filters
|
||||
</Button>
|
||||
</div>
|
||||
</Card>
|
||||
|
||||
@@ -2,7 +2,7 @@ import { defineStore } from 'pinia'
|
||||
|
||||
export const useTheming = defineStore('themeStore', {
|
||||
state: () => ({
|
||||
themeOptions: ['light', 'dark'],
|
||||
themeOptions: ['dark'],
|
||||
collapsedNavigation: false,
|
||||
selectedTheme: 'dark',
|
||||
darkTheme: true,
|
||||
|
||||
Reference in New Issue
Block a user