varunsardesai commited on
Commit
4422ec9
Β·
verified Β·
1 Parent(s): df4db0d

Update index.html

Browse files
Files changed (1) hide show
  1. index.html +94 -31
index.html CHANGED
@@ -353,6 +353,13 @@ overflow: hidden;
353
  }
354
  .direct-rep-name { font-family: 'Archivo', sans-serif; font-weight: 700; font-size: 1.1rem; color: var(--white); }
355
  .direct-rep-role { font-size: 0.85rem; color: rgba(255,255,255,0.45); }
 
 
 
 
 
 
 
356
  .rep-selector {
357
  background: rgba(255,255,255,0.06);
358
  border: 1px solid rgba(255,255,255,0.12);
@@ -412,6 +419,12 @@ to { opacity: 1; transform: translateY(0); }
412
  .rep-intro { font-size: 0.9rem; color: rgba(255,255,255,0.55); }
413
  .rep-intro strong { color: var(--white); font-weight: 700; }
414
  .no-rep-hint { color: rgba(255,255,255,0.35); font-size: 0.85rem; }
 
 
 
 
 
 
415
  .book-btn {
416
  background: var(--fuchsia);
417
  color: var(--white);
@@ -427,6 +440,16 @@ gap: 10px;
427
  transition: background 0.2s, transform 0.15s;
428
  }
429
  .book-btn:hover { background: var(--fuchsia2); transform: translateY(-2px); }
 
 
 
 
 
 
 
 
 
 
430
  .booking-note { font-size: 0.78rem; color: rgba(255,255,255,0.3); }
431
 
432
  /* ── FOOTER ── */
@@ -454,6 +477,8 @@ font-size: 0.8rem;
454
  .direct-rep-box { padding: 32px 20px; }
455
  .rep-selector { padding: 24px 16px; }
456
  .hook-right { padding: 32px 28px; }
 
 
457
  }
458
  </style>
459
  </head>
@@ -644,10 +669,16 @@ font-size: 0.8rem;
644
  <div class="direct-rep-avatar" id="directRepAvatar"></div>
645
  <div class="direct-rep-name" id="directRepName"></div>
646
  <div class="direct-rep-role" id="directRepRole">SumUp Beauty Specialist</div>
647
- <a href="#" class="book-btn" id="directBookLink" target="_blank" rel="noopener">
648
- <svg width="18" height="18" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"/><line x1="16" y1="2" x2="16" y2="6"/><line x1="8" y1="2" x2="8" y2="6"/><line x1="3" y1="10" x2="21" y2="10"/></svg>
649
- <span id="directBookBtnText">Book your free 30-min call</span>
650
- </a>
 
 
 
 
 
 
651
  <p class="booking-note" id="directBookNote">Free cancellation anytime Β· No sign-in required</p>
652
  </div>
653
 
@@ -657,10 +688,16 @@ font-size: 0.8rem;
657
  <div class="rep-grid" id="repGrid"></div>
658
  <div class="booking-cta-area" id="ctaArea">
659
  <p class="rep-intro" id="repIntroText">Book a call with <strong id="repNameDisplay"></strong></p>
660
- <a href="#" class="book-btn" id="bookLink" target="_blank" rel="noopener">
661
- <svg width="18" height="18" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"/><line x1="16" y1="2" x2="16" y2="6"/><line x1="8" y1="2" x2="8" y2="6"/><line x1="3" y1="10" x2="21" y2="10"/></svg>
662
- <span id="bookBtnText">Book your free 30-min call</span>
663
- </a>
 
 
 
 
 
 
664
  <p class="booking-note" id="bookNote">Free cancellation anytime Β· No sign-in required</p>
665
  </div>
666
  <div class="no-rep-hint" id="noRepHint">Select a representative above to book</div>
@@ -677,31 +714,46 @@ font-size: 0.8rem;
677
  <script>
678
  // ─────────────────────────────────────────────
679
  // REPS β€” add lang + currency to each rep
 
 
 
 
 
680
  // ─────────────────────────────────────────────
681
  const reps = [
682
  {
683
  name: "Christian", slug: "christian", initials: "CJ", color: "#FF61F2",
684
- photo: "christian.jpg", link: "https://calendar.app.google/foUdP9FUMHVUCXAb6",
 
 
685
  lang: "en", currency: "Β£"
686
  },
687
  {
688
  name: "Edoardo", slug: "edoardo", initials: "ET", color: "#F9C300",
689
- photo: "edoardo.jpg", link: "https://calendar.app.google/dWPVQy2BuwdwJmqy7",
 
 
690
  lang: "it", currency: "€"
691
  },
692
  {
693
  name: "Gareth", slug: "gareth", initials: "GD", color: "#FF61F2",
694
- photo: "gareth.jpg", link: "https://calendar.app.google/8f7hQkr5a2H5rit7A",
 
 
695
  lang: "en", currency: "Β£"
696
  },
697
  {
698
  name: "Miriam", slug: "miriam", initials: "MK", color: "#F9C300",
699
- photo: "miriam.png", link: "https://calendar.app.google/tGkiahEBtet1HLsU7",
 
 
700
  lang: "de", currency: "€"
701
  },
702
  {
703
  name: "Shane", slug: "shane", initials: "SO", color: "#FF61F2",
704
- photo: "shane.png", link: "https://calendar.app.google/Bary3iiw8PoEre7t7",
 
 
705
  lang: "en", currency: "Β£"
706
  },
707
  ];
@@ -755,11 +807,13 @@ const t = {
755
  bookingSectionSub: "No pressure, no commitment. Just a quick 30-minute chat to see if SumUp is the right fit for your business.",
756
  directRepName: (name) => `Book with ${name}`,
757
  directRepRole: "SumUp Beauty Specialist",
758
- directBookBtnText: "Book your free 30-min call",
 
759
  directBookNote: "Free cancellation anytime Β· No sign-in required",
760
  repSelectorLabel: "Choose your SumUp representative",
761
- repIntroText: "Book a call with",
762
- bookBtnText: "Book your free 30-min call",
 
763
  bookNote: "Free cancellation anytime Β· No sign-in required",
764
  noRepHint: "Select a representative above to book",
765
  },
@@ -808,11 +862,13 @@ const t = {
808
  bookingSectionSub: "Kein Druck, keine Verpflichtung. Nur ein kurzes 30-minΓΌtiges GesprΓ€ch, um zu sehen, ob SumUp das Richtige fΓΌr dein Business ist.",
809
  directRepName: (name) => `Mit ${name} buchen`,
810
  directRepRole: "SumUp Beauty Spezialistin",
811
- directBookBtnText: "Kostenlosen 30-Min-Anruf buchen",
 
812
  directBookNote: "Kostenlose Stornierung jederzeit Β· Keine Anmeldung erforderlich",
813
  repSelectorLabel: "WΓ€hle deinen SumUp-Ansprechpartner",
814
- repIntroText: "GesprΓ€ch buchen mit",
815
- bookBtnText: "Kostenlosen 30-Min-Anruf buchen",
 
816
  bookNote: "Kostenlose Stornierung jederzeit Β· Keine Anmeldung erforderlich",
817
  noRepHint: "Bitte oben einen Ansprechpartner auswΓ€hlen",
818
  },
@@ -861,11 +917,13 @@ const t = {
861
  bookingSectionSub: "Nessuna pressione, nessun impegno. Solo una breve chiacchierata di 30 minuti per vedere se SumUp fa al caso tuo.",
862
  directRepName: (name) => `Prenota con ${name}`,
863
  directRepRole: "Specialista SumUp Beauty",
864
- directBookBtnText: "Prenota la tua chiamata gratuita di 30 min",
 
865
  directBookNote: "Cancellazione gratuita in qualsiasi momento Β· Nessun accesso richiesto",
866
  repSelectorLabel: "Scegli il tuo rappresentante SumUp",
867
- repIntroText: "Prenota una chiamata con",
868
- bookBtnText: "Prenota la tua chiamata gratuita di 30 min",
 
869
  bookNote: "Cancellazione gratuita in qualsiasi momento Β· Nessun accesso richiesto",
870
  noRepHint: "Seleziona un rappresentante qui sopra per prenotare",
871
  }
@@ -945,11 +1003,13 @@ setText('bookLabel', tr.bookLabel);
945
  setText('bookingSectionSub', tr.bookingSectionSub);
946
  setText('repSelectorLabel', tr.repSelectorLabel);
947
  setText('repIntroText', tr.repIntroText);
948
- setText('bookBtnText', tr.bookBtnText);
 
949
  setText('bookNote', tr.bookNote);
950
  setText('noRepHint', tr.noRepHint);
951
  setText('directBookNote', tr.directBookNote);
952
- setText('directBookBtnText', tr.directBookBtnText);
 
953
 
954
  // ─────────────────────────────────────────────
955
  // REP-SPECIFIC BEHAVIOUR
@@ -973,16 +1033,18 @@ if (matchRep) {
973
  const avatarEl = document.getElementById('directRepAvatar');
974
  setAvatar(avatarEl, matchRep);
975
  avatarEl.style.borderRadius = '50%';
976
- document.getElementById('directBookLink').href = matchRep.link;
 
977
 
978
  } else {
979
  // Default: show rep selector (English, Β£)
980
  setText('bookingTitle', tr.bookingTitle(null));
981
- const grid = document.getElementById('repGrid');
982
- const ctaArea = document.getElementById('ctaArea');
983
- const noRepHint = document.getElementById('noRepHint');
984
- const bookLink = document.getElementById('bookLink');
985
- const repName = document.getElementById('repNameDisplay');
 
986
 
987
  reps.forEach(rep => {
988
  const btn = document.createElement('button');
@@ -997,7 +1059,8 @@ if (matchRep) {
997
  grid.querySelectorAll('.rep-btn').forEach(b => b.classList.remove('active'));
998
  btn.classList.add('active');
999
  repName.textContent = rep.name;
1000
- bookLink.href = rep.link;
 
1001
  ctaArea.classList.add('visible');
1002
  noRepHint.style.display = 'none';
1003
  });
 
353
  }
354
  .direct-rep-name { font-family: 'Archivo', sans-serif; font-weight: 700; font-size: 1.1rem; color: var(--white); }
355
  .direct-rep-role { font-size: 0.85rem; color: rgba(255,255,255,0.45); }
356
+ .direct-rep-btn-row {
357
+ display: flex;
358
+ flex-wrap: wrap;
359
+ justify-content: center;
360
+ gap: 14px;
361
+ margin-top: 4px;
362
+ }
363
  .rep-selector {
364
  background: rgba(255,255,255,0.06);
365
  border: 1px solid rgba(255,255,255,0.12);
 
419
  .rep-intro { font-size: 0.9rem; color: rgba(255,255,255,0.55); }
420
  .rep-intro strong { color: var(--white); font-weight: 700; }
421
  .no-rep-hint { color: rgba(255,255,255,0.35); font-size: 0.85rem; }
422
+ .book-btn-row {
423
+ display: flex;
424
+ flex-wrap: wrap;
425
+ justify-content: center;
426
+ gap: 14px;
427
+ }
428
  .book-btn {
429
  background: var(--fuchsia);
430
  color: var(--white);
 
440
  transition: background 0.2s, transform 0.15s;
441
  }
442
  .book-btn:hover { background: var(--fuchsia2); transform: translateY(-2px); }
443
+ .book-btn.secondary {
444
+ background: transparent;
445
+ border: 2px solid rgba(255,255,255,0.25);
446
+ color: var(--white);
447
+ }
448
+ .book-btn.secondary:hover {
449
+ background: rgba(255,255,255,0.08);
450
+ border-color: rgba(255,255,255,0.4);
451
+ transform: translateY(-2px);
452
+ }
453
  .booking-note { font-size: 0.78rem; color: rgba(255,255,255,0.3); }
454
 
455
  /* ── FOOTER ── */
 
477
  .direct-rep-box { padding: 32px 20px; }
478
  .rep-selector { padding: 24px 16px; }
479
  .hook-right { padding: 32px 28px; }
480
+ .book-btn-row, .direct-rep-btn-row { flex-direction: column; width: 100%; }
481
+ .book-btn { width: 100%; justify-content: center; }
482
  }
483
  </style>
484
  </head>
 
669
  <div class="direct-rep-avatar" id="directRepAvatar"></div>
670
  <div class="direct-rep-name" id="directRepName"></div>
671
  <div class="direct-rep-role" id="directRepRole">SumUp Beauty Specialist</div>
672
+ <div class="direct-rep-btn-row">
673
+ <a href="#" class="book-btn" id="directBookCallLink" target="_blank" rel="noopener">
674
+ <svg width="18" height="18" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path d="M22 16.92v3a2 2 0 01-2.18 2 19.79 19.79 0 01-8.63-3.07 19.5 19.5 0 01-6-6 19.79 19.79 0 01-3.07-8.67A2 2 0 014.11 2h3a2 2 0 012 1.72c.127.96.362 1.903.7 2.81a2 2 0 01-.45 2.11L8.09 9.91a16 16 0 006 6l1.27-1.27a2 2 0 012.11-.45c.907.338 1.85.573 2.81.7A2 2 0 0122 16.92z"/></svg>
675
+ <span id="directBookCallText">Book a call</span>
676
+ </a>
677
+ <a href="#" class="book-btn secondary" id="directBookInPersonLink" target="_blank" rel="noopener">
678
+ <svg width="18" height="18" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z"/><circle cx="12" cy="10" r="3"/></svg>
679
+ <span id="directBookInPersonText">Book an in-person meeting</span>
680
+ </a>
681
+ </div>
682
  <p class="booking-note" id="directBookNote">Free cancellation anytime Β· No sign-in required</p>
683
  </div>
684
 
 
688
  <div class="rep-grid" id="repGrid"></div>
689
  <div class="booking-cta-area" id="ctaArea">
690
  <p class="rep-intro" id="repIntroText">Book a call with <strong id="repNameDisplay"></strong></p>
691
+ <div class="book-btn-row">
692
+ <a href="#" class="book-btn" id="bookCallLink" target="_blank" rel="noopener">
693
+ <svg width="18" height="18" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path d="M22 16.92v3a2 2 0 01-2.18 2 19.79 19.79 0 01-8.63-3.07 19.5 19.5 0 01-6-6 19.79 19.79 0 01-3.07-8.67A2 2 0 014.11 2h3a2 2 0 012 1.72c.127.96.362 1.903.7 2.81a2 2 0 01-.45 2.11L8.09 9.91a16 16 0 006 6l1.27-1.27a2 2 0 012.11-.45c.907.338 1.85.573 2.81.7A2 2 0 0122 16.92z"/></svg>
694
+ <span id="bookCallBtnText">Book a call</span>
695
+ </a>
696
+ <a href="#" class="book-btn secondary" id="bookInPersonLink" target="_blank" rel="noopener">
697
+ <svg width="18" height="18" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z"/><circle cx="12" cy="10" r="3"/></svg>
698
+ <span id="bookInPersonBtnText">Book an in-person meeting</span>
699
+ </a>
700
+ </div>
701
  <p class="booking-note" id="bookNote">Free cancellation anytime Β· No sign-in required</p>
702
  </div>
703
  <div class="no-rep-hint" id="noRepHint">Select a representative above to book</div>
 
714
  <script>
715
  // ─────────────────────────────────────────────
716
  // REPS β€” add lang + currency to each rep
717
+ // Each rep now has:
718
+ // link -> used for the "Book a call" button
719
+ // inPersonLink -> used for the "Book an in-person meeting" button
720
+ // TODO: replace inPersonLink with each rep's real in-person calendar link.
721
+ // It currently mirrors `link` as a placeholder.
722
  // ─────────────────────────────────────────────
723
  const reps = [
724
  {
725
  name: "Christian", slug: "christian", initials: "CJ", color: "#FF61F2",
726
+ photo: "christian.jpg",
727
+ link: "https://calendar.app.google/foUdP9FUMHVUCXAb6",
728
+ inPersonLink: "https://calendar.app.google/foUdP9FUMHVUCXAb6",
729
  lang: "en", currency: "Β£"
730
  },
731
  {
732
  name: "Edoardo", slug: "edoardo", initials: "ET", color: "#F9C300",
733
+ photo: "edoardo.jpg",
734
+ link: "https://calendar.app.google/dWPVQy2BuwdwJmqy7",
735
+ inPersonLink: "https://calendar.app.google/dWPVQy2BuwdwJmqy7",
736
  lang: "it", currency: "€"
737
  },
738
  {
739
  name: "Gareth", slug: "gareth", initials: "GD", color: "#FF61F2",
740
+ photo: "gareth.jpg",
741
+ link: "https://calendar.app.google/8f7hQkr5a2H5rit7A",
742
+ inPersonLink: "https://calendar.app.google/8f7hQkr5a2H5rit7A",
743
  lang: "en", currency: "Β£"
744
  },
745
  {
746
  name: "Miriam", slug: "miriam", initials: "MK", color: "#F9C300",
747
+ photo: "miriam.png",
748
+ link: "https://calendar.app.google/tGkiahEBtet1HLsU7",
749
+ inPersonLink: "https://calendar.app.google/tGkiahEBtet1HLsU7",
750
  lang: "de", currency: "€"
751
  },
752
  {
753
  name: "Shane", slug: "shane", initials: "SO", color: "#FF61F2",
754
+ photo: "shane.png",
755
+ link: "https://calendar.app.google/Bary3iiw8PoEre7t7",
756
+ inPersonLink: "https://calendar.app.google/Bary3iiw8PoEre7t7",
757
  lang: "en", currency: "Β£"
758
  },
759
  ];
 
807
  bookingSectionSub: "No pressure, no commitment. Just a quick 30-minute chat to see if SumUp is the right fit for your business.",
808
  directRepName: (name) => `Book with ${name}`,
809
  directRepRole: "SumUp Beauty Specialist",
810
+ directBookCallText: "Book a call",
811
+ directBookInPersonText: "Book an in-person meeting",
812
  directBookNote: "Free cancellation anytime Β· No sign-in required",
813
  repSelectorLabel: "Choose your SumUp representative",
814
+ repIntroText: "Book with",
815
+ bookCallBtnText: "Book a call",
816
+ bookInPersonBtnText: "Book an in-person meeting",
817
  bookNote: "Free cancellation anytime Β· No sign-in required",
818
  noRepHint: "Select a representative above to book",
819
  },
 
862
  bookingSectionSub: "Kein Druck, keine Verpflichtung. Nur ein kurzes 30-minΓΌtiges GesprΓ€ch, um zu sehen, ob SumUp das Richtige fΓΌr dein Business ist.",
863
  directRepName: (name) => `Mit ${name} buchen`,
864
  directRepRole: "SumUp Beauty Spezialistin",
865
+ directBookCallText: "Anruf buchen",
866
+ directBookInPersonText: "PersΓΆnliches Treffen buchen",
867
  directBookNote: "Kostenlose Stornierung jederzeit Β· Keine Anmeldung erforderlich",
868
  repSelectorLabel: "WΓ€hle deinen SumUp-Ansprechpartner",
869
+ repIntroText: "Buchen mit",
870
+ bookCallBtnText: "Anruf buchen",
871
+ bookInPersonBtnText: "PersΓΆnliches Treffen buchen",
872
  bookNote: "Kostenlose Stornierung jederzeit Β· Keine Anmeldung erforderlich",
873
  noRepHint: "Bitte oben einen Ansprechpartner auswΓ€hlen",
874
  },
 
917
  bookingSectionSub: "Nessuna pressione, nessun impegno. Solo una breve chiacchierata di 30 minuti per vedere se SumUp fa al caso tuo.",
918
  directRepName: (name) => `Prenota con ${name}`,
919
  directRepRole: "Specialista SumUp Beauty",
920
+ directBookCallText: "Prenota una chiamata",
921
+ directBookInPersonText: "Prenota un incontro di persona",
922
  directBookNote: "Cancellazione gratuita in qualsiasi momento Β· Nessun accesso richiesto",
923
  repSelectorLabel: "Scegli il tuo rappresentante SumUp",
924
+ repIntroText: "Prenota con",
925
+ bookCallBtnText: "Prenota una chiamata",
926
+ bookInPersonBtnText: "Prenota un incontro di persona",
927
  bookNote: "Cancellazione gratuita in qualsiasi momento Β· Nessun accesso richiesto",
928
  noRepHint: "Seleziona un rappresentante qui sopra per prenotare",
929
  }
 
1003
  setText('bookingSectionSub', tr.bookingSectionSub);
1004
  setText('repSelectorLabel', tr.repSelectorLabel);
1005
  setText('repIntroText', tr.repIntroText);
1006
+ setText('bookCallBtnText', tr.bookCallBtnText);
1007
+ setText('bookInPersonBtnText', tr.bookInPersonBtnText);
1008
  setText('bookNote', tr.bookNote);
1009
  setText('noRepHint', tr.noRepHint);
1010
  setText('directBookNote', tr.directBookNote);
1011
+ setText('directBookCallText', tr.directBookCallText);
1012
+ setText('directBookInPersonText', tr.directBookInPersonText);
1013
 
1014
  // ─────────────────────────────────────────────
1015
  // REP-SPECIFIC BEHAVIOUR
 
1033
  const avatarEl = document.getElementById('directRepAvatar');
1034
  setAvatar(avatarEl, matchRep);
1035
  avatarEl.style.borderRadius = '50%';
1036
+ document.getElementById('directBookCallLink').href = matchRep.link;
1037
+ document.getElementById('directBookInPersonLink').href = matchRep.inPersonLink;
1038
 
1039
  } else {
1040
  // Default: show rep selector (English, Β£)
1041
  setText('bookingTitle', tr.bookingTitle(null));
1042
+ const grid = document.getElementById('repGrid');
1043
+ const ctaArea = document.getElementById('ctaArea');
1044
+ const noRepHint = document.getElementById('noRepHint');
1045
+ const bookCallLink = document.getElementById('bookCallLink');
1046
+ const bookInPersonLink = document.getElementById('bookInPersonLink');
1047
+ const repName = document.getElementById('repNameDisplay');
1048
 
1049
  reps.forEach(rep => {
1050
  const btn = document.createElement('button');
 
1059
  grid.querySelectorAll('.rep-btn').forEach(b => b.classList.remove('active'));
1060
  btn.classList.add('active');
1061
  repName.textContent = rep.name;
1062
+ bookCallLink.href = rep.link;
1063
+ bookInPersonLink.href = rep.inPersonLink;
1064
  ctaArea.classList.add('visible');
1065
  noRepHint.style.display = 'none';
1066
  });