diff --git a/apps/web/pages/video/[uid].tsx b/apps/web/pages/video/[uid].tsx index 5661ec9b62..4a5bf88768 100644 --- a/apps/web/pages/video/[uid].tsx +++ b/apps/web/pages/video/[uid].tsx @@ -76,15 +76,27 @@ export default function JoinCall(props: JoinCallPageProps) {
- Cal.com Logo + {booking?.user?.organization?.calVideoLogo ? ( + My Org Logo + ) : ( + Logo + )}
@@ -260,6 +272,11 @@ export async function getServerSideProps(context: GetServerSidePropsContext) { timeZone: true, name: true, email: true, + organization: { + select: { + calVideoLogo: true, + }, + }, }, }, references: { diff --git a/apps/web/public/static/locales/ar/common.json b/apps/web/public/static/locales/ar/common.json index 676a3e8df5..5eb20d94a9 100644 --- a/apps/web/public/static/locales/ar/common.json +++ b/apps/web/public/static/locales/ar/common.json @@ -1994,7 +1994,7 @@ "select_time": "اختيار الوقت", "select_date": "اختيار التاريخ", "see_all_available_times": "رؤية كل الأوقات المتاحة", - "org_team_names_example": "مثال، فريق التسويق", + "org_team_names_example_1": "مثال، فريق التسويق", "org_team_names_example_2": "مثال، فريق المبيعات", "org_team_names_example_3": "مثال، فريق التصميم", "org_team_names_example_4": "مثال، الفريق الهندسي", diff --git a/apps/web/public/static/locales/cs/common.json b/apps/web/public/static/locales/cs/common.json index 07d8d5c07c..0c5585febc 100644 --- a/apps/web/public/static/locales/cs/common.json +++ b/apps/web/public/static/locales/cs/common.json @@ -1994,7 +1994,7 @@ "select_time": "Vyberte čas", "select_date": "Vyberte datum", "see_all_available_times": "Zobrazit všechny dostupné časy", - "org_team_names_example": "Např. marketingový tým", + "org_team_names_example_1": "Např. marketingový tým", "org_team_names_example_2": "Např. obchodní tým", "org_team_names_example_3": "Např. designérský tým", "org_team_names_example_4": "Např. inženýrský tým", diff --git a/apps/web/public/static/locales/de/common.json b/apps/web/public/static/locales/de/common.json index 5efbe3a4ca..1b6af6f267 100644 --- a/apps/web/public/static/locales/de/common.json +++ b/apps/web/public/static/locales/de/common.json @@ -1994,7 +1994,7 @@ "select_time": "Zeit auswählen", "select_date": "Datum auswählen", "see_all_available_times": "Alle verfügbaren Zeiten ansehen", - "org_team_names_example": "z.B. Marketing-Team", + "org_team_names_example_1": "z.B. Marketing-Team", "org_team_names_example_2": "z.B. Vertriebsteam", "org_team_names_example_3": "z. B. Design-Team", "org_team_names_example_4": "z.B. Engineering-Team", diff --git a/apps/web/public/static/locales/en/common.json b/apps/web/public/static/locales/en/common.json index 3b97b5db3c..083aa572e2 100644 --- a/apps/web/public/static/locales/en/common.json +++ b/apps/web/public/static/locales/en/common.json @@ -2025,7 +2025,7 @@ "select_time": "Select Time", "select_date": "Select Date", "see_all_available_times": "See all available times", - "org_team_names_example": "e.g. Marketing Team", + "org_team_names_example_1": "e.g. Marketing Team", "org_team_names_example_2": "e.g. Sales Team", "org_team_names_example_3": "e.g. Design Team", "org_team_names_example_4": "e.g. Engineering Team", @@ -2041,6 +2041,9 @@ "description_requires_booker_email_verification": "To ensure booker's email verification before scheduling events", "requires_confirmation_mandatory": "Text messages can only be sent to attendees when event type requires confirmation.", "organizations": "Organizations", + "upload_cal_video_logo":"Upload Cal Video Logo", + "update_cal_video_logo":"Update Cal Video Logo", + "cal_video_logo_upload_instruction":"To ensure your logo is visible against Cal video's dark background, please upload a light-colored image in PNG or SVG format to maintain transparency.", "org_admin_other_teams": "Other teams", "org_admin_other_teams_description": "Here you can see teams inside your organization that you are not part of. You can add yourself to them if needed.", "no_other_teams_found": "No other teams found", @@ -2088,7 +2091,7 @@ "oAuth": "OAuth", "recently_added":"Recently added", "connect_all_calendars":"Connect all your calendars", - "connect_all_calendars_description":"{{appName}} reads availability from all your existing calendars.", + "connect_all_calendars_description":"{{appName}} reads availability from all your existing calendars.", "workflow_automation":"Workflow automation", "workflow_automation_description":"Personalise your scheduling experience with workflows", "scheduling_for_your_team":"Workflow automation", diff --git a/apps/web/public/static/locales/es/common.json b/apps/web/public/static/locales/es/common.json index d856a29277..cac305a728 100644 --- a/apps/web/public/static/locales/es/common.json +++ b/apps/web/public/static/locales/es/common.json @@ -1994,7 +1994,7 @@ "select_time": "Seleccione la hora", "select_date": "Seleccione la fecha", "see_all_available_times": "Ver todas las horas disponibles", - "org_team_names_example": "ej. Equipo de marketing", + "org_team_names_example_1": "ej. Equipo de marketing", "org_team_names_example_2": "ej. Equipo de ventas", "org_team_names_example_3": "ej. Equipo de diseño", "org_team_names_example_4": "ej. Equipo de ingeniería", diff --git a/apps/web/public/static/locales/fr/common.json b/apps/web/public/static/locales/fr/common.json index 460bf391dc..6e4ce41e05 100644 --- a/apps/web/public/static/locales/fr/common.json +++ b/apps/web/public/static/locales/fr/common.json @@ -2000,7 +2000,7 @@ "select_time": "Sélectionner un créneau", "select_date": "Sélectionner une date", "see_all_available_times": "Voir tous les créneaux disponibles", - "org_team_names_example": "p. ex. Équipe marketing", + "org_team_names_example_1": "p. ex. Équipe marketing", "org_team_names_example_2": "p. ex. Équipe de vente", "org_team_names_example_3": "p. ex. Équipe de design", "org_team_names_example_4": "p. ex. Équipe d'ingénierie", diff --git a/apps/web/public/static/locales/he/common.json b/apps/web/public/static/locales/he/common.json index 6bb5b7ac5e..f16710266b 100644 --- a/apps/web/public/static/locales/he/common.json +++ b/apps/web/public/static/locales/he/common.json @@ -1994,7 +1994,7 @@ "select_time": "בחירת שעה", "select_date": "בחירת תאריך", "see_all_available_times": "לצפייה בכל המועדים הפנויים", - "org_team_names_example": "לדוגמה, מחלקת שיווק", + "org_team_names_example_1": "לדוגמה, מחלקת שיווק", "org_team_names_example_2": "לדוגמה, מחלקת מכירות", "org_team_names_example_3": "לדוגמה, מחלקת עיצוב", "org_team_names_example_4": "לדוגמה, מחלקת הנדסה", diff --git a/apps/web/public/static/locales/it/common.json b/apps/web/public/static/locales/it/common.json index 19afe8b917..2445315730 100644 --- a/apps/web/public/static/locales/it/common.json +++ b/apps/web/public/static/locales/it/common.json @@ -1994,7 +1994,7 @@ "select_time": "Seleziona l'ora", "select_date": "Seleziona la data", "see_all_available_times": "Vedi tutti gli orari disponibili", - "org_team_names_example": "ad es., team di marketing", + "org_team_names_example_1": "ad es., team di marketing", "org_team_names_example_2": "ad es., team vendite", "org_team_names_example_3": "ad es., team di progettazione", "org_team_names_example_4": "ad es., team di ingegneria", diff --git a/apps/web/public/static/locales/ja/common.json b/apps/web/public/static/locales/ja/common.json index a42c7074a4..3870f594a7 100644 --- a/apps/web/public/static/locales/ja/common.json +++ b/apps/web/public/static/locales/ja/common.json @@ -1994,7 +1994,7 @@ "select_time": "時間帯を選ぶ", "select_date": "日付を選ぶ", "see_all_available_times": "出席できる時間帯をすべて表示", - "org_team_names_example": "例:マーケティングチーム", + "org_team_names_example_1": "例:マーケティングチーム", "org_team_names_example_2": "例:営業チーム", "org_team_names_example_3": "例:デザインチーム", "org_team_names_example_4": "例:エンジニアリングチーム", diff --git a/apps/web/public/static/locales/ko/common.json b/apps/web/public/static/locales/ko/common.json index a8b1a62d1e..9490ac7d3a 100644 --- a/apps/web/public/static/locales/ko/common.json +++ b/apps/web/public/static/locales/ko/common.json @@ -1994,7 +1994,7 @@ "select_time": "시간 선택", "select_date": "날짜 선택", "see_all_available_times": "모든 사용 가능한 시간 보기", - "org_team_names_example": "예: 마케팅 팀", + "org_team_names_example_1": "예: 마케팅 팀", "org_team_names_example_2": "예: 세일즈 팀", "org_team_names_example_3": "예: 디자인 팀", "org_team_names_example_4": "예: 엔지니어링 팀", diff --git a/apps/web/public/static/locales/nl/common.json b/apps/web/public/static/locales/nl/common.json index 300997f9df..f2589a5986 100644 --- a/apps/web/public/static/locales/nl/common.json +++ b/apps/web/public/static/locales/nl/common.json @@ -1994,7 +1994,7 @@ "select_time": "Tijd selecteren", "select_date": "Datum selecteren", "see_all_available_times": "Bekijk alle beschikbare tijden", - "org_team_names_example": "bijvoorbeeld Marketingteam", + "org_team_names_example_1": "bijvoorbeeld Marketingteam", "org_team_names_example_2": "bijvoorbeeld Verkoopteam", "org_team_names_example_3": "bijvoorbeeld Ontwerpteam", "org_team_names_example_4": "bijvoorbeeld Engineeringteam", diff --git a/apps/web/public/static/locales/pl/common.json b/apps/web/public/static/locales/pl/common.json index 4943227283..0a79faaf33 100644 --- a/apps/web/public/static/locales/pl/common.json +++ b/apps/web/public/static/locales/pl/common.json @@ -1994,7 +1994,7 @@ "select_time": "Wybierz godzinę", "select_date": "Wybierz datę", "see_all_available_times": "Zobacz wszystkie dostępne godziny", - "org_team_names_example": "np. zespół marketingowy", + "org_team_names_example_1": "np. zespół marketingowy", "org_team_names_example_2": "np. zespół ds. sprzedaży", "org_team_names_example_3": "np. zespół projektowy", "org_team_names_example_4": "np. zespół ds. inżynierii", diff --git a/apps/web/public/static/locales/pt-BR/common.json b/apps/web/public/static/locales/pt-BR/common.json index 4b4de9ecf2..ce157feaf3 100644 --- a/apps/web/public/static/locales/pt-BR/common.json +++ b/apps/web/public/static/locales/pt-BR/common.json @@ -1994,7 +1994,7 @@ "select_time": "Selecione o horário", "select_date": "Selecione a data", "see_all_available_times": "Veja todos os horários disponíveis", - "org_team_names_example": "ex.: Time de Marketing", + "org_team_names_example_1": "ex.: Time de Marketing", "org_team_names_example_2": "ex: Time de Vendas", "org_team_names_example_3": "ex: Time de Design", "org_team_names_example_4": "ex: Time de Engenharia", diff --git a/apps/web/public/static/locales/pt/common.json b/apps/web/public/static/locales/pt/common.json index 8efce907b3..1d09947a11 100644 --- a/apps/web/public/static/locales/pt/common.json +++ b/apps/web/public/static/locales/pt/common.json @@ -1994,7 +1994,7 @@ "select_time": "Selecionar horário", "select_date": "Selecionar data", "see_all_available_times": "Ver todos os horários disponíveis", - "org_team_names_example": "Por exemplo, Equipa de Marketing", + "org_team_names_example_1": "Por exemplo, Equipa de Marketing", "org_team_names_example_2": "Por exemplo, Equipa de Vendas", "org_team_names_example_3": "Por exemplo, Equipa de Design", "org_team_names_example_4": "Por exemplo, Equipa de Engenharia", diff --git a/apps/web/public/static/locales/ro/common.json b/apps/web/public/static/locales/ro/common.json index ca48e6c368..c205ec2dde 100644 --- a/apps/web/public/static/locales/ro/common.json +++ b/apps/web/public/static/locales/ro/common.json @@ -1994,7 +1994,7 @@ "select_time": "Selectați ora", "select_date": "Selectați data", "see_all_available_times": "Vedeți toate orele disponibile", - "org_team_names_example": "de ex. echipa de marketing", + "org_team_names_example_1": "de ex. echipa de marketing", "org_team_names_example_2": "de ex. echipa de vânzări", "org_team_names_example_3": "de ex. echipa de design", "org_team_names_example_4": "de ex. echipa de inginerie", diff --git a/apps/web/public/static/locales/ru/common.json b/apps/web/public/static/locales/ru/common.json index 2da6be2e14..61388ad6c7 100644 --- a/apps/web/public/static/locales/ru/common.json +++ b/apps/web/public/static/locales/ru/common.json @@ -1994,7 +1994,7 @@ "select_time": "Выбрать время", "select_date": "Выбрать дату", "see_all_available_times": "Посмотреть все доступные интервалы времени", - "org_team_names_example": "например, команда по маркетингу", + "org_team_names_example_1": "например, команда по маркетингу", "org_team_names_example_2": "например, Отдел продаж", "org_team_names_example_3": "например, отдел дизайна", "org_team_names_example_4": "например, технический отдел", diff --git a/apps/web/public/static/locales/sr/common.json b/apps/web/public/static/locales/sr/common.json index 543ddaeaf7..c9b8268133 100644 --- a/apps/web/public/static/locales/sr/common.json +++ b/apps/web/public/static/locales/sr/common.json @@ -1994,7 +1994,7 @@ "select_time": "Izaberite vreme", "select_date": "Izaberite datum", "see_all_available_times": "Pogledajte sva dostupna vremena", - "org_team_names_example": "npr. Marketing tim", + "org_team_names_example_1": "npr. Marketing tim", "org_team_names_example_2": "npr. Prodajni tim", "org_team_names_example_3": "npr. Dizajnerski tim", "org_team_names_example_4": "npr. Inženjerski tim", diff --git a/apps/web/public/static/locales/sv/common.json b/apps/web/public/static/locales/sv/common.json index fcc2acaab1..c004bef3e4 100644 --- a/apps/web/public/static/locales/sv/common.json +++ b/apps/web/public/static/locales/sv/common.json @@ -1994,7 +1994,7 @@ "select_time": "Välj tid", "select_date": "Välj datum", "see_all_available_times": "Se alla tillgängliga tider", - "org_team_names_example": "t.ex. marknadsföringsteam", + "org_team_names_example_1": "t.ex. marknadsföringsteam", "org_team_names_example_2": "t.ex. säljteam", "org_team_names_example_3": "t.ex. designteam", "org_team_names_example_4": "t.ex. ingenjörsteam", diff --git a/apps/web/public/static/locales/tr/common.json b/apps/web/public/static/locales/tr/common.json index f82f854d07..bf47846103 100644 --- a/apps/web/public/static/locales/tr/common.json +++ b/apps/web/public/static/locales/tr/common.json @@ -1994,7 +1994,7 @@ "select_time": "Saati Seçin", "select_date": "Tarihi Seçin", "see_all_available_times": "Tüm müsait saatleri görün", - "org_team_names_example": "Örneğin. Pazarlama ekibi", + "org_team_names_example_1": "Örneğin. Pazarlama ekibi", "org_team_names_example_2": "Örn. Satış Ekibi", "org_team_names_example_3": "Örn. Tasarım Ekibi", "org_team_names_example_4": "Örn. Mühendislik Ekibi", diff --git a/apps/web/public/static/locales/uk/common.json b/apps/web/public/static/locales/uk/common.json index 13e68e93ed..c9959c849a 100644 --- a/apps/web/public/static/locales/uk/common.json +++ b/apps/web/public/static/locales/uk/common.json @@ -1994,7 +1994,7 @@ "select_time": "Виберіть час", "select_date": "Виберіть дату", "see_all_available_times": "Переглянути доступні часові проміжки", - "org_team_names_example": "напр. команда маркетингу", + "org_team_names_example_1": "напр. команда маркетингу", "org_team_names_example_2": "напр. відділ продажів", "org_team_names_example_3": "напр. дизайнерський відділ", "org_team_names_example_4": "e.g. інженерний відділ", diff --git a/apps/web/public/static/locales/vi/common.json b/apps/web/public/static/locales/vi/common.json index b4497764c7..dbe2ec6d0e 100644 --- a/apps/web/public/static/locales/vi/common.json +++ b/apps/web/public/static/locales/vi/common.json @@ -1994,7 +1994,7 @@ "select_time": "Chọn thời gian", "select_date": "Chọn ngày", "see_all_available_times": "Xem tất cả những thời gian trống", - "org_team_names_example": "ví dụ Nhóm Tiếp thị", + "org_team_names_example_1": "ví dụ Nhóm Tiếp thị", "org_team_names_example_2": "ví dụ Nhóm Kinh doanh", "org_team_names_example_3": "ví dụ Nhóm Thiết kế", "org_team_names_example_4": "ví dụ Nhóm Kỹ thuật", diff --git a/apps/web/public/static/locales/zh-CN/common.json b/apps/web/public/static/locales/zh-CN/common.json index 2744709507..a0b74eda9f 100644 --- a/apps/web/public/static/locales/zh-CN/common.json +++ b/apps/web/public/static/locales/zh-CN/common.json @@ -1995,7 +1995,7 @@ "select_time": "选择时间", "select_date": "选择日期", "see_all_available_times": "查看所有可预约时间", - "org_team_names_example": "例如,营销团队", + "org_team_names_example_1": "例如,营销团队", "org_team_names_example_2": "例如,销售团队", "org_team_names_example_3": "例如,设计团队", "org_team_names_example_4": "例如,工程团队", diff --git a/apps/web/public/static/locales/zh-TW/common.json b/apps/web/public/static/locales/zh-TW/common.json index d128313c17..8e6fad982b 100644 --- a/apps/web/public/static/locales/zh-TW/common.json +++ b/apps/web/public/static/locales/zh-TW/common.json @@ -1994,7 +1994,7 @@ "select_time": "選取時間", "select_date": "選取日期", "see_all_available_times": "查看所有可預約時段", - "org_team_names_example": "例如行銷團隊", + "org_team_names_example_1": "例如行銷團隊", "org_team_names_example_2": "例如銷售團隊", "org_team_names_example_3": "例如設計團隊", "org_team_names_example_4": "例如工程團隊", diff --git a/packages/features/ee/organizations/components/AddNewTeamsForm.tsx b/packages/features/ee/organizations/components/AddNewTeamsForm.tsx index 0a12b701c8..6df4bb97c3 100644 --- a/packages/features/ee/organizations/components/AddNewTeamsForm.tsx +++ b/packages/features/ee/organizations/components/AddNewTeamsForm.tsx @@ -110,7 +110,7 @@ export const AddNewTeamsForm = () => { onChange={(e) => handleInputChange(index, e)} addOnClassname="bg-transparent p-0 border-l-0" className={index > 0 ? "mb-2" : ""} - placeholder={t(`org_team_names_example_${index + 1}`) || t("org_team_names_example")} + placeholder={t(`org_team_names_example_${index + 1}`) || t("org_team_names_example_1")} addOnSuffix={ index > 0 && ( + )} + + + +
{ diff --git a/packages/prisma/migrations/20231206191034_add_cal_video_logo/migration.sql b/packages/prisma/migrations/20231206191034_add_cal_video_logo/migration.sql new file mode 100644 index 0000000000..74cab0a73c --- /dev/null +++ b/packages/prisma/migrations/20231206191034_add_cal_video_logo/migration.sql @@ -0,0 +1,2 @@ +-- AlterTable +ALTER TABLE "Team" ADD COLUMN "calVideoLogo" TEXT; diff --git a/packages/prisma/schema.prisma b/packages/prisma/schema.prisma index ef3e541070..b65a687acb 100644 --- a/packages/prisma/schema.prisma +++ b/packages/prisma/schema.prisma @@ -282,6 +282,7 @@ model Team { slug String? logo String? logoUrl String? + calVideoLogo String? appLogo String? appIconLogo String? bio String? diff --git a/packages/trpc/server/routers/viewer/organizations/update.handler.ts b/packages/trpc/server/routers/viewer/organizations/update.handler.ts index 83968d2873..2049455820 100644 --- a/packages/trpc/server/routers/viewer/organizations/update.handler.ts +++ b/packages/trpc/server/routers/viewer/organizations/update.handler.ts @@ -61,6 +61,7 @@ export const updateHandler = async ({ ctx, input }: UpdateOptions) => { const data: Prisma.TeamUpdateArgs["data"] = { name: input.name, logo: input.logo, + calVideoLogo: input.calVideoLogo, bio: input.bio, hideBranding: input.hideBranding, hideBookATeamMember: input.hideBookATeamMember, diff --git a/packages/trpc/server/routers/viewer/organizations/update.schema.ts b/packages/trpc/server/routers/viewer/organizations/update.schema.ts index 91d1069b31..40e577de6d 100644 --- a/packages/trpc/server/routers/viewer/organizations/update.schema.ts +++ b/packages/trpc/server/routers/viewer/organizations/update.schema.ts @@ -16,6 +16,11 @@ export const ZUpdateInputSchema = z.object({ .optional() .nullable() .transform((v) => v || null), + calVideoLogo: z + .string() + .optional() + .nullable() + .transform((v) => v || null), slug: z.string().optional(), hideBranding: z.boolean().optional(), hideBookATeamMember: z.boolean().optional(), diff --git a/packages/ui/components/image-uploader/ImageUploader.tsx b/packages/ui/components/image-uploader/ImageUploader.tsx index 2158d606e5..7764997c8c 100644 --- a/packages/ui/components/image-uploader/ImageUploader.tsx +++ b/packages/ui/components/image-uploader/ImageUploader.tsx @@ -68,6 +68,8 @@ type ImageUploaderProps = { imageSrc?: string; target: string; triggerButtonColor?: ButtonColor; + uploadInstruction?: string; + disabled?: boolean; }; interface FileEvent extends FormEvent { @@ -122,6 +124,8 @@ export default function ImageUploader({ handleAvatarChange, triggerButtonColor, imageSrc, + uploadInstruction, + disabled = false, }: ImageUploaderProps) { const { t } = useLocale(); const [croppedAreaPixels, setCroppedAreaPixels] = useState(null); @@ -173,6 +177,7 @@ export default function ImageUploader({