{
selectedPreset: installStore.selectedPreset.name,
});
- if(installStore.startServicesAfterInstall){
- await ControlService.startOneClickServices();
- }
+ await ControlService.startOneClickServices();
+
router.push("/node");
} catch (err) {
console.log("Installation Failed: ", err);
diff --git a/launcher/src/components/UI/staking-page/StakingScreen.vue b/launcher/src/components/UI/staking-page/StakingScreen.vue
new file mode 100644
index 000000000..4e91be3d8
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/StakingScreen.vue
@@ -0,0 +1,718 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/launcher/src/components/UI/staking-page/components/list/GroupList.vue b/launcher/src/components/UI/staking-page/components/list/GroupList.vue
new file mode 100644
index 000000000..4fa00e85c
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/components/list/GroupList.vue
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/launcher/src/components/UI/staking-page/components/list/ListBody.vue b/launcher/src/components/UI/staking-page/components/list/ListBody.vue
new file mode 100644
index 000000000..42a2eff85
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/components/list/ListBody.vue
@@ -0,0 +1,237 @@
+import { ref, computed, watchEffect, watch, onMounted, onUnmounted } from 'vue';
+
+
+
+
+
+
diff --git a/launcher/src/components/UI/staking-page/components/list/ListHeader.vue b/launcher/src/components/UI/staking-page/components/list/ListHeader.vue
new file mode 100644
index 000000000..69a64c87f
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/components/list/ListHeader.vue
@@ -0,0 +1,84 @@
+
+
+
+
Insert Validator Key
+
+
+
+
+
{{
+ stakingStore.currentGroup.name
+ }}
+
+
+
+
+
+
{{
+ stakingStore.selectedServiceToFilter.name
+ }}
+
WEB3SIGNER REMOTE KEY IMPORT
+
+
+
+
+
+
+
diff --git a/launcher/src/components/UI/staking-page/components/list/ListPanels.vue b/launcher/src/components/UI/staking-page/components/list/ListPanels.vue
new file mode 100644
index 000000000..f24a145df
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/components/list/ListPanels.vue
@@ -0,0 +1,250 @@
+
+
+
+
diff --git a/launcher/src/components/UI/staking-page/components/list/RemoteList.vue b/launcher/src/components/UI/staking-page/components/list/RemoteList.vue
new file mode 100644
index 000000000..49d20326e
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/components/list/RemoteList.vue
@@ -0,0 +1,70 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/launcher/src/components/UI/staking-page/components/list/panels/FeePanel.vue b/launcher/src/components/UI/staking-page/components/list/panels/FeePanel.vue
new file mode 100644
index 000000000..918d53c2c
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/components/list/panels/FeePanel.vue
@@ -0,0 +1,107 @@
+
+
+
+
+ Something went wrong
+
+
+
{{ alertMessage }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/launcher/src/components/UI/staking-page/components/list/panels/GraffitiPanel.vue b/launcher/src/components/UI/staking-page/components/list/panels/GraffitiPanel.vue
new file mode 100644
index 000000000..4db1527f8
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/components/list/panels/GraffitiPanel.vue
@@ -0,0 +1,101 @@
+
+
+
+
+ Something went wrong
+
+
Entered Graffiti Not Valid.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/launcher/src/components/UI/staking-page/components/list/panels/GroupingPanel.vue b/launcher/src/components/UI/staking-page/components/list/panels/GroupingPanel.vue
new file mode 100644
index 000000000..de8373dce
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/components/list/panels/GroupingPanel.vue
@@ -0,0 +1,112 @@
+
+
+
+
+ Something went wrong
+
+
+
{{ alertMessage }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/launcher/src/components/UI/staking-page/components/list/panels/InsertPanel.vue b/launcher/src/components/UI/staking-page/components/list/panels/InsertPanel.vue
new file mode 100644
index 000000000..dd460cfda
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/components/list/panels/InsertPanel.vue
@@ -0,0 +1,42 @@
+
+
+
+
+
{{ t("insertValidator.insertText") }}
+
+
+
+
+
diff --git a/launcher/src/components/UI/staking-page/components/list/panels/ManualRemote.vue b/launcher/src/components/UI/staking-page/components/list/panels/ManualRemote.vue
new file mode 100644
index 000000000..42650424e
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/components/list/panels/ManualRemote.vue
@@ -0,0 +1,66 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/launcher/src/components/UI/staking-page/components/list/panels/PasswordPanel.vue b/launcher/src/components/UI/staking-page/components/list/panels/PasswordPanel.vue
new file mode 100644
index 000000000..92d0b13b5
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/components/list/panels/PasswordPanel.vue
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/launcher/src/components/UI/staking-page/components/list/panels/RemotePanel.vue b/launcher/src/components/UI/staking-page/components/list/panels/RemotePanel.vue
new file mode 100644
index 000000000..f7a858d8a
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/components/list/panels/RemotePanel.vue
@@ -0,0 +1,72 @@
+
+
+
+
+
+
{{ web3SignerAssets.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/launcher/src/components/UI/staking-page/components/list/panels/RenameKey.vue b/launcher/src/components/UI/staking-page/components/list/panels/RenameKey.vue
new file mode 100644
index 000000000..b09fb544a
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/components/list/panels/RenameKey.vue
@@ -0,0 +1,123 @@
+
+
+
+
+ Something went wrong
+
+
+
{{ alertMessage }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/launcher/src/components/UI/staking-page/components/list/panels/SearchPanel.vue b/launcher/src/components/UI/staking-page/components/list/panels/SearchPanel.vue
new file mode 100644
index 000000000..5cb0c07d7
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/components/list/panels/SearchPanel.vue
@@ -0,0 +1,35 @@
+
+
+
+
+
diff --git a/launcher/src/components/UI/staking-page/components/list/panels/ValidatorPanel.vue b/launcher/src/components/UI/staking-page/components/list/panels/ValidatorPanel.vue
new file mode 100644
index 000000000..e35efaea7
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/components/list/panels/ValidatorPanel.vue
@@ -0,0 +1,32 @@
+
+
+
+
+
+
{{ service.name }}
+
+
+
+
+
diff --git a/launcher/src/components/UI/staking-page/components/list/rows/GroupRow.vue b/launcher/src/components/UI/staking-page/components/list/rows/GroupRow.vue
new file mode 100644
index 000000000..c73329919
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/components/list/rows/GroupRow.vue
@@ -0,0 +1,107 @@
+import { useStakingStore } from '@/store/theStaking';
+
+
+
+
+
{{ groupName }}
+
+
+ {{ `Contains ${getkeyNumbers} key (s)` }}
+
+
+
+ {{ getBalanceSum }}
+
+
+
+
+
+
diff --git a/launcher/src/components/UI/staking-page/components/list/rows/KeyRow.vue b/launcher/src/components/UI/staking-page/components/list/rows/KeyRow.vue
new file mode 100644
index 000000000..8ddc2861e
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/components/list/rows/KeyRow.vue
@@ -0,0 +1,233 @@
+import { computed } from 'vue';
+
+
+
+
+
+
+
+
+
+ {{ displayText }}
+
+
+
+
{{ props.item.activeSince }}
+
+
+
+
+
{{ props.item.balance }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/launcher/src/components/UI/staking-page/components/list/rows/PreviewKey.vue b/launcher/src/components/UI/staking-page/components/list/rows/PreviewKey.vue
new file mode 100644
index 000000000..d64f1551f
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/components/list/rows/PreviewKey.vue
@@ -0,0 +1,47 @@
+import { computed, ref } from 'vue';
+
+
+
+
+
+
+
+
+
{{ props.item.pubkey }}
+
+
+
+
+
+
+
+
diff --git a/launcher/src/components/UI/staking-page/components/list/rows/RemoteRow.vue b/launcher/src/components/UI/staking-page/components/list/rows/RemoteRow.vue
new file mode 100644
index 000000000..42adebc10
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/components/list/rows/RemoteRow.vue
@@ -0,0 +1,25 @@
+import { computed, ref } from 'vue';
+
+
+
+
+
+
+
+
+ {{ props.item.pubkey }}
+
+
+
+
+
diff --git a/launcher/src/components/UI/staking-page/components/list/rows/SkeletonRow.vue b/launcher/src/components/UI/staking-page/components/list/rows/SkeletonRow.vue
new file mode 100644
index 000000000..272a9aceb
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/components/list/rows/SkeletonRow.vue
@@ -0,0 +1,44 @@
+import { computed } from 'vue';
+
+
+
+
diff --git a/launcher/src/components/UI/staking-page/components/management/ClientCommands.vue b/launcher/src/components/UI/staking-page/components/management/ClientCommands.vue
new file mode 100644
index 000000000..b5b628f95
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/components/management/ClientCommands.vue
@@ -0,0 +1,29 @@
+
+
+
+
+
diff --git a/launcher/src/components/UI/staking-page/components/management/EpochDuty.vue b/launcher/src/components/UI/staking-page/components/management/EpochDuty.vue
new file mode 100644
index 000000000..41350dcd3
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/components/management/EpochDuty.vue
@@ -0,0 +1,68 @@
+import { ref } from 'vue';
+
+
+
+
diff --git a/launcher/src/components/UI/staking-page/components/management/ValidatorRewards.vue b/launcher/src/components/UI/staking-page/components/management/ValidatorRewards.vue
new file mode 100644
index 000000000..112863eeb
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/components/management/ValidatorRewards.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
diff --git a/launcher/src/components/UI/staking-page/components/management/components/client-commands/ButtonBox.vue b/launcher/src/components/UI/staking-page/components/management/components/client-commands/ButtonBox.vue
new file mode 100644
index 000000000..89df39eaf
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/components/management/components/client-commands/ButtonBox.vue
@@ -0,0 +1,57 @@
+
+
+
+
+
+
diff --git a/launcher/src/components/UI/staking-page/components/management/components/client-commands/ButtonRow.vue b/launcher/src/components/UI/staking-page/components/management/components/client-commands/ButtonRow.vue
new file mode 100644
index 000000000..a9f32fd6d
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/components/management/components/client-commands/ButtonRow.vue
@@ -0,0 +1,60 @@
+import { ref } from 'vue'; import { useStakingStore } from '@/store/theStaking';
+
+
+
+
{{
+ props.button.text
+ }}
+
+
+
+
diff --git a/launcher/src/components/UI/staking-page/components/management/components/client-commands/ValidatorState.vue b/launcher/src/components/UI/staking-page/components/management/components/client-commands/ValidatorState.vue
new file mode 100644
index 000000000..874936dd8
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/components/management/components/client-commands/ValidatorState.vue
@@ -0,0 +1,82 @@
+
+
+
+
+
+
+
+
+
+
+ {{
+ getServiceState
+ }}
+
+
+
+
{{ stakingStore.keyNumbers }}
+
+
+
+
+
diff --git a/launcher/src/components/UI/staking-page/components/management/components/epoch-duty/BlockEpoch.vue b/launcher/src/components/UI/staking-page/components/management/components/epoch-duty/BlockEpoch.vue
new file mode 100644
index 000000000..527b5c4fe
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/components/management/components/epoch-duty/BlockEpoch.vue
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
diff --git a/launcher/src/components/UI/staking-page/components/management/components/epoch-duty/CommitteeEpoch.vue b/launcher/src/components/UI/staking-page/components/management/components/epoch-duty/CommitteeEpoch.vue
new file mode 100644
index 000000000..c97243890
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/components/management/components/epoch-duty/CommitteeEpoch.vue
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
diff --git a/launcher/src/components/UI/staking-page/components/management/components/epoch-duty/DutyBody.vue b/launcher/src/components/UI/staking-page/components/management/components/epoch-duty/DutyBody.vue
new file mode 100644
index 000000000..4b40f7099
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/components/management/components/epoch-duty/DutyBody.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
diff --git a/launcher/src/components/UI/staking-page/components/management/components/epoch-duty/DutyFooter.vue b/launcher/src/components/UI/staking-page/components/management/components/epoch-duty/DutyFooter.vue
new file mode 100644
index 000000000..df2515608
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/components/management/components/epoch-duty/DutyFooter.vue
@@ -0,0 +1,15 @@
+
+
+ CLIENT SELECTED:
+ {{ props.client.name }}
+
+
+
+
diff --git a/launcher/src/components/UI/staking-page/components/management/components/epoch-duty/DutyHeader.vue b/launcher/src/components/UI/staking-page/components/management/components/epoch-duty/DutyHeader.vue
new file mode 100644
index 000000000..8b03518e4
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/components/management/components/epoch-duty/DutyHeader.vue
@@ -0,0 +1,27 @@
+
+
+
+
EPOCH {{ stakingStore.currentEpoch }}# DUTY
+
+ {{
+ stakingStore.currentSlot % stakingStore.slotsPerEpoch | 0
+ }}
+
+
+
+
diff --git a/launcher/src/components/UI/staking-page/components/management/components/epoch-duty/TheEpoch.vue b/launcher/src/components/UI/staking-page/components/management/components/epoch-duty/TheEpoch.vue
new file mode 100644
index 000000000..c18174c7c
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/components/management/components/epoch-duty/TheEpoch.vue
@@ -0,0 +1,23 @@
+import { computed } from 'vue';
+
+
+ {{
+ props.dutiesNumber > 0 ? "Pending Duties" : "No Duties"
+ }}
+ {{ props.dutiesNumber }}
+
+
+
diff --git a/launcher/src/components/UI/staking-page/components/management/components/val-rewards/AttestationReward.vue b/launcher/src/components/UI/staking-page/components/management/components/val-rewards/AttestationReward.vue
new file mode 100644
index 000000000..3d6c97b03
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/components/management/components/val-rewards/AttestationReward.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
Reward
+
+
+ 333.211213654080808
+
+
+
diff --git a/launcher/src/components/UI/staking-page/components/management/components/val-rewards/BlockReward.vue b/launcher/src/components/UI/staking-page/components/management/components/val-rewards/BlockReward.vue
new file mode 100644
index 000000000..dd9a9695b
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/components/management/components/val-rewards/BlockReward.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
Reward
+
+
+ 333.211213654080808
+
+
+
diff --git a/launcher/src/components/UI/staking-page/components/management/components/val-rewards/CommitteeReward.vue b/launcher/src/components/UI/staking-page/components/management/components/val-rewards/CommitteeReward.vue
new file mode 100644
index 000000000..900c9a794
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/components/management/components/val-rewards/CommitteeReward.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
Reward
+
+
+ 333.211213654080808
+
+
+
diff --git a/launcher/src/components/UI/staking-page/components/management/components/val-rewards/EpochSlot.vue b/launcher/src/components/UI/staking-page/components/management/components/val-rewards/EpochSlot.vue
new file mode 100644
index 000000000..b2e90a0f2
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/components/management/components/val-rewards/EpochSlot.vue
@@ -0,0 +1,28 @@
+
+
+
+ Epoch
+
+ {{ stakingStore.currentEpoch }}
+
+
+
{{ (stakingStore.currentSlot % stakingStore.slotsPerEpoch | 0) + " / " + stakingStore.slotsPerEpoch }} #
+
+
+ Slot
+ {{ stakingStore.currentSlot }}
+
+
+
+
+
diff --git a/launcher/src/components/UI/staking-page/components/management/components/val-rewards/TotalBalance.vue b/launcher/src/components/UI/staking-page/components/management/components/val-rewards/TotalBalance.vue
new file mode 100644
index 000000000..884785c2b
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/components/management/components/val-rewards/TotalBalance.vue
@@ -0,0 +1,40 @@
+
+
+
+
+
+
{{ totalKeys }}
+
+
Total
+
+
+ {{ totalBalance }}
+
+
+
+
+
diff --git a/launcher/src/components/UI/staking-page/components/modals/ImportRemote.vue b/launcher/src/components/UI/staking-page/components/modals/ImportRemote.vue
new file mode 100644
index 000000000..e1b6cf7e3
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/components/modals/ImportRemote.vue
@@ -0,0 +1,97 @@
+
+
+
+
+
+
+
+
+ Please wait until the remote key is imported.
+
+
+ Importing
+ .
+ .
+ .
+
+
+
+
+
+
+
+
diff --git a/launcher/src/components/UI/staking-page/components/modals/ImportValidator.vue b/launcher/src/components/UI/staking-page/components/modals/ImportValidator.vue
new file mode 100644
index 000000000..ac2f8c30e
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/components/modals/ImportValidator.vue
@@ -0,0 +1,258 @@
+
+
+
+
+
+
+
+ Doppelgänger Protection is
+ {{ stakingStore.doppelgangerStatus ? "Enabled" : "Disabled" }}.
+
+
+
+
+
+
+
+
+
+ Importing
+ .
+ .
+ .
+
+
+
+
+
+
+
+
diff --git a/launcher/src/components/UI/staking-page/components/modals/RemoveGroup.vue b/launcher/src/components/UI/staking-page/components/modals/RemoveGroup.vue
new file mode 100644
index 000000000..710192767
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/components/modals/RemoveGroup.vue
@@ -0,0 +1,52 @@
+
+
+
+
+
+ Group ID:
+ {{ group.id }}
+
+
+ Group Name:
+ {{ group.name }}
+
+
+
+
+
+
+
diff --git a/launcher/src/components/UI/staking-page/components/modals/RemoveValidators.vue b/launcher/src/components/UI/staking-page/components/modals/RemoveValidators.vue
new file mode 100644
index 000000000..8a612702d
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/components/modals/RemoveValidators.vue
@@ -0,0 +1,150 @@
+
+
+
+
+
+
+ {{
+ `${key.key.substring(0, 28)} . . . ${key.key.substring(key.key.length - 28)}`
+ }}
+
+
+
+ {{
+ `${localKeyNo} key(s) deleted `
+ }}
+
+
+ {{
+ `${remoteKeyNo} remote key(s) deleted `
+ }}
+
+
+
+
+
+
+
+
+
+
diff --git a/launcher/src/components/UI/staking-page/components/modals/RiskWarning.vue b/launcher/src/components/UI/staking-page/components/modals/RiskWarning.vue
new file mode 100644
index 000000000..1a3e88fc0
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/components/modals/RiskWarning.vue
@@ -0,0 +1,56 @@
+
+
+
+
+
+ {{ t("displayValidator.warningMessage") }}
+
+
+ {{ $t("displayValidator.warningAlarm") }}
+
+
+
+ {{ $t("displayValidator.warningQuestion") }}
+
+
+
+ Otherwise, click outside to stop importing.
+
+
+
+
+
+
+
diff --git a/launcher/src/components/UI/staking-page/components/modals/SlashingDBModal.vue b/launcher/src/components/UI/staking-page/components/modals/SlashingDBModal.vue
new file mode 100644
index 000000000..f83fd1f15
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/components/modals/SlashingDBModal.vue
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/launcher/src/components/UI/staking-page/components/modals/StakingCustomModal.vue b/launcher/src/components/UI/staking-page/components/modals/StakingCustomModal.vue
new file mode 100644
index 000000000..a0a5eb54b
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/components/modals/StakingCustomModal.vue
@@ -0,0 +1,195 @@
+import { useNodeManage } from '@/store/nodeManage'; import { computed } from 'vue';
+
+
+
+
+
+
+ {{ mainTitle }}
+
+
+
+ {{ subTitle }}
+ {{ messageText }}
+
+
+
+
+
+
+
+
{{
+ props.clickOutsideText
+ }}
+
+
+
+
+
+
+
diff --git a/launcher/src/components/UI/staking-page/components/modals/WithdrawMultiple.vue b/launcher/src/components/UI/staking-page/components/modals/WithdrawMultiple.vue
new file mode 100644
index 000000000..a44350e2d
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/components/modals/WithdrawMultiple.vue
@@ -0,0 +1,187 @@
+
+
+
+
+
+
+
+ {{ getStatus.success }} Validator(s) Successfully Exited.
+
+
+
+ {{ getStatus.failure }} Validator(s) Failed to exit.
+
+
+
+
+
+ {{ useTruncate(item.pubkey, 20, 20) }}:
+ Successfully Exited.
+
+
+
+
+ {{ useTruncate(item?.pubkey, 20, 20) }}:
+ Exit Failed.
+
+
{{ item.msg }}
+
+
+
+
+
+ {{ getTextMessage }}
+
+
+
+
+
+
+
+
+
+
diff --git a/launcher/src/components/UI/staking-page/sections/DisabledSection.vue b/launcher/src/components/UI/staking-page/sections/DisabledSection.vue
new file mode 100644
index 000000000..6070e9e9a
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/sections/DisabledSection.vue
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+ {{ t("disableStake.message") }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/launcher/src/components/UI/staking-page/sections/ListSection.vue b/launcher/src/components/UI/staking-page/sections/ListSection.vue
new file mode 100644
index 000000000..2f9c19a05
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/sections/ListSection.vue
@@ -0,0 +1,126 @@
+
+
+
+
diff --git a/launcher/src/components/UI/staking-page/sections/ManagementSection.vue b/launcher/src/components/UI/staking-page/sections/ManagementSection.vue
new file mode 100644
index 000000000..a19e81dd9
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/sections/ManagementSection.vue
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
diff --git a/launcher/src/components/UI/staking-page/sections/SidebarSection.vue b/launcher/src/components/UI/staking-page/sections/SidebarSection.vue
new file mode 100644
index 000000000..7b0f8b658
--- /dev/null
+++ b/launcher/src/components/UI/staking-page/sections/SidebarSection.vue
@@ -0,0 +1,93 @@
+
+
+
+
diff --git a/launcher/src/components/UI/task-manager/SubTasks.vue b/launcher/src/components/UI/task-manager/SubTasks.vue
index 847bc0832..e9fee3601 100755
--- a/launcher/src/components/UI/task-manager/SubTasks.vue
+++ b/launcher/src/components/UI/task-manager/SubTasks.vue
@@ -63,7 +63,8 @@ export default {
props: {
subTasks: {
type: Array,
- required: true,
+ required: false,
+ default: () => [],
},
},
data() {
diff --git a/launcher/src/components/UI/the-control/ControlScreen.vue b/launcher/src/components/UI/the-control/ControlScreen.vue
index 0bfcfeffb..facf8cee4 100644
--- a/launcher/src/components/UI/the-control/ControlScreen.vue
+++ b/launcher/src/components/UI/the-control/ControlScreen.vue
@@ -96,7 +96,7 @@