You've already forked AstralRinth
forked from didirus/AstralRinth
Upgrading (#354)
* fixed no download bug * draft * Working version * minor improvements * cicd fix * merge conflicts * fixed major merge confusion * more conflicts, reformatting * fixed random bugs found * added second repair option to avoid confusion
This commit is contained in:
@@ -17,26 +17,26 @@ pub struct Logs {
|
||||
|
||||
/// Get all logs that exist for a given profile
|
||||
/// This is returned as an array of Log objects, sorted by datetime_string (the folder name, when the log was created)
|
||||
export async function get_logs(profileUuid, clearContents) {
|
||||
return await invoke('plugin:logs|logs_get_logs', { profileUuid, clearContents })
|
||||
export async function get_logs(profilePath, clearContents) {
|
||||
return await invoke('plugin:logs|logs_get_logs', { profilePath, clearContents })
|
||||
}
|
||||
|
||||
/// Get a profile's log by datetime_string (the folder name, when the log was created)
|
||||
export async function get_logs_by_datetime(profileUuid, datetimeString) {
|
||||
return await invoke('plugin:logs|logs_get_logs_by_datetime', { profileUuid, datetimeString })
|
||||
export async function get_logs_by_datetime(profilePath, datetimeString) {
|
||||
return await invoke('plugin:logs|logs_get_logs_by_datetime', { profilePath, datetimeString })
|
||||
}
|
||||
|
||||
/// Get a profile's stdout only by datetime_string (the folder name, when the log was created)
|
||||
export async function get_output_by_datetime(profileUuid, datetimeString) {
|
||||
return await invoke('plugin:logs|logs_get_output_by_datetime', { profileUuid, datetimeString })
|
||||
export async function get_output_by_datetime(profilePath, datetimeString) {
|
||||
return await invoke('plugin:logs|logs_get_output_by_datetime', { profilePath, datetimeString })
|
||||
}
|
||||
|
||||
/// Delete a profile's log by datetime_string (the folder name, when the log was created)
|
||||
export async function delete_logs_by_datetime(profileUuid, datetimeString) {
|
||||
return await invoke('plugin:logs|logs_delete_logs_by_datetime', { profileUuid, datetimeString })
|
||||
export async function delete_logs_by_datetime(profilePath, datetimeString) {
|
||||
return await invoke('plugin:logs|logs_delete_logs_by_datetime', { profilePath, datetimeString })
|
||||
}
|
||||
|
||||
/// Delete all logs for a given profile
|
||||
export async function delete_logs(profileUuid) {
|
||||
return await invoke('plugin:logs|logs_delete_logs', { profileUuid })
|
||||
export async function delete_logs(profilePath) {
|
||||
return await invoke('plugin:logs|logs_delete_logs', { profilePath })
|
||||
}
|
||||
|
||||
@@ -94,6 +94,21 @@ export async function remove_project(path, projectPath) {
|
||||
return await invoke('plugin:profile|profile_remove_project', { path, projectPath })
|
||||
}
|
||||
|
||||
// Update a managed Modrinth profile
|
||||
export async function update_managed_modrinth(path) {
|
||||
return await invoke('plugin:profile|profile_update_managed_modrinth', { path })
|
||||
}
|
||||
|
||||
// Repair a managed Modrinth profile
|
||||
export async function update_repair_modrinth(path) {
|
||||
return await invoke('plugin:profile|profile_repair_managed_modrinth', { path })
|
||||
}
|
||||
|
||||
// Gets whether a profile is managed by Modrinth
|
||||
export async function is_managed_modrinth(path) {
|
||||
return await invoke('plugin:profile|profile_is_managed_modrinth', { path })
|
||||
}
|
||||
|
||||
// Export a profile to .mrpack
|
||||
/// included_overrides is an array of paths to override folders to include (ie: 'mods', 'resource_packs')
|
||||
// Version id is optional (ie: 1.1.5)
|
||||
|
||||
@@ -9,6 +9,8 @@ import FloatingVue from 'floating-vue'
|
||||
import { get_opening_command, initialize_state } from '@/helpers/state'
|
||||
import loadCssMixin from './mixins/macCssFix.js'
|
||||
import { get } from '@/helpers/settings'
|
||||
import { invoke } from '@tauri-apps/api'
|
||||
import { isDev } from './helpers/utils.js'
|
||||
|
||||
const pinia = createPinia()
|
||||
|
||||
@@ -20,6 +22,19 @@ app.mixin(loadCssMixin)
|
||||
|
||||
const mountedApp = app.mount('#app')
|
||||
|
||||
const raw_invoke = async (plugin, fn, args) => {
|
||||
return await invoke('plugin:' + plugin + '|' + fn, args)
|
||||
}
|
||||
isDev()
|
||||
.then((dev) => {
|
||||
if (dev) {
|
||||
window.raw_invoke = raw_invoke
|
||||
}
|
||||
})
|
||||
.catch((err) => {
|
||||
console.error(err)
|
||||
})
|
||||
|
||||
initialize_state()
|
||||
.then(() => {
|
||||
// First, redirect to other landing page if we have that setting
|
||||
|
||||
@@ -277,8 +277,8 @@
|
||||
<label for="repair-profile">
|
||||
<span class="label__title">Repair instance</span>
|
||||
<span class="label__description">
|
||||
Reinstalls the instance and checks for corruption. Use this if your game is not launching
|
||||
due to launcher-related errors.
|
||||
Reinstalls Minecraft dependencies and checks for corruption. Use this if your game is not
|
||||
launching due to launcher-related errors.
|
||||
</span>
|
||||
</label>
|
||||
<button
|
||||
@@ -290,6 +290,24 @@
|
||||
<HammerIcon /> Repair
|
||||
</button>
|
||||
</div>
|
||||
<div v-if="props.instance.modrinth_update_version" class="adjacent-input">
|
||||
<label for="repair-profile">
|
||||
<span class="label__title">Repair modpack</span>
|
||||
<span class="label__description">
|
||||
Reinstalls Modrinth modpack and checks for corruption. Use this if your game is not
|
||||
launching due to your instance diverging from the Modrinth modpack.
|
||||
</span>
|
||||
</label>
|
||||
<button
|
||||
id="repair-profile"
|
||||
class="btn btn-highlight"
|
||||
:disabled="repairing"
|
||||
@click="repairModpack"
|
||||
>
|
||||
<HammerIcon /> Repair
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="adjacent-input">
|
||||
<label for="delete-profile">
|
||||
<span class="label__title">Delete instance</span>
|
||||
@@ -329,7 +347,15 @@ import {
|
||||
} from 'omorphia'
|
||||
import { Multiselect } from 'vue-multiselect'
|
||||
import { useRouter } from 'vue-router'
|
||||
import { edit, edit_icon, get_optimal_jre_key, install, list, remove } from '@/helpers/profile.js'
|
||||
import {
|
||||
edit,
|
||||
edit_icon,
|
||||
get_optimal_jre_key,
|
||||
install,
|
||||
list,
|
||||
remove,
|
||||
update_repair_modrinth,
|
||||
} from '@/helpers/profile.js'
|
||||
import { computed, readonly, ref, shallowRef, watch } from 'vue'
|
||||
import { get_max_memory } from '@/helpers/jre.js'
|
||||
import { get } from '@/helpers/settings.js'
|
||||
@@ -501,6 +527,17 @@ async function repairProfile() {
|
||||
})
|
||||
}
|
||||
|
||||
async function repairModpack() {
|
||||
repairing.value = true
|
||||
await update_repair_modrinth(props.instance.path).catch(handleError)
|
||||
repairing.value = false
|
||||
|
||||
mixpanel.track('InstanceRepair', {
|
||||
loader: props.instance.metadata.loader,
|
||||
game_version: props.instance.metadata.game_version,
|
||||
})
|
||||
}
|
||||
|
||||
const removing = ref(false)
|
||||
async function removeProfile() {
|
||||
removing.value = true
|
||||
|
||||
Reference in New Issue
Block a user