fix(gateway): keep terms links under base path
This commit is contained in:
@@ -2,6 +2,7 @@
|
|||||||
import { ref } from 'vue';
|
import { ref } from 'vue';
|
||||||
|
|
||||||
const menuOpen = ref(false);
|
const menuOpen = ref(false);
|
||||||
|
const appBase = import.meta.env.BASE_URL;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
@@ -36,9 +37,9 @@ const menuOpen = ref(false);
|
|||||||
|
|
||||||
<footer>
|
<footer>
|
||||||
<p>
|
<p>
|
||||||
<a href="./terms.2.html">개인정보처리방침</a>
|
<a :href="`${appBase}terms.2.html`">개인정보처리방침</a>
|
||||||
&
|
&
|
||||||
<a href="./terms.1.html">이용약관</a>
|
<a :href="`${appBase}terms.1.html`">이용약관</a>
|
||||||
</p>
|
</p>
|
||||||
<p>© 2023 • HideD</p>
|
<p>© 2023 • HideD</p>
|
||||||
<p>크롬, 엣지, 파이어폭스에 최적화되어있습니다.</p>
|
<p>크롬, 엣지, 파이어폭스에 최적화되어있습니다.</p>
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ const confirmPassword = ref('');
|
|||||||
const displayName = ref('');
|
const displayName = ref('');
|
||||||
const termsAgreed = ref(false);
|
const termsAgreed = ref(false);
|
||||||
const privacyAgreed = ref(false);
|
const privacyAgreed = ref(false);
|
||||||
|
const appBase = import.meta.env.BASE_URL;
|
||||||
|
|
||||||
const completeExchange = async (): Promise<void> => {
|
const completeExchange = async (): Promise<void> => {
|
||||||
const code = typeof route.query.code === 'string' ? route.query.code : '';
|
const code = typeof route.query.code === 'string' ? route.query.code : '';
|
||||||
@@ -116,14 +117,14 @@ onMounted(() => {
|
|||||||
<span>이용 약관</span>
|
<span>이용 약관</span>
|
||||||
<label>
|
<label>
|
||||||
<input v-model="termsAgreed" type="checkbox" />
|
<input v-model="termsAgreed" type="checkbox" />
|
||||||
<a href="./terms.1.html" target="_blank">내용 확인</a> 후 동의합니다.
|
<a :href="`${appBase}terms.1.html`" target="_blank">내용 확인</a> 후 동의합니다.
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="agreement-row">
|
<div class="agreement-row">
|
||||||
<span>개인정보 제공 및 이용</span>
|
<span>개인정보 제공 및 이용</span>
|
||||||
<label>
|
<label>
|
||||||
<input v-model="privacyAgreed" type="checkbox" />
|
<input v-model="privacyAgreed" type="checkbox" />
|
||||||
<a href="./terms.2.html" target="_blank">내용 확인</a> 후 동의합니다.
|
<a :href="`${appBase}terms.2.html`" target="_blank">내용 확인</a> 후 동의합니다.
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<button class="register-button" type="submit" :disabled="submitting">
|
<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 }) => {
|
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 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.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 geometry = await page.locator('#oauth-container').evaluate((element) => {
|
||||||
const rect = element.getBoundingClientRect();
|
const rect = element.getBoundingClientRect();
|
||||||
const style = getComputedStyle(element);
|
const style = getComputedStyle(element);
|
||||||
|
|||||||
Reference in New Issue
Block a user