fix(gateway): keep terms links under base path

This commit is contained in:
2026-07-25 16:39:18 +00:00
parent 86194eb72d
commit 0e93a8c859
3 changed files with 14 additions and 4 deletions
@@ -2,6 +2,7 @@
import { ref } from 'vue';
const menuOpen = ref(false);
const appBase = import.meta.env.BASE_URL;
</script>
<template>
@@ -36,9 +37,9 @@ const menuOpen = ref(false);
<footer>
<p>
<a href="./terms.2.html">개인정보처리방침</a>
<a :href="`${appBase}terms.2.html`">개인정보처리방침</a>
&amp;
<a href="./terms.1.html">이용약관</a>
<a :href="`${appBase}terms.1.html`">이용약관</a>
</p>
<p>© 2023 HideD</p>
<p>크롬, 엣지, 파이어폭스에 최적화되어있습니다.</p>
@@ -19,6 +19,7 @@ const confirmPassword = ref('');
const displayName = ref('');
const termsAgreed = ref(false);
const privacyAgreed = ref(false);
const appBase = import.meta.env.BASE_URL;
const completeExchange = async (): Promise<void> => {
const code = typeof route.query.code === 'string' ? route.query.code : '';
@@ -116,14 +117,14 @@ onMounted(() => {
<span>이용 약관</span>
<label>
<input v-model="termsAgreed" type="checkbox" />
<a href="./terms.1.html" target="_blank">내용 확인</a> 동의합니다.
<a :href="`${appBase}terms.1.html`" target="_blank">내용 확인</a> 동의합니다.
</label>
</div>
<div class="agreement-row">
<span>개인정보 제공 이용</span>
<label>
<input v-model="privacyAgreed" type="checkbox" />
<a href="./terms.2.html" target="_blank">내용 확인</a> 동의합니다.
<a :href="`${appBase}terms.2.html`" target="_blank">내용 확인</a> 동의합니다.
</label>
</div>
<button class="register-button" type="submit" :disabled="submitting">
@@ -289,6 +289,14 @@ test.describe('gateway legacy parity', () => {
test('completes the OAuth registration page and stores the session', async ({ page }) => {
await page.goto('http://127.0.0.1:15100/gateway/oauth/callback?code=visual-code&state=visual-state');
await expect(page.getByLabel('카카오 이메일')).toHaveValue('visual@example.test');
await expect(page.getByRole('link', { name: '내용 확인' }).first()).toHaveAttribute(
'href',
'/gateway/terms.1.html'
);
await expect(page.getByRole('link', { name: '내용 확인' }).last()).toHaveAttribute(
'href',
'/gateway/terms.2.html'
);
const geometry = await page.locator('#oauth-container').evaluate((element) => {
const rect = element.getBoundingClientRect();
const style = getComputedStyle(element);