feat(SW-2278): Added hotel listing to campaign page

Approved-by: Matilda Landström
This commit is contained in:
Erik Tiekstra
2025-06-19 09:36:28 +00:00
parent 105c4d9cf3
commit af92f7183c
31 changed files with 703 additions and 57 deletions

View File

@@ -4,6 +4,7 @@ import { iconVariants } from '../variants'
export default function DowntownCamperIcon({
className,
color,
height = 30,
...props
}: LogoProps) {
const classNames = iconVariants({ className, color })
@@ -11,7 +12,7 @@ export default function DowntownCamperIcon({
<svg
className={classNames}
width="123"
height="30"
height={height}
viewBox="0 0 123 30"
fill="none"
xmlns="http://www.w3.org/2000/svg"

View File

@@ -5,6 +5,7 @@ import type { LogoProps } from '../icon'
export default function GrandHotelOsloLogoIcon({
className,
color,
height = 30,
...props
}: LogoProps) {
const classNames = iconVariants({ className, color })
@@ -12,7 +13,7 @@ export default function GrandHotelOsloLogoIcon({
<svg
className={classNames}
width="69"
height="30"
height={height}
viewBox="0 0 69 30"
fill="none"
xmlns="http://www.w3.org/2000/svg"

View File

@@ -5,6 +5,7 @@ import type { LogoProps } from '../icon'
export default function HaymarketIcon({
className,
color,
height = 26,
...props
}: LogoProps) {
const classNames = iconVariants({ className, color })
@@ -12,7 +13,7 @@ export default function HaymarketIcon({
<svg
className={classNames}
width="100"
height="26"
height={height}
viewBox="0 0 100 26"
fill="none"
xmlns="http://www.w3.org/2000/svg"

View File

@@ -5,6 +5,7 @@ import type { LogoProps } from '../icon'
export default function HotelNorgeIcon({
className,
color,
height = 24,
...props
}: LogoProps) {
const classNames = iconVariants({ className, color })
@@ -12,7 +13,7 @@ export default function HotelNorgeIcon({
<svg
className={classNames}
width="117"
height="24"
height={height}
viewBox="0 0 117 24"
fill="none"
xmlns="http://www.w3.org/2000/svg"

View File

@@ -5,6 +5,7 @@ import type { LogoProps } from '../icon'
export default function MarskiLogoIcon({
className,
color,
height = 30,
...props
}: LogoProps) {
const classNames = iconVariants({ className, color })
@@ -12,7 +13,7 @@ export default function MarskiLogoIcon({
<svg
className={classNames}
width="92"
height="30"
height={height}
viewBox="0 0 92 30"
fill="none"
xmlns="http://www.w3.org/2000/svg"

View File

@@ -5,6 +5,7 @@ import type { LogoProps } from '../icon'
export default function ScandicGoLogoIcon({
className,
color,
height = 18,
...props
}: LogoProps) {
const classNames = iconVariants({ className, color })
@@ -12,7 +13,7 @@ export default function ScandicGoLogoIcon({
<svg
className={classNames}
width="90"
height="18"
height={height}
viewBox="0 0 90 18"
fill="none"
xmlns="http://www.w3.org/2000/svg"

View File

@@ -5,6 +5,7 @@ import type { LogoProps } from '../icon'
export default function ScandicLogoIcon({
className,
color,
height = 14,
...props
}: LogoProps) {
const classNames = iconVariants({ className, color })
@@ -12,7 +13,7 @@ export default function ScandicLogoIcon({
<svg
className={classNames}
width="58"
height="14"
height={height}
viewBox="0 0 58 14"
fill="none"
xmlns="http://www.w3.org/2000/svg"

View File

@@ -1,14 +1,19 @@
import type { LogoProps } from '../icon'
import { iconVariants } from '../variants'
export default function TheDockIcon({ className, color, ...props }: LogoProps) {
export default function TheDockIcon({
className,
color,
height = 30,
...props
}: LogoProps) {
const classNames = iconVariants({ className, color })
return (
<svg
className={classNames}
width="128"
height="30"
height={height}
viewBox="0 0 128 30"
fill="none"
xmlns="http://www.w3.org/2000/svg"

View File

@@ -10,6 +10,7 @@ import TheDockIcon from './TheDock'
type HotelLogoProps = {
hotelId: string
hotelType: string
height?: number
}
enum HotelTypeEnum {
@@ -27,25 +28,29 @@ enum SignatureHotelEnum {
TheDock = '796',
}
export default function HotelLogoIcon({ hotelId, hotelType }: HotelLogoProps) {
export default function HotelLogoIcon({
hotelId,
hotelType,
height,
}: HotelLogoProps) {
if (hotelType === HotelTypeEnum.ScandicGo) {
return <ScandicGoLogoIcon />
return <ScandicGoLogoIcon height={height} />
}
switch (hotelId) {
case SignatureHotelEnum.Haymarket:
return <HaymarketIcon />
return <HaymarketIcon height={height} />
case SignatureHotelEnum.HotelNorge:
return <HotelNorgeIcon />
return <HotelNorgeIcon height={height} />
case SignatureHotelEnum.DowntownCamper:
return <DowntownCamperIcon />
return <DowntownCamperIcon height={height} />
case SignatureHotelEnum.GrandHotelOslo:
return <GrandHotelOsloLogoIcon />
return <GrandHotelOsloLogoIcon height={height} />
case SignatureHotelEnum.Marski:
return <MarskiLogoIcon />
return <MarskiLogoIcon height={height} />
case SignatureHotelEnum.TheDock:
return <TheDockIcon />
return <TheDockIcon height={height} />
default:
return <ScandicLogoIcon color="Icon/Interactive/Accent" />
return <ScandicLogoIcon height={height} color="Icon/Interactive/Accent" />
}
}