diff options
author | GeckoEidechse <gecko.eidechse+git@pm.me> | 2024-01-27 22:21:12 +0100 |
---|---|---|
committer | GeckoEidechse <gecko.eidechse+git@pm.me> | 2024-01-27 22:21:12 +0100 |
commit | 5284445cab89bb5af6d415c825a2cfa45cb92592 (patch) | |
tree | 5880b3ab4b48fdf28c7c5189a874494fcac31b97 /src-vue | |
parent | bcb77c2f326450e0cac78dd965cd6cb4dceaa736 (diff) | |
parent | 83ed4bedc183975f2f1a65b9cd38881410605904 (diff) | |
download | FlightCore-5284445cab89bb5af6d415c825a2cfa45cb92592.tar.gz FlightCore-5284445cab89bb5af6d415c825a2cfa45cb92592.zip |
Merge branch 'main' into refactor/pass-launch-options-object
Diffstat (limited to 'src-vue')
-rw-r--r-- | src-vue/package-lock.json | 8 | ||||
-rw-r--r-- | src-vue/package.json | 2 | ||||
-rw-r--r-- | src-vue/src/components/PlayButton.vue | 9 | ||||
-rw-r--r-- | src-vue/src/i18n/lang/en.json | 4 | ||||
-rw-r--r-- | src-vue/src/views/SettingsView.vue | 32 |
5 files changed, 46 insertions, 9 deletions
diff --git a/src-vue/package-lock.json b/src-vue/package-lock.json index 499f5352..e087cec2 100644 --- a/src-vue/package-lock.json +++ b/src-vue/package-lock.json @@ -9,7 +9,7 @@ "version": "0.0.0", "dependencies": { "@element-plus/icons-vue": "^2.0.9", - "element-plus": "^2.4.4", + "element-plus": "^2.5.3", "marked": "^11.1.1", "tauri-plugin-store-api": "github:tauri-apps/tauri-plugin-store#9bd993aa67766596638bbfd91e79a1bf8f632014", "vue": "^3.4.15", @@ -491,9 +491,9 @@ "dev": true }, "node_modules/element-plus": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.4.4.tgz", - "integrity": "sha512-TlKubXJgxwhER0dw+8ULn9hr9kZjraV4R6Q/eidwWUwCKxwXYPBGmMKsZ/85tlxlhMYbcLZd/YZh6G3QkHX4fg==", + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.5.3.tgz", + "integrity": "sha512-wmtstxaMkD6UinIgD+45CjrhbRh4u0vt+/GgxfPeMLt5pDpIVwZFjkUaVcWqqxcxd5a80HP3XlDF74fW7wim9A==", "dependencies": { "@ctrl/tinycolor": "^3.4.1", "@element-plus/icons-vue": "^2.3.1", diff --git a/src-vue/package.json b/src-vue/package.json index c5777b16..32be0476 100644 --- a/src-vue/package.json +++ b/src-vue/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "@element-plus/icons-vue": "^2.0.9", - "element-plus": "^2.4.4", + "element-plus": "^2.5.3", "marked": "^11.1.1", "tauri-plugin-store-api": "github:tauri-apps/tauri-plugin-store#9bd993aa67766596638bbfd91e79a1bf8f632014", "vue": "^3.4.15", diff --git a/src-vue/src/components/PlayButton.vue b/src-vue/src/components/PlayButton.vue index 83a23ae5..57b408c2 100644 --- a/src-vue/src/components/PlayButton.vue +++ b/src-vue/src/components/PlayButton.vue @@ -119,6 +119,10 @@ export default defineComponent({ </template> <style scoped> +nav { + margin-right: 20px; +} + button { text-transform: uppercase; padding: 30px; @@ -133,12 +137,11 @@ button { /* Release canal selector */ .el-select { - width: 0; - margin-right: 50px; + width: 31px; border-left: 1px solid rgb(176, 205, 255); } -.el-select:deep(.el-input__wrapper) { +.el-select:deep(.el-select__wrapper) { padding: 0 9px 0 0; background-color: var(--el-color-primary); border: none; diff --git a/src-vue/src/i18n/lang/en.json b/src-vue/src/i18n/lang/en.json index 6bbb6919..e0460fd1 100644 --- a/src-vue/src/i18n/lang/en.json +++ b/src-vue/src/i18n/lang/en.json @@ -119,7 +119,9 @@ "title": "Profiles", "delete_confirm": "Are you sure to delete this profile?", "delete": "Delete", - "clone": "Clone" + "clone": "Clone", + "new_profile_name": "Enter the new Profile name", + "create_empty": "New Profile" } }, diff --git a/src-vue/src/views/SettingsView.vue b/src-vue/src/views/SettingsView.vue index 70bffbc5..16b894d5 100644 --- a/src-vue/src/views/SettingsView.vue +++ b/src-vue/src/views/SettingsView.vue @@ -21,6 +21,9 @@ </el-button> </template> </el-popconfirm> + <el-button @click="cloneProfileDialog(scope.row.name)"> + {{ $t('settings.profile.dialog.clone') }} + </el-button> </template> </el-table-column> </el-table> @@ -140,6 +143,7 @@ import LanguageSelector from "../components/LanguageSelector.vue"; const persistentStore = new Store('flight-core-settings.json'); import { open } from '@tauri-apps/api/shell'; import { i18n } from '../main'; +import { ElMessageBox } from 'element-plus' export default defineComponent({ name: "SettingsView", @@ -274,6 +278,34 @@ export default defineComponent({ showErrorNotification(error); }); }, + async cloneProfileDialog(profile: string) { + ElMessageBox.prompt( + i18n.global.tc("settings.profile.dialog.new_profile_name"), + i18n.global.tc("settings.profile.dialog.title"), + { + confirmButtonText: i18n.global.tc("generic.confirm"), + cancelButtonText: i18n.global.tc("generic.cancel"), + } + ).then(async ({ value }) => { + await this.cloneProfile(profile, value); + }).catch(() => { + // Nothing to do here + }) + }, + async cloneProfile(old_profile: string, new_profile: string) { + let store = this.$store; + await invoke("clone_profile", { + gameInstall: store.state.game_install, + oldProfile: old_profile, + newProfile: new_profile + }).then(async (message) => { + store.commit('fetchProfiles'); + showNotification('Success'); + }).catch((error) => { + console.error(error); + showErrorNotification(error); + }); + }, async deleteProfile(profile: string) { let store = this.$store; await invoke("delete_profile", { |