diff --git a/frontend/index.html b/frontend/index.html index fa4ffaf..6f55458 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -2,7 +2,12 @@ - + + + + + + diff --git a/frontend/public/apple-touch-icon-180.png b/frontend/public/apple-touch-icon-180.png new file mode 100644 index 0000000..5822916 Binary files /dev/null and b/frontend/public/apple-touch-icon-180.png differ diff --git a/frontend/public/favicon-16.png b/frontend/public/favicon-16.png new file mode 100644 index 0000000..3db395a Binary files /dev/null and b/frontend/public/favicon-16.png differ diff --git a/frontend/public/favicon-32.png b/frontend/public/favicon-32.png new file mode 100644 index 0000000..f7efa97 Binary files /dev/null and b/frontend/public/favicon-32.png differ diff --git a/frontend/public/favicon-48.png b/frontend/public/favicon-48.png new file mode 100644 index 0000000..e274f7d Binary files /dev/null and b/frontend/public/favicon-48.png differ diff --git a/frontend/public/favicon.ico b/frontend/public/favicon.ico index df36fcf..8285080 100644 Binary files a/frontend/public/favicon.ico and b/frontend/public/favicon.ico differ diff --git a/frontend/public/favicon.svg b/frontend/public/favicon.svg new file mode 100644 index 0000000..a8fe26b --- /dev/null +++ b/frontend/public/favicon.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/frontend/public/manifest.webmanifest b/frontend/public/manifest.webmanifest new file mode 100644 index 0000000..9c75881 --- /dev/null +++ b/frontend/public/manifest.webmanifest @@ -0,0 +1,28 @@ +{ + "name": "Relay — 사내 업무 지시 플랫폼", + "short_name": "Relay", + "description": "프로젝트 단위로 업무를 정리하고 담당자에게 지시하는 사내 업무 플랫폼", + "start_url": "/", + "display": "standalone", + "background_color": "#ffffff", + "theme_color": "#4f46e5", + "icons": [ + { + "src": "/favicon.svg", + "type": "image/svg+xml", + "sizes": "any" + }, + { + "src": "/relay-icon-256.png", + "type": "image/png", + "sizes": "256x256", + "purpose": "any maskable" + }, + { + "src": "/relay-icon-512.png", + "type": "image/png", + "sizes": "512x512", + "purpose": "any maskable" + } + ] +} diff --git a/frontend/public/relay-icon-256.png b/frontend/public/relay-icon-256.png new file mode 100644 index 0000000..0481571 Binary files /dev/null and b/frontend/public/relay-icon-256.png differ diff --git a/frontend/public/relay-icon-512.png b/frontend/public/relay-icon-512.png new file mode 100644 index 0000000..e10ac5d Binary files /dev/null and b/frontend/public/relay-icon-512.png differ diff --git a/frontend/src/assets/images/logo/png/apple-touch-icon-180.png b/frontend/src/assets/images/logo/png/apple-touch-icon-180.png index bf91048..5822916 100644 Binary files a/frontend/src/assets/images/logo/png/apple-touch-icon-180.png and b/frontend/src/assets/images/logo/png/apple-touch-icon-180.png differ diff --git a/frontend/src/assets/images/logo/png/favicon-16.png b/frontend/src/assets/images/logo/png/favicon-16.png index f15289b..3db395a 100644 Binary files a/frontend/src/assets/images/logo/png/favicon-16.png and b/frontend/src/assets/images/logo/png/favicon-16.png differ diff --git a/frontend/src/assets/images/logo/png/favicon-32.png b/frontend/src/assets/images/logo/png/favicon-32.png index 932495c..f7efa97 100644 Binary files a/frontend/src/assets/images/logo/png/favicon-32.png and b/frontend/src/assets/images/logo/png/favicon-32.png differ diff --git a/frontend/src/assets/images/logo/png/favicon-48.png b/frontend/src/assets/images/logo/png/favicon-48.png index dc2983a..e274f7d 100644 Binary files a/frontend/src/assets/images/logo/png/favicon-48.png and b/frontend/src/assets/images/logo/png/favicon-48.png differ diff --git a/frontend/src/assets/images/logo/png/relay-icon-1024.png b/frontend/src/assets/images/logo/png/relay-icon-1024.png index ddef9b3..213c989 100644 Binary files a/frontend/src/assets/images/logo/png/relay-icon-1024.png and b/frontend/src/assets/images/logo/png/relay-icon-1024.png differ diff --git a/frontend/src/assets/images/logo/png/relay-icon-256.png b/frontend/src/assets/images/logo/png/relay-icon-256.png index 315fe70..0481571 100644 Binary files a/frontend/src/assets/images/logo/png/relay-icon-256.png and b/frontend/src/assets/images/logo/png/relay-icon-256.png differ diff --git a/frontend/src/assets/images/logo/png/relay-icon-512.png b/frontend/src/assets/images/logo/png/relay-icon-512.png index 8686526..e10ac5d 100644 Binary files a/frontend/src/assets/images/logo/png/relay-icon-512.png and b/frontend/src/assets/images/logo/png/relay-icon-512.png differ diff --git a/frontend/src/assets/images/logo/svg/relay-app-icon.svg b/frontend/src/assets/images/logo/svg/relay-app-icon.svg index d170018..a8fe26b 100644 --- a/frontend/src/assets/images/logo/svg/relay-app-icon.svg +++ b/frontend/src/assets/images/logo/svg/relay-app-icon.svg @@ -1,13 +1,13 @@ - - + + - - - - - - \ No newline at end of file + + + + + + diff --git a/frontend/src/components/RelayMark.vue b/frontend/src/components/RelayMark.vue new file mode 100644 index 0000000..cd503d1 --- /dev/null +++ b/frontend/src/components/RelayMark.vue @@ -0,0 +1,35 @@ + + + + + diff --git a/frontend/src/layouts/AppShell.vue b/frontend/src/layouts/AppShell.vue index 5a6dd5f..c953ede 100644 --- a/frontend/src/layouts/AppShell.vue +++ b/frontend/src/layouts/AppShell.vue @@ -7,6 +7,7 @@ import { useRoute, useRouter, RouterLink } from 'vue-router' import { useAuthStore } from '@/stores/auth.store' import { useNotificationStore } from '@/stores/notification.store' import UserAvatar from '@/components/UserAvatar.vue' +import RelayMark from '@/components/RelayMark.vue' import AgentChatPanel from '@/components/AgentChatPanel.vue' import type { NotificationView } from '@/types/notification' @@ -96,7 +97,7 @@ async function onLogout() { title="Relay" > Relay diff --git a/frontend/src/pages/relay/EmailVerifiedPage.vue b/frontend/src/pages/relay/EmailVerifiedPage.vue index 958deac..f66adcb 100644 --- a/frontend/src/pages/relay/EmailVerifiedPage.vue +++ b/frontend/src/pages/relay/EmailVerifiedPage.vue @@ -3,6 +3,7 @@ // 브라우저가 스크립트의 창 닫기를 차단할 수 있으므로(사용자가 직접 연 탭), // 안내 문구를 함께 보여 사용자가 직접 닫고 기존 화면에서 로그인하도록 한다. import { computed, onBeforeUnmount, onMounted, ref } from 'vue' +import RelayMark from '@/components/RelayMark.vue' import { useRoute, RouterLink } from 'vue-router' const route = useRoute() @@ -30,7 +31,7 @@ onBeforeUnmount(() => {
- Relay + Relay
diff --git a/frontend/src/pages/relay/ForgotPasswordPage.vue b/frontend/src/pages/relay/ForgotPasswordPage.vue index c18d87f..939a6d9 100644 --- a/frontend/src/pages/relay/ForgotPasswordPage.vue +++ b/frontend/src/pages/relay/ForgotPasswordPage.vue @@ -3,6 +3,7 @@ // 이메일 입력(1단계) → 전송 완료 안내(2단계). 존재 여부는 노출하지 않는다. import { onBeforeUnmount, ref } from 'vue' import { RouterLink } from 'vue-router' +import RelayMark from '@/components/RelayMark.vue' import { useAuth } from '@/composables/useAuth' const { forgotPassword } = useAuth() @@ -66,7 +67,7 @@ onBeforeUnmount(() => {
@@ -106,7 +107,7 @@ onBeforeUnmount(() => {
diff --git a/frontend/src/pages/relay/LoginPage.vue b/frontend/src/pages/relay/LoginPage.vue index 4b37e34..78160b0 100644 --- a/frontend/src/pages/relay/LoginPage.vue +++ b/frontend/src/pages/relay/LoginPage.vue @@ -2,6 +2,7 @@ // 로그인 — 좌측 브랜드 패널 + 우측 로그인 폼 import { computed, ref } from 'vue' import { useRoute, useRouter } from 'vue-router' +import RelayMark from '@/components/RelayMark.vue' import { useAuthStore } from '@/stores/auth.store' const route = useRoute() @@ -69,7 +70,7 @@ const points = [
@@ -110,7 +111,7 @@ const points = [

로그인 diff --git a/frontend/src/pages/relay/ResetPasswordPage.vue b/frontend/src/pages/relay/ResetPasswordPage.vue index 5652651..2e2a0b9 100644 --- a/frontend/src/pages/relay/ResetPasswordPage.vue +++ b/frontend/src/pages/relay/ResetPasswordPage.vue @@ -2,6 +2,7 @@ // 비밀번호 재설정 — 메일 링크의 token(쿼리)으로 새 비밀번호를 설정 import { computed, ref } from 'vue' import { useRoute, useRouter, RouterLink } from 'vue-router' +import RelayMark from '@/components/RelayMark.vue' import { useAuth } from '@/composables/useAuth' const route = useRoute() @@ -45,7 +46,7 @@ async function onSubmit() {
diff --git a/frontend/src/pages/relay/SignupPage.vue b/frontend/src/pages/relay/SignupPage.vue index a2cd6b5..51805fc 100644 --- a/frontend/src/pages/relay/SignupPage.vue +++ b/frontend/src/pages/relay/SignupPage.vue @@ -2,6 +2,7 @@ // 회원가입 — 가입 폼 → 인증 메일 발송 안내. 인증 메일의 링크를 눌러야 가입이 완료된다. import { computed, ref } from 'vue' import { RouterLink } from 'vue-router' +import RelayMark from '@/components/RelayMark.vue' import { useAuthStore } from '@/stores/auth.store' import { useDialog } from '@/composables/useDialog' @@ -98,7 +99,7 @@ const points = [
@@ -138,7 +139,7 @@ const points = [