mirror of
https://github.com/Dvorinka/Trackeep.git
synced 2026-06-03 20:12:58 +00:00
feat(frontend): enhance API credentials system and build configuration
Add real API support in demo mode with credential checking, implement build-time version injection from package.json, and refactor update checking with 24-hour caching. Migrate landing page from Vue to Astro with comprehensive UI components including Hero, Features, Benefits, and Tech Stack sections. Update CI/CD workflow with expanded cache paths and security scanner version pinned.
This commit is contained in:
@@ -0,0 +1,223 @@
|
||||
:root {
|
||||
--background: 0 0% 100%;
|
||||
--foreground: 0 0% 3.9%;
|
||||
--card: 0 0% 98%;
|
||||
--card-foreground: 0 0% 3.9%;
|
||||
--popover: 0 0% 100%;
|
||||
--popover-foreground: 0 0% 3.9%;
|
||||
--primary: 16 99% 65%;
|
||||
--primary-foreground: 0 0% 3.9%;
|
||||
--secondary: 0 0% 96.1%;
|
||||
--secondary-foreground: 0 0% 9%;
|
||||
--muted: 0 0% 96.1%;
|
||||
--muted-foreground: 0 0% 45.1%;
|
||||
--accent: 0 0% 96.1%;
|
||||
--accent-foreground: 0 0% 9%;
|
||||
--destructive: 0 84.2% 60.2%;
|
||||
--destructive-foreground: 0 0% 98%;
|
||||
--warning: 31 98% 50%;
|
||||
--warning-foreground: 0 0% 98%;
|
||||
--border: 0 0% 89.8%;
|
||||
--input: 0 0% 89.8%;
|
||||
--ring: 0 0% 3.9%;
|
||||
--radius: .5rem
|
||||
}
|
||||
|
||||
[data-kb-theme=dark] {
|
||||
--background: 240 4% 10%;
|
||||
--foreground: 0 0% 98%;
|
||||
--card: 240 4% 8%;
|
||||
--card-foreground: 0 0% 98%;
|
||||
--popover: 240 4% 8%;
|
||||
--popover-foreground: 0 0% 98%;
|
||||
--primary: 77 100% 74%;
|
||||
--primary-foreground: 0 0% 9%;
|
||||
--secondary: 0 0% 14.9%;
|
||||
--secondary-foreground: 0 0% 98%;
|
||||
--muted: 0 0% 14.9%;
|
||||
--muted-foreground: 0 0% 63.9%;
|
||||
--accent: 0 0% 14.9%;
|
||||
--accent-foreground: 0 0% 98%;
|
||||
--destructive: 0 62.8% 30.6%;
|
||||
--destructive-foreground: 0 0% 98%;
|
||||
--warning: 31 98% 50%;
|
||||
--warning-foreground: 0 0% 98%;
|
||||
--border: 0 0% 14.9%;
|
||||
--input: 0 0% 14.9%;
|
||||
--ring: 0 0% 83.1%
|
||||
}
|
||||
|
||||
* {
|
||||
--un-border-opacity: 1;
|
||||
border-color: hsl(var(--border) / var(--un-border-opacity))
|
||||
}
|
||||
|
||||
body {
|
||||
--un-bg-opacity: 1;
|
||||
background-color: hsl(var(--background) / var(--un-bg-opacity));
|
||||
--un-text-opacity: 1;
|
||||
color: hsl(var(--foreground) / var(--un-text-opacity))
|
||||
}
|
||||
|
||||
@layer components {
|
||||
.prose {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
width: 100%;
|
||||
letter-spacing: .025em;
|
||||
line-height: 1.75em
|
||||
}
|
||||
|
||||
@media (min-width: 1024px) {
|
||||
.prose {
|
||||
font-size:1.125rem;
|
||||
line-height: 1.75rem
|
||||
}
|
||||
}
|
||||
|
||||
.prose>p,.prose>blockquote>p {
|
||||
margin-top: 1rem;
|
||||
margin-bottom: 1rem
|
||||
}
|
||||
|
||||
.prose>blockquote {
|
||||
padding-left: 2rem;
|
||||
border-left: 1px solid
|
||||
}
|
||||
|
||||
.prose>hr {
|
||||
margin-top: 2rem;
|
||||
margin-bottom: 2rem
|
||||
}
|
||||
|
||||
.prose>img {
|
||||
margin-top: 1rem;
|
||||
margin-bottom: 1rem
|
||||
}
|
||||
|
||||
.prose strong {
|
||||
--un-text-opacity: 1;
|
||||
color: rgb(255 255 255 / var(--un-text-opacity));
|
||||
font-weight: 500
|
||||
}
|
||||
|
||||
.prose ul {
|
||||
margin-top: 1rem;
|
||||
margin-bottom: 1rem;
|
||||
padding-left: 2rem
|
||||
}
|
||||
|
||||
.prose ol {
|
||||
margin-top: 1rem;
|
||||
margin-bottom: 1rem;
|
||||
list-style-type: decimal;
|
||||
list-style-position: inside;
|
||||
padding-left: 1rem
|
||||
}
|
||||
|
||||
.prose ol : :marker {
|
||||
display:inline-block;
|
||||
--un-text-opacity: 1;
|
||||
color: hsl(var(--muted-foreground) / var(--un-text-opacity));
|
||||
font-weight: 700;
|
||||
font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace
|
||||
}
|
||||
|
||||
.prose li>p: first-child {
|
||||
display:inline-block
|
||||
}
|
||||
|
||||
.prose li {
|
||||
margin-top: .125rem;
|
||||
margin-bottom: .125rem
|
||||
}
|
||||
|
||||
.prose :where(a) {
|
||||
--un-text-opacity: 1 !important;
|
||||
color: hsl(var(--primary) / var(--un-text-opacity))!important;
|
||||
text-decoration-line: underline;
|
||||
text-underline-offset: 3px;
|
||||
transition-property: color,background-color,border-color,text-decoration-color,fill,stroke;
|
||||
transition-timing-function: cubic-bezier(.4,0,.2,1);
|
||||
transition-duration: .15s
|
||||
}
|
||||
|
||||
.prose :where(a): hover {
|
||||
--un-text-opacity:1 !important;
|
||||
color: hsl(var(--foreground) / var(--un-text-opacity))!important
|
||||
}
|
||||
|
||||
.prose :where(code): not(:where(pre,h1,h2,h3,h4,h5,h6) code) {
|
||||
margin-left:.125rem!important;
|
||||
margin-right: .125rem!important;
|
||||
display: inline-block;
|
||||
border-radius: calc(var(--radius) - 2px)!important;
|
||||
--un-bg-opacity: 1 !important;
|
||||
background-color: hsl(var(--muted) / var(--un-bg-opacity))!important;
|
||||
padding-left: .5rem;
|
||||
padding-right: .5rem;
|
||||
vertical-align: baseline;
|
||||
font-size: .875rem!important;
|
||||
line-height: 1.25rem!important;
|
||||
line-height: 1.5rem!important
|
||||
}
|
||||
|
||||
.prose :where(:not(pre)>code): not(:where(.not-prose,.not-prose *)):before,.prose :where(:not(pre)>code):not(:where(.not-prose,.not-prose *)):after {
|
||||
content:""!important
|
||||
}
|
||||
|
||||
.prose>p a>code {
|
||||
color: inherit;
|
||||
text-decoration: inherit
|
||||
}
|
||||
|
||||
.prose .expressive-code {
|
||||
margin-top: 1.5rem;
|
||||
margin-bottom: 1.5rem
|
||||
}
|
||||
|
||||
.prose table {
|
||||
width: 100%;
|
||||
--un-border-spacing-x: 0;
|
||||
--un-border-spacing-y: 0;
|
||||
border-spacing: var(--un-border-spacing-x) var(--un-border-spacing-y);
|
||||
overflow: auto;
|
||||
font-size: .875rem;
|
||||
line-height: 1.25rem
|
||||
}
|
||||
|
||||
@media (min-width: 640px) {
|
||||
.prose table {
|
||||
font-size:1rem;
|
||||
line-height: 1.5rem
|
||||
}
|
||||
}
|
||||
|
||||
.prose tr {
|
||||
width: 100%
|
||||
}
|
||||
|
||||
.prose :is(th,td) {
|
||||
border-bottom-width: 1px;
|
||||
padding: .5rem 1rem;
|
||||
vertical-align: baseline
|
||||
}
|
||||
|
||||
.prose :is(th,td): first-child {
|
||||
padding-left:0
|
||||
}
|
||||
|
||||
.prose :is(th,td): last-child {
|
||||
padding-right:0
|
||||
}
|
||||
|
||||
.prose th {
|
||||
--un-text-opacity: 1;
|
||||
color: rgb(255 255 255 / var(--un-text-opacity));
|
||||
font-weight: 500
|
||||
}
|
||||
|
||||
.prose th: not([align]) {
|
||||
text-align:start
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user