diff --git a/btc-UI/src/app/components/touch-pad-menu/touch-pad-menu.component.html b/btc-UI/src/app/components/touch-pad-menu/touch-pad-menu.component.html
index 46b7068..81f3bed 100755
--- a/btc-UI/src/app/components/touch-pad-menu/touch-pad-menu.component.html
+++ b/btc-UI/src/app/components/touch-pad-menu/touch-pad-menu.component.html
@@ -26,7 +26,7 @@
>
shash ENTER
-
+
diff --git a/btc-UI/src/app/components/touch-pad-menu/touch-pad-menu.component.ts b/btc-UI/src/app/components/touch-pad-menu/touch-pad-menu.component.ts
index 7b9356c..4ed1d5d 100755
--- a/btc-UI/src/app/components/touch-pad-menu/touch-pad-menu.component.ts
+++ b/btc-UI/src/app/components/touch-pad-menu/touch-pad-menu.component.ts
@@ -1241,4 +1241,42 @@ printTicket() {
closeLimitPopup() {
this.showLimitPopup = false;
}
+ copyNumbers() {
+ if (!this.selectedLabel) {
+ console.warn('Please select a label before copying numbers.');
+ return;
+ }
+
+ const selections = this.selectionService.getSelections();
+ if (selections.length === 0) {
+ console.warn('No previous rows to copy from.');
+ return;
+ }
+
+ // Copy numbers from the most recent finalized row
+ const lastRow = selections[selections.length - 1];
+ const numbersToCopy = [...lastRow.numbers];
+
+ // Apply the copied numbers directly
+ this.selectedNumbers = numbersToCopy;
+
+ // Validate against actual runners
+ const validNumbers = this.selectedNumbers.filter(num => {
+ if (typeof num === 'string') return num === 'F' || num === '-';
+ return this.actualRunners.has(num);
+ });
+
+ this.selectedNumbers = validNumbers;
+
+ // Update the current row in the selection service
+ this.selectionService.updatePartial({
+ label: this.selectedLabel,
+ numbers: [...this.selectedNumbers],
+ isBoxed: this.isBoxed,
+ value: parseFloat(this.padValue) || 0
+ });
+
+ this.updateCanPrint();
+}
+
}
\ No newline at end of file