Removed old architecture. Added new base project structure

This commit is contained in:
Masu-Baumgartner
2024-09-30 17:52:14 +02:00
parent c05ea18513
commit 73bf27d222
819 changed files with 6257 additions and 56097 deletions

View File

@@ -0,0 +1,80 @@
/* Buttons */
.btn,
.btn-lg,
.btn-sm,
.btn-xs {
@apply font-medium text-sm inline-flex items-center justify-center border border-transparent rounded-lg leading-5 shadow-sm transition;
}
.btn {
@apply px-3 py-2;
}
.btn-lg {
@apply px-4 py-3;
}
.btn-sm {
@apply px-2 py-1;
}
.btn-xs {
@apply px-2 py-0.5;
}
/* Colors */
.btn-primary {
@apply bg-primary-600 hover:bg-primary-500 focus-visible:outline-primary-600;
}
.btn-secondary {
@apply bg-secondary-800 hover:bg-secondary-700 focus-visible:outline-secondary-800;
}
.btn-tertiary {
@apply bg-tertiary-600 hover:bg-tertiary-500 focus-visible:outline-tertiary-600;
}
.btn-danger {
@apply bg-danger-600 hover:bg-danger-500 focus-visible:outline-danger-600;
}
.btn-warning {
@apply bg-warning-500 hover:bg-warning-400 focus-visible:outline-warning-500;
}
.btn-info {
@apply bg-info-600 hover:bg-info-500 focus-visible:outline-info-600;
}
.btn-success {
@apply bg-success-600 hover:bg-success-500 focus-visible:outline-success-600;
}
/* Outline */
.btn-outline-primary {
@apply bg-gray-800 hover:border-gray-600 text-primary-500;
}
.btn-outline-tertiary {
@apply bg-gray-800 hover:border-gray-600 text-tertiary-500;
}
.btn-outline-danger {
@apply bg-gray-800 hover:border-gray-600 text-danger-500;
}
.btn-outline-warning {
@apply bg-gray-800 hover:border-gray-600 text-warning-400;
}
.btn-outline-info {
@apply bg-gray-800 hover:border-gray-600 text-info-500;
}
.btn-outline-success {
@apply bg-gray-800 hover:border-gray-600 text-success-500;
}

View File

@@ -0,0 +1,19 @@
.card {
@apply flex flex-col bg-gray-800 shadow-sm rounded-xl;
}
.card-header {
@apply px-5 py-4 border-b border-gray-700/60 flex items-center;
}
.card-title {
@apply font-semibold text-gray-100;
}
.card-body {
@apply px-5 py-5;
}
.card-footer {
@apply pt-3 pb-3 border-t border-gray-700/60 mt-auto;
}

View File

@@ -0,0 +1,3 @@
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=fallback');
@import url('https://fonts.googleapis.com/css2?family=Source+Code+Pro:ital,wght@0,200..900;1,200..900&display=swap');
@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css");

View File

@@ -0,0 +1,77 @@
/* Forms */
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
-webkit-appearance: none;
}
.form-input,
.form-textarea,
.form-multiselect,
.form-select,
.form-checkbox,
.form-radio {
@apply bg-gray-700/60 border-2 focus:ring-0 focus:ring-offset-0 disabled:bg-gray-700/30 disabled:border-gray-700 disabled:hover:border-gray-700;
}
.form-checkbox {
@apply rounded;
}
.form-input,
.form-textarea,
.form-multiselect,
.form-select {
@apply text-sm text-gray-100 leading-5 py-2 px-3 border-gray-700 focus:border-primary-500 shadow-sm rounded-lg;
}
.form-input,
.form-textarea {
@apply placeholder-gray-700;
}
.form-select {
@apply pr-10;
}
.form-checkbox,
.form-radio {
@apply text-primary-500 checked:bg-primary-500 checked:border-transparent border border-gray-700/60 focus:border-primary-500/50;
}
/* Switch element */
.form-switch {
@apply relative select-none;
width: 44px;
}
.form-switch label {
@apply block overflow-hidden cursor-pointer h-6 rounded-full;
}
.form-switch label > span:first-child {
@apply absolute block rounded-full;
width: 20px;
height: 20px;
top: 2px;
left: 2px;
right: 50%;
transition: all .15s ease-out;
}
.form-switch input[type="checkbox"]:checked + label {
@apply bg-primary-600;
}
.form-switch input[type="checkbox"]:checked + label > span:first-child {
left: 22px;
}
.form-switch input[type="checkbox"]:disabled + label {
@apply cursor-not-allowed bg-gray-700/20 border border-gray-700/60;
}
.form-switch input[type="checkbox"]:disabled + label > span:first-child {
@apply bg-gray-600;
}

View File

@@ -0,0 +1,25 @@
.progress {
@apply bg-gray-800 rounded-full overflow-hidden;
}
.progress-bar {
@apply bg-primary-500 rounded-full h-3;
transition: width 0.6s ease;
}
.progress-bar.progress-intermediate {
animation: progress-animation 1s infinite linear;
transform-origin: 0 50%
}
@keyframes progress-animation {
0% {
transform: translateX(0) scaleX(0);
}
40% {
transform: translateX(0) scaleX(0.4);
}
100% {
transform: translateX(100%) scaleX(0.5);
}
}

View File

@@ -0,0 +1,9 @@
* {
scrollbar-width: thin;
scrollbar-color: #64748b transparent;
}
.no-scrollbar {
scrollbar-width: none;
scrollbar-color: transparent transparent;
}

View File

@@ -0,0 +1 @@
npx tailwindcss -i style.css -o ../wwwroot/css/style.min.css --watch

View File

@@ -0,0 +1,2 @@
#! /bin/bash
npx tailwindcss -i style.css -o ../wwwroot/css/style.min.css --watch

View File

@@ -0,0 +1,403 @@
[
"-m-1",
"-m-1.5",
"-m-2.5",
"-m-3",
"-mx-2",
"-mx-4",
"-translate-x-1/2",
"-translate-x-full",
"absolute",
"animate-spin",
"backdrop-blur",
"bg-danger-200",
"bg-danger-600",
"bg-gradient-to-t",
"bg-gray-100",
"bg-gray-200",
"bg-gray-400",
"bg-gray-50",
"bg-gray-700",
"bg-gray-750",
"bg-gray-800",
"bg-gray-800/60",
"bg-gray-800/80",
"bg-gray-900",
"bg-gray-950",
"bg-info-100",
"bg-opacity-50",
"bg-opacity-75",
"bg-red-50",
"bg-slate-900",
"bg-success-100",
"bg-tertiary-500",
"bg-transparent",
"bg-warning-100",
"bg-warning-400",
"bg-white",
"block",
"border",
"border-0",
"border-b-2",
"border-gray-100/10",
"border-gray-700",
"border-gray-700/60",
"border-primary-500",
"border-red-600",
"border-slate-700",
"border-t",
"border-transparent",
"bottom-0",
"bottom-full",
"col-span-1",
"col-span-3",
"cursor-default",
"cursor-not-allowed",
"dark:bg-gray-700",
"dark:bg-gray-700/60",
"dark:disabled:bg-gray-800",
"dark:disabled:border-gray-700",
"dark:disabled:placeholder:text-gray-600",
"dark:disabled:text-gray-600",
"dark:group-hover:text-gray-400",
"dark:text-gray-100",
"dark:text-gray-500",
"disabled:bg-gray-100",
"disabled:bg-gray-800",
"disabled:border-gray-200",
"disabled:border-gray-700",
"disabled:cursor-not-allowed",
"disabled:text-gray-400",
"disabled:text-gray-600",
"divide-gray-700/60",
"divide-y",
"duration-100",
"duration-200",
"duration-300",
"duration-75",
"ease-in",
"ease-in-out",
"ease-linear",
"ease-out",
"fill-current",
"fill-primary-600",
"filter",
"first:pl-4",
"fixed",
"flex",
"flex-1",
"flex-col",
"flex-nowrap",
"flex-row",
"flex-shrink-0",
"flex-wrap",
"focus:outline-none",
"focus:ring-0",
"focus:ring-2",
"focus:ring-indigo-500",
"focus:ring-indigo-600",
"focus:ring-offset-0",
"focus:ring-offset-2",
"font-bold",
"font-inter",
"font-medium",
"font-normal",
"font-scp",
"font-semibold",
"form-checkbox",
"form-input",
"form-radio",
"form-select",
"from-gray-700",
"from-primary-700",
"gap-2",
"gap-5",
"gap-x-3",
"gap-x-4",
"gap-x-6",
"gap-y-5",
"gap-y-7",
"gap-y-8",
"grid",
"grid-cols-1",
"grid-cols-3",
"grid-flow-col",
"group-hover:text-gray-500",
"group-hover:text-white",
"grow",
"h-10",
"h-12",
"h-16",
"h-20",
"h-4",
"h-5",
"h-6",
"h-8",
"h-px",
"hidden",
"hover:bg-gray-700",
"hover:bg-gray-800",
"hover:bg-primary-600",
"hover:border-b-2",
"hover:border-gray-600",
"hover:border-primary-500",
"hover:text-gray-100",
"hover:text-gray-500",
"hover:text-info-400",
"hover:text-white",
"inline",
"inline-flex",
"inset-0",
"italic",
"items-center",
"items-end",
"items-start",
"justify-between",
"justify-center",
"justify-end",
"justify-start",
"justify-stretch",
"last:mr-0",
"last:pr-4",
"leading-5",
"leading-6",
"leading-7",
"left-1/2",
"left-auto",
"left-full",
"lg:-mx-8",
"lg:bg-gray-900/10",
"lg:block",
"lg:first:pl-8",
"lg:fixed",
"lg:flex",
"lg:flex-col",
"lg:gap-x-6",
"lg:h-6",
"lg:hidden",
"lg:inset-y-0",
"lg:items-center",
"lg:last:pr-8",
"lg:max-w-5xl",
"lg:pl-72",
"lg:px-8",
"lg:w-72",
"lg:w-px",
"lg:z-50",
"list-disc",
"m-1",
"m-3",
"max-h-56",
"max-w-sm",
"max-w-xs",
"mb-1",
"mb-2",
"mb-3",
"mb-4",
"mb-5",
"mb-6",
"mb-8",
"md:flex-row",
"md:grid-cols-3",
"md:items-center",
"md:space-y-0",
"md:text-3xl",
"me-1",
"me-2",
"min-h-full",
"min-w-60",
"ml-2",
"ml-3",
"ml-4",
"ml-auto",
"mr-16",
"mr-2",
"mr-3",
"mr-6",
"ms-0.5",
"ms-1",
"ms-3",
"mt-1",
"mt-10",
"mt-2",
"mt-2.5",
"mt-3",
"mt-5",
"mt-8",
"mt-auto",
"mx-5",
"mx-auto",
"my-1",
"my-3",
"my-4",
"my-8",
"opacity-0",
"opacity-100",
"origin-top-right",
"overflow-auto",
"overflow-hidden",
"overflow-x-auto",
"overflow-x-scroll",
"overflow-y-auto",
"p-0",
"p-1.5",
"p-2",
"p-2.5",
"p-4",
"p-5",
"pb-1",
"pb-3",
"pb-4",
"pl-12",
"pl-2",
"pl-3",
"pl-5",
"pl-9",
"pointer-events-auto",
"pointer-events-none",
"pr-3",
"pr-8",
"pt-0.5",
"pt-4",
"pt-5",
"pt-6",
"px-2",
"px-3",
"px-4",
"px-5",
"px-6",
"py-1",
"py-10",
"py-2",
"py-3",
"py-6",
"py-8",
"relative",
"right-0",
"right-auto",
"ring-1",
"ring-black",
"ring-gray-900/5",
"ring-opacity-5",
"ring-white/10",
"rounded",
"rounded-b-lg",
"rounded-full",
"rounded-lg",
"rounded-md",
"rounded-t-lg",
"scale-100",
"scale-95",
"select-none",
"shadow-lg",
"shadow-none",
"shadow-sm",
"shadow-xl",
"shrink-0",
"sm:-mx-6",
"sm:auto-cols-max",
"sm:col-span-1",
"sm:col-span-2",
"sm:col-span-3",
"sm:col-span-4",
"sm:col-span-5",
"sm:col-span-6",
"sm:first:pl-6",
"sm:flex",
"sm:gap-x-6",
"sm:grid-cols-6",
"sm:items-center",
"sm:items-end",
"sm:justify-between",
"sm:justify-end",
"sm:last:pr-6",
"sm:max-w-lg",
"sm:mb-0",
"sm:mt-5",
"sm:mt-6",
"sm:my-8",
"sm:p-0",
"sm:p-6",
"sm:pb-4",
"sm:px-6",
"sm:text-sm",
"sm:w-full",
"space-x-1",
"space-x-2",
"space-x-5",
"space-y-1",
"space-y-2",
"space-y-3",
"space-y-4",
"space-y-8",
"sr-only",
"static",
"sticky",
"table",
"table-auto",
"text-2xl",
"text-4xl",
"text-[0.625rem]",
"text-base",
"text-center",
"text-danger-500",
"text-gray-100",
"text-gray-200",
"text-gray-300",
"text-gray-400",
"text-gray-500",
"text-gray-600",
"text-gray-700",
"text-gray-800",
"text-gray-900",
"text-green-500",
"text-indigo-600",
"text-info-400",
"text-info-500",
"text-left",
"text-lg",
"text-primary-500",
"text-red-400",
"text-red-500",
"text-red-700",
"text-red-800",
"text-slate-400",
"text-slate-600",
"text-sm",
"text-success-400",
"text-success-500",
"text-warning-400",
"text-white",
"text-xs",
"to-gray-800",
"to-primary-600",
"top-0",
"transform",
"transition",
"transition-all",
"transition-opacity",
"translate-x-0",
"translate-y-0",
"translate-y-2",
"truncate",
"uppercase",
"w-0",
"w-10",
"w-12",
"w-16",
"w-20",
"w-24",
"w-32",
"w-4",
"w-5",
"w-6",
"w-8",
"w-auto",
"w-full",
"w-px",
"w-screen",
"whitespace-nowrap",
"z-10",
"z-40",
"z-50"
]

1294
Moonlight.Client/Styles/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,8 @@
{
"devDependencies": {
"tailwindcss": "^3.4.11"
},
"dependencies": {
"@tailwindcss/forms": "^0.5.9"
}
}

View File

@@ -0,0 +1,15 @@
@import "tailwindcss/base";
@import "tailwindcss/components";
@import "additions/fonts.css";
@import "additions/buttons.css";
@import "additions/cards.css";
@import "additions/forms.css";
@import "additions/progress.css";
@import "additions/scrollbar.css";
@import "tailwindcss/utilities";
#blazor-error-ui {
display: none;
}

View File

@@ -0,0 +1,124 @@
/** @type {import('tailwindcss').Config} */
module.exports = {
content: [
'../**/*.razor',
'mappings/*.json'
],
theme: {
extend: {
fontFamily: {
inter: ['Inter', 'sans-serif'],
scp: ['Source Code Pro', 'mono'],
},
colors: {
primary: {
50: '#eef2ff',
100: '#e0e7ff',
200: '#c7d2fe',
300: '#a5b4fc',
400: '#818cf8',
500: '#6366f1',
600: '#4f46e5',
700: '#4338ca',
800: '#3730a3',
900: '#312e81',
950: '#1e1b4b'
},
secondary: {
100: '#F9F9F9',
200: '#F1F1F2',
300: '#DBDFE9',
400: '#B5B5C3',
500: '#99A1B7',
600: '#78829D',
700: '#4B5675',
800: '#252F4A',
900: '#071437',
950: '#030712',
},
tertiary: {
50: '#f5f3ff',
100: '#ede9fe',
200: '#ddd6fe',
300: '#c4b5fd',
400: '#a78bfa',
500: '#8b5cf6',
600: '#7c3aed',
700: '#6d28d9',
800: '#5b21b6',
900: '#4c1d95',
950: '#2e1065'
},
warning: {
50: '#fefce8',
100: '#fef9c3',
200: '#fef08a',
300: '#fde047',
400: '#facc15',
500: '#eab308',
600: '#ca8a04',
700: '#a16207',
800: '#854d0e',
900: '#713f12',
950: '#422006'
},
danger: {
50: '#fef2f2',
100: '#fee2e2',
200: '#fecaca',
300: '#fca5a5',
400: '#f87171',
500: '#ef4444',
600: '#dc2626',
700: '#b91c1c',
800: '#991b1b',
900: '#7f1d1d',
950: '#450a0a'
},
success: {
50: '#f0fdf4',
100: '#dcfce7',
200: '#bbf7d0',
300: '#86efac',
400: '#4ade80',
500: '#22c55e',
600: '#16a34a',
700: '#15803d',
800: '#166534',
900: '#14532d',
950: '#052e16'
},
info: {
50: '#eff6ff',
100: '#dbeafe',
200: '#bfdbfe',
300: '#93c5fd',
400: '#60a5fa',
500: '#3b82f6',
600: '#2563eb',
700: '#1d4ed8',
800: '#1e40af',
900: '#1e3a8a',
950: '#172554'
},
gray: {
100: '#F9F9F9',
200: '#F1F1F2',
300: '#DBDFE9',
400: '#B5B5C3',
500: '#99A1B7',
600: '#78829D',
700: '#4B5675',
750: '#323c59',
800: '#252F4A',
900: '#071437',
950: '#030b1f',
}
}
},
},
plugins: [
require('@tailwindcss/forms')
],
}