Newer
Older
smart-home-server / webclient / src / scss / _app.scss
* {
	padding: 0;
	margin: 0;
}

html, body {
  font-family: "IBM Plex Mono", monospace;
  font-weight: 400;
}

body {
	background-color: $color-black;
	color: $color-text-light;

	font-size: 15px;
  line-height: 1.45;
  letter-spacing: 0.01em;
}

.screen {
	display: none;

	&.a-show {
		display: block;
	}
}

.sidebar {
	width: 100%;
}

.main-container,
.main-container {
	width: 100%;
}

.card.script-action, .card.device-action {
	max-width: 280px;

	.card-content {
		cursor: default;

		transition-duration: .2s;
		transition-property: color, opacity, background;
	}

	&:not(.card-success):not(.card-error):not(.card-danger) {
		&:hover {
			color: $color-black;
			background: $color-warning;
		}
	}

	.action-details-btn {
    color: $color-black;
    font-size: 34px;
    position: relative;
    right: -10px;
	}

	&.loading-state {
		position: relative;
		border-color: $color-warning;

		.device-icon-container {
			position: absolute;
			top: 0;
			left: 0;
			z-index: 1;
			display: flex;
	    flex-direction: row;
    	align-items: center;

			width: 100%;
			height: 100%;
			background: $color-warning;

			.device-icon {
				color: $color-black;

				.ph, .ph-bold {
					transform-origin: 50% 50%;
  				animation: icon_spin 1.2s linear infinite;
				}
			}
		}
	}
}

.sidebar-container {
	max-width: 260px;
	width: 100%;
}


.tree {
	.branch {
		display: flex;
		flex-direction: column;
		padding-left: $space-10 + $space-5;

		.title {
			font-size: $font-size-xl;
		}

		.branch-container {
			border: 2px solid $color-primary;
			padding: $space-3;

			display: flex;
			flex-direction: column;
			gap: $space-3;
			width: max-content;
			margin-bottom: $space-6;
		}
	}

	& > .branch, & > .branch > .branch {
		padding-left: 0;
	}
}

#area-devices-modal {
	.modal-body {
		position: relative;
		min-height: 300px;

		.loader {
			margin: auto;
			position: relative;
			top: 120px;
		}
	}
}

.top-bar {
	width: 100%;

	& > .row {
		justify-content: space-between;
		align-items: center;
	}
}

.component.place-in-area-component {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: $space-4;
	align-items: center;

	.form-container {
		margin-top: 0;
		opacity: 0;
		visibility: hidden;

		position: absolute;
		background: $color-black;
	  padding: 10px;
	  border: 2px solid $color-primary;
	  width: 300px;

		transition-duration: .2s;
		transition-property: opacity, visibility, margin-top;

		&.a-show {
			opacity: 1;
			visibility: visible;
			margin-top: -50px;
		}

		&.a-hide {
			margin-top: -80px;
		}

		.hide-place-in-area {
			position: absolute;
	    z-index: 1;
	    right: $space-1;
	    top: $space-1;
		}
	}	

	.remove-parent-id {
		&:hover {
			color: $color-black;
			background: $color-warning;
		}
	}
}

@import "app/_hud.scss";
@import "app/_load-screen.scss";
@import "app/_error-screen.scss";