diff --git a/apps/client/src/common/components/client-modal/RedirectClientModal.module.scss b/apps/client/src/common/components/client-modal/RedirectClientModal.module.scss
index a8896858ce..2ed0571829 100644
--- a/apps/client/src/common/components/client-modal/RedirectClientModal.module.scss
+++ b/apps/client/src/common/components/client-modal/RedirectClientModal.module.scss
@@ -1,24 +1,82 @@
+.section {
+ display: flex;
+ flex-direction: column;
+ gap: 0.75rem;
+ padding: 0.75rem;
+ background-color: $gray-1300;
+ border: 1px solid $gray-1100;
+ border-radius: $component-border-radius-md;
+}
+
+.sectionHeader {
+ display: flex;
+ flex-direction: column;
+ gap: 0.25rem;
+}
+
+.separator {
+ display: flex;
+ align-items: center;
+ gap: 0.75rem;
+ color: $gray-500;
+ font-size: $inner-section-text-size;
+ font-weight: 600;
+ letter-spacing: 0.08em;
+ text-transform: uppercase;
+
+ &::before,
+ &::after {
+ content: '';
+ flex: 1;
+ border-top: 1px solid $gray-1100;
+ }
+}
+
.textEntry {
- grid-area: input;
display: flex;
align-items: center;
gap: 0.5rem;
+ flex: 1;
+ min-width: 0;
color: $label-gray;
}
.inlineEntry {
display: grid;
- grid-template-areas:
- 'label label'
- 'input btn';
- grid-template-columns: 1fr auto;
- column-gap: 0.5rem;
+ grid-template-columns: minmax(0, 1fr) auto;
+ align-items: center;
+ gap: 0.75rem;
}
.redirect {
- grid-area: btn;
+ margin-left: auto;
}
.label {
- color: $label-gray;
+ color: $gray-200;
+ font-size: $text-body-size;
+ font-weight: 600;
+}
+
+.description {
+ color: $gray-500;
+ font-size: $inner-section-text-size;
+}
+
+.origin {
+ flex: 0 0 auto;
+ color: $gray-500;
+ font-size: $inner-section-text-size;
+ white-space: nowrap;
+}
+
+@media (max-width: $min-tablet) {
+ .inlineEntry {
+ grid-template-columns: 1fr;
+ align-items: stretch;
+ }
+
+ .redirect {
+ align-self: flex-end;
+ }
}
diff --git a/apps/client/src/common/components/client-modal/RedirectClientModal.tsx b/apps/client/src/common/components/client-modal/RedirectClientModal.tsx
index f577316ee3..26c0d58724 100644
--- a/apps/client/src/common/components/client-modal/RedirectClientModal.tsx
+++ b/apps/client/src/common/components/client-modal/RedirectClientModal.tsx
@@ -1,6 +1,7 @@
import { useState } from 'react';
import { IoArrowForward } from 'react-icons/io5';
+import { baseURI } from '../../../externals';
import { navigatorConstants } from '../../../viewerConfig';
import useUrlPresets from '../../hooks-query/useUrlPresets';
import { setClientRemote } from '../../hooks/useSocket';
@@ -8,7 +9,7 @@ import Button from '../buttons/Button';
import Dialog from '../dialog/Dialog';
import Info from '../info/Info';
import Input from '../input/input/Input';
-import AppLink from '../link/app-link/AppLink';
+import ExternalLink from '../link/external-link/ExternalLink';
import Select from '../select/Select';
import style from './RedirectClientModal.module.scss';
@@ -44,6 +45,7 @@ export function RedirectClientModal({ id, isOpen, name, currentPath, origin, onC
};
const enabledPresets = data.filter((preset) => preset.enabled);
+ const settingsUrl = `${window.location.origin}${baseURI}/?settings=sharing__presets`;
const viewOptions = [
...navigatorConstants.map((view) => ({
@@ -66,34 +68,46 @@ export function RedirectClientModal({ id, isOpen, name, currentPath, origin, onC
bodyElements={
<>
- Either by entering a custom path or selecting a URL Preset.
-
-
-
+ + Ontime Cloud lets you run and share Ontime online with your team. Subscriptions support continued + development while Ontime remains fully open-source and self-hostable. + + + Project files work locally and in Cloud, so your shows can move freely. + +
+