Files
zitadel/apps/login/src/styles/vars.scss
T
Elio BischofandGitHub b10455b51f chore: reproducible pipeline with dev containers (#10305)
# Which Problems Are Solved

- The previous monorepo in monorepo structure for the login app and its
related packages was fragmented, complicated and buggy.
- The process for building and testing the login container was
inconsistent between local development and CI.
- Lack of clear documentation as well as easy and reliable ways for
non-frontend developers to reproduce and fix failing PR checks locally.

# How the Problems Are Solved

- Consolidated the login app and its related npm packages by moving the
main package to `apps/login/apps/login` and merging
`apps/login/packages/integration` and `apps/login/packages/acceptance`
into the main `apps/login` package.
- Migrated from Docker Compose-based test setups to dev container-based
setups, adding support for multiple dev container configurations:
  - `.devcontainer/base`
  - `.devcontainer/turbo-lint-unit`
  - `.devcontainer/turbo-lint-unit-debug`
  - `.devcontainer/login-integration`
  - `.devcontainer/login-integration-debug`
- Added npm scripts to run the new dev container setups, enabling exact
reproduction of GitHub PR checks locally, and updated the pipeline to
use these containers.
- Cleaned up Dockerfiles and docker-bake.hcl files to only build the
production image for the login app.
- Cleaned up compose files to focus on dev environments in dev
containers.
- Updated `CONTRIBUTING.md` with guidance on running and debugging PR
checks locally using the new dev container approach.
- Introduced separate Dockerfiles for the login app to distinguish
between using published client packages and building clients from local
protos.
- Ensured the login container is always built in the pipeline for use in
integration and acceptance tests.
- Updated Makefile and GitHub Actions workflows to use
`--frozen-lockfile` for installing pnpm packages, ensuring reproducible
installs.
- Disabled GitHub release creation by the changeset action.
- Refactored the `/build` directory structure for clarity and
maintainability.
- Added a `clean` command to `docks/package.json`.
- Experimentally added `knip` to the `zitadel-client` package for
improved linting of dependencies and exports.

# Additional Changes

- Fixed Makefile commands for consistency and reliability.
- Improved the structure and clarity of the `/build` directory to
support seamless integration of the login build.
- Enhanced documentation and developer experience for running and
debugging CI checks locally.

# Additional Context

- See updated `CONTRIBUTING.md` for new local development and debugging
instructions.
- These changes are a prerequisite for further improvements to the CI
pipeline and local development workflow.
- Closes #10276
2025-07-24 14:22:32 +02:00

175 lines
7.8 KiB
SCSS

:root {
--theme-dark-primary-50: #f1f7fd;
--theme-dark-primary-contrast-50: hsla(0, 0%, 0%, 0.87);
--theme-dark-primary-100: #afd1f2;
--theme-dark-primary-contrast-100: hsla(0, 0%, 0%, 0.87);
--theme-dark-primary-200: #7fb5ea;
--theme-dark-primary-contrast-200: hsla(0, 0%, 0%, 0.87);
--theme-dark-primary-300: #4192e0;
--theme-dark-primary-contrast-300: hsla(0, 0%, 0%, 0.87);
--theme-dark-primary-400: #2782dc;
--theme-dark-primary-contrast-400: hsla(0, 0%, 0%, 0.87);
--theme-dark-primary-500: #2073c4;
--theme-dark-primary-contrast-500: #ffffff;
--theme-dark-primary-600: #1c64aa;
--theme-dark-primary-contrast-600: #ffffff;
--theme-dark-primary-700: #17548f;
--theme-dark-primary-contrast-700: #ffffff;
--theme-dark-primary-800: #134575;
--theme-dark-primary-contrast-800: #ffffff;
--theme-dark-primary-900: #0f355b;
--theme-dark-primary-contrast-900: #ffffff;
--theme-dark-primary-A100: #e4f2ff;
--theme-dark-primary-contrast-A100: hsla(0, 0%, 0%, 0.87);
--theme-dark-primary-A200: #7ebfff;
--theme-dark-primary-contrast-A200: hsla(0, 0%, 0%, 0.87);
--theme-dark-primary-A400: #278df0;
--theme-dark-primary-contrast-A400: hsla(0, 0%, 0%, 0.87);
--theme-dark-primary-A700: #1d80e0;
--theme-dark-primary-contrast-A700: hsla(0, 0%, 0%, 0.87);
--theme-light-primary-50: #ffffff;
--theme-light-primary-contrast-50: hsla(0, 0%, 0%, 0.87);
--theme-light-primary-100: #ebedfa;
--theme-light-primary-contrast-100: hsla(0, 0%, 0%, 0.87);
--theme-light-primary-200: #bec6ef;
--theme-light-primary-contrast-200: hsla(0, 0%, 0%, 0.87);
--theme-light-primary-300: #8594e0;
--theme-light-primary-contrast-300: hsla(0, 0%, 0%, 0.87);
--theme-light-primary-400: #6c7eda;
--theme-light-primary-contrast-400: hsla(0, 0%, 0%, 0.87);
--theme-light-primary-500: #5469d4;
--theme-light-primary-contrast-500: #ffffff;
--theme-light-primary-600: #3c54ce;
--theme-light-primary-contrast-600: #ffffff;
--theme-light-primary-700: #2f46bc;
--theme-light-primary-contrast-700: #ffffff;
--theme-light-primary-800: #293da3;
--theme-light-primary-contrast-800: #ffffff;
--theme-light-primary-900: #23348b;
--theme-light-primary-contrast-900: #ffffff;
--theme-light-primary-A100: #ffffff;
--theme-light-primary-contrast-A100: hsla(0, 0%, 0%, 0.87);
--theme-light-primary-A200: #c5cefc;
--theme-light-primary-contrast-A200: hsla(0, 0%, 0%, 0.87);
--theme-light-primary-A400: #7085ea;
--theme-light-primary-contrast-A400: hsla(0, 0%, 0%, 0.87);
--theme-light-primary-A700: #6478de;
--theme-light-primary-contrast-A700: hsla(0, 0%, 0%, 0.87);
--theme-dark-warn-50: #ffffff;
--theme-dark-warn-contrast-50: hsla(0, 0%, 0%, 0.87);
--theme-dark-warn-100: #fff8f9;
--theme-dark-warn-contrast-100: hsla(0, 0%, 0%, 0.87);
--theme-dark-warn-200: #ffc0ca;
--theme-dark-warn-contrast-200: hsla(0, 0%, 0%, 0.87);
--theme-dark-warn-300: #ff788e;
--theme-dark-warn-contrast-300: hsla(0, 0%, 0%, 0.87);
--theme-dark-warn-400: #ff5a75;
--theme-dark-warn-contrast-400: hsla(0, 0%, 0%, 0.87);
--theme-dark-warn-500: #ff3b5b;
--theme-dark-warn-contrast-500: hsla(0, 0%, 0%, 0.87);
--theme-dark-warn-600: #ff1c41;
--theme-dark-warn-contrast-600: hsla(0, 0%, 0%, 0.87);
--theme-dark-warn-700: #fd0029;
--theme-dark-warn-contrast-700: hsla(0, 0%, 0%, 0.87);
--theme-dark-warn-800: #de0024;
--theme-dark-warn-contrast-800: #ffffff;
--theme-dark-warn-900: #c0001f;
--theme-dark-warn-contrast-900: #ffffff;
--theme-dark-warn-A100: #ffffff;
--theme-dark-warn-contrast-A100: hsla(0, 0%, 0%, 0.87);
--theme-dark-warn-A200: #ffd4db;
--theme-dark-warn-contrast-A200: hsla(0, 0%, 0%, 0.87);
--theme-dark-warn-A400: #ff6e86;
--theme-dark-warn-contrast-A400: hsla(0, 0%, 0%, 0.87);
--theme-dark-warn-A700: #ff5470;
--theme-dark-warn-contrast-A700: hsla(0, 0%, 0%, 0.87);
--theme-light-warn-50: #ffffff;
--theme-light-warn-contrast-50: hsla(0, 0%, 0%, 0.87);
--theme-light-warn-100: #f4d3d9;
--theme-light-warn-contrast-100: hsla(0, 0%, 0%, 0.87);
--theme-light-warn-200: #e8a6b2;
--theme-light-warn-contrast-200: hsla(0, 0%, 0%, 0.87);
--theme-light-warn-300: #da6e80;
--theme-light-warn-contrast-300: hsla(0, 0%, 0%, 0.87);
--theme-light-warn-400: #d3556b;
--theme-light-warn-contrast-400: hsla(0, 0%, 0%, 0.87);
--theme-light-warn-500: #cd3d56;
--theme-light-warn-contrast-500: #ffffff;
--theme-light-warn-600: #bb3048;
--theme-light-warn-contrast-600: #ffffff;
--theme-light-warn-700: #a32a3f;
--theme-light-warn-contrast-700: #ffffff;
--theme-light-warn-800: #8a2436;
--theme-light-warn-contrast-800: #ffffff;
--theme-light-warn-900: #721d2c;
--theme-light-warn-contrast-900: #ffffff;
--theme-light-warn-A100: #ffffff;
--theme-light-warn-contrast-A100: hsla(0, 0%, 0%, 0.87);
--theme-light-warn-A200: #faa9b7;
--theme-light-warn-contrast-A200: hsla(0, 0%, 0%, 0.87);
--theme-light-warn-A400: #e65770;
--theme-light-warn-contrast-A400: hsla(0, 0%, 0%, 0.87);
--theme-light-warn-A700: #d84c64;
--theme-light-warn-contrast-A700: hsla(0, 0%, 0%, 0.87);
--theme-dark-background-50: #7c93c6;
--theme-dark-background-contrast-50: hsla(0, 0%, 0%, 0.87);
--theme-dark-background-100: #4a69aa;
--theme-dark-background-contrast-100: #ffffff;
--theme-dark-background-200: #395183;
--theme-dark-background-contrast-200: #ffffff;
--theme-dark-background-300: #243252;
--theme-dark-background-contrast-300: #ffffff;
--theme-dark-background-400: #1a253c;
--theme-dark-background-contrast-400: #ffffff;
--theme-dark-background-500: #111827;
--theme-dark-background-contrast-500: #ffffff;
--theme-dark-background-600: #080b12;
--theme-dark-background-contrast-600: #ffffff;
--theme-dark-background-700: #000000;
--theme-dark-background-contrast-700: #ffffff;
--theme-dark-background-800: #000000;
--theme-dark-background-contrast-800: #ffffff;
--theme-dark-background-900: #000000;
--theme-dark-background-contrast-900: #ffffff;
--theme-dark-background-A100: #5782e0;
--theme-dark-background-contrast-A100: hsla(0, 0%, 0%, 0.87);
--theme-dark-background-A200: #204eb1;
--theme-dark-background-contrast-A200: #ffffff;
--theme-dark-background-A400: #182b53;
--theme-dark-background-contrast-A400: #ffffff;
--theme-dark-background-A700: #17223b;
--theme-dark-background-contrast-A700: #ffffff;
--theme-light-background-50: #ffffff;
--theme-light-background-contrast-50: hsla(0, 0%, 0%, 0.87);
--theme-light-background-100: #ffffff;
--theme-light-background-contrast-100: hsla(0, 0%, 0%, 0.87);
--theme-light-background-200: #ffffff;
--theme-light-background-contrast-200: hsla(0, 0%, 0%, 0.87);
--theme-light-background-300: #ffffff;
--theme-light-background-contrast-300: hsla(0, 0%, 0%, 0.87);
--theme-light-background-400: #ffffff;
--theme-light-background-contrast-400: hsla(0, 0%, 0%, 0.87);
--theme-light-background-500: #fafafa;
--theme-light-background-contrast-500: hsla(0, 0%, 0%, 0.87);
--theme-light-background-600: #ebebeb;
--theme-light-background-contrast-600: hsla(0, 0%, 0%, 0.87);
--theme-light-background-700: #dbdbdb;
--theme-light-background-contrast-700: hsla(0, 0%, 0%, 0.87);
--theme-light-background-800: #cccccc;
--theme-light-background-contrast-800: hsla(0, 0%, 0%, 0.87);
--theme-light-background-900: #bdbdbd;
--theme-light-background-contrast-900: hsla(0, 0%, 0%, 0.87);
--theme-light-background-A100: #ffffff;
--theme-light-background-contrast-A100: hsla(0, 0%, 0%, 0.87);
--theme-light-background-A200: #ffffff;
--theme-light-background-contrast-A200: hsla(0, 0%, 0%, 0.87);
--theme-light-background-A400: #ffffff;
--theme-light-background-contrast-A400: hsla(0, 0%, 0%, 0.87);
--theme-light-background-A700: #ffffff;
--theme-light-background-contrast-A700: hsla(0, 0%, 0%, 0.87);
--theme-dark-text: #ffffff;
--theme-dark-secondary-text: #ffffffc7;
--theme-light-text: #000000;
--theme-light-secondary-text: #000000c7;
}