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={ <> - Remotely redirect the client to a different URL.
- Either by entering a custom path or selecting a URL Preset. -
-
- Manage URL Presets + + Remotely redirect the client to a different URL. Choose a custom path or select a URL Preset. + + + Manage URL Presets +
-
- Enter custom path - - +
+
+ Enter custom path + Type the path the client should open. +
+
+ + +
+
+
+ Or
-
- Select View or URL Preset +
+
+ Select view or URL Preset + Choose from the available destinations. +