From ad5fb9c89dd348147e21b5465eb13621bcf2a511 Mon Sep 17 00:00:00 2001 From: Christel Westerberg Date: Wed, 22 May 2024 15:26:30 +0200 Subject: [PATCH] fix: add link to overview --- .../webview/loyalty-page/page.module.css | 1 + app/[lang]/webview/loyalty-page/page.tsx | 5 +- app/[lang]/webview/my-pages/page.module.css | 1 + app/[lang]/webview/my-pages/page.tsx | 10 +-- components/BackButton/index.tsx | 15 ---- components/Webviews/LinkToOverview/index.tsx | 18 ++++ .../LinkToOverview/linkToOverview.module.css | 7 ++ test.js | 82 ------------------- 8 files changed, 34 insertions(+), 105 deletions(-) delete mode 100644 components/BackButton/index.tsx create mode 100644 components/Webviews/LinkToOverview/index.tsx create mode 100644 components/Webviews/LinkToOverview/linkToOverview.module.css delete mode 100644 test.js diff --git a/app/[lang]/webview/loyalty-page/page.module.css b/app/[lang]/webview/loyalty-page/page.module.css index 9ff21ac9f..dbfe806a3 100644 --- a/app/[lang]/webview/loyalty-page/page.module.css +++ b/app/[lang]/webview/loyalty-page/page.module.css @@ -3,4 +3,5 @@ gap: 4.2rem; padding-left: 2rem; padding-right: 2rem; + padding-top: 2rem; } diff --git a/app/[lang]/webview/loyalty-page/page.tsx b/app/[lang]/webview/loyalty-page/page.tsx index d3e821aab..0a3ca54ea 100644 --- a/app/[lang]/webview/loyalty-page/page.tsx +++ b/app/[lang]/webview/loyalty-page/page.tsx @@ -1,9 +1,9 @@ import { serverClient } from "@/lib/trpc/server" -import BackButton from "@/components/BackButton" import { Blocks } from "@/components/Loyalty/Blocks/WebView" import Sidebar from "@/components/Loyalty/Sidebar" import MaxWidth from "@/components/MaxWidth" +import LinkToOverview from "@/components/Webviews/LinkToOverview" import styles from "./page.module.css" @@ -15,10 +15,9 @@ export default async function AboutScandicFriends({ const loyaltyPage = await serverClient().contentstack.loyaltyPage.get() return (
+ {loyaltyPage.sidebar ? : null} - -
diff --git a/app/[lang]/webview/my-pages/page.module.css b/app/[lang]/webview/my-pages/page.module.css index 9ff21ac9f..dbfe806a3 100644 --- a/app/[lang]/webview/my-pages/page.module.css +++ b/app/[lang]/webview/my-pages/page.module.css @@ -3,4 +3,5 @@ gap: 4.2rem; padding-left: 2rem; padding-right: 2rem; + padding-top: 2rem; } diff --git a/app/[lang]/webview/my-pages/page.tsx b/app/[lang]/webview/my-pages/page.tsx index 199ee2425..f6ba45d39 100644 --- a/app/[lang]/webview/my-pages/page.tsx +++ b/app/[lang]/webview/my-pages/page.tsx @@ -1,13 +1,12 @@ import "@/app/globals.css" import "@scandic-hotels/design-system/style.css" -import { overview } from "@/constants/routes/myPages" -import { _ } from "@/lib/translation" +import { overview } from "@/constants/routes/webviews" import { serverClient } from "@/lib/trpc/server" -import BackButton from "@/components/BackButton" import MaxWidth from "@/components/MaxWidth" import Content from "@/components/MyPages/AccountPage/Webview/Content" +import LinkToOverview from "@/components/Webviews/LinkToOverview" import styles from "./page.module.css" @@ -16,11 +15,12 @@ import { LangParams, PageArgs } from "@/types/params" export default async function MyPages({ params }: PageArgs) { const accountPage = await serverClient().contentstack.accountPage.get() - const isNotOverviewPage = accountPage.url !== overview[params.lang] + const linkToOverview = + `/${params.lang}/webview${accountPage.url}` !== overview[params.lang] return ( - {isNotOverviewPage ? : null} + {linkToOverview ? : null} ) diff --git a/components/BackButton/index.tsx b/components/BackButton/index.tsx deleted file mode 100644 index b9eebdddd..000000000 --- a/components/BackButton/index.tsx +++ /dev/null @@ -1,15 +0,0 @@ -"use client" - -import { useRouter } from "next/navigation" - -import Button from "../TempDesignSystem/Button" - -export default function BackButton() { - const router = useRouter() - - function goBack() { - router.back() - } - - return -} diff --git a/components/Webviews/LinkToOverview/index.tsx b/components/Webviews/LinkToOverview/index.tsx new file mode 100644 index 000000000..206a5db87 --- /dev/null +++ b/components/Webviews/LinkToOverview/index.tsx @@ -0,0 +1,18 @@ +import { ArrowLeft } from "react-feather" + +import { overview } from "@/constants/routes/webviews" +import { _ } from "@/lib/translation" + +import Link from "@/components/TempDesignSystem/Link" + +import styles from "./linkToOverview.module.css" + +import { LangParams } from "@/types/params" + +export default function LinkToOverview({ lang }: LangParams) { + return ( + + {_("Go back to overview")} + + ) +} diff --git a/components/Webviews/LinkToOverview/linkToOverview.module.css b/components/Webviews/LinkToOverview/linkToOverview.module.css new file mode 100644 index 000000000..9779a2c7a --- /dev/null +++ b/components/Webviews/LinkToOverview/linkToOverview.module.css @@ -0,0 +1,7 @@ +.overviewLink { + font-size: 1.6rem; + color: var(--Scandic-Brand-Burgundy, #4d001b); + display: flex; + align-items: center; + gap: 1rem; +} diff --git a/test.js b/test.js deleted file mode 100644 index 2e6a6db89..000000000 --- a/test.js +++ /dev/null @@ -1,82 +0,0 @@ -function base64ToUint8Array(base64String) { - const binaryString = atob(base64String) - const byteArray = new Uint8Array(binaryString.length) - for (let i = 0; i < binaryString.length; i++) { - byteArray[i] = binaryString.charCodeAt(i) - } - return byteArray -} - -function utf8ToUint8Array(utf8String) { - return new TextEncoder().encode(utf8String) -} - -function uint8ArrayToBase64(uint8Array) { - let binaryString = "" - const len = uint8Array.byteLength - for (let i = 0; i < len; i++) { - binaryString += String.fromCharCode(uint8Array[i]) - } - return btoa(binaryString) -} -async function encryptData(keyBase64, ivBase64, data) { - const keyBuffer = await crypto.subtle.importKey( - "raw", - base64ToUint8Array(keyBase64), - "AES-CBC", - false, - ["encrypt"] - ) - - const dataBuffer = utf8ToUint8Array(data) - const ivBuffer = base64ToUint8Array(ivBase64) - const encryptedDataBuffer = await crypto.subtle.encrypt( - { name: "AES-CBC", iv: ivBuffer }, - keyBuffer, - dataBuffer - ) - - const encryptedData = uint8ArrayToBase64(new Uint8Array(encryptedDataBuffer)) - return encryptedData -} - -function uint8ArrayToUtf8(uint8Array) { - return new TextDecoder().decode(uint8Array) -} - -async function decryptData(keyBase64, ivBase64, encryptedDataBase64) { - const keyBuffer = await crypto.subtle.importKey( - "raw", - base64ToUint8Array(keyBase64), - "AES-CBC", - false, - ["decrypt"] - ) - - const encryptedDataBuffer = base64ToUint8Array(encryptedDataBase64) - const ivBuffer = base64ToUint8Array(ivBase64) - const decryptedDataBuffer = await crypto.subtle.decrypt( - { name: "AES-CBC", iv: ivBuffer }, - keyBuffer, - encryptedDataBuffer - ) - - const decryptedData = uint8ArrayToUtf8(new Uint8Array(decryptedDataBuffer)) - return decryptedData -} - -const data = "_0XBPWQQ_e81346b1-6e8f-44bf-ad9c-33fd2dcc1abd" -const iv = btoa("abcdefghijklmnop") -const tegwpjke = await encryptData( - "JYekSRT8YXWquXpxxukJR0GsELl5Nt4KdcCbaCvSzHE=", - iv, - data -) - -const decrypttionData = await decryptData( - "JYekSRT8YXWquXpxxukJR0GsELl5Nt4KdcCbaCvSzHE=", - iv, - tegwpjke -) - -console.log(tegwpjke, btoa("abcdefghijklmnop"), decrypttionData === data)