From 8c968aa4f48d31d60ed42f92fae13c452372a568 Mon Sep 17 00:00:00 2001 From: Viktoriia <1> Date: Mon, 31 Jul 2023 15:20:50 +0200 Subject: [PATCH 001/105] Add ansible --- ansible/group_vars/all/tldraw-client.yml | 3 ++ ansible/group_vars/develop/tldraw-client.yml | 2 + .../roles/tldraw-client-core/meta/main.yml | 9 ++++ .../roles/tldraw-client-core/tasks/main.yml | 18 +++++++ .../templates/configmap.yml.j2 | 11 +++++ .../templates/deployment.yml.j2 | 47 +++++++++++++++++++ .../templates/tldraw-svc.yml.j2 | 16 +++++++ 7 files changed, 106 insertions(+) create mode 100644 ansible/group_vars/all/tldraw-client.yml create mode 100644 ansible/group_vars/develop/tldraw-client.yml create mode 100644 ansible/roles/tldraw-client-core/meta/main.yml create mode 100644 ansible/roles/tldraw-client-core/tasks/main.yml create mode 100644 ansible/roles/tldraw-client-core/templates/configmap.yml.j2 create mode 100644 ansible/roles/tldraw-client-core/templates/deployment.yml.j2 create mode 100644 ansible/roles/tldraw-client-core/templates/tldraw-svc.yml.j2 diff --git a/ansible/group_vars/all/tldraw-client.yml b/ansible/group_vars/all/tldraw-client.yml new file mode 100644 index 00000000..ebbdc01e --- /dev/null +++ b/ansible/group_vars/all/tldraw-client.yml @@ -0,0 +1,3 @@ +--- +PORT_TLDRAW_CLIENT: 3046 +TLDRAW_CLIENT_IMAGE: quay.io/schulcloudverbund/tldraw-client \ No newline at end of file diff --git a/ansible/group_vars/develop/tldraw-client.yml b/ansible/group_vars/develop/tldraw-client.yml new file mode 100644 index 00000000..f0340734 --- /dev/null +++ b/ansible/group_vars/develop/tldraw-client.yml @@ -0,0 +1,2 @@ +--- +TLDRAW_CLIENT_IMAGE: quay.io/schulcloudverbund/tldraw-client \ No newline at end of file diff --git a/ansible/roles/tldraw-client-core/meta/main.yml b/ansible/roles/tldraw-client-core/meta/main.yml new file mode 100644 index 00000000..79de901b --- /dev/null +++ b/ansible/roles/tldraw-client-core/meta/main.yml @@ -0,0 +1,9 @@ +galaxy_info: + role_name: tldraw-client-core + author: Schul-Cloud Verbund + description: core role for the tldraw-client + company: Schul-Cloud Verbund + license: license (AGPLv3) + min_ansible_version: 2.8 + galaxy_tags: [] +dependencies: [] \ No newline at end of file diff --git a/ansible/roles/tldraw-client-core/tasks/main.yml b/ansible/roles/tldraw-client-core/tasks/main.yml new file mode 100644 index 00000000..58a8b2e3 --- /dev/null +++ b/ansible/roles/tldraw-client-core/tasks/main.yml @@ -0,0 +1,18 @@ +- name: Service + kubernetes.core.k8s: + kubeconfig: ~/.kube/config + namespace: "{{ NAMESPACE }}" + template: tldraw-svc.yml.j2 + +- name: Configmap + kubernetes.core.k8s: + kubeconfig: ~/.kube/config + namespace: "{{ NAMESPACE }}" + template: configmap.yml.j2 + apply: yes + +- name: Deployment + kubernetes.core.k8s: + kubeconfig: ~/.kube/config + namespace: "{{ NAMESPACE }}" + template: deployment.yml.j2 \ No newline at end of file diff --git a/ansible/roles/tldraw-client-core/templates/configmap.yml.j2 b/ansible/roles/tldraw-client-core/templates/configmap.yml.j2 new file mode 100644 index 00000000..5c16d081 --- /dev/null +++ b/ansible/roles/tldraw-client-core/templates/configmap.yml.j2 @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: tldraw-client-configmap + namespace: {{ NAMESPACE }} + labels: + app: tldraw-client +data: + NODE_ENV: "production" + TZ: "Europe/Berlin" + PORT: "{{ PORT_TLDRAW_CLIENT }}" \ No newline at end of file diff --git a/ansible/roles/tldraw-client-core/templates/deployment.yml.j2 b/ansible/roles/tldraw-client-core/templates/deployment.yml.j2 new file mode 100644 index 00000000..1d8b39fd --- /dev/null +++ b/ansible/roles/tldraw-client-core/templates/deployment.yml.j2 @@ -0,0 +1,47 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: tldraw-client-deployment + namespace: {{ NAMESPACE }} + labels: + app: tldraw-client +spec: + replicas: {{ TLDRAW_CLIENT_REPLICAS|default("1", true) }} + strategy: + type: RollingUpdate + rollingUpdate: + maxSurge: 1 + revisionHistoryLimit: 4 + paused: false + selector: + matchLabels: + app: tldraw-client + template: + metadata: + labels: + app: tldraw-client + annotations: + spec: + securityContext: + runAsUser: 1000 + runAsGroup: 1000 + fsGroup: 1000 + runAsNonRoot: true + containers: + - name: tldraw-client + image: {{ TLDRAW_CLIENT_IMAGE }}:{{ TLDRAW_CLIENT_IMAGE_TAG }} + imagePullPolicy: IfNotPresent + ports: + - name: http + containerPort: {{ PORT_TLDRAW_CLIENT }} + protocol: TCP + envFrom: + - configMapRef: + name: tldraw-client-configmap + resources: + limits: + cpu: {{ TLDRAW_CLIENT__CPU_LIMITS|default("1000m", true) }} + memory: {{ TLDRAW_CLIENT__MEMORY_LIMITS|default("32Mi", true) }} + requests: + cpu: {{ TLDRAW_CLIENT__CPU_REQUESTS|default("100m", true) }} + memory: {{ TLDRAW_CLIENT__MEMORY_REQUESTS|default("32Mi", true) }} \ No newline at end of file diff --git a/ansible/roles/tldraw-client-core/templates/tldraw-svc.yml.j2 b/ansible/roles/tldraw-client-core/templates/tldraw-svc.yml.j2 new file mode 100644 index 00000000..e047b58b --- /dev/null +++ b/ansible/roles/tldraw-client-core/templates/tldraw-svc.yml.j2 @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: Service +metadata: + name: tldraw-svc + namespace: {{ NAMESPACE }} + labels: + app: tldraw-client +spec: + type: ClusterIP + ports: + - port: {{ PORT_TLDRAW_CLIENT }} + targetPort: 3046 + protocol: TCP + name: tldraw-client + selector: + app: tldraw-client \ No newline at end of file From 804539a9d9f000190df92dc0611c7333e211ee9e Mon Sep 17 00:00:00 2001 From: Viktoriia <1> Date: Mon, 31 Jul 2023 17:21:58 +0200 Subject: [PATCH 002/105] Fix --- .../roles/tldraw-client-core/templates/deployment.yml.j2 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ansible/roles/tldraw-client-core/templates/deployment.yml.j2 b/ansible/roles/tldraw-client-core/templates/deployment.yml.j2 index 1d8b39fd..52f32f85 100644 --- a/ansible/roles/tldraw-client-core/templates/deployment.yml.j2 +++ b/ansible/roles/tldraw-client-core/templates/deployment.yml.j2 @@ -40,8 +40,8 @@ spec: name: tldraw-client-configmap resources: limits: - cpu: {{ TLDRAW_CLIENT__CPU_LIMITS|default("1000m", true) }} - memory: {{ TLDRAW_CLIENT__MEMORY_LIMITS|default("32Mi", true) }} + cpu: {{ TLDRAW_CLIENT_CPU_LIMITS|default("1000m", true) }} + memory: {{ TLDRAW_CLIENT_MEMORY_LIMITS|default("256Mi", true) }} requests: - cpu: {{ TLDRAW_CLIENT__CPU_REQUESTS|default("100m", true) }} - memory: {{ TLDRAW_CLIENT__MEMORY_REQUESTS|default("32Mi", true) }} \ No newline at end of file + cpu: {{ TLDRAW_CLIENT_CPU_REQUESTS|default("100m", true) }} + memory: {{ TLDRAW_CLIENT_MEMORY_REQUESTS|default("32Mi", true) }} \ No newline at end of file From 10bed1a8f0371a44e65ad33023edc67f49ebb082 Mon Sep 17 00:00:00 2001 From: Viktoriia <1> Date: Mon, 31 Jul 2023 17:40:56 +0200 Subject: [PATCH 003/105] Add bingo token --- .github/workflows/push.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index 52789001..00366b23 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -75,6 +75,7 @@ jobs: token: ${{ secrets.GITHUB_TOKEN }} DEV_VAULT: ${{ secrets.DEV_VAULT }} DEV_KUBE_CONFIG: ${{ secrets.DEV_KUBE_CONFIG }} + BINGO_REPO_TOKEN: ${{ secrets.BINGO_REPO_TOKEN }} deploy-successful: needs: From de2f140408aad3900b46739959722d49d4edb871 Mon Sep 17 00:00:00 2001 From: Viktoriia <1> Date: Mon, 31 Jul 2023 18:29:08 +0200 Subject: [PATCH 004/105] Add port --- ansible/roles/tldraw-client-core/templates/tldraw-svc.yml.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ansible/roles/tldraw-client-core/templates/tldraw-svc.yml.j2 b/ansible/roles/tldraw-client-core/templates/tldraw-svc.yml.j2 index e047b58b..6628334f 100644 --- a/ansible/roles/tldraw-client-core/templates/tldraw-svc.yml.j2 +++ b/ansible/roles/tldraw-client-core/templates/tldraw-svc.yml.j2 @@ -8,7 +8,7 @@ metadata: spec: type: ClusterIP ports: - - port: {{ PORT_TLDRAW_CLIENT }} + - port: 3046 targetPort: 3046 protocol: TCP name: tldraw-client From 3ce376ffe636c3f89e01d7b31f325863a64f5c23 Mon Sep 17 00:00:00 2001 From: Viktoriia <1> Date: Tue, 1 Aug 2023 15:03:14 +0200 Subject: [PATCH 005/105] Renaming --- ansible/roles/tldraw-client-core/tasks/main.yml | 12 ++++++------ ...nfigmap.yml.j2 => tldraw-client-configmap.yml.j2} | 0 ...oyment.yml.j2 => tldraw-client-deployment.yml.j2} | 0 .../{tldraw-svc.yml.j2 => tldraw-client-svc.yml.j2} | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) rename ansible/roles/tldraw-client-core/templates/{configmap.yml.j2 => tldraw-client-configmap.yml.j2} (100%) rename ansible/roles/tldraw-client-core/templates/{deployment.yml.j2 => tldraw-client-deployment.yml.j2} (100%) rename ansible/roles/tldraw-client-core/templates/{tldraw-svc.yml.j2 => tldraw-client-svc.yml.j2} (90%) diff --git a/ansible/roles/tldraw-client-core/tasks/main.yml b/ansible/roles/tldraw-client-core/tasks/main.yml index 58a8b2e3..4668cd43 100644 --- a/ansible/roles/tldraw-client-core/tasks/main.yml +++ b/ansible/roles/tldraw-client-core/tasks/main.yml @@ -1,18 +1,18 @@ -- name: Service +- name: Tldraw Client Service kubernetes.core.k8s: kubeconfig: ~/.kube/config namespace: "{{ NAMESPACE }}" - template: tldraw-svc.yml.j2 + template: tldraw-client-svc.yml.j2 -- name: Configmap +- name: Tldraw Client Configmap kubernetes.core.k8s: kubeconfig: ~/.kube/config namespace: "{{ NAMESPACE }}" - template: configmap.yml.j2 + template: tldraw-client-configmap.yml.j2 apply: yes -- name: Deployment +- name: Tldraw Client Deployment kubernetes.core.k8s: kubeconfig: ~/.kube/config namespace: "{{ NAMESPACE }}" - template: deployment.yml.j2 \ No newline at end of file + template: tldraw-client-deployment.yml.j2 \ No newline at end of file diff --git a/ansible/roles/tldraw-client-core/templates/configmap.yml.j2 b/ansible/roles/tldraw-client-core/templates/tldraw-client-configmap.yml.j2 similarity index 100% rename from ansible/roles/tldraw-client-core/templates/configmap.yml.j2 rename to ansible/roles/tldraw-client-core/templates/tldraw-client-configmap.yml.j2 diff --git a/ansible/roles/tldraw-client-core/templates/deployment.yml.j2 b/ansible/roles/tldraw-client-core/templates/tldraw-client-deployment.yml.j2 similarity index 100% rename from ansible/roles/tldraw-client-core/templates/deployment.yml.j2 rename to ansible/roles/tldraw-client-core/templates/tldraw-client-deployment.yml.j2 diff --git a/ansible/roles/tldraw-client-core/templates/tldraw-svc.yml.j2 b/ansible/roles/tldraw-client-core/templates/tldraw-client-svc.yml.j2 similarity index 90% rename from ansible/roles/tldraw-client-core/templates/tldraw-svc.yml.j2 rename to ansible/roles/tldraw-client-core/templates/tldraw-client-svc.yml.j2 index 6628334f..fa6386c9 100644 --- a/ansible/roles/tldraw-client-core/templates/tldraw-svc.yml.j2 +++ b/ansible/roles/tldraw-client-core/templates/tldraw-client-svc.yml.j2 @@ -1,7 +1,7 @@ apiVersion: v1 kind: Service metadata: - name: tldraw-svc + name: tldraw-client-svc namespace: {{ NAMESPACE }} labels: app: tldraw-client From 66553f9b8e55ea8e5ee58b72d5ca9eb0b31a9d3b Mon Sep 17 00:00:00 2001 From: Viktoriia <1> Date: Tue, 1 Aug 2023 15:41:03 +0200 Subject: [PATCH 006/105] Change port --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index eb3fc027..2c54136b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -13,5 +13,5 @@ RUN npm run build FROM docker.io/nginx:1.25 COPY nginx.conf /etc/nginx/conf.d/default.conf COPY --from=build-stage /app/build /usr/share/nginx/html -EXPOSE 83 +EXPOSE 80 CMD ["nginx", "-g", "daemon off;"] From 877b0bf65f527bd6e3d926c95bd78e38d2cbe8a4 Mon Sep 17 00:00:00 2001 From: Viktoriia <1> Date: Tue, 1 Aug 2023 15:43:02 +0200 Subject: [PATCH 007/105] Change port --- nginx.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nginx.conf b/nginx.conf index 468bbd07..bf132db9 100644 --- a/nginx.conf +++ b/nginx.conf @@ -1,5 +1,5 @@ server { - listen 83; + listen 80; server_name localhost; location /static { alias /usr/share/nginx/html/static/; From 171db05d7505a6ecaec5c69ac290ba50a4c24153 Mon Sep 17 00:00:00 2001 From: Viktoriia <1> Date: Tue, 1 Aug 2023 17:26:51 +0200 Subject: [PATCH 008/105] Change group vars --- ansible/group_vars/develop/tldraw-client.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ansible/group_vars/develop/tldraw-client.yml b/ansible/group_vars/develop/tldraw-client.yml index f0340734..9ce242d7 100644 --- a/ansible/group_vars/develop/tldraw-client.yml +++ b/ansible/group_vars/develop/tldraw-client.yml @@ -1,2 +1,2 @@ --- -TLDRAW_CLIENT_IMAGE: quay.io/schulcloudverbund/tldraw-client \ No newline at end of file +TLDRAW_CLIENT_IMAGE: ghcr.io/hpi-schul-cloud/tldraw-client \ No newline at end of file From 1122feccea21631ba0b6a7ff32d4e1605c18dc07 Mon Sep 17 00:00:00 2001 From: Viktoriia <1> Date: Tue, 1 Aug 2023 17:44:32 +0200 Subject: [PATCH 009/105] change workflows files --- .github/workflows/clean.yml | 2 +- .github/workflows/push.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/clean.yml b/.github/workflows/clean.yml index 8ca273ab..bbd50d9a 100644 --- a/.github/workflows/clean.yml +++ b/.github/workflows/clean.yml @@ -7,7 +7,7 @@ jobs: clean: permissions: contents: read - uses: hpi-schul-cloud/dof_app_deploy/.github/workflows/clean_workflow.yml@main + uses: hpi-schul-cloud/dof_app_deploy/.github/workflows/clean_workflow.yml@BC-4256-Integration-tldraw with: branch: ${{ github.event.ref }} secrets: diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index 00366b23..0821aab9 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -68,7 +68,7 @@ jobs: needs: - build_and_push - branch_name - uses: hpi-schul-cloud/dof_app_deploy/.github/workflows/deploy.yml@main + uses: hpi-schul-cloud/dof_app_deploy/.github/workflows/deploy.yml@BC-4256-Integration-tldraw with: branch: ${{ needs.branch_name.outputs.branch }} secrets: From a9d8d9a004fde5e18c18c4300c1a939c01860b70 Mon Sep 17 00:00:00 2001 From: Viktoriia <1> Date: Tue, 1 Aug 2023 18:07:23 +0200 Subject: [PATCH 010/105] change deployment file --- .../templates/tldraw-client-deployment.yml.j2 | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/ansible/roles/tldraw-client-core/templates/tldraw-client-deployment.yml.j2 b/ansible/roles/tldraw-client-core/templates/tldraw-client-deployment.yml.j2 index 52f32f85..d4f9bb85 100644 --- a/ansible/roles/tldraw-client-core/templates/tldraw-client-deployment.yml.j2 +++ b/ansible/roles/tldraw-client-core/templates/tldraw-client-deployment.yml.j2 @@ -38,10 +38,24 @@ spec: envFrom: - configMapRef: name: tldraw-client-configmap + volumeMounts: + - mountPath: /var/run + name: pid-dir + - mountPath: /var/cache/nginx + name: cache-dir + - mountPath: /etc/nginx/conf.d + name: conf-dir resources: limits: cpu: {{ TLDRAW_CLIENT_CPU_LIMITS|default("1000m", true) }} memory: {{ TLDRAW_CLIENT_MEMORY_LIMITS|default("256Mi", true) }} requests: cpu: {{ TLDRAW_CLIENT_CPU_REQUESTS|default("100m", true) }} - memory: {{ TLDRAW_CLIENT_MEMORY_REQUESTS|default("32Mi", true) }} \ No newline at end of file + memory: {{ TLDRAW_CLIENT_MEMORY_REQUESTS|default("32Mi", true) }} + volumes: + - name: pid-dir + emptyDir: {} + - name: cache-dir + emptyDir: {} + - name: conf-dir + emptyDir: {} \ No newline at end of file From 7f8eb13009969d85a090fdcd6e68053ebfaf2366 Mon Sep 17 00:00:00 2001 From: Viktoriia <1> Date: Mon, 7 Aug 2023 14:46:37 +0200 Subject: [PATCH 011/105] Change dockerfile --- Dockerfile | 2 +- nginx.conf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 2c54136b..ccea672f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -13,5 +13,5 @@ RUN npm run build FROM docker.io/nginx:1.25 COPY nginx.conf /etc/nginx/conf.d/default.conf COPY --from=build-stage /app/build /usr/share/nginx/html -EXPOSE 80 +EXPOSE 3046 CMD ["nginx", "-g", "daemon off;"] diff --git a/nginx.conf b/nginx.conf index bf132db9..6ab252cb 100644 --- a/nginx.conf +++ b/nginx.conf @@ -1,5 +1,5 @@ server { - listen 80; + listen 3046; server_name localhost; location /static { alias /usr/share/nginx/html/static/; From a6777b0cd6ac5eac4aedb46b434944125a185080 Mon Sep 17 00:00:00 2001 From: Bartosz Nowicki Date: Tue, 8 Aug 2023 19:11:33 +0200 Subject: [PATCH 012/105] reformat nginx.conf --- nginx.conf | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/nginx.conf b/nginx.conf index 6ab252cb..5c27549e 100644 --- a/nginx.conf +++ b/nginx.conf @@ -1,16 +1,20 @@ server { - listen 3046; - server_name localhost; + listen 3046; + server_name localhost; + location /static { alias /usr/share/nginx/html/static/; } + location / { - root /usr/share/nginx/html; - index index.html index.htm; + root /usr/share/nginx/html; + index index.html index.htm; try_files $uri /index.html; } - error_page 500 502 503 504 /50x.html; + + error_page 500 502 503 504 /50x.html; + location = /50x.html { - root /usr/share/nginx/html; + root /usr/share/nginx/html; } } \ No newline at end of file From ca5db8b29ac2a82ed266275fa50e954d3c1f15b5 Mon Sep 17 00:00:00 2001 From: Bartosz Nowicki Date: Tue, 8 Aug 2023 19:14:12 +0200 Subject: [PATCH 013/105] rename nginx configuration file to indicate it will be used as a template file --- nginx.conf => nginx.conf.template | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename nginx.conf => nginx.conf.template (100%) diff --git a/nginx.conf b/nginx.conf.template similarity index 100% rename from nginx.conf rename to nginx.conf.template From d2143e41e289a2b1bd8df5e41adb57a5abd3b68d Mon Sep 17 00:00:00 2001 From: Bartosz Nowicki Date: Tue, 8 Aug 2023 19:28:40 +0200 Subject: [PATCH 014/105] reformat Dockerfile, make nginx configuration a template file --- Dockerfile | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index ccea672f..a33dd329 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,17 +1,24 @@ +# build stage FROM docker.io/node:18-bullseye as build-stage RUN mkdir /app && chown -R node:node /app + WORKDIR /app -COPY package.json . -COPY package-lock.json . +COPY package.json package-lock.json ./ RUN npm ci + COPY . ./ -RUN npm run build +RUN NODE_ENV=production npm run build -# production environment +# runtime image stage FROM docker.io/nginx:1.25 -COPY nginx.conf /etc/nginx/conf.d/default.conf + +RUN mkdir /etc/nginx/templates + +COPY nginx.conf.template /etc/nginx/templates/default.conf.template COPY --from=build-stage /app/build /usr/share/nginx/html + EXPOSE 3046 + CMD ["nginx", "-g", "daemon off;"] From 213f22ee8d118f080c9865dabf644ae53aa37417 Mon Sep 17 00:00:00 2001 From: Bartosz Nowicki Date: Tue, 8 Aug 2023 19:38:28 +0200 Subject: [PATCH 015/105] add /runtime.config.json location in nginx config --- nginx.conf.template | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/nginx.conf.template b/nginx.conf.template index 5c27549e..50c75776 100644 --- a/nginx.conf.template +++ b/nginx.conf.template @@ -2,6 +2,11 @@ server { listen 3046; server_name localhost; + location /runtime.config.json { + return 200 '{ "apiURL" : "${API_URL}" }'; + add_header Content-Type application/json; + } + location /static { alias /usr/share/nginx/html/static/; } From 0d15ff0f4fdc38b7158a998ddd0935a0802b0468 Mon Sep 17 00:00:00 2001 From: Bartosz Nowicki Date: Tue, 8 Aug 2023 19:40:49 +0200 Subject: [PATCH 016/105] add API_URL to the tldraw configmap --- .../templates/tldraw-client-configmap.yml.j2 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ansible/roles/tldraw-client-core/templates/tldraw-client-configmap.yml.j2 b/ansible/roles/tldraw-client-core/templates/tldraw-client-configmap.yml.j2 index 5c16d081..57a0a12b 100644 --- a/ansible/roles/tldraw-client-core/templates/tldraw-client-configmap.yml.j2 +++ b/ansible/roles/tldraw-client-core/templates/tldraw-client-configmap.yml.j2 @@ -8,4 +8,5 @@ metadata: data: NODE_ENV: "production" TZ: "Europe/Berlin" - PORT: "{{ PORT_TLDRAW_CLIENT }}" \ No newline at end of file + PORT: "{{ PORT_TLDRAW_CLIENT }}" + API_URL: "https://{{ DOMAIN }}/api" \ No newline at end of file From 5541805c2bd3842bba9ae18da6a88d88a72ec7bd Mon Sep 17 00:00:00 2001 From: Bartosz Nowicki Date: Wed, 9 Aug 2023 17:27:32 +0200 Subject: [PATCH 017/105] replace API URL (as its not currently being used) with the Tldraw server URL --- .../tldraw-client-core/templates/tldraw-client-configmap.yml.j2 | 2 +- nginx.conf.template | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ansible/roles/tldraw-client-core/templates/tldraw-client-configmap.yml.j2 b/ansible/roles/tldraw-client-core/templates/tldraw-client-configmap.yml.j2 index 57a0a12b..7e14417e 100644 --- a/ansible/roles/tldraw-client-core/templates/tldraw-client-configmap.yml.j2 +++ b/ansible/roles/tldraw-client-core/templates/tldraw-client-configmap.yml.j2 @@ -9,4 +9,4 @@ data: NODE_ENV: "production" TZ: "Europe/Berlin" PORT: "{{ PORT_TLDRAW_CLIENT }}" - API_URL: "https://{{ DOMAIN }}/api" \ No newline at end of file + TLDRAW_SERVER_URL: "wss://{{ DOMAIN }}/tldraw-server" \ No newline at end of file diff --git a/nginx.conf.template b/nginx.conf.template index 50c75776..83787d1c 100644 --- a/nginx.conf.template +++ b/nginx.conf.template @@ -3,7 +3,7 @@ server { server_name localhost; location /runtime.config.json { - return 200 '{ "apiURL" : "${API_URL}" }'; + return 200 '{ "tldrawServerURL" : "${TLDRAW_SERVER_URL}" }'; add_header Content-Type application/json; } From f01e96796065bbdaab47bd8fc419f537ed2745bc Mon Sep 17 00:00:00 2001 From: Bartosz Nowicki Date: Wed, 9 Aug 2023 18:04:50 +0200 Subject: [PATCH 018/105] modify location of the served tldraw-client runtime config --- nginx.conf.template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nginx.conf.template b/nginx.conf.template index 83787d1c..d7d8be87 100644 --- a/nginx.conf.template +++ b/nginx.conf.template @@ -2,7 +2,7 @@ server { listen 3046; server_name localhost; - location /runtime.config.json { + location /tldraw-client-runtime.config.json { return 200 '{ "tldrawServerURL" : "${TLDRAW_SERVER_URL}" }'; add_header Content-Type application/json; } From a3c9a6d87eccdbc18f0de2a67a2a7437a3e14b87 Mon Sep 17 00:00:00 2001 From: Viktoriia <1> Date: Thu, 10 Aug 2023 10:41:16 +0200 Subject: [PATCH 019/105] Fetch tldraw Server url --- src/store/store.ts | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/store/store.ts b/src/store/store.ts index de3f034b..a041231c 100644 --- a/src/store/store.ts +++ b/src/store/store.ts @@ -6,6 +6,24 @@ const defaultOptions = { roomName: 'GLOBAL', websocketUrl: 'ws://localhost:3345', }; +async function fetchTldrawServerURL() { + try { + const response = await fetch( + `${window.location.origin}/tldraw-client-runtime.config.json`, + ); + const data = await response.json(); + return data.tldrawServerURL; + } catch (error) { + console.error('Error fetching tldrawServerURL:', error); + return null; + } +} + +fetchTldrawServerURL().then((tldrawServerURL) => { + if (tldrawServerURL) { + defaultOptions.websocketUrl = tldrawServerURL; + } +}); export const doc = new Doc(); export const urlParams = new URLSearchParams(window.location.search); @@ -16,6 +34,7 @@ export let provider = new WebsocketProvider( doc, {}, ); + export const awareness = provider.awareness; export const yShapes: Map = doc.getMap('shapes'); export const yBindings: Map = doc.getMap('bindings'); From 39a0729c77706c66440f4a34967c15b32ecf95d4 Mon Sep 17 00:00:00 2001 From: Viktoriia <1> Date: Thu, 10 Aug 2023 13:54:49 +0200 Subject: [PATCH 020/105] add content to html --- public/index.html | 1 + 1 file changed, 1 insertion(+) diff --git a/public/index.html b/public/index.html index 8b919e98..3ec79bf2 100644 --- a/public/index.html +++ b/public/index.html @@ -2,6 +2,7 @@ + Date: Thu, 10 Aug 2023 16:19:41 +0200 Subject: [PATCH 021/105] update .gitignore --- .gitignore | 2 +- build/asset-manifest.json | 41 ++++++++++ build/index.html | 1 + build/static/css/main.eead7745.css | 2 + build/static/css/main.eead7745.css.map | 1 + build/static/js/main.86611976.js | 3 + build/static/js/main.86611976.js.LICENSE.txt | 77 ++++++++++++++++++ build/static/js/main.86611976.js.map | 1 + ...h-all-400-normal.a5c897241736f5b49078.woff | Bin 0 -> 135580 bytes ...atin-400-normal.e3242ba46c44371a37b9.woff2 | Bin 0 -> 67448 bytes ...-ext-400-normal.ae30e988a8941d46ed06.woff2 | Bin 0 -> 31012 bytes ...o-all-400-normal.7fea63fcf88020662463.woff | Bin 0 -> 41728 bytes ...atin-400-normal.56ea918eed2581f663ae.woff2 | Bin 0 -> 16100 bytes ...-ext-400-normal.d1556684a4c4c4b88f69.woff2 | Bin 0 -> 12188 bytes ...mese-400-normal.18c188ec6862cdc9ecdf.woff2 | Bin 0 -> 4052 bytes ...e-all-400-normal.d8f5b01d012b20786bb6.woff | Bin 0 -> 67220 bytes ...-ext-400-normal.bd74e81400bd97d26876.woff2 | Bin 0 -> 964 bytes ...atin-400-normal.f35db37ce17a987093e6.woff2 | Bin 0 -> 24776 bytes ...-ext-400-normal.5c80075343f0e6b556f9.woff2 | Bin 0 -> 21068 bytes ...mese-400-normal.ce10792e0d3526c778a1.woff2 | Bin 0 -> 5584 bytes ...o-all-400-normal.7df0968e0f981f08d253.woff | Bin 0 -> 56044 bytes ...llic-400-normal.e5904d7796f14a6284b7.woff2 | Bin 0 -> 6428 bytes ...-ext-400-normal.0573a2ae2e466eba0356.woff2 | Bin 0 -> 4208 bytes ...reek-400-normal.6c09b07bbd10f336c332.woff2 | Bin 0 -> 5156 bytes ...-ext-400-normal.cc20b15eacd73fe42dfe.woff2 | Bin 0 -> 1600 bytes ...atin-400-normal.06101a7ccf85875d015f.woff2 | Bin 0 -> 9960 bytes ...-ext-400-normal.1d8ea3d31970f45e1efa.woff2 | Bin 0 -> 9336 bytes ...mese-400-normal.add6a1fe8239b714d178.woff2 | Bin 0 -> 3504 bytes ...o-all-400-normal.1882629b5eaf2ec74fbf.woff | Bin 0 -> 74684 bytes ...llic-400-normal.d1cfd8b7bb2cbe3fabb0.woff2 | Bin 0 -> 7448 bytes ...-ext-400-normal.de95c5209ef26bf69ccf.woff2 | Bin 0 -> 5024 bytes ...reek-400-normal.9c7d72dcc7a044db07b1.woff2 | Bin 0 -> 7036 bytes ...-ext-400-normal.1b1cb10170f2616853f0.woff2 | Bin 0 -> 6004 bytes ...atin-400-normal.c0d191aa7fb798623030.woff2 | Bin 0 -> 13036 bytes ...-ext-400-normal.fbd4fe33a443c83e04f1.woff2 | Bin 0 -> 11792 bytes ...mese-400-normal.e84a4369ad213f658ebb.woff2 | Bin 0 -> 4216 bytes 36 files changed, 127 insertions(+), 1 deletion(-) create mode 100644 build/asset-manifest.json create mode 100644 build/index.html create mode 100644 build/static/css/main.eead7745.css create mode 100644 build/static/css/main.eead7745.css.map create mode 100644 build/static/js/main.86611976.js create mode 100644 build/static/js/main.86611976.js.LICENSE.txt create mode 100644 build/static/js/main.86611976.js.map create mode 100644 build/static/media/caveat-brush-all-400-normal.a5c897241736f5b49078.woff create mode 100644 build/static/media/caveat-brush-latin-400-normal.e3242ba46c44371a37b9.woff2 create mode 100644 build/static/media/caveat-brush-latin-ext-400-normal.ae30e988a8941d46ed06.woff2 create mode 100644 build/static/media/crimson-pro-all-400-normal.7fea63fcf88020662463.woff create mode 100644 build/static/media/crimson-pro-latin-400-normal.56ea918eed2581f663ae.woff2 create mode 100644 build/static/media/crimson-pro-latin-ext-400-normal.d1556684a4c4c4b88f69.woff2 create mode 100644 build/static/media/crimson-pro-vietnamese-400-normal.18c188ec6862cdc9ecdf.woff2 create mode 100644 build/static/media/recursive-all-400-normal.d8f5b01d012b20786bb6.woff create mode 100644 build/static/media/recursive-cyrillic-ext-400-normal.bd74e81400bd97d26876.woff2 create mode 100644 build/static/media/recursive-latin-400-normal.f35db37ce17a987093e6.woff2 create mode 100644 build/static/media/recursive-latin-ext-400-normal.5c80075343f0e6b556f9.woff2 create mode 100644 build/static/media/recursive-vietnamese-400-normal.ce10792e0d3526c778a1.woff2 create mode 100644 build/static/media/source-code-pro-all-400-normal.7df0968e0f981f08d253.woff create mode 100644 build/static/media/source-code-pro-cyrillic-400-normal.e5904d7796f14a6284b7.woff2 create mode 100644 build/static/media/source-code-pro-cyrillic-ext-400-normal.0573a2ae2e466eba0356.woff2 create mode 100644 build/static/media/source-code-pro-greek-400-normal.6c09b07bbd10f336c332.woff2 create mode 100644 build/static/media/source-code-pro-greek-ext-400-normal.cc20b15eacd73fe42dfe.woff2 create mode 100644 build/static/media/source-code-pro-latin-400-normal.06101a7ccf85875d015f.woff2 create mode 100644 build/static/media/source-code-pro-latin-ext-400-normal.1d8ea3d31970f45e1efa.woff2 create mode 100644 build/static/media/source-code-pro-vietnamese-400-normal.add6a1fe8239b714d178.woff2 create mode 100644 build/static/media/source-sans-pro-all-400-normal.1882629b5eaf2ec74fbf.woff create mode 100644 build/static/media/source-sans-pro-cyrillic-400-normal.d1cfd8b7bb2cbe3fabb0.woff2 create mode 100644 build/static/media/source-sans-pro-cyrillic-ext-400-normal.de95c5209ef26bf69ccf.woff2 create mode 100644 build/static/media/source-sans-pro-greek-400-normal.9c7d72dcc7a044db07b1.woff2 create mode 100644 build/static/media/source-sans-pro-greek-ext-400-normal.1b1cb10170f2616853f0.woff2 create mode 100644 build/static/media/source-sans-pro-latin-400-normal.c0d191aa7fb798623030.woff2 create mode 100644 build/static/media/source-sans-pro-latin-ext-400-normal.fbd4fe33a443c83e04f1.woff2 create mode 100644 build/static/media/source-sans-pro-vietnamese-400-normal.e84a4369ad213f658ebb.woff2 diff --git a/.gitignore b/.gitignore index 4d29575d..58b21fe5 100644 --- a/.gitignore +++ b/.gitignore @@ -9,7 +9,7 @@ /coverage # production -/build +# /build # misc .DS_Store diff --git a/build/asset-manifest.json b/build/asset-manifest.json new file mode 100644 index 00000000..fbb106a5 --- /dev/null +++ b/build/asset-manifest.json @@ -0,0 +1,41 @@ +{ + "files": { + "main.css": "/static/css/main.eead7745.css", + "main.js": "/static/js/main.86611976.js", + "static/media/caveat-brush-all-400-normal.woff": "/static/media/caveat-brush-all-400-normal.a5c897241736f5b49078.woff", + "static/media/source-sans-pro-all-400-normal.woff": "/static/media/source-sans-pro-all-400-normal.1882629b5eaf2ec74fbf.woff", + "static/media/caveat-brush-latin-400-normal.woff2": "/static/media/caveat-brush-latin-400-normal.e3242ba46c44371a37b9.woff2", + "static/media/recursive-all-400-normal.woff": "/static/media/recursive-all-400-normal.d8f5b01d012b20786bb6.woff", + "static/media/source-code-pro-all-400-normal.woff": "/static/media/source-code-pro-all-400-normal.7df0968e0f981f08d253.woff", + "static/media/crimson-pro-all-400-normal.woff": "/static/media/crimson-pro-all-400-normal.7fea63fcf88020662463.woff", + "static/media/caveat-brush-latin-ext-400-normal.woff2": "/static/media/caveat-brush-latin-ext-400-normal.ae30e988a8941d46ed06.woff2", + "static/media/recursive-latin-400-normal.woff2": "/static/media/recursive-latin-400-normal.f35db37ce17a987093e6.woff2", + "static/media/recursive-latin-ext-400-normal.woff2": "/static/media/recursive-latin-ext-400-normal.5c80075343f0e6b556f9.woff2", + "static/media/crimson-pro-latin-400-normal.woff2": "/static/media/crimson-pro-latin-400-normal.56ea918eed2581f663ae.woff2", + "static/media/source-sans-pro-latin-400-normal.woff2": "/static/media/source-sans-pro-latin-400-normal.c0d191aa7fb798623030.woff2", + "static/media/crimson-pro-latin-ext-400-normal.woff2": "/static/media/crimson-pro-latin-ext-400-normal.d1556684a4c4c4b88f69.woff2", + "static/media/source-sans-pro-latin-ext-400-normal.woff2": "/static/media/source-sans-pro-latin-ext-400-normal.fbd4fe33a443c83e04f1.woff2", + "static/media/source-code-pro-latin-400-normal.woff2": "/static/media/source-code-pro-latin-400-normal.06101a7ccf85875d015f.woff2", + "static/media/source-code-pro-latin-ext-400-normal.woff2": "/static/media/source-code-pro-latin-ext-400-normal.1d8ea3d31970f45e1efa.woff2", + "static/media/source-sans-pro-cyrillic-400-normal.woff2": "/static/media/source-sans-pro-cyrillic-400-normal.d1cfd8b7bb2cbe3fabb0.woff2", + "static/media/source-sans-pro-greek-400-normal.woff2": "/static/media/source-sans-pro-greek-400-normal.9c7d72dcc7a044db07b1.woff2", + "static/media/source-code-pro-cyrillic-400-normal.woff2": "/static/media/source-code-pro-cyrillic-400-normal.e5904d7796f14a6284b7.woff2", + "static/media/source-sans-pro-greek-ext-400-normal.woff2": "/static/media/source-sans-pro-greek-ext-400-normal.1b1cb10170f2616853f0.woff2", + "static/media/recursive-vietnamese-400-normal.woff2": "/static/media/recursive-vietnamese-400-normal.ce10792e0d3526c778a1.woff2", + "static/media/source-code-pro-greek-400-normal.woff2": "/static/media/source-code-pro-greek-400-normal.6c09b07bbd10f336c332.woff2", + "static/media/source-sans-pro-cyrillic-ext-400-normal.woff2": "/static/media/source-sans-pro-cyrillic-ext-400-normal.de95c5209ef26bf69ccf.woff2", + "static/media/source-sans-pro-vietnamese-400-normal.woff2": "/static/media/source-sans-pro-vietnamese-400-normal.e84a4369ad213f658ebb.woff2", + "static/media/source-code-pro-cyrillic-ext-400-normal.woff2": "/static/media/source-code-pro-cyrillic-ext-400-normal.0573a2ae2e466eba0356.woff2", + "static/media/crimson-pro-vietnamese-400-normal.woff2": "/static/media/crimson-pro-vietnamese-400-normal.18c188ec6862cdc9ecdf.woff2", + "static/media/source-code-pro-vietnamese-400-normal.woff2": "/static/media/source-code-pro-vietnamese-400-normal.add6a1fe8239b714d178.woff2", + "static/media/source-code-pro-greek-ext-400-normal.woff2": "/static/media/source-code-pro-greek-ext-400-normal.cc20b15eacd73fe42dfe.woff2", + "static/media/recursive-cyrillic-ext-400-normal.woff2": "/static/media/recursive-cyrillic-ext-400-normal.bd74e81400bd97d26876.woff2", + "index.html": "/index.html", + "main.eead7745.css.map": "/static/css/main.eead7745.css.map", + "main.86611976.js.map": "/static/js/main.86611976.js.map" + }, + "entrypoints": [ + "static/css/main.eead7745.css", + "static/js/main.86611976.js" + ] +} \ No newline at end of file diff --git a/build/index.html b/build/index.html new file mode 100644 index 00000000..e1bf7b87 --- /dev/null +++ b/build/index.html @@ -0,0 +1 @@ +React App
\ No newline at end of file diff --git a/build/static/css/main.eead7745.css b/build/static/css/main.eead7745.css new file mode 100644 index 00000000..78ec6243 --- /dev/null +++ b/build/static/css/main.eead7745.css @@ -0,0 +1,2 @@ +@font-face{font-display:swap;font-family:Caveat Brush;font-style:normal;font-weight:400;src:url(/static/media/caveat-brush-latin-ext-400-normal.ae30e988a8941d46ed06.woff2) format("woff2"),url(/static/media/caveat-brush-all-400-normal.a5c897241736f5b49078.woff) format("woff");unicode-range:u+0100-024f,u+0259,u+1e??,u+2020,u+20a0-20ab,u+20ad-20cf,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Caveat Brush;font-style:normal;font-weight:400;src:url(/static/media/caveat-brush-latin-400-normal.e3242ba46c44371a37b9.woff2) format("woff2"),url(/static/media/caveat-brush-all-400-normal.a5c897241736f5b49078.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Crimson Pro;font-style:normal;font-weight:400;src:url(/static/media/crimson-pro-vietnamese-400-normal.18c188ec6862cdc9ecdf.woff2) format("woff2"),url(/static/media/crimson-pro-all-400-normal.7fea63fcf88020662463.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Crimson Pro;font-style:normal;font-weight:400;src:url(/static/media/crimson-pro-latin-ext-400-normal.d1556684a4c4c4b88f69.woff2) format("woff2"),url(/static/media/crimson-pro-all-400-normal.7fea63fcf88020662463.woff) format("woff");unicode-range:u+0100-024f,u+0259,u+1e??,u+2020,u+20a0-20ab,u+20ad-20cf,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Crimson Pro;font-style:normal;font-weight:400;src:url(/static/media/crimson-pro-latin-400-normal.56ea918eed2581f663ae.woff2) format("woff2"),url(/static/media/crimson-pro-all-400-normal.7fea63fcf88020662463.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:"Recursive";font-style:normal;font-weight:400;src:url(/static/media/recursive-cyrillic-ext-400-normal.bd74e81400bd97d26876.woff2) format("woff2"),url(/static/media/recursive-all-400-normal.d8f5b01d012b20786bb6.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c88,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:"Recursive";font-style:normal;font-weight:400;src:url(/static/media/recursive-vietnamese-400-normal.ce10792e0d3526c778a1.woff2) format("woff2"),url(/static/media/recursive-all-400-normal.d8f5b01d012b20786bb6.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:"Recursive";font-style:normal;font-weight:400;src:url(/static/media/recursive-latin-ext-400-normal.5c80075343f0e6b556f9.woff2) format("woff2"),url(/static/media/recursive-all-400-normal.d8f5b01d012b20786bb6.woff) format("woff");unicode-range:u+0100-024f,u+0259,u+1e??,u+2020,u+20a0-20ab,u+20ad-20cf,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:"Recursive";font-style:normal;font-weight:400;src:url(/static/media/recursive-latin-400-normal.f35db37ce17a987093e6.woff2) format("woff2"),url(/static/media/recursive-all-400-normal.d8f5b01d012b20786bb6.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Source Code Pro;font-style:normal;font-weight:400;src:url(/static/media/source-code-pro-cyrillic-ext-400-normal.0573a2ae2e466eba0356.woff2) format("woff2"),url(/static/media/source-code-pro-all-400-normal.7df0968e0f981f08d253.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c88,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Source Code Pro;font-style:normal;font-weight:400;src:url(/static/media/source-code-pro-cyrillic-400-normal.e5904d7796f14a6284b7.woff2) format("woff2"),url(/static/media/source-code-pro-all-400-normal.7df0968e0f981f08d253.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Source Code Pro;font-style:normal;font-weight:400;src:url(/static/media/source-code-pro-greek-ext-400-normal.cc20b15eacd73fe42dfe.woff2) format("woff2"),url(/static/media/source-code-pro-all-400-normal.7df0968e0f981f08d253.woff) format("woff");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Source Code Pro;font-style:normal;font-weight:400;src:url(/static/media/source-code-pro-greek-400-normal.6c09b07bbd10f336c332.woff2) format("woff2"),url(/static/media/source-code-pro-all-400-normal.7df0968e0f981f08d253.woff) format("woff");unicode-range:u+0370-03ff}@font-face{font-display:swap;font-family:Source Code Pro;font-style:normal;font-weight:400;src:url(/static/media/source-code-pro-vietnamese-400-normal.add6a1fe8239b714d178.woff2) format("woff2"),url(/static/media/source-code-pro-all-400-normal.7df0968e0f981f08d253.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Source Code Pro;font-style:normal;font-weight:400;src:url(/static/media/source-code-pro-latin-ext-400-normal.1d8ea3d31970f45e1efa.woff2) format("woff2"),url(/static/media/source-code-pro-all-400-normal.7df0968e0f981f08d253.woff) format("woff");unicode-range:u+0100-024f,u+0259,u+1e??,u+2020,u+20a0-20ab,u+20ad-20cf,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Source Code Pro;font-style:normal;font-weight:400;src:url(/static/media/source-code-pro-latin-400-normal.06101a7ccf85875d015f.woff2) format("woff2"),url(/static/media/source-code-pro-all-400-normal.7df0968e0f981f08d253.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Source Sans Pro;font-style:normal;font-weight:400;src:url(/static/media/source-sans-pro-cyrillic-ext-400-normal.de95c5209ef26bf69ccf.woff2) format("woff2"),url(/static/media/source-sans-pro-all-400-normal.1882629b5eaf2ec74fbf.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c88,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Source Sans Pro;font-style:normal;font-weight:400;src:url(/static/media/source-sans-pro-cyrillic-400-normal.d1cfd8b7bb2cbe3fabb0.woff2) format("woff2"),url(/static/media/source-sans-pro-all-400-normal.1882629b5eaf2ec74fbf.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Source Sans Pro;font-style:normal;font-weight:400;src:url(/static/media/source-sans-pro-greek-ext-400-normal.1b1cb10170f2616853f0.woff2) format("woff2"),url(/static/media/source-sans-pro-all-400-normal.1882629b5eaf2ec74fbf.woff) format("woff");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Source Sans Pro;font-style:normal;font-weight:400;src:url(/static/media/source-sans-pro-greek-400-normal.9c7d72dcc7a044db07b1.woff2) format("woff2"),url(/static/media/source-sans-pro-all-400-normal.1882629b5eaf2ec74fbf.woff) format("woff");unicode-range:u+0370-03ff}@font-face{font-display:swap;font-family:Source Sans Pro;font-style:normal;font-weight:400;src:url(/static/media/source-sans-pro-vietnamese-400-normal.e84a4369ad213f658ebb.woff2) format("woff2"),url(/static/media/source-sans-pro-all-400-normal.1882629b5eaf2ec74fbf.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Source Sans Pro;font-style:normal;font-weight:400;src:url(/static/media/source-sans-pro-latin-ext-400-normal.fbd4fe33a443c83e04f1.woff2) format("woff2"),url(/static/media/source-sans-pro-all-400-normal.1882629b5eaf2ec74fbf.woff) format("woff");unicode-range:u+0100-024f,u+0259,u+1e??,u+2020,u+20a0-20ab,u+20ad-20cf,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Source Sans Pro;font-style:normal;font-weight:400;src:url(/static/media/source-sans-pro-latin-400-normal.c0d191aa7fb798623030.woff2) format("woff2"),url(/static/media/source-sans-pro-all-400-normal.1882629b5eaf2ec74fbf.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}body,html{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;padding:0}a{color:inherit;text-decoration:none}*{box-sizing:border-box}.tldraw{bottom:0;height:100%;left:0;position:fixed;right:0;top:0;width:100%}.user-container{font-size:x-large;font-weight:500;left:0;padding:12px;position:absolute;right:0;top:40px;z-index:100}.flex{display:flex}.space-between{justify-content:space-between}.color-dodgerblue{color:#1e90ff} +/*# sourceMappingURL=main.eead7745.css.map*/ \ No newline at end of file diff --git a/build/static/css/main.eead7745.css.map b/build/static/css/main.eead7745.css.map new file mode 100644 index 00000000..497b2caa --- /dev/null +++ b/build/static/css/main.eead7745.css.map @@ -0,0 +1 @@ +{"version":3,"file":"static/css/main.eead7745.css","mappings":"AACA,WAGE,iBAAkB,CAFlB,wBAA2B,CAC3B,iBAAkB,CAElB,eAAgB,CAChB,2LAA2I,CAC3I,qGACF,CAEA,WAGE,iBAAkB,CAFlB,wBAA2B,CAC3B,iBAAkB,CAElB,eAAgB,CAChB,uLAAuI,CACvI,mJACF,CChBA,WAGE,iBAAkB,CAFlB,uBAA0B,CAC1B,iBAAkB,CAElB,eAAgB,CAChB,0LAA0I,CAC1I,wGACF,CAEA,WAGE,iBAAkB,CAFlB,uBAA0B,CAC1B,iBAAkB,CAElB,eAAgB,CAChB,yLAAyI,CACzI,qGACF,CAEA,WAGE,iBAAkB,CAFlB,uBAA0B,CAC1B,iBAAkB,CAElB,eAAgB,CAChB,qLAAqI,CACrI,mJACF,CCzBA,WAGE,iBAAkB,CAFlB,uBAAwB,CACxB,iBAAkB,CAElB,eAAgB,CAChB,wLAAwI,CACxI,gFACF,CAEA,WAGE,iBAAkB,CAFlB,uBAAwB,CACxB,iBAAkB,CAElB,eAAgB,CAChB,sLAAsI,CACtI,wGACF,CAEA,WAGE,iBAAkB,CAFlB,uBAAwB,CACxB,iBAAkB,CAElB,eAAgB,CAChB,qLAAqI,CACrI,qGACF,CAEA,WAGE,iBAAkB,CAFlB,uBAAwB,CACxB,iBAAkB,CAElB,eAAgB,CAChB,iLAAiI,CACjI,mJACF,CClCA,WAGE,iBAAkB,CAFlB,2BAA8B,CAC9B,iBAAkB,CAElB,eAAgB,CAChB,oMAAoJ,CACpJ,gFACF,CAEA,WAGE,iBAAkB,CAFlB,2BAA8B,CAC9B,iBAAkB,CAElB,eAAgB,CAChB,gMAAgJ,CAChJ,+DACF,CAEA,WAGE,iBAAkB,CAFlB,2BAA8B,CAC9B,iBAAkB,CAElB,eAAgB,CAChB,iMAAiJ,CACjJ,oBACF,CAEA,WAGE,iBAAkB,CAFlB,2BAA8B,CAC9B,iBAAkB,CAElB,eAAgB,CAChB,6LAA6I,CAC7I,yBACF,CAEA,WAGE,iBAAkB,CAFlB,2BAA8B,CAC9B,iBAAkB,CAElB,eAAgB,CAChB,kMAAkJ,CAClJ,wGACF,CAEA,WAGE,iBAAkB,CAFlB,2BAA8B,CAC9B,iBAAkB,CAElB,eAAgB,CAChB,iMAAiJ,CACjJ,qGACF,CAEA,WAGE,iBAAkB,CAFlB,2BAA8B,CAC9B,iBAAkB,CAElB,eAAgB,CAChB,6LAA6I,CAC7I,mJACF,CC7DA,WAGE,iBAAkB,CAFlB,2BAA8B,CAC9B,iBAAkB,CAElB,eAAgB,CAChB,oMAAoJ,CACpJ,gFACF,CAEA,WAGE,iBAAkB,CAFlB,2BAA8B,CAC9B,iBAAkB,CAElB,eAAgB,CAChB,gMAAgJ,CAChJ,+DACF,CAEA,WAGE,iBAAkB,CAFlB,2BAA8B,CAC9B,iBAAkB,CAElB,eAAgB,CAChB,iMAAiJ,CACjJ,oBACF,CAEA,WAGE,iBAAkB,CAFlB,2BAA8B,CAC9B,iBAAkB,CAElB,eAAgB,CAChB,6LAA6I,CAC7I,yBACF,CAEA,WAGE,iBAAkB,CAFlB,2BAA8B,CAC9B,iBAAkB,CAElB,eAAgB,CAChB,kMAAkJ,CAClJ,wGACF,CAEA,WAGE,iBAAkB,CAFlB,2BAA8B,CAC9B,iBAAkB,CAElB,eAAgB,CAChB,iMAAiJ,CACjJ,qGACF,CAEA,WAGE,iBAAkB,CAFlB,2BAA8B,CAC9B,iBAAkB,CAElB,eAAgB,CAChB,6LAA6I,CAC7I,mJACF,CC9DA,UAIC,mIAWW,CAZX,QAAS,CADT,SAcD,CAEA,EACC,aAAc,CACd,oBACD,CAEA,EACC,qBACD,CAEA,QAKC,QAAW,CAEX,WAAY,CAJZ,MAAS,CAFT,cAAe,CAGf,OAAU,CAFV,KAAQ,CAIR,UAED,CAEA,gBAIC,iBAAkB,CADlB,eAAgB,CAGhB,MAAO,CAJP,YAAa,CADb,iBAAkB,CAMlB,OAAQ,CACR,QAAS,CAHT,WAID,CAEA,MACC,YACD,CAEA,eACC,6BACD,CAEA,kBACC,aACD","sources":["../node_modules/@fontsource/caveat-brush/index.css","../node_modules/@fontsource/crimson-pro/index.css","../node_modules/@fontsource/recursive/index.css","../node_modules/@fontsource/source-code-pro/index.css","../node_modules/@fontsource/source-sans-pro/index.css","App.css"],"sourcesContent":["/* caveat-brush-latin-ext-400-normal*/\n@font-face {\n font-family: 'Caveat Brush';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url('./files/caveat-brush-latin-ext-400-normal.woff2') format('woff2'), url('./files/caveat-brush-all-400-normal.woff') format('woff');\n unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n/* caveat-brush-latin-400-normal*/\n@font-face {\n font-family: 'Caveat Brush';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url('./files/caveat-brush-latin-400-normal.woff2') format('woff2'), url('./files/caveat-brush-all-400-normal.woff') format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}\n","/* crimson-pro-vietnamese-400-normal*/\n@font-face {\n font-family: 'Crimson Pro';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url('./files/crimson-pro-vietnamese-400-normal.woff2') format('woff2'), url('./files/crimson-pro-all-400-normal.woff') format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB;\n}\n/* crimson-pro-latin-ext-400-normal*/\n@font-face {\n font-family: 'Crimson Pro';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url('./files/crimson-pro-latin-ext-400-normal.woff2') format('woff2'), url('./files/crimson-pro-all-400-normal.woff') format('woff');\n unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n/* crimson-pro-latin-400-normal*/\n@font-face {\n font-family: 'Crimson Pro';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url('./files/crimson-pro-latin-400-normal.woff2') format('woff2'), url('./files/crimson-pro-all-400-normal.woff') format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}\n","/* recursive-cyrillic-ext-400-normal*/\n@font-face {\n font-family: 'Recursive';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url('./files/recursive-cyrillic-ext-400-normal.woff2') format('woff2'), url('./files/recursive-all-400-normal.woff') format('woff');\n unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n/* recursive-vietnamese-400-normal*/\n@font-face {\n font-family: 'Recursive';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url('./files/recursive-vietnamese-400-normal.woff2') format('woff2'), url('./files/recursive-all-400-normal.woff') format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB;\n}\n/* recursive-latin-ext-400-normal*/\n@font-face {\n font-family: 'Recursive';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url('./files/recursive-latin-ext-400-normal.woff2') format('woff2'), url('./files/recursive-all-400-normal.woff') format('woff');\n unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n/* recursive-latin-400-normal*/\n@font-face {\n font-family: 'Recursive';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url('./files/recursive-latin-400-normal.woff2') format('woff2'), url('./files/recursive-all-400-normal.woff') format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}\n","/* source-code-pro-cyrillic-ext-400-normal*/\n@font-face {\n font-family: 'Source Code Pro';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url('./files/source-code-pro-cyrillic-ext-400-normal.woff2') format('woff2'), url('./files/source-code-pro-all-400-normal.woff') format('woff');\n unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n/* source-code-pro-cyrillic-400-normal*/\n@font-face {\n font-family: 'Source Code Pro';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url('./files/source-code-pro-cyrillic-400-normal.woff2') format('woff2'), url('./files/source-code-pro-all-400-normal.woff') format('woff');\n unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;\n}\n/* source-code-pro-greek-ext-400-normal*/\n@font-face {\n font-family: 'Source Code Pro';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url('./files/source-code-pro-greek-ext-400-normal.woff2') format('woff2'), url('./files/source-code-pro-all-400-normal.woff') format('woff');\n unicode-range: U+1F00-1FFF;\n}\n/* source-code-pro-greek-400-normal*/\n@font-face {\n font-family: 'Source Code Pro';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url('./files/source-code-pro-greek-400-normal.woff2') format('woff2'), url('./files/source-code-pro-all-400-normal.woff') format('woff');\n unicode-range: U+0370-03FF;\n}\n/* source-code-pro-vietnamese-400-normal*/\n@font-face {\n font-family: 'Source Code Pro';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url('./files/source-code-pro-vietnamese-400-normal.woff2') format('woff2'), url('./files/source-code-pro-all-400-normal.woff') format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB;\n}\n/* source-code-pro-latin-ext-400-normal*/\n@font-face {\n font-family: 'Source Code Pro';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url('./files/source-code-pro-latin-ext-400-normal.woff2') format('woff2'), url('./files/source-code-pro-all-400-normal.woff') format('woff');\n unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n/* source-code-pro-latin-400-normal*/\n@font-face {\n font-family: 'Source Code Pro';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url('./files/source-code-pro-latin-400-normal.woff2') format('woff2'), url('./files/source-code-pro-all-400-normal.woff') format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}\n","/* source-sans-pro-cyrillic-ext-400-normal*/\n@font-face {\n font-family: 'Source Sans Pro';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url('./files/source-sans-pro-cyrillic-ext-400-normal.woff2') format('woff2'), url('./files/source-sans-pro-all-400-normal.woff') format('woff');\n unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n/* source-sans-pro-cyrillic-400-normal*/\n@font-face {\n font-family: 'Source Sans Pro';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url('./files/source-sans-pro-cyrillic-400-normal.woff2') format('woff2'), url('./files/source-sans-pro-all-400-normal.woff') format('woff');\n unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;\n}\n/* source-sans-pro-greek-ext-400-normal*/\n@font-face {\n font-family: 'Source Sans Pro';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url('./files/source-sans-pro-greek-ext-400-normal.woff2') format('woff2'), url('./files/source-sans-pro-all-400-normal.woff') format('woff');\n unicode-range: U+1F00-1FFF;\n}\n/* source-sans-pro-greek-400-normal*/\n@font-face {\n font-family: 'Source Sans Pro';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url('./files/source-sans-pro-greek-400-normal.woff2') format('woff2'), url('./files/source-sans-pro-all-400-normal.woff') format('woff');\n unicode-range: U+0370-03FF;\n}\n/* source-sans-pro-vietnamese-400-normal*/\n@font-face {\n font-family: 'Source Sans Pro';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url('./files/source-sans-pro-vietnamese-400-normal.woff2') format('woff2'), url('./files/source-sans-pro-all-400-normal.woff') format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB;\n}\n/* source-sans-pro-latin-ext-400-normal*/\n@font-face {\n font-family: 'Source Sans Pro';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url('./files/source-sans-pro-latin-ext-400-normal.woff2') format('woff2'), url('./files/source-sans-pro-all-400-normal.woff') format('woff');\n unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n/* source-sans-pro-latin-400-normal*/\n@font-face {\n font-family: 'Source Sans Pro';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url('./files/source-sans-pro-latin-400-normal.woff2') format('woff2'), url('./files/source-sans-pro-all-400-normal.woff') format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}\n","html,\r\nbody {\r\n\tpadding: 0;\r\n\tmargin: 0;\r\n\tfont-family:\r\n\t\t-apple-system,\r\n\t\tBlinkMacSystemFont,\r\n\t\tSegoe UI,\r\n\t\tRoboto,\r\n\t\tOxygen,\r\n\t\tUbuntu,\r\n\t\tCantarell,\r\n\t\tFira Sans,\r\n\t\tDroid Sans,\r\n\t\tHelvetica Neue,\r\n\t\tsans-serif;\r\n}\r\n\r\na {\r\n\tcolor: inherit;\r\n\ttext-decoration: none;\r\n}\r\n\r\n* {\r\n\tbox-sizing: border-box;\r\n}\r\n\r\n.tldraw {\r\n\tposition: fixed;\r\n\ttop: 0px;\r\n\tleft: 0px;\r\n\tright: 0px;\r\n\tbottom: 0px;\r\n\twidth: 100%;\r\n\theight: 100%;\r\n}\r\n\r\n.user-container {\r\n\tposition: absolute;\r\n\tpadding: 12px;\r\n\tfont-weight: 500;\r\n\tfont-size: x-large;\r\n\tz-index: 100;\r\n\tleft: 0;\r\n\tright: 0;\r\n\ttop: 40px;\r\n}\r\n\r\n.flex {\r\n\tdisplay: flex;\r\n}\r\n\r\n.space-between {\r\n\tjustify-content: space-between;\r\n}\r\n\r\n.color-dodgerblue {\r\n\tcolor: dodgerblue;\r\n}\r\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/build/static/js/main.86611976.js b/build/static/js/main.86611976.js new file mode 100644 index 00000000..a5aaeaa1 --- /dev/null +++ b/build/static/js/main.86611976.js @@ -0,0 +1,3 @@ +/*! For license information please see main.86611976.js.LICENSE.txt */ +!function(){var e={110:function(e,t,n){"use strict";var r=n(309),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},i={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},a={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},l={};function s(e){return r.isMemo(e)?a:l[e.$$typeof]||o}l[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},l[r.Memo]=a;var u=Object.defineProperty,c=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,f=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,h=Object.prototype;e.exports=function e(t,n,r){if("string"!==typeof n){if(h){var o=p(n);o&&o!==h&&e(t,o,r)}var a=c(n);d&&(a=a.concat(d(n)));for(var l=s(t),g=s(n),v=0;v