From c94d492b71aeae6eac3c79f9090205382642fe44 Mon Sep 17 00:00:00 2001 From: kylie Date: Mon, 3 Jun 2024 16:14:07 +0900 Subject: [PATCH] =?UTF-8?q?=EB=A6=AC=EB=94=A4=EC=BD=94=EB=93=9C=20?= =?UTF-8?q?=ED=8D=BC=EB=B8=94=EB=A6=AC=EC=8B=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/website/src/assets/icons/redeem-24.svg | 30 ++ apps/website/src/assets/icons/redeem-40.svg | 43 +++ apps/website/src/assets/icons/redeem-65.svg | 68 ++++ .../src/routes/(default)/UserMenu.svelte | 17 + .../[space]/dashboard/+layout.svelte | 4 +- .../dashboard/redeem/(create)/+page.svelte | 70 ++++ .../dashboard/redeem/(create)/+page.ts | 5 + .../redeem/(create)/complete/+page.ts | 6 + .../(create)/complete/+page@(default).svelte | 353 ++++++++++++++++++ .../dashboard/redeem/(create)/create/+page.ts | 5 + .../(create)/create/+page@(default).svelte | 206 ++++++++++ .../dashboard/redeem/(create)/next/+page.ts | 6 + .../(create)/next/+page@(default).svelte | 257 +++++++++++++ .../[space]/dashboard/redeem/+layout.svelte | 23 ++ .../[space]/dashboard/redeem/+layout.ts | 5 + .../[space]/dashboard/redeem/+page.svelte | 1 - .../dashboard/redeem/manage/+page.svelte | 117 ++++++ .../[space]/dashboard/redeem/manage/+page.ts | 5 + .../dashboard/redeem/manage/[redeem]/+page.ts | 5 + .../manage/[redeem]/+page@(default).svelte | 332 ++++++++++++++++ .../src/routes/(default)/me/+layout.svelte | 2 + .../(default)/me/redeem/(index)/+page.svelte | 61 +++ .../routes/(default)/me/redeem/+layout.svelte | 13 + .../me/redeem/complete/+page@(default).svelte | 104 ++++++ .../(default)/me/redeem/history/+page.svelte | 80 ++++ 25 files changed, 1815 insertions(+), 3 deletions(-) create mode 100644 apps/website/src/assets/icons/redeem-24.svg create mode 100644 apps/website/src/assets/icons/redeem-40.svg create mode 100644 apps/website/src/assets/icons/redeem-65.svg create mode 100644 apps/website/src/routes/(default)/[space]/dashboard/redeem/(create)/+page.svelte create mode 100644 apps/website/src/routes/(default)/[space]/dashboard/redeem/(create)/+page.ts create mode 100644 apps/website/src/routes/(default)/[space]/dashboard/redeem/(create)/complete/+page.ts create mode 100644 apps/website/src/routes/(default)/[space]/dashboard/redeem/(create)/complete/+page@(default).svelte create mode 100644 apps/website/src/routes/(default)/[space]/dashboard/redeem/(create)/create/+page.ts create mode 100644 apps/website/src/routes/(default)/[space]/dashboard/redeem/(create)/create/+page@(default).svelte create mode 100644 apps/website/src/routes/(default)/[space]/dashboard/redeem/(create)/next/+page.ts create mode 100644 apps/website/src/routes/(default)/[space]/dashboard/redeem/(create)/next/+page@(default).svelte create mode 100644 apps/website/src/routes/(default)/[space]/dashboard/redeem/+layout.svelte create mode 100644 apps/website/src/routes/(default)/[space]/dashboard/redeem/+layout.ts delete mode 100644 apps/website/src/routes/(default)/[space]/dashboard/redeem/+page.svelte create mode 100644 apps/website/src/routes/(default)/[space]/dashboard/redeem/manage/+page.svelte create mode 100644 apps/website/src/routes/(default)/[space]/dashboard/redeem/manage/+page.ts create mode 100644 apps/website/src/routes/(default)/[space]/dashboard/redeem/manage/[redeem]/+page.ts create mode 100644 apps/website/src/routes/(default)/[space]/dashboard/redeem/manage/[redeem]/+page@(default).svelte create mode 100644 apps/website/src/routes/(default)/me/redeem/(index)/+page.svelte create mode 100644 apps/website/src/routes/(default)/me/redeem/+layout.svelte create mode 100644 apps/website/src/routes/(default)/me/redeem/complete/+page@(default).svelte create mode 100644 apps/website/src/routes/(default)/me/redeem/history/+page.svelte diff --git a/apps/website/src/assets/icons/redeem-24.svg b/apps/website/src/assets/icons/redeem-24.svg new file mode 100644 index 0000000000..911375dc38 --- /dev/null +++ b/apps/website/src/assets/icons/redeem-24.svg @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/website/src/assets/icons/redeem-40.svg b/apps/website/src/assets/icons/redeem-40.svg new file mode 100644 index 0000000000..33262e0a6f --- /dev/null +++ b/apps/website/src/assets/icons/redeem-40.svg @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/website/src/assets/icons/redeem-65.svg b/apps/website/src/assets/icons/redeem-65.svg new file mode 100644 index 0000000000..5b025d0e6f --- /dev/null +++ b/apps/website/src/assets/icons/redeem-65.svg @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/website/src/routes/(default)/UserMenu.svelte b/apps/website/src/routes/(default)/UserMenu.svelte index 5c7dd936d8..918589d56c 100644 --- a/apps/website/src/routes/(default)/UserMenu.svelte +++ b/apps/website/src/routes/(default)/UserMenu.svelte @@ -10,6 +10,7 @@ import IconPigMoney from '~icons/tabler/pig-money'; import IconPlanet from '~icons/tabler/planet'; import IconPlus from '~icons/tabler/plus'; + import IconScan from '~icons/tabler/scan'; import { afterNavigate, goto } from '$app/navigation'; import { fragment, graphql } from '$glitch'; import { mixpanel } from '$lib/analytics'; @@ -338,6 +339,22 @@ 수익/출금 + + + 리딤코드 등록 + + - + diff --git a/apps/website/src/routes/(default)/[space]/dashboard/redeem/(create)/+page.svelte b/apps/website/src/routes/(default)/[space]/dashboard/redeem/(create)/+page.svelte new file mode 100644 index 0000000000..d53d5d4feb --- /dev/null +++ b/apps/website/src/routes/(default)/[space]/dashboard/redeem/(create)/+page.svelte @@ -0,0 +1,70 @@ + + + + +
+

+ 종이책에 전자책 혜택을 더하다 +

+ +

+ 리딤코드는 종이책과 유료포스트를 함께 이용할 수 있게 도와주는 서비스로 +
+ 해당 코드를 스캔하거나 입력하면 + 글리프에서 발행한 유료포스트가 자동으로 구매 완료 + 되도록 설정할 수 있어요. +
+ 코드는 한 계정에만 등록할 수 있어 안전하게 관리가 가능해요. +

+ + + +
diff --git a/apps/website/src/routes/(default)/[space]/dashboard/redeem/(create)/+page.ts b/apps/website/src/routes/(default)/[space]/dashboard/redeem/(create)/+page.ts new file mode 100644 index 0000000000..a604736347 --- /dev/null +++ b/apps/website/src/routes/(default)/[space]/dashboard/redeem/(create)/+page.ts @@ -0,0 +1,5 @@ +import type { PageLoadEvent } from './$types'; + +export const _SpaceDashboardRedeemIndexPage_QueryVariables = (event: PageLoadEvent) => { + return { slug: event.params.space }; +}; diff --git a/apps/website/src/routes/(default)/[space]/dashboard/redeem/(create)/complete/+page.ts b/apps/website/src/routes/(default)/[space]/dashboard/redeem/(create)/complete/+page.ts new file mode 100644 index 0000000000..450c6f66a5 --- /dev/null +++ b/apps/website/src/routes/(default)/[space]/dashboard/redeem/(create)/complete/+page.ts @@ -0,0 +1,6 @@ +import qs from 'query-string'; +import type { PageLoadEvent } from './$types'; + +export const _SpaceDashboardRedeemCompletePage_QueryVariables = (event: PageLoadEvent) => { + return { permalink: qs.parseUrl(event.url.search).query.p }; +}; diff --git a/apps/website/src/routes/(default)/[space]/dashboard/redeem/(create)/complete/+page@(default).svelte b/apps/website/src/routes/(default)/[space]/dashboard/redeem/(create)/complete/+page@(default).svelte new file mode 100644 index 0000000000..b4cbb03e5f --- /dev/null +++ b/apps/website/src/routes/(default)/[space]/dashboard/redeem/(create)/complete/+page@(default).svelte @@ -0,0 +1,353 @@ + + + + +
+
+

+ + + + 리딤코드 만들기 +

+ +
+

+ 리딤코드가 생성되었어요 +

+ +

+ 리딤코드를 개별적으로 하나씩 다운로드하거나 라벨 용지로 다운로드해 스티커로 인쇄할 수 있어요. +
+ 또한 [관리] 페이지에서 해당 코드를 자세히 확인할 수 있어요 +

+
+ +
+
+
+ + +
+

+ {$query.post.publishedRevision?.title ?? '(제목 없음)'} +

+

+ {$query.post.publishedRevision?.subtitle ?? ''} +

+ +
+
+ + {comma($query.post.publishedRevision?.price ?? 0)}원 +
+ +
+ + +
+
+
+ +
+
+
발급갯수
+
15개
+
+
+
생성일
+
2024.05.24. 11:00
+
+
+
만료일
+
2025.05.24. 11:00
+
+
+ +

리딤코드 설명 리딤코드 설명

+
+ +
+ + +
+
+
+
+ +
+ +
+
+

개별 다운로드

+

+ 다운로드할 확장자를 선택해주세요. 해당 파일은 200x200크기로 다운로드됩니다 +

+
+ +
    +
  • +
    + +
    +
    +
    +
    번호
    +
    2Q24SO3LA2412P
    +
    +
    +
    만료일
    +
    2025.05.24 11:00
    +
    +
    +
    사용여부
    +
    사용가능
    +
    +
    + +
    + + + +
    +
    +
  • +
+
+ + + 리딤 코드 전체 파일로 저장 + +
+ PNG + PDF + SVG +
+ +
+
+ +

+ 24칸 +

+
+
+
+ +

+ 40칸 +

+
+
+
+ +

+ 65칸 +

+
+
+
+ + + diff --git a/apps/website/src/routes/(default)/[space]/dashboard/redeem/(create)/create/+page.ts b/apps/website/src/routes/(default)/[space]/dashboard/redeem/(create)/create/+page.ts new file mode 100644 index 0000000000..4ed28069bb --- /dev/null +++ b/apps/website/src/routes/(default)/[space]/dashboard/redeem/(create)/create/+page.ts @@ -0,0 +1,5 @@ +import type { PageLoadEvent } from './$types'; + +export const _SpaceDashboardRedeemCreatePage_QueryVariables = (event: PageLoadEvent) => { + return { slug: event.params.space }; +}; diff --git a/apps/website/src/routes/(default)/[space]/dashboard/redeem/(create)/create/+page@(default).svelte b/apps/website/src/routes/(default)/[space]/dashboard/redeem/(create)/create/+page@(default).svelte new file mode 100644 index 0000000000..259f5ba0fa --- /dev/null +++ b/apps/website/src/routes/(default)/[space]/dashboard/redeem/(create)/create/+page@(default).svelte @@ -0,0 +1,206 @@ + + + + +
+
+

+ + + + + 리딤코드 만들기 +

+ +
+
+
+
+ 1 +
+

유료 포스트 선택

+
+ +

+ 리딤코드는 유료 포스트만 생성할 수 있어요 +

+ + + + + +
    + {#each $query.space.posts.filter((post) => post.publishedRevision?.title?.includes(keyword) || post.publishedRevision?.subtitle?.includes(keyword)) as post (post.id)} +
  • + { + selectedPost = post; + }} + > +
    + + +
    +

    + {post.publishedRevision?.title ?? '(제목 없음)'} +

    +

    + {post.publishedRevision?.subtitle ?? ''} +

    + +
    +
    + + {comma(post.publishedRevision?.price ?? 0)}원 +
    + +
    + + +
    +
    +
    +
    +
  • + {:else} +
  • + 발행한 유료포스트가 없어요 +
  • + {/each} +
+
+ +
+ {#if $query.space.posts.length > 0} + + + {:else} + + {/if} +
+
+
+
diff --git a/apps/website/src/routes/(default)/[space]/dashboard/redeem/(create)/next/+page.ts b/apps/website/src/routes/(default)/[space]/dashboard/redeem/(create)/next/+page.ts new file mode 100644 index 0000000000..13c074bc42 --- /dev/null +++ b/apps/website/src/routes/(default)/[space]/dashboard/redeem/(create)/next/+page.ts @@ -0,0 +1,6 @@ +import qs from 'query-string'; +import type { PageLoadEvent } from './$types'; + +export const _SpaceDashboardRedeemNextPage_QueryVariables = (event: PageLoadEvent) => { + return { permalink: qs.parseUrl(event.url.search).query.p }; +}; diff --git a/apps/website/src/routes/(default)/[space]/dashboard/redeem/(create)/next/+page@(default).svelte b/apps/website/src/routes/(default)/[space]/dashboard/redeem/(create)/next/+page@(default).svelte new file mode 100644 index 0000000000..0e9e9f313a --- /dev/null +++ b/apps/website/src/routes/(default)/[space]/dashboard/redeem/(create)/next/+page@(default).svelte @@ -0,0 +1,257 @@ + + + + +
+
+

+ + + + + 리딤코드 만들기 +

+ +
+ + +
+

+ {$query.post.publishedRevision?.title ?? '(제목 없음)'} +

+

+ {$query.post.publishedRevision?.subtitle ?? ''} +

+ +
+
+ + {comma($query.post.publishedRevision?.price ?? 0)}원 +
+ +
+ + +
+
+
+ +
+
+
+
+ 2 +
+

리딤코드 설명

+ (선택) +
+ +