Feat/SW-3549 pass scandic token * WIP pass scandic token * pass scandic token when booking * Merge branch 'master' of bitbucket.org:scandic-swap/web into feat/SW-3549-pass-scandic-token * pass user token when doing availability search * undo changes * merge * Merged in fix/sw-3551-rsc-bookingflowconfig (pull request #2988) fix(SW-3551): Fix issue with BookingConfigProvider in RSC * wip move config to pages * Move config providing to pages * Merged in fix/update-promo-error-modal-text (pull request #2990) fix: update promo error modal text * fix: update promo error modal text Approved-by: Emma Zettervall * Merged in fix/sw-3514-missing-membership-input-for-multiroom (pull request #2991) fix(SW-3514): Show join Scandic Friends card for SAS multiroom * Show join card for room 2+ Approved-by: Hrishikesh Vaipurkar * Merged in feat/lokalise-rebuild (pull request #2993) Feat/lokalise rebuild * chore(lokalise): update translation ids * chore(lokalise): easier to switch between projects * chore(lokalise): update translation ids * . * . * . * . * . * . * chore(lokalise): update translation ids * chore(lokalise): update translation ids * . * . * . * chore(lokalise): update translation ids * chore(lokalise): update translation ids * . * . * chore(lokalise): update translation ids * chore(lokalise): update translation ids * chore(lokalise): new translations * merge * switch to errors for missing id's * merge * sync translations Approved-by: Linus Flood * Merged in feat/SW-3552-logout-from-social-session-when- (pull request #2994) feat(SW-3552): Removed scandic session on logout Approved-by: Joakim Jäderberg * merge * replace getRedemptionTokenSafely() with context based instead * Refactor user verification and error handling across multiple components; implement safeTry utility for safer async calls * Refactor user verification and error handling across multiple components; implement safeTry utility for safer async calls * merge * Merge branch 'master' of bitbucket.org:scandic-swap/web into feat/SW-3549-pass-scandic-token * add booking scope remove unused getMembershipNumber() Approved-by: Anton Gunnarsson Approved-by: Hrishikesh Vaipurkar
Scandic Monorepo
This is the monorepo for Scandic Hotels' web projects. It includes multiple apps and packages that together make up the Scandic Hotels web ecosystem.
What's inside?
Apps
Inside the /apps directory, you'll find our standalone sites and APIs:
scandic-web: Next.js app for our public website scandichotels.com.scandic-redirect: Netlify Functions that handle redirects forscandic-web.partner-sas: Next.js app for our partner site sas.scandichotels.com. (⚠️ Work in progress ⚠️)redis-api: API wrapping Redis that we use for caching.
Packages
Inside the /packages directory, you'll find our shared libraries and utilities:
design-system: A shared library of styles and components used by our React apps.booking-flow: This is our booking flow that is used by bothscandic-webandpartner-sas. It's built to be used by a Next.js app.trpc: A tRPC data layer that connects our apps and packages to the backend APIs.common: A collection of shared utilities, helpers and types used across both our apps and our packages.typescript-config: Shared TypeScript configs for all apps and packages.
A note about dependencies between our apps and packages: In general all apps are allowed to depend on any package, but packages have a few caveats:
design-systemshould never import frombooking-flowortrpc.commonshould never import from anything excepttypescript-config.
Getting Started
To get started, clone this repository and run yarn install in the root directory. We use Turbo to handle our monorepo tasks.
See package.json for all available scripts, but here's the most commonly used:
yarn dev:web: Start the development server for thescandic-webapp.yarn dev:sas: Start the development server for thepartner-sasapp.yarn dev:ds: Start the development server for thedesign-systempackage.yarn lint: Run ESLint and type checking across all apps and packages.yarn test: Run tests for the codebase.
If this is the first time you are running one of our apps you can run yarn env:web or yarn env:sas to see what environment variables you need for those apps.
For more details see the respective apps and packages' README files.