feat: Relay 브랜드 로고·favicon 전면 적용

사이드바·인증 화면 'R' 텍스트 로고를 브랜드 더블 셰브론 마크(RelayMark)로 교체.
favicon을 SVG+PNG+ICO 세트와 웹 매니페스트로 정비(create-vue 기본 아이콘 대체), 가운데 셰브론을 키워 작은 크기 가독성 개선.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-22 12:06:31 +09:00
parent 6767316cdb
commit 433901312d
25 changed files with 105 additions and 18 deletions
@@ -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(() => {
<div class="verified-wrap">
<div class="card">
<div class="brand">
<span class="logo">R</span> Relay
<span class="logo"><RelayMark white /></span> Relay
</div>
<!-- 인증 성공 -->
@@ -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(() => {
<div class="blob b2" />
<div class="ring" />
<div class="bp-logo">
<span class="logo">R</span> Relay
<span class="logo"><RelayMark white /></span> Relay
</div>
<div class="bp-body">
<div class="bp-head">
@@ -106,7 +107,7 @@ onBeforeUnmount(() => {
<main class="form-panel">
<div class="auth-card">
<div class="ac-logo">
<span class="logo">R</span> Relay
<span class="logo"><RelayMark white /></span> Relay
</div>
<!-- 1단계: 이메일 입력 -->
+3 -2
View File
@@ -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 = [
<div class="blob b2" />
<div class="ring" />
<div class="bp-logo">
<span class="logo">R</span> Relay
<span class="logo"><RelayMark white /></span> Relay
</div>
<div class="bp-body">
<div class="bp-head">
@@ -110,7 +111,7 @@ const points = [
<main class="form-panel">
<div class="auth-card">
<div class="ac-logo">
<span class="logo">R</span> Relay
<span class="logo"><RelayMark white /></span> Relay
</div>
<h1 class="ac-title">
로그인
@@ -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() {
<div class="auth-simple">
<div class="card">
<div class="bp-logo">
<span class="logo">R</span> Relay
<span class="logo"><RelayMark white /></span> Relay
</div>
<!-- 토큰 없음 -->
+3 -2
View File
@@ -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 = [
<div class="blob b2" />
<div class="ring" />
<div class="bp-logo">
<span class="logo">R</span> Relay
<span class="logo"><RelayMark white /></span> Relay
</div>
<div class="bp-body">
<div class="bp-head">
@@ -138,7 +139,7 @@ const points = [
<main class="form-panel">
<div class="auth-card">
<div class="ac-logo">
<span class="logo">R</span> Relay
<span class="logo"><RelayMark white /></span> Relay
</div>
<!-- 상태 1: 가입 -->