-
+
+
- + {{ fact.label }} + +
- + {{ fact.value }} + + +
+ {{ MOBILE_APP_TEXT.stepsTitle }} +
++ {{ MOBILE_APP_PAGE_TEXT.updateText }} +
++ {{ MOBILE_APP_TEXT.noneTitle }} +
++ {{ MOBILE_APP_PAGE_TEXT.noneText }} +
+
@@ -40,6 +45,10 @@ defineProps
+ {{ MOBILE_APP_PAGE_TEXT.lead }}
+
+ {{ MOBILE_APP_PAGE_TEXT.updateText }}
+
+ {{ MOBILE_APP_PAGE_TEXT.noneText }}
+
+ {{ factsLine }}
+
+ {{ MOBILE_APP_SETTINGS_TEXT.phoneScan }}
+
+ {{ MOBILE_APP_SETTINGS_TEXT.phoneTyping }}
+
+ {{ pageAddress }}
+
+ {{ MOBILE_APP_SETTINGS_TEXT.pcNote }}
+
+ {{ text }}
+
+
+
+
diff --git a/frontend/src/components/mobile-app/MobileAppIphoneNote.vue b/frontend/src/components/mobile-app/MobileAppIphoneNote.vue
new file mode 100644
index 0000000..2a873e7
--- /dev/null
+++ b/frontend/src/components/mobile-app/MobileAppIphoneNote.vue
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
diff --git a/frontend/src/composables/useAppReleases.ts b/frontend/src/composables/useAppReleases.ts
new file mode 100644
index 0000000..3fca640
--- /dev/null
+++ b/frontend/src/composables/useAppReleases.ts
@@ -0,0 +1,40 @@
+import type { AxiosRequestConfig } from 'axios'
+
+import { buildApiUrl, confirmSession, useApi } from './useApi'
+import { startBrowserDownload } from './useMail'
+import type { AppRelease } from '@/shared/types/app-release'
+
+/** 호출부가 정할 수 있는 요청 옵션 — 화면이 오류를 직접 그릴 때 silent, 취소가 필요하면 signal */
+export type AppReleaseRequestOptions = Pick
+
+ {{ MOBILE_APP_PAGE_TEXT.title }}
+
+
+
+
+
+ {{ MOBILE_APP_TEXT.stepsTitle }}
+
+
+ {{ MOBILE_APP_TEXT.noneTitle }}
+
+
+ {{ MOBILE_APP_SETTINGS_TEXT.androidTitle }}
+
+
+
+
+ {{ MOBILE_APP_SETTINGS_TEXT.phoneTitle }}
+
+
+ {{ MOBILE_APP_TEXT.stepsTitle }}
+
+
+ {{ MOBILE_APP_SETTINGS_TEXT.updateTitle }}
+
+