diff --git a/app/components/Common/Buttons.vue b/app/components/Common/Buttons.vue
index 0f11bd5..e519779 100644
--- a/app/components/Common/Buttons.vue
+++ b/app/components/Common/Buttons.vue
@@ -77,6 +77,16 @@ watch(
),
);
+const forceAnimateBLabel = () => {
+ animateLabelChange(
+ (v) => (bButtonOffsetY = v),
+ (l) => (displayedBLabel = l),
+ props.bLabel,
+ );
+};
+
+defineExpose({ forceAnimateBLabel });
+
onRender((ctx) => {
ctx.globalAlpha = props.opacity ?? 1;
ctx.font = "10px NDS10";
diff --git a/app/components/Settings/BottomScreen/Menus/Clock/Achievements.vue b/app/components/Settings/BottomScreen/Menus/Clock/Achievements.vue
index ff48fe8..c3a027c 100644
--- a/app/components/Settings/BottomScreen/Menus/Clock/Achievements.vue
+++ b/app/components/Settings/BottomScreen/Menus/Clock/Achievements.vue
@@ -35,6 +35,9 @@ const confirmationModal = useConfirmationModal();
const isAnimating = ref(true);
+const bLabel = ref($t("common.goBack"));
+const aLabel = ref($t("common.select"));
+
const SLIDE_OFFSET = 96;
const SLIDE_DURATION = 0.25;
const ARROW_SLIDE_DELAY = 0.15;
@@ -60,6 +63,14 @@ const animateIntro = async () => {
.timeline()
.to(animation, { offsetY: 0, duration: SLIDE_DURATION, ease: "none" }, 0)
.to(animation, { opacity: 1, duration: SLIDE_DURATION, ease: "none" }, 0)
+ .call(
+ () => {
+ bLabel.value = $t("common.cancel");
+ aLabel.value = $t("common.reset");
+ },
+ [],
+ SUBMENU_LABEL_CHANGE_DELAY,
+ )
.to(
animation,
{ viewAllOffsetY: 0, duration: ARROW_SLIDE_DURATION, ease: "none" },
@@ -197,8 +208,8 @@ onRender((ctx) => {
diff --git a/app/components/Settings/BottomScreen/Menus/Clock/Date.vue b/app/components/Settings/BottomScreen/Menus/Clock/Date.vue
index 123f1a9..5b74b86 100644
--- a/app/components/Settings/BottomScreen/Menus/Clock/Date.vue
+++ b/app/components/Settings/BottomScreen/Menus/Clock/Date.vue
@@ -1,6 +1,7 @@