aboutsummaryrefslogtreecommitdiff
path: root/src-vue
diff options
context:
space:
mode:
authorGeckoEidechse <gecko.eidechse+git@pm.me>2024-01-27 22:21:12 +0100
committerGeckoEidechse <gecko.eidechse+git@pm.me>2024-01-27 22:21:12 +0100
commit5284445cab89bb5af6d415c825a2cfa45cb92592 (patch)
tree5880b3ab4b48fdf28c7c5189a874494fcac31b97 /src-vue
parentbcb77c2f326450e0cac78dd965cd6cb4dceaa736 (diff)
parent83ed4bedc183975f2f1a65b9cd38881410605904 (diff)
downloadFlightCore-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.json8
-rw-r--r--src-vue/package.json2
-rw-r--r--src-vue/src/components/PlayButton.vue9
-rw-r--r--src-vue/src/i18n/lang/en.json4
-rw-r--r--src-vue/src/views/SettingsView.vue32
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", {