diff --git a/deploy/twenty-crm/docker-compose.yml b/deploy/twenty-crm/docker-compose.yml index f4544e1..8814b46 100644 --- a/deploy/twenty-crm/docker-compose.yml +++ b/deploy/twenty-crm/docker-compose.yml @@ -10,14 +10,14 @@ # POSTGRES_PASSWORD, APP_SECRET, ADMIN_PASSWORD services: - twenty-server: + twenty-ch-server: image: twentycrm/twenty:latest - container_name: twenty-server + container_name: twenty-ch-server restart: unless-stopped depends_on: - twenty-db: + twenty-ch-db: condition: service_healthy - twenty-redis: + twenty-ch-redis: condition: service_healthy environment: # ── Core ── @@ -26,9 +26,9 @@ services: - FRONT_BASE_URL=https://crm.rspace.online - PORT=3000 # ── Database ── - - PG_DATABASE_URL=postgres://twenty:${POSTGRES_PASSWORD}@twenty-db:5432/twenty + - PG_DATABASE_URL=postgres://twenty:${POSTGRES_PASSWORD}@twenty-ch-db:5432/twenty # ── Redis ── - - REDIS_URL=redis://twenty-redis:6379 + - REDIS_URL=redis://twenty-ch-redis:6379 # ── Auth ── - APP_SECRET=${APP_SECRET} - ACCESS_TOKEN_SECRET=${APP_SECRET} @@ -43,7 +43,7 @@ services: - IS_BILLING_ENABLED=false - TELEMETRY_ENABLED=false volumes: - - twenty-server-data:/app/.local-storage + - twenty-ch-server-data:/app/.local-storage labels: - "traefik.enable=true" - "traefik.http.routers.twenty-crm.rule=Host(`crm.rspace.online`)" @@ -62,20 +62,20 @@ services: retries: 5 start_period: 60s - twenty-worker: + twenty-ch-worker: image: twentycrm/twenty:latest - container_name: twenty-worker + container_name: twenty-ch-worker restart: unless-stopped command: ["yarn", "worker:prod"] depends_on: - twenty-db: + twenty-ch-db: condition: service_healthy - twenty-redis: + twenty-ch-redis: condition: service_healthy environment: - NODE_ENV=production - - PG_DATABASE_URL=postgres://twenty:${POSTGRES_PASSWORD}@twenty-db:5432/twenty - - REDIS_URL=redis://twenty-redis:6379 + - PG_DATABASE_URL=postgres://twenty:${POSTGRES_PASSWORD}@twenty-ch-db:5432/twenty + - REDIS_URL=redis://twenty-ch-redis:6379 - APP_SECRET=${APP_SECRET} - ACCESS_TOKEN_SECRET=${APP_SECRET} - LOGIN_TOKEN_SECRET=${APP_SECRET} @@ -86,20 +86,20 @@ services: - SERVER_URL=https://crm.rspace.online - TELEMETRY_ENABLED=false volumes: - - twenty-server-data:/app/.local-storage + - twenty-ch-server-data:/app/.local-storage networks: - twenty-internal - twenty-db: + twenty-ch-db: image: postgres:16-alpine - container_name: twenty-db + container_name: twenty-ch-db restart: unless-stopped environment: - POSTGRES_DB=twenty - POSTGRES_USER=twenty - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} volumes: - - twenty-pgdata:/var/lib/postgresql/data + - twenty-ch-pgdata:/var/lib/postgresql/data networks: - twenty-internal healthcheck: @@ -109,12 +109,12 @@ services: retries: 5 start_period: 10s - twenty-redis: + twenty-ch-redis: image: redis:7-alpine - container_name: twenty-redis + container_name: twenty-ch-redis restart: unless-stopped volumes: - - twenty-redis-data:/data + - twenty-ch-redis-data:/data networks: - twenty-internal healthcheck: @@ -124,9 +124,9 @@ services: retries: 5 volumes: - twenty-server-data: - twenty-pgdata: - twenty-redis-data: + twenty-ch-server-data: + twenty-ch-pgdata: + twenty-ch-redis-data: networks: traefik-public: diff --git a/docker-compose.yml b/docker-compose.yml index a7a5ef2..14456e2 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -38,7 +38,7 @@ services: - IMAP_HOST=mail.rmail.online - IMAP_PORT=993 - IMAP_TLS_REJECT_UNAUTHORIZED=false - - TWENTY_API_URL=http://twenty-server:3000 + - TWENTY_API_URL=http://twenty-ch-server:3000 - OLLAMA_URL=http://ollama:11434 - INFISICAL_AI_CLIENT_ID=${INFISICAL_AI_CLIENT_ID} - INFISICAL_AI_CLIENT_SECRET=${INFISICAL_AI_CLIENT_SECRET} diff --git a/lib/folk-choice-conviction.ts b/lib/folk-choice-conviction.ts index fb23ac4..36d2497 100644 --- a/lib/folk-choice-conviction.ts +++ b/lib/folk-choice-conviction.ts @@ -174,6 +174,20 @@ const styles = css` text-align: center; } + .conviction-chart { + padding: 4px 8px 0; + border-bottom: 1px solid #e2e8f0; + } + + .conviction-chart svg { + width: 100%; + display: block; + } + + .conviction-chart:empty { + display: none; + } + .add-form { display: flex; gap: 6px; @@ -344,6 +358,7 @@ export class FolkChoiceConviction extends FolkShape { #weightEl: HTMLElement | null = null; #votersEl: HTMLElement | null = null; #drawerEl: HTMLElement | null = null; + #chartEl: HTMLElement | null = null; get title() { return this.#title; } set title(v: string) { this.#title = v; this.requestUpdate("title"); } @@ -432,6 +447,7 @@ export class FolkChoiceConviction extends FolkShape {