web/satellite: improve onboarding CLI flow small screen adaptation

Improved onboarding CLI flow view on smaller screens.
Also improved notification boxes adaptation.

Issue:
https://github.com/storj/storj/issues/5894

Change-Id: I83dd8968df937d0d50535707e02914bd232fed21
This commit is contained in:
Vitalii 2023-05-30 13:23:12 +03:00 committed by Vitalii Shpital
parent eb4fd2180b
commit 8c4a9f9277
12 changed files with 90 additions and 8 deletions

View File

@ -50,5 +50,10 @@ const doNotificationsExist = computed((): boolean => {
border-radius: 12px; border-radius: 12px;
z-index: 9999; z-index: 9999;
overflow: hidden; overflow: hidden;
@media screen and (width <= 450px) {
width: unset;
left: 17px;
}
} }
</style> </style>

View File

@ -171,6 +171,10 @@ onMounted((): void => {
height: auto; height: auto;
width: 270px; width: 270px;
word-break: break-word; word-break: break-word;
@media screen and (width <= 450px) {
width: unset;
}
} }
&__link { &__link {

View File

@ -17,12 +17,13 @@
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
}
@media screen and (width <= 760px) { @media screen and (width <= 760px) {
.tour-area {
width: 88% !important; width: 88% !important;
} }
@media screen and (width <= 600px) {
padding: 30px 0 !important;
}
} }
</style> </style>

View File

@ -2,7 +2,7 @@
// See LICENSE for copying information. // See LICENSE for copying information.
<template> <template>
<div> <div class="wrap">
<ProgressBar /> <ProgressBar />
<router-view /> <router-view />
</div> </div>
@ -11,3 +11,11 @@
<script setup lang="ts"> <script setup lang="ts">
import ProgressBar from '@/components/onboardingTour/steps/cliFlow/ProgressBar.vue'; import ProgressBar from '@/components/onboardingTour/steps/cliFlow/ProgressBar.vue';
</script> </script>
<style scoped lang="scss">
.wrap {
@media screen and (width <= 600px) {
width: 100%;
}
}
</style>

View File

@ -256,6 +256,11 @@ onMounted(async (): Promise<void> => {
width: 287px; width: 287px;
padding: 0 98.5px; padding: 0 98.5px;
@media screen and (width <= 600px) {
width: 100%;
padding: 0;
}
&__label { &__label {
font-family: 'font_medium', sans-serif; font-family: 'font_medium', sans-serif;
margin: 20px 0 8px; margin: 20px 0 8px;
@ -272,6 +277,11 @@ onMounted(async (): Promise<void> => {
padding: 0 98.5px; padding: 0 98.5px;
flex-wrap: wrap; flex-wrap: wrap;
@media screen and (width <= 600px) {
width: 100%;
padding: 0;
}
&__container { &__container {
display: flex; display: flex;
margin-top: 5px; margin-top: 5px;
@ -283,5 +293,9 @@ onMounted(async (): Promise<void> => {
:deep(.duration-selection) { :deep(.duration-selection) {
width: 287px; width: 287px;
margin-left: 0; margin-left: 0;
@media screen and (width <= 600px) {
width: 100%;
}
} }
</style> </style>

View File

@ -81,6 +81,10 @@ const fill = computed((): string => {
background: var(--c-grey-3); background: var(--c-grey-3);
border-radius: 8px; border-radius: 8px;
@media screen and (width <= 600px) {
width: 100%;
}
&__fill { &__fill {
height: 16px; height: 16px;
background: var(--c-green-5); background: var(--c-green-5);

View File

@ -86,6 +86,10 @@ async function endOnboarding(): Promise<void> {
align-items: center; align-items: center;
flex-direction: column; flex-direction: column;
@media screen and (width <= 600px) {
padding: 24px;
}
&__title { &__title {
margin: 20px 0; margin: 20px 0;
font-family: 'font_Bold', sans-serif; font-family: 'font_Bold', sans-serif;
@ -108,6 +112,12 @@ async function endOnboarding(): Promise<void> {
width: 100%; width: 100%;
margin-top: 24px; margin-top: 24px;
column-gap: 24px; column-gap: 24px;
@media screen and (width <= 450px) {
flex-direction: column-reverse;
column-gap: unset;
row-gap: 24px;
}
} }
} }

View File

@ -146,6 +146,14 @@ function closePicker(): void {
position: absolute; position: absolute;
z-index: 1; z-index: 1;
top: 100%; top: 100%;
@media screen and (width <= 930px) {
width: 500px;
}
@media screen and (width <= 750px) {
width: 100%;
}
} }
.duration-picker { .duration-picker {
@ -164,6 +172,11 @@ function closePicker(): void {
column-gap: 48px; column-gap: 48px;
padding: 10px 24px 0; padding: 10px 24px 0;
@media screen and (width <= 380px) {
padding: 10px 10px 0;
column-gap: 24px;
}
&__column { &__column {
list-style-type: none; list-style-type: none;
padding-left: 0; padding-left: 0;

View File

@ -31,7 +31,7 @@ const props = withDefaults(defineProps<{
onNextClick: () => unknown; onNextClick: () => unknown;
onBackClick: () => unknown; onBackClick: () => unknown;
title: string; title: string;
isLoading: boolean; isLoading?: boolean;
}>(), { }>(), {
onNextClick: () => {}, onNextClick: () => {},
onBackClick: () => {}, onBackClick: () => {},
@ -52,6 +52,10 @@ const props = withDefaults(defineProps<{
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
@media screen and (width <= 600px) {
padding: 24px;
}
&__title { &__title {
margin: 20px 0; margin: 20px 0;
font-family: 'font_Bold', sans-serif; font-family: 'font_Bold', sans-serif;
@ -67,6 +71,12 @@ const props = withDefaults(defineProps<{
width: 100%; width: 100%;
margin-top: 34px; margin-top: 34px;
column-gap: 24px; column-gap: 24px;
@media screen and (width <= 450px) {
flex-direction: column-reverse;
column-gap: unset;
row-gap: 24px;
}
} }
} }
</style> </style>

View File

@ -131,6 +131,10 @@ onMounted((): void => {
padding: 16px; padding: 16px;
color: #9daab6; color: #9daab6;
cursor: pointer; cursor: pointer;
@media screen and (width <= 350px) {
padding: 10px;
}
} }
&__choice:first-child { &__choice:first-child {

View File

@ -3,7 +3,7 @@
<template> <template>
<div class="tab-copy"> <div class="tab-copy">
<p class="tab-copy__value" :aria-roledescription="ariaRoleDescription">{{ value }}</p> <p class="tab-copy__value" :title="value" :aria-roledescription="ariaRoleDescription">{{ value }}</p>
<CopyIcon class="tab-copy__icon" @click="onCopyClick" /> <CopyIcon class="tab-copy__icon" @click="onCopyClick" />
</div> </div>
</template> </template>

View File

@ -3,7 +3,7 @@
<template> <template>
<div class="value-copy"> <div class="value-copy">
<p class="value-copy__value" :aria-roledescription="roleDescription">{{ value }}</p> <p class="value-copy__value" :title="value" :aria-roledescription="roleDescription">{{ value }}</p>
<VButton <VButton
class="value-copy__button" class="value-copy__button"
label="Copy" label="Copy"
@ -51,6 +51,11 @@ function onCopyClick(): void {
border-radius: 10px; border-radius: 10px;
max-width: calc(100% - 50px); max-width: calc(100% - 50px);
@media screen and (width <= 450px) {
padding: 12px;
max-width: calc(100% - 24px);
}
&__value { &__value {
font-size: 16px; font-size: 16px;
line-height: 28px; line-height: 28px;
@ -63,6 +68,10 @@ function onCopyClick(): void {
&__button { &__button {
margin-left: 32px; margin-left: 32px;
min-width: 66px; min-width: 66px;
@media screen and (width <= 450px) {
margin-left: 12px;
}
} }
} }
</style> </style>