fix: misc issues in app & website (#5512)
* fix: debug info copy button overflowing badly * fix: updating instance's disabled mods re-enables them * fix: modpack update enables previous disabled mods * fix: add more languages #5508
This commit is contained in:
@@ -342,7 +342,7 @@ pub async fn update_project(
|
||||
.remove(project_path)
|
||||
&& let Some(update_version) = &file.update_version_id
|
||||
{
|
||||
let path = Profile::add_project_version(
|
||||
let mut path = Profile::add_project_version(
|
||||
profile_path,
|
||||
update_version,
|
||||
&state.pool,
|
||||
@@ -351,6 +351,11 @@ pub async fn update_project(
|
||||
)
|
||||
.await?;
|
||||
|
||||
if project_path.ends_with(".disabled") {
|
||||
path = Profile::toggle_disable_project(profile_path, &path)
|
||||
.await?;
|
||||
}
|
||||
|
||||
if path != project_path {
|
||||
Profile::remove_project(profile_path, project_path).await?;
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ use crate::{
|
||||
state::ProfileInstallStage,
|
||||
};
|
||||
use futures::try_join;
|
||||
use std::collections::HashSet;
|
||||
|
||||
/// Updates a managed modrinth pack to the version specified by new_version_id
|
||||
#[tracing::instrument]
|
||||
@@ -110,6 +111,22 @@ async fn replace_managed_modrinth(
|
||||
new_version_id: Option<&String>,
|
||||
ignore_lock: bool,
|
||||
) -> crate::Result<()> {
|
||||
// get disabled project ids to re-disable after update
|
||||
let state = crate::State::get().await?;
|
||||
let disabled_project_ids = profile
|
||||
.get_projects(
|
||||
Some(CacheBehaviour::MustRevalidate),
|
||||
&state.pool,
|
||||
&state.api_semaphore,
|
||||
)
|
||||
.await?
|
||||
.into_iter()
|
||||
.filter_map(|(file_path, project)| {
|
||||
(file_path.ends_with(".disabled"))
|
||||
.then_some(project.metadata?.project_id)
|
||||
})
|
||||
.collect::<HashSet<_>>();
|
||||
|
||||
crate::profile::edit(profile_path, |profile| {
|
||||
profile.install_stage = ProfileInstallStage::MinecraftInstalling;
|
||||
async { Ok(()) }
|
||||
@@ -191,5 +208,30 @@ async fn replace_managed_modrinth(
|
||||
)
|
||||
.await?;
|
||||
|
||||
// re-enable previously disabled project
|
||||
if !disabled_project_ids.is_empty()
|
||||
&& let Some(updated_profile) = get(profile_path).await?
|
||||
{
|
||||
for (file_path, project) in updated_profile
|
||||
.get_projects(
|
||||
Some(CacheBehaviour::MustRevalidate),
|
||||
&state.pool,
|
||||
&state.api_semaphore,
|
||||
)
|
||||
.await?
|
||||
{
|
||||
if !file_path.ends_with(".disabled")
|
||||
&& let Some(metadata) = &project.metadata
|
||||
&& disabled_project_ids.contains(&metadata.project_id)
|
||||
{
|
||||
crate::state::Profile::toggle_disable_project(
|
||||
profile_path,
|
||||
&file_path,
|
||||
)
|
||||
.await?;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
@@ -19,20 +19,78 @@ export const SERVER_REGIONS = [
|
||||
|
||||
export const SERVER_LANGUAGES = [
|
||||
{ code: 'en', name: 'English' },
|
||||
{ code: 'de', name: 'German' },
|
||||
{ code: 'fr', name: 'French' },
|
||||
{ code: 'es', name: 'Spanish' },
|
||||
{ code: 'pt', name: 'Portuguese' },
|
||||
{ code: 'fr', name: 'French' },
|
||||
{ code: 'de', name: 'German' },
|
||||
{ code: 'it', name: 'Italian' },
|
||||
{ code: 'nl', name: 'Dutch' },
|
||||
{ code: 'ru', name: 'Russian' },
|
||||
{ code: 'uk', name: 'Ukrainian' },
|
||||
{ code: 'pl', name: 'Polish' },
|
||||
{ code: 'cs', name: 'Czech' },
|
||||
{ code: 'sk', name: 'Slovak' },
|
||||
{ code: 'hu', name: 'Hungarian' },
|
||||
{ code: 'ro', name: 'Romanian' },
|
||||
{ code: 'bg', name: 'Bulgarian' },
|
||||
{ code: 'hr', name: 'Croatian' },
|
||||
{ code: 'sr', name: 'Serbian' },
|
||||
{ code: 'el', name: 'Greek' },
|
||||
{ code: 'tr', name: 'Turkish' },
|
||||
{ code: 'ar', name: 'Arabic' },
|
||||
{ code: 'he', name: 'Hebrew' },
|
||||
{ code: 'hi', name: 'Hindi' },
|
||||
{ code: 'bn', name: 'Bengali' },
|
||||
{ code: 'ur', name: 'Urdu' },
|
||||
{ code: 'zh', name: 'Chinese' },
|
||||
{ code: 'ja', name: 'Japanese' },
|
||||
{ code: 'ko', name: 'Korean' },
|
||||
{ code: 'nl', name: 'Dutch' },
|
||||
{ code: 'pl', name: 'Polish' },
|
||||
{ code: 'it', name: 'Italian' },
|
||||
{ code: 'tr', name: 'Turkish' },
|
||||
{ code: 'th', name: 'Thai' },
|
||||
{ code: 'vi', name: 'Vietnamese' },
|
||||
{ code: 'id', name: 'Indonesian' },
|
||||
{ code: 'ms', name: 'Malay' },
|
||||
{ code: 'tl', name: 'Filipino' },
|
||||
{ code: 'sv', name: 'Swedish' },
|
||||
{ code: 'no', name: 'Norwegian' },
|
||||
{ code: 'da', name: 'Danish' },
|
||||
{ code: 'fi', name: 'Finnish' },
|
||||
{ code: 'lt', name: 'Lithuanian' },
|
||||
{ code: 'lv', name: 'Latvian' },
|
||||
{ code: 'et', name: 'Estonian' },
|
||||
{ code: 'af', name: 'Afrikaans' },
|
||||
{ code: 'am', name: 'Amharic' },
|
||||
{ code: 'az', name: 'Azerbaijani' },
|
||||
{ code: 'be', name: 'Belarusian' },
|
||||
{ code: 'bs', name: 'Bosnian' },
|
||||
{ code: 'ca', name: 'Catalan' },
|
||||
{ code: 'eo', name: 'Esperanto' },
|
||||
{ code: 'eu', name: 'Basque' },
|
||||
{ code: 'fa', name: 'Persian' },
|
||||
{ code: 'ga', name: 'Irish' },
|
||||
{ code: 'gl', name: 'Galician' },
|
||||
{ code: 'hy', name: 'Armenian' },
|
||||
{ code: 'is', name: 'Icelandic' },
|
||||
{ code: 'ka', name: 'Georgian' },
|
||||
{ code: 'kk', name: 'Kazakh' },
|
||||
{ code: 'km', name: 'Khmer' },
|
||||
{ code: 'kn', name: 'Kannada' },
|
||||
{ code: 'lo', name: 'Lao' },
|
||||
{ code: 'mk', name: 'Macedonian' },
|
||||
{ code: 'ml', name: 'Malayalam' },
|
||||
{ code: 'mn', name: 'Mongolian' },
|
||||
{ code: 'mr', name: 'Marathi' },
|
||||
{ code: 'my', name: 'Burmese' },
|
||||
{ code: 'ne', name: 'Nepali' },
|
||||
{ code: 'pa', name: 'Punjabi' },
|
||||
{ code: 'si', name: 'Sinhala' },
|
||||
{ code: 'sl', name: 'Slovenian' },
|
||||
{ code: 'sq', name: 'Albanian' },
|
||||
{ code: 'sw', name: 'Swahili' },
|
||||
{ code: 'ta', name: 'Tamil' },
|
||||
{ code: 'te', name: 'Telugu' },
|
||||
{ code: 'uz', name: 'Uzbek' },
|
||||
{ code: 'yo', name: 'Yoruba' },
|
||||
{ code: 'zu', name: 'Zulu' },
|
||||
]
|
||||
|
||||
export const SERVER_SORT_TYPES: SortType[] = [
|
||||
|
||||
Reference in New Issue
Block a user