Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fb tw darkmode #7126

Open
wants to merge 79 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
79 commits
Select commit Hold shift + click to select a range
1078dc1
feat: OPTIC-1217: Implement Color design tokens as CSS variables and …
ricardoantoniocm Oct 21, 2024
48f4af8
feat: OPTIC-1217: Implement Color design tokens as CSS variables and …
ricardoantoniocm Oct 21, 2024
64747ea
Merge branch 'develop' into fb-optic-1217/implement-design-tokens-as-…
yyassi-heartex Oct 23, 2024
657eadb
we have toggle in place
yyassi-heartex Oct 23, 2024
560dff5
we now reserve selection
yyassi-heartex Oct 23, 2024
e700440
Merge branch 'develop' into 'fb-optic-1217/implement-design-tokens-as…
yyassi-heartex Oct 23, 2024
1781c04
Adds correct background color to pagination.
ricardoantoniocm Oct 21, 2024
8d2a9ef
Refactored heidi-speaking so that the speech bubble spike can be colored
ricardoantoniocm Oct 23, 2024
bfcc0aa
Added semantic tokens to Enterprise badge
ricardoantoniocm Oct 23, 2024
d20b676
Fixes token naming for Breadcrumbs
ricardoantoniocm Oct 23, 2024
685e7c2
Updated nomenclature.
ricardoantoniocm Oct 23, 2024
8147ce7
changing ThemeToggle behavior
yyassi-heartex Oct 23, 2024
c54d818
lint cleanup
yyassi-heartex Oct 23, 2024
00bb287
Replaces variables across multiple files. Replaces some existing styles.
ricardoantoniocm Oct 24, 2024
17ca27c
Adds styles and animation to themeToggle.
ricardoantoniocm Oct 24, 2024
b286e64
Duplicates primitive and semantic color tokens on main.css.
ricardoantoniocm Oct 24, 2024
38bc081
Adapts the color of project card text based on the luminance of the c…
ricardoantoniocm Oct 24, 2024
3ca7d99
Additional variable replacements.
ricardoantoniocm Oct 24, 2024
5eae955
Merge branch 'develop' into 'fb-optic-1217/implement-design-tokens-as…
yyassi-heartex Oct 24, 2024
66e864e
Improves account page layout and adds dark mode support.
ricardoantoniocm Nov 4, 2024
be0d4ac
Improves login page and adds dark mode support.
ricardoantoniocm Nov 4, 2024
4bbb2e5
Refactors colors, adds raw variants.
ricardoantoniocm Nov 4, 2024
289655c
Adds dark mode support to pages and components.
ricardoantoniocm Nov 4, 2024
4887705
Merge branch 'develop' into fb-optic-1217/implement-design-tokens-as-…
yyassi-heartex Nov 5, 2024
bf464fb
moving the check to django template to prevent flicker when figuring …
yyassi-heartex Nov 5, 2024
f5ce41d
Revert "moving the check to django template to prevent flicker when f…
yyassi-heartex Nov 5, 2024
7061266
in template theme color toggle
yyassi-heartex Nov 5, 2024
456be4f
cleaning up console.log
yyassi-heartex Nov 5, 2024
b90d3b9
switching to dedicated block
yyassi-heartex Nov 5, 2024
8e8f1b8
Adds button and inputs look and feel to buttons that don't have it co…
ricardoantoniocm Nov 5, 2024
25d65db
Improves secondary button style on hover.
ricardoantoniocm Nov 5, 2024
e295ba2
Improves several pages and components.
ricardoantoniocm Nov 6, 2024
ce3ea0e
Adds dark mode support to pages and components.
ricardoantoniocm Nov 20, 2024
c0b5172
Refactors folder-empty icon.
ricardoantoniocm Nov 20, 2024
2dcd515
Adds descriptions to Semantic tokens.
ricardoantoniocm Nov 26, 2024
891f2cf
Adapts elements to dark mode.
ricardoantoniocm Nov 26, 2024
f8a1f5c
Adapts elements to dark mode.
ricardoantoniocm Nov 27, 2024
15d56ad
Adapts elements to dark mode.
ricardoantoniocm Nov 27, 2024
b0a10da
Adapts elements to dark mode
ricardoantoniocm Nov 28, 2024
843db29
ThemeToggle can now tell others what theme is currently in use
yyassi-heartex Nov 28, 2024
cb15ba7
adding color definition for darkvs light mode
yyassi-heartex Nov 28, 2024
0782e93
Adapts elements to dark mode.
ricardoantoniocm Jan 4, 2025
f42669b
Merge branch 'develop' into fb-optic-1217/implement-design-tokens-as-…
yyassi-heartex Jan 10, 2025
b51c97e
lint cleanup
yyassi-heartex Jan 10, 2025
ed36625
lint cleanup
yyassi-heartex Jan 10, 2025
3a600f5
Adds missing closing element.
ricardoantoniocm Jan 14, 2025
73b7360
Adds maximum width to User Account page.
ricardoantoniocm Jan 14, 2025
b2dafa8
Adapts elements to dark mode.
ricardoantoniocm Jan 14, 2025
8d956ac
Adapts elements to Dark Mode.
ricardoantoniocm Jan 14, 2025
45708af
Improves language of completed state for labeling queue.
ricardoantoniocm Jan 14, 2025
d920fd7
Lint fixes.
ricardoantoniocm Jan 14, 2025
20556c7
Removes empty line.
ricardoantoniocm Jan 14, 2025
3256dee
lint cleanup
ricardoantoniocm Jan 14, 2025
8a0c73d
Adds explicit button type for themeToggle
ricardoantoniocm Jan 14, 2025
93120a9
Adds explicit button type for MultiStateToggle
ricardoantoniocm Jan 14, 2025
5ebbcf2
Lint Cleanup
ricardoantoniocm Jan 14, 2025
0cc2de8
Revert "chore: Reverts tailwind and LSO Homepage (#7007)"
nick-skriabin Feb 3, 2025
6d8ecf5
Update feature flag check
nick-skriabin Feb 3, 2025
7ae1a73
Merge branch 'develop' into fb-dia-1783/tailwind-next
nick-skriabin Feb 4, 2025
f40f003
Adds dark mode support to multiple components.
ricardoantoniocm Feb 5, 2025
49e26b3
adding new css vars for ThemeToggle
yyassi-heartex Feb 5, 2025
ce21853
Merge branch 'develop' into fb-optic-1217/implement-design-tokens-as-…
yyassi-heartex Feb 5, 2025
803a6ec
default theme is now Light
yyassi-heartex Feb 5, 2025
04f72fa
default theme is light
yyassi-heartex Feb 5, 2025
9d37c68
Adds dark mode support to multiple components.
ricardoantoniocm Feb 5, 2025
dac32c5
Adds dark mode support to multiple components.
ricardoantoniocm Feb 5, 2025
daf2f14
Megre
nick-skriabin Feb 12, 2025
1989fe4
Deps
nick-skriabin Feb 13, 2025
614b16e
Merge branch 'develop' into fb-dia-1783/tailwind-next
nick-skriabin Feb 14, 2025
6b41956
Merge branch 'develop' into fb-dia-1783/tailwind-next
nick-skriabin Feb 20, 2025
826721f
Merge branch 'develop' into fb-dia-1783/tailwind-next
nick-skriabin Feb 20, 2025
2922317
Fix antd situation
nick-skriabin Feb 20, 2025
51e34e8
Update imports to be more uniform
nick-skriabin Feb 21, 2025
1cab918
Remove excess
nick-skriabin Feb 21, 2025
2a435a7
Fix home page and user account page
nick-skriabin Feb 21, 2025
dd05184
Adds dark mode support to multiple components.
ricardoantoniocm Feb 21, 2025
7f2260e
Merge remote-tracking branch 'origin/develop' into fb-optic-1217/impl…
bmartel Feb 21, 2025
25896f2
remove duplicate selectors
bmartel Feb 21, 2025
eefd7d7
Merge remote-tracking branch 'origin/fb-optic-1217/implement-design-t…
bmartel Feb 21, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
141 changes: 141 additions & 0 deletions Dockerfile.development
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
# syntax=docker/dockerfile:1
ARG NODE_VERSION=18
ARG PYTHON_VERSION=3.12
ARG POETRY_VERSION=2.0.1
ARG VERSION_OVERRIDE
ARG BRANCH_OVERRIDE

################################ Overview

# This Dockerfile builds a Label Studio environment.
# It consists of three main stages:
# 1. "frontend-builder" - Compiles the frontend assets using Node.
# 2. "frontend-version-generator" - Generates version files for frontend sources.
# 3. "venv-builder" - Prepares the virtualenv environment.
# 4. "py-version-generator" - Generates version files for python sources.
# 5. "prod" - Creates the final production image with the Label Studio, Nginx, and other dependencies.

################################ Stage: frontend-builder (build frontend assets)
FROM --platform=${BUILDPLATFORM} node:${NODE_VERSION} AS frontend-builder
WORKDIR /label-studio/web

COPY web .
COPY pyproject.toml ../pyproject.toml

################################ Stage: venv-builder (prepare the virtualenv)
FROM python:${PYTHON_VERSION}-slim AS venv-builder
ARG POETRY_VERSION

ENV PYTHONUNBUFFERED=1 \
PYTHONDONTWRITEBYTECODE=1 \
PIP_NO_CACHE_DIR=off \
PIP_DISABLE_PIP_VERSION_CHECK=on \
PIP_DEFAULT_TIMEOUT=100 \
PIP_CACHE_DIR="/.cache" \
POETRY_CACHE_DIR="/.poetry-cache" \
POETRY_HOME="/opt/poetry" \
POETRY_VIRTUALENVS_IN_PROJECT=true \
PATH="/opt/poetry/bin:$PATH"

ADD https://install.python-poetry.org /tmp/install-poetry.py
RUN python /tmp/install-poetry.py

RUN --mount=type=cache,target="/var/cache/apt",sharing=locked \
--mount=type=cache,target="/var/lib/apt/lists",sharing=locked \
set -eux; \
apt-get update; \
apt-get install --no-install-recommends -y \
build-essential git; \
apt-get autoremove -y

WORKDIR /label-studio

ENV VENV_PATH="/label-studio/.venv"
ENV PATH="$VENV_PATH/bin:$PATH"

## Starting from this line all packages will be installed in $VENV_PATH

# Copy dependency files
COPY pyproject.toml poetry.lock README.md ./

# Install dependencies without dev packages
RUN --mount=type=cache,target=$POETRY_CACHE_DIR,sharing=locked \
poetry check --lock && poetry install --no-root --without test --extras uwsgi

# Install LS
COPY label_studio label_studio
RUN --mount=type=cache,target=$POETRY_CACHE_DIR,sharing=locked \
# `--extras uwsgi` is mandatory here due to poetry bug: https://github.com/python-poetry/poetry/issues/7302
poetry install --only-root --extras uwsgi && \
python3 label_studio/manage.py collectstatic --no-input

################################ Stage: py-version-generator
FROM venv-builder AS py-version-generator
ARG VERSION_OVERRIDE
ARG BRANCH_OVERRIDE

# Create version_.py and ls-version_.py
RUN --mount=type=bind,source=.git,target=./.git \
VERSION_OVERRIDE=${VERSION_OVERRIDE} BRANCH_OVERRIDE=${BRANCH_OVERRIDE} poetry run python label_studio/core/version.py

################################### Stage: prod
FROM python:${PYTHON_VERSION}-slim AS production

ENV LS_DIR=/label-studio \
HOME=/label-studio \
LABEL_STUDIO_BASE_DATA_DIR=/label-studio/data \
OPT_DIR=/opt/heartex/instance-data/etc \
PATH="/label-studio/.venv/bin:$PATH" \
DJANGO_SETTINGS_MODULE=core.settings.label_studio \
PYTHONUNBUFFERED=1 \
PYTHONDONTWRITEBYTECODE=1

WORKDIR $LS_DIR

# install prerequisites for app
RUN --mount=type=cache,target="/var/cache/apt",sharing=locked \
--mount=type=cache,target="/var/lib/apt/lists",sharing=locked \
set -eux; \
apt-get update; \
apt-get upgrade -y; \
apt-get install --no-install-recommends -y libexpat1 \
gnupg2 curl; \
apt-get autoremove -y

# install nginx
RUN --mount=type=cache,target="/var/cache/apt",sharing=locked \
--mount=type=cache,target="/var/lib/apt/lists",sharing=locked \
set -eux; \
curl -sSL https://nginx.org/keys/nginx_signing.key | gpg --dearmor -o /etc/apt/keyrings/nginx-archive-keyring.gpg >/dev/null; \
DEBIAN_VERSION=$(awk -F '=' '/^VERSION_CODENAME=/ {print $2}' /etc/os-release); \
printf "deb [signed-by=/etc/apt/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/debian ${DEBIAN_VERSION} nginx\n" > /etc/apt/sources.list.d/nginx.list; \
printf "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" > /etc/apt/preferences.d/99nginx; \
apt-get update; \
apt-get install --no-install-recommends -y nginx; \
apt-get autoremove -y

RUN set -eux; \
mkdir -p $LS_DIR $LABEL_STUDIO_BASE_DATA_DIR $OPT_DIR && \
chown -R 1001:0 $LS_DIR $LABEL_STUDIO_BASE_DATA_DIR $OPT_DIR /var/log/nginx /etc/nginx

COPY --chown=1001:0 deploy/default.conf /etc/nginx/nginx.conf

# Copy essential files for installing Label Studio and its dependencies
COPY --chown=1001:0 pyproject.toml .
COPY --chown=1001:0 poetry.lock .
COPY --chown=1001:0 README.md .
COPY --chown=1001:0 LICENSE LICENSE
COPY --chown=1001:0 licenses licenses
COPY --chown=1001:0 deploy deploy

# Copy files from build stages
COPY --chown=1001:0 --from=venv-builder $LS_DIR $LS_DIR
COPY --chown=1001:0 --from=py-version-generator $LS_DIR/label_studio/core/version_.py $LS_DIR/label_studio/core/version_.py
COPY --chown=1001:0 --from=frontend-builder $LS_DIR/web/dist $LS_DIR/web/dist

USER 1001

EXPOSE 8080

ENTRYPOINT ["./deploy/docker-entrypoint.sh"]
CMD ["label-studio"]
3 changes: 3 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,9 @@ docker-run-dev:
docker-migrate-dev:
docker compose run app python3 /label-studio/label_studio/manage.py migrate

docker-collectstatic-dev:
docker compose run app python3 /label-studio/label_studio/manage.py collectstatic

# Install modules
frontend-install:
cd web && yarn install --frozen-lockfile;
Expand Down
34 changes: 17 additions & 17 deletions docs/themes/v2/source/css/codemirror.css
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@
/* GUTTER */

.CodeMirror-gutters {
border-right: 1px solid #ddd;
background-color: #f7f7f7;
border-right: 1px solid var(--color-neutral-border);
background-color: var(--color-neutral-surface);
white-space: nowrap;
}
.CodeMirror-linenumbers {
Expand All @@ -43,13 +43,13 @@
color: black;
}
.CodeMirror-guttermarker-subtle {
color: #999;
color: var(--color-neutral-content-subtlest);
}

/* CURSOR */

.CodeMirror-cursor {
border-left: 1px solid black;
border-left: 1px solid var(--color-neutral-inverted-content);
border-right: none;
width: 0;
}
Expand Down Expand Up @@ -134,16 +134,16 @@
/* DEFAULT THEME */

.cm-s-default .cm-header {
color: #617ADA;
color: var(--color-accent-grape-bold);
}
.cm-s-default .cm-quote {
color: #34988D;
color: var(--color-accent-kale-bold);
}
.cm-negative {
color: #E6694E;
color: var(--color-negative-content);
}
.cm-positive {
color: #34988D;
color: var(--color-positive-content);
}
.cm-header,
.cm-strong {
Expand Down Expand Up @@ -181,16 +181,16 @@
}
.cm-s-default .cm-variable-3,
.cm-s-default .cm-type {
color: #34988D;
color: var(--color-accent-kale-bold);
}
.cm-s-default .cm-comment {
color: #E69559;
color: var(--color-accent-canteloupe-bold);
}
.cm-s-default .cm-string {
color: #CC6FBE;
color: var(--color-accent-plum-bold);
}
.cm-s-default .cm-string-2 {
color: #E6694E;
color: var(--color-accent-persimmon-bold);
}
.cm-s-default .cm-meta {
color: #6B6860;
Expand Down Expand Up @@ -218,10 +218,10 @@
}

.cm-s-default .cm-error {
color: #E6694E;
color: var(--color-negative-content);
}
.cm-invalidchar {
color: #E6694E;
color: var(--color-negative-content);
}

.CodeMirror-composing {
Expand All @@ -231,10 +231,10 @@
/* Default styles for common addons */

div.CodeMirror span.CodeMirror-matchingbracket {
color: #0b0;
color: var(--color-positive-content);
}
div.CodeMirror span.CodeMirror-nonmatchingbracket {
color: #a22;
color: var(--color-negative-content);
}
.CodeMirror-matchingtag {
background: rgba(255, 150, 0, 0.3);
Expand All @@ -251,7 +251,7 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {
.CodeMirror {
position: relative;
overflow: hidden;
background: white;
background: var(--color-neutral-background);
}

.CodeMirror-scroll {
Expand Down
Loading
Loading