mirror of
https://github.com/Start9Labs/start-os.git
synced 2026-03-30 04:01:58 +00:00
rename frontend to web
This commit is contained in:
484
web/projects/ui/src/styles.scss
Normal file
484
web/projects/ui/src/styles.scss
Normal file
@@ -0,0 +1,484 @@
|
||||
@import '@taiga-ui/core/styles/taiga-ui-local';
|
||||
|
||||
@font-face {
|
||||
font-family: 'text-security-disc';
|
||||
src: url('/assets/fonts/text-security-disc.woff2') format('woff2');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Montserrat';
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
src: url('/assets/fonts/Montserrat/Montserrat-Regular.ttf');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Montserrat';
|
||||
font-style: normal;
|
||||
font-weight: bold;
|
||||
src: url('/assets/fonts/Montserrat/Montserrat-Bold.ttf');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Montserrat';
|
||||
font-style: normal;
|
||||
font-weight: thin;
|
||||
src: url('/assets/fonts/Montserrat/Montserrat-Light.ttf');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
src: url('/assets/fonts/Open_Sans/OpenSans-Regular.ttf');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
src: url('/assets/fonts/Open_Sans/OpenSans-SemiBold.ttf');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: bold;
|
||||
src: url('/assets/fonts/Open_Sans/OpenSans-Bold.ttf');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: thin;
|
||||
src: url('/assets/fonts/Open_Sans/OpenSans-Light.ttf');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Courier New';
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
src: url('/assets/fonts/Courier_New/CourierNew-Regular.ttf');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Courier New';
|
||||
font-style: normal;
|
||||
font-weight: bold;
|
||||
src: url('/assets/fonts/Courier_New/CourierNew-Bold.ttf');
|
||||
}
|
||||
|
||||
/** Ionic CSS Variables overrides **/
|
||||
:root {
|
||||
--ion-font-family: 'Open Sans', sans-serif;
|
||||
--ion-background-color: var(--ion-color-medium);
|
||||
--ion-background-color-rgb: var(--ion-color-medium-rgb);
|
||||
--ion-text-color: var(--ion-color-dark);
|
||||
--ion-text-color-rgb: var(--ion-color-dark-rgb);
|
||||
|
||||
--tui-skeleton-radius: 1rem;
|
||||
}
|
||||
|
||||
$subheader-height: 48px;
|
||||
|
||||
.btn-128 {
|
||||
min-width: 128px;
|
||||
}
|
||||
|
||||
.subheader-padding {
|
||||
--padding-top: #{$subheader-height}+ 10px;
|
||||
}
|
||||
|
||||
.subheader {
|
||||
--min-height: #{$subheader-height};
|
||||
}
|
||||
|
||||
.select-warning .alert-sub-title {
|
||||
color: var(--ion-color-warning);
|
||||
}
|
||||
|
||||
.break-all {
|
||||
word-break: break-all;
|
||||
}
|
||||
|
||||
.center {
|
||||
display: block;
|
||||
margin: auto;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
ion-action-sheet {
|
||||
--button-color: var(--ion-color-dark) !important;
|
||||
}
|
||||
|
||||
ion-toast {
|
||||
--background: var(--ion-color-light);
|
||||
--button-color: var(--ion-color-dark);
|
||||
--border-style: solid;
|
||||
--border-width: 1px;
|
||||
--color: white;
|
||||
}
|
||||
|
||||
.warning-toast {
|
||||
--border-color: var(--ion-color-warning);
|
||||
}
|
||||
|
||||
.success-toast {
|
||||
--border-color: var(--ion-color-success);
|
||||
}
|
||||
|
||||
.alert-message {
|
||||
user-select: text !important;
|
||||
}
|
||||
|
||||
.error-toast {
|
||||
--border-color: var(--ion-color-danger);
|
||||
width: 40%;
|
||||
min-width: 400px;
|
||||
--end: 8px;
|
||||
right: 8px;
|
||||
left: unset;
|
||||
top: 64px;
|
||||
}
|
||||
|
||||
.alert-radio-label.sc-ion-alert-md {
|
||||
white-space: normal !important;
|
||||
}
|
||||
|
||||
.alert-radio-label.sc-ion-alert-ios {
|
||||
white-space: normal !important;
|
||||
}
|
||||
|
||||
.inline {
|
||||
* {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
}
|
||||
}
|
||||
|
||||
img {
|
||||
border-radius: 100%;
|
||||
}
|
||||
|
||||
ion-back-button {
|
||||
margin-left: 16px;
|
||||
height: 36px;
|
||||
width: 36px;
|
||||
--min-height: 0;
|
||||
--min-width: 0;
|
||||
min-width: 0;
|
||||
--icon-font-size: 36px;
|
||||
&::part(native) {
|
||||
border: 1px solid gray;
|
||||
}
|
||||
&::part(icon) {
|
||||
min-width: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
ion-card-title {
|
||||
font-family: 'Montserrat', sans-serif;
|
||||
}
|
||||
|
||||
ion-title {
|
||||
font-family: 'Montserrat', sans-serif;
|
||||
}
|
||||
|
||||
ion-badge {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
ion-icon {
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
ion-toolbar {
|
||||
line-height: 1.1;
|
||||
--min-height: 72px;
|
||||
--background: var(--ion-color-light);
|
||||
}
|
||||
|
||||
ion-infinite-scroll ion-infinite-scroll-content {
|
||||
--color: var(--ion-color-warning) !important;
|
||||
}
|
||||
|
||||
ion-alert {
|
||||
.alert-button {
|
||||
color: var(--ion-color-dark) !important;
|
||||
}
|
||||
}
|
||||
|
||||
ion-button {
|
||||
--color: var(--ion-color-dark) !important;
|
||||
}
|
||||
|
||||
.cap-width {
|
||||
padding: 32px;
|
||||
max-width: 800px;
|
||||
}
|
||||
|
||||
.text-ellipses {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.qr-modal {
|
||||
&::part(content) {
|
||||
width: 400px !important;
|
||||
height: 400px !important;
|
||||
top: unset !important;
|
||||
left: unset !important;
|
||||
}
|
||||
}
|
||||
|
||||
.notification-detail-alert {
|
||||
.alert-wrapper {
|
||||
--max-height: 80% !important;
|
||||
--width: 90% !important;
|
||||
--max-width: 900px !important;
|
||||
}
|
||||
|
||||
.alert-message {
|
||||
max-height: unset;
|
||||
}
|
||||
}
|
||||
|
||||
ion-back-button {
|
||||
--background: var(--ion-color-light);
|
||||
--color: var(--ion-color-dark);
|
||||
}
|
||||
|
||||
ion-item-divider {
|
||||
text-transform: uppercase;
|
||||
--padding-top: 24px;
|
||||
font-weight: 600;
|
||||
--background: transparent;
|
||||
--color: var(--ion-color-dark);
|
||||
font-size: medium;
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
ion-item {
|
||||
--border-radius: 6px;
|
||||
--ripple-color: transparent;
|
||||
}
|
||||
|
||||
ion-label {
|
||||
white-space: normal !important;
|
||||
}
|
||||
|
||||
ion-loading {
|
||||
--spinner-color: var(--ion-color-warning) !important;
|
||||
z-index: 40000 !important;
|
||||
}
|
||||
|
||||
.rec-item {
|
||||
margin: 20px;
|
||||
border-width: 1px;
|
||||
border-style: groove;
|
||||
border-color: dimgrey;
|
||||
border-radius: 6px;
|
||||
box-shadow: 4px 4px 16px var(--ion-color-primary);
|
||||
--padding-start: 10px;
|
||||
}
|
||||
|
||||
h2 {
|
||||
line-height: unset;
|
||||
}
|
||||
|
||||
@keyframes flickerAnimation {
|
||||
0% {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
20% {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
60% {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
100% {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
.fader {
|
||||
animation: flickerAnimation 4s infinite;
|
||||
}
|
||||
|
||||
.grid-headings {
|
||||
font-weight: bold;
|
||||
background: var(--ion-color-medium-tint);
|
||||
}
|
||||
|
||||
.grid-row-border {
|
||||
border-bottom: 1px solid rgb(54, 54, 54);
|
||||
min-height: 43px;
|
||||
}
|
||||
|
||||
.grid-fixed {
|
||||
overflow: auto;
|
||||
|
||||
/* Hide scrollbar for Chrome, Safari and Opera */
|
||||
&::-webkit-scrollbar {
|
||||
width: 0;
|
||||
height: 0;
|
||||
}
|
||||
/* Hide scrollbar for IE, Edge and Firefox */
|
||||
/* IE and Edge */
|
||||
-ms-overflow-style: none;
|
||||
/* Firefox */
|
||||
scrollbar-width: none;
|
||||
|
||||
ion-grid {
|
||||
min-width: 900px;
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: Refactor so header is outside router-outlet
|
||||
ion-content.with-widgets,
|
||||
ion-footer.with-widgets {
|
||||
width: calc(100% - var(--widgets-width));
|
||||
}
|
||||
|
||||
body[data-theme='Light'] {
|
||||
.service-card {
|
||||
--background: #f4f4f5;
|
||||
--inner-border-width: 0;
|
||||
}
|
||||
|
||||
ion-header {
|
||||
box-shadow: 0 1px #e0e0e0;
|
||||
|
||||
&::after {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ul {
|
||||
padding-left: 40px;
|
||||
list-style-type: disc;
|
||||
}
|
||||
|
||||
.checkbox {
|
||||
cursor: pointer;
|
||||
margin: 0 12px 6px 0;
|
||||
}
|
||||
|
||||
.g-page {
|
||||
display: block;
|
||||
height: 100%;
|
||||
padding: 1px 2rem 3rem;
|
||||
box-sizing: border-box;
|
||||
overflow: auto;
|
||||
isolation: isolate;
|
||||
|
||||
// TODO: Theme
|
||||
background: #373a3f;
|
||||
}
|
||||
|
||||
.g-table {
|
||||
width: 100%;
|
||||
min-width: 40rem;
|
||||
|
||||
td,
|
||||
th {
|
||||
font: var(--tui-font-text-s);
|
||||
text-align: left;
|
||||
height: 2rem;
|
||||
padding: 0 0.25rem;
|
||||
box-shadow: inset 0 -1px var(--tui-clear);
|
||||
}
|
||||
|
||||
th {
|
||||
background: var(--tui-clear);
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.tui-skeleton {
|
||||
max-height: 0.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
.g-title {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 1rem;
|
||||
text-transform: uppercase;
|
||||
font-weight: bold;
|
||||
font-size: 1rem;
|
||||
margin: 2rem 0 1rem;
|
||||
color: var(--tui-text-02);
|
||||
}
|
||||
|
||||
.g-buttons {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
gap: 16px;
|
||||
margin-top: 24px;
|
||||
}
|
||||
|
||||
.g-action {
|
||||
@include transition(background);
|
||||
@include clearbtn();
|
||||
|
||||
display: flex;
|
||||
align-items: center;
|
||||
width: stretch;
|
||||
gap: 1rem;
|
||||
text-align: left;
|
||||
font-size: 0.85rem;
|
||||
padding: 0.5rem 1rem;
|
||||
margin: 0 -1rem;
|
||||
line-height: 1.25rem;
|
||||
border-radius: 0.5rem;
|
||||
color: var(--tui-text-01);
|
||||
}
|
||||
|
||||
a.g-action,
|
||||
button.g-action {
|
||||
&:disabled {
|
||||
pointer-events: none;
|
||||
opacity: var(--tui-disabled-opacity);
|
||||
}
|
||||
|
||||
&:hover {
|
||||
background: var(--tui-clear);
|
||||
}
|
||||
|
||||
&:not(:last-child) {
|
||||
box-shadow: 0 0.51rem 0 -0.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
.g-toggle {
|
||||
height: var(--tui-height-l);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 0 1rem;
|
||||
box-shadow: inset 0 0 0 1px var(--tui-base-03);
|
||||
font: var(--tui-font-text-l);
|
||||
font-weight: bold;
|
||||
border-radius: var(--tui-radius-m);
|
||||
|
||||
tui-toggle {
|
||||
margin-left: auto;
|
||||
}
|
||||
}
|
||||
|
||||
.g-hidden-scrollbar {
|
||||
@include scrollbar-hidden;
|
||||
overflow: auto !important;
|
||||
}
|
||||
|
||||
p {
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
svg:not(:root) {
|
||||
overflow: auto;
|
||||
}
|
||||
Reference in New Issue
Block a user