Compare commits
8 Commits
369cfb0a40
...
caa1fddcc1
| Author | SHA1 | Date | |
|---|---|---|---|
| caa1fddcc1 | |||
| 5f0c99c395 | |||
| 832fad19bc | |||
| 28ed5d71b2 | |||
| 23a5ac32cc | |||
| 1b19d36e26 | |||
| 86533b9ab4 | |||
| c6ac974459 |
13
angular.json
13
angular.json
@@ -64,7 +64,13 @@
|
|||||||
"local": {
|
"local": {
|
||||||
"optimization": false,
|
"optimization": false,
|
||||||
"extractLicenses": false,
|
"extractLicenses": false,
|
||||||
"sourceMap": true
|
"sourceMap": true,
|
||||||
|
"fileReplacements": [
|
||||||
|
{
|
||||||
|
"replace": "src/environments/environment.ts",
|
||||||
|
"with": "src/environments/environment.local.ts"
|
||||||
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"homo": {
|
"homo": {
|
||||||
"fileReplacements": [
|
"fileReplacements": [
|
||||||
@@ -79,6 +85,9 @@
|
|||||||
},
|
},
|
||||||
"serve": {
|
"serve": {
|
||||||
"builder": "@angular/build:dev-server",
|
"builder": "@angular/build:dev-server",
|
||||||
|
"options": {
|
||||||
|
"port": 4300
|
||||||
|
},
|
||||||
"configurations": {
|
"configurations": {
|
||||||
"production": {
|
"production": {
|
||||||
"buildTarget": "shopit-front:build:production"
|
"buildTarget": "shopit-front:build:production"
|
||||||
@@ -93,7 +102,7 @@
|
|||||||
"buildTarget": "shopit-front:build:homo"
|
"buildTarget": "shopit-front:build:homo"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"defaultConfiguration": "development"
|
"defaultConfiguration": "local"
|
||||||
},
|
},
|
||||||
"test": {
|
"test": {
|
||||||
"builder": "@angular/build:unit-test"
|
"builder": "@angular/build:unit-test"
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
.tenant-status__card {
|
.tenant-status__card {
|
||||||
width: min(100%, 34rem);
|
width: min(100%, 34rem);
|
||||||
padding: 2rem;
|
padding: 2rem;
|
||||||
border: 1px solid rgba(32, 32, 32, 0.1);
|
border: 1px solid var(--border-color);
|
||||||
border-radius: 1.5rem;
|
border-radius: 1.5rem;
|
||||||
background-color: rgba(255, 255, 255, 0.92);
|
background-color: rgba(255, 255, 255, 0.92);
|
||||||
box-shadow: 0 1.25rem 3rem rgba(0, 0, 0, 0.1);
|
box-shadow: 0 1.25rem 3rem rgba(0, 0, 0, 0.1);
|
||||||
@@ -55,7 +55,7 @@
|
|||||||
.tenant-status__spinner {
|
.tenant-status__spinner {
|
||||||
width: 3rem;
|
width: 3rem;
|
||||||
height: 3rem;
|
height: 3rem;
|
||||||
border: 0.25rem solid rgba(32, 32, 32, 0.08);
|
border: 0.25rem solid var(--border-color);
|
||||||
border-top-color: var(--tenant-primary);
|
border-top-color: var(--tenant-primary);
|
||||||
border-radius: 999px;
|
border-radius: 999px;
|
||||||
animation: tenant-status-spin 0.8s linear infinite;
|
animation: tenant-status-spin 0.8s linear infinite;
|
||||||
|
|||||||
@@ -46,7 +46,7 @@
|
|||||||
place-items: center;
|
place-items: center;
|
||||||
width: 2.75rem;
|
width: 2.75rem;
|
||||||
height: 2.75rem;
|
height: 2.75rem;
|
||||||
border: 1px dashed rgba(255, 255, 255, 0.35);
|
border: 1px dashed var(--border-color);
|
||||||
border-radius: 999px;
|
border-radius: 999px;
|
||||||
font-size: 1.05rem;
|
font-size: 1.05rem;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
@@ -133,8 +133,8 @@
|
|||||||
display: block;
|
display: block;
|
||||||
order: 2;
|
order: 2;
|
||||||
grid-column: 1 / -1;
|
grid-column: 1 / -1;
|
||||||
width: 100vw;
|
width: 100%;
|
||||||
border-top: 1px solid rgba(255, 255, 255, 0.3);
|
border-top: 1px solid var(--border-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
.store-layout__brand-column,
|
.store-layout__brand-column,
|
||||||
|
|||||||
@@ -150,7 +150,7 @@
|
|||||||
<div class="store-layout__category-menu">
|
<div class="store-layout__category-menu">
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
class="btn btn-link d-inline-flex align-items-center gap-2 px-0 py-2 text-uppercase fw-bold text-decoration-none store-layout__category-trigger"
|
class="btn btn-link d-inline-flex align-items-center gap-2 px-0 py-3 text-uppercase fw-bold text-decoration-none store-layout__category-trigger"
|
||||||
aria-label="Categorias"
|
aria-label="Categorias"
|
||||||
aria-controls="store-category-dropdown"
|
aria-controls="store-category-dropdown"
|
||||||
[attr.aria-expanded]="isCategoryDropdownOpen()"
|
[attr.aria-expanded]="isCategoryDropdownOpen()"
|
||||||
|
|||||||
@@ -1,11 +1,10 @@
|
|||||||
.store-layout__header {
|
.store-layout__header {
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
background-color: transparent;
|
background-color: var(--tenant-header-bg);
|
||||||
box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.08);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.store-layout__header-main {
|
.store-layout__header-main {
|
||||||
border-bottom: 1px solid rgba(255, 255, 255, 0.08);
|
border-bottom: 1px solid var(--border-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
.store-layout__brand-slot {
|
.store-layout__brand-slot {
|
||||||
@@ -77,7 +76,7 @@
|
|||||||
|
|
||||||
.store-layout__search-input {
|
.store-layout__search-input {
|
||||||
color: #666666;
|
color: #666666;
|
||||||
border-color: #cccccc;
|
border-color: var(--border-color);
|
||||||
background-color: rgba(255, 255, 255, 0.96);
|
background-color: rgba(255, 255, 255, 0.96);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -86,21 +85,21 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.store-layout__search-input:focus {
|
.store-layout__search-input:focus {
|
||||||
border-color: #cccccc;
|
border-color: var(--border-color);
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
outline: none;
|
outline: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.store-layout__search-button {
|
.store-layout__search-button {
|
||||||
color: #a0a0a0;
|
color: #a0a0a0;
|
||||||
border-color: #cccccc;
|
border-color: var(--border-color);
|
||||||
background-color: rgba(255, 255, 255, 0.96);
|
background-color: rgba(255, 255, 255, 0.96);
|
||||||
}
|
}
|
||||||
|
|
||||||
.store-layout__search-button:hover,
|
.store-layout__search-button:hover,
|
||||||
.store-layout__search-button:focus-visible {
|
.store-layout__search-button:focus-visible {
|
||||||
color: #8a8a8a;
|
color: #8a8a8a;
|
||||||
border-color: #cccccc;
|
border-color: var(--border-color);
|
||||||
background-color: #ffffff;
|
background-color: #ffffff;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -172,7 +171,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.store-layout__mobile-separator {
|
.store-layout__mobile-separator {
|
||||||
border-color: #dddddd;
|
border-color: var(--border-color);
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
margin: 0 -1rem;
|
margin: 0 -1rem;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
.user-dropdown {
|
.user-dropdown {
|
||||||
display: grid;
|
display: grid;
|
||||||
background: #ffffff;
|
background: #ffffff;
|
||||||
border: 1px solid rgba(32, 32, 32, 0.1);
|
border: 1px solid var(--border-color);
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
box-shadow: 0 18px 44px rgba(0, 0, 0, 0.16);
|
box-shadow: 0 18px 44px rgba(0, 0, 0, 0.16);
|
||||||
padding: 0.75rem;
|
padding: 0.75rem;
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
|
|
||||||
.store-layout__cart-dropdown {
|
.store-layout__cart-dropdown {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 76px;
|
top: 100px;
|
||||||
right: calc((100% - 1320px) / 2 + 1.5rem);
|
right: calc((100% - 1320px) / 2 + 1.5rem);
|
||||||
width: 100%;
|
width: 100%;
|
||||||
max-width: 400px;
|
max-width: 400px;
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
z-index: 1050;
|
z-index: 1050;
|
||||||
background-color: #ffffff;
|
background-color: #ffffff;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
border: 1px solid rgba(0, 0, 0, 0.08);
|
border: 1px solid var(--border-color);
|
||||||
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
|
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
animation: store-layout-slide-down 0.2s ease-out;
|
animation: store-layout-slide-down 0.2s ease-out;
|
||||||
|
|||||||
@@ -72,13 +72,13 @@ describe('AuthService', () => {
|
|||||||
expect(service.token()).toBe('plain-text-token');
|
expect(service.token()).toBe('plain-text-token');
|
||||||
expect(service.user()?.email).toBe('ada@example.com');
|
expect(service.user()?.email).toBe('ada@example.com');
|
||||||
expect(service.isAuthenticated()).toBe(true);
|
expect(service.isAuthenticated()).toBe(true);
|
||||||
expect(cookieStore['shopit.auth.token']).toBe('plain-text-token');
|
expect(cookieStore['shopit.front.auth.token']).toBe('plain-text-token');
|
||||||
|
|
||||||
httpController.verify();
|
httpController.verify();
|
||||||
});
|
});
|
||||||
|
|
||||||
it('hydrates token from cookies and loads the current user during bootstrap', async () => {
|
it('hydrates token from cookies and loads the current user during bootstrap', async () => {
|
||||||
cookieStore['shopit.auth.token'] = 'persisted-token';
|
cookieStore['shopit.front.auth.token'] = 'persisted-token';
|
||||||
|
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
providers: [
|
providers: [
|
||||||
@@ -152,7 +152,7 @@ describe('AuthService', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('clears an expired session when /me returns 401', async () => {
|
it('clears an expired session when /me returns 401', async () => {
|
||||||
cookieStore['shopit.auth.token'] = 'expired-token';
|
cookieStore['shopit.front.auth.token'] = 'expired-token';
|
||||||
|
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
providers: [
|
providers: [
|
||||||
@@ -176,7 +176,7 @@ describe('AuthService', () => {
|
|||||||
expect(service.user()).toBeNull();
|
expect(service.user()).toBeNull();
|
||||||
expect(service.token()).toBeNull();
|
expect(service.token()).toBeNull();
|
||||||
expect(service.isAuthenticated()).toBe(false);
|
expect(service.isAuthenticated()).toBe(false);
|
||||||
expect(cookieStore['shopit.auth.token']).toBeUndefined();
|
expect(cookieStore['shopit.front.auth.token']).toBeUndefined();
|
||||||
|
|
||||||
httpController.verify();
|
httpController.verify();
|
||||||
});
|
});
|
||||||
@@ -384,7 +384,7 @@ describe('AuthService', () => {
|
|||||||
|
|
||||||
expect(service.token()).toBe('plain-text-token');
|
expect(service.token()).toBe('plain-text-token');
|
||||||
expect(service.user()?.email).toBe('ada@example.com');
|
expect(service.user()?.email).toBe('ada@example.com');
|
||||||
expect(cookieStore['shopit.auth.token']).toBe('plain-text-token');
|
expect(cookieStore['shopit.front.auth.token']).toBe('plain-text-token');
|
||||||
|
|
||||||
httpController.verify();
|
httpController.verify();
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ import {
|
|||||||
import { CookieService } from '../cookie/cookie.service';
|
import { CookieService } from '../cookie/cookie.service';
|
||||||
import { TenantService } from '../tenant.service';
|
import { TenantService } from '../tenant.service';
|
||||||
|
|
||||||
const AUTH_TOKEN_COOKIE_KEY = 'shopit.auth.token';
|
const AUTH_TOKEN_COOKIE_KEY = 'shopit.front.auth.token';
|
||||||
const AUTH_USER_SSR_STATE_KEY = makeStateKey<AuthUser>('shopit.auth.user');
|
const AUTH_USER_SSR_STATE_KEY = makeStateKey<AuthUser>('shopit.auth.user');
|
||||||
|
|
||||||
@Injectable({
|
@Injectable({
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ h1 {
|
|||||||
|
|
||||||
.modal-showcase__result {
|
.modal-showcase__result {
|
||||||
padding: 0.875rem 1rem;
|
padding: 0.875rem 1rem;
|
||||||
border: 1px dashed rgba(32, 32, 32, 0.14);
|
border: 1px dashed var(--border-color);
|
||||||
border-radius: 0.875rem;
|
border-radius: 0.875rem;
|
||||||
background: linear-gradient(180deg, rgba(248, 248, 248, 0.92), rgba(255, 255, 255, 0.98));
|
background: linear-gradient(180deg, rgba(248, 248, 248, 0.92), rgba(255, 255, 255, 0.98));
|
||||||
color: #495057;
|
color: #495057;
|
||||||
@@ -231,7 +231,7 @@ h1 {
|
|||||||
justify-content: center;
|
justify-content: center;
|
||||||
height: 120px;
|
height: 120px;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
border: 1px solid #dee2e6;
|
border: 1px solid var(--border-color);
|
||||||
padding: 1rem;
|
padding: 1rem;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.05);
|
box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.05);
|
||||||
@@ -281,7 +281,7 @@ h1 {
|
|||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
border: 1px solid #dee2e6;
|
border: 1px solid var(--border-color);
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
background-color: #ffffff;
|
background-color: #ffffff;
|
||||||
transition:
|
transition:
|
||||||
@@ -296,7 +296,7 @@ h1 {
|
|||||||
&__preview {
|
&__preview {
|
||||||
height: 80px;
|
height: 80px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
border-bottom: 1px solid #dee2e6;
|
border-bottom: 1px solid var(--border-color);
|
||||||
transition: opacity 0.2s ease;
|
transition: opacity 0.2s ease;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
@@ -337,7 +337,7 @@ h1 {
|
|||||||
background-color: #eaeaea;
|
background-color: #eaeaea;
|
||||||
padding: 1.5rem;
|
padding: 1.5rem;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
border: 1px solid #dee2e6;
|
border: 1px solid var(--border-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
&__row {
|
&__row {
|
||||||
|
|||||||
@@ -54,7 +54,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
&__text-option {
|
&__text-option {
|
||||||
border: 1px solid #dcdcdc;
|
border: 1px solid var(--border-color);
|
||||||
background: #ffffff;
|
background: #ffffff;
|
||||||
color: #666666;
|
color: #666666;
|
||||||
transition: border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease;
|
transition: border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
:host {
|
:host {
|
||||||
display: block;
|
display: block;
|
||||||
border-bottom: 1px solid #dddddd;
|
border-bottom: 1px solid var(--border-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
:host(:last-child) {
|
:host(:last-child) {
|
||||||
@@ -24,7 +24,7 @@
|
|||||||
aspect-ratio: 4 / 3;
|
aspect-ratio: 4 / 3;
|
||||||
border-radius: 5px 0 0 5px;
|
border-radius: 5px 0 0 5px;
|
||||||
background-color: #ffffff;
|
background-color: #ffffff;
|
||||||
border: 1px solid #eaeaea;
|
border: 1px solid var(--border-color);
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
|
||||||
img {
|
img {
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding: 1rem 0;
|
padding: 1rem 0;
|
||||||
border-bottom: 1px solid #DDDDDD;
|
border-bottom: 1px solid var(--border-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
.skeleton-item:last-child {
|
.skeleton-item:last-child {
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
.tickets-list__generating-spinner {
|
.tickets-list__generating-spinner {
|
||||||
width: 24px;
|
width: 24px;
|
||||||
height: 24px;
|
height: 24px;
|
||||||
border: 3px solid #dce8e0;
|
border: 3px solid var(--border-color);
|
||||||
border-top-color: var(--tenant-primary, #009933);
|
border-top-color: var(--tenant-primary, #009933);
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
animation: tickets-spinner 0.75s linear infinite;
|
animation: tickets-spinner 0.75s linear infinite;
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
padding-bottom: 12px;
|
padding-bottom: 12px;
|
||||||
border-bottom: 1px solid #dddddd;
|
border-bottom: 1px solid var(--border-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
.tickets-list__header--inactive {
|
.tickets-list__header--inactive {
|
||||||
@@ -89,7 +89,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.tickets-list app-ticket {
|
.tickets-list app-ticket {
|
||||||
border-bottom: 1px solid #dddddd;
|
border-bottom: 1px solid var(--border-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
.tickets-list__empty {
|
.tickets-list__empty {
|
||||||
@@ -104,7 +104,7 @@
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
padding-bottom: 12px;
|
padding-bottom: 12px;
|
||||||
border-bottom: 1px solid #dddddd;
|
border-bottom: 1px solid var(--border-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
.tickets-list__skeleton-selection,
|
.tickets-list__skeleton-selection,
|
||||||
@@ -130,7 +130,7 @@
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
gap: 16px;
|
gap: 16px;
|
||||||
padding: 16px 0;
|
padding: 16px 0;
|
||||||
border-bottom: 1px solid #dddddd;
|
border-bottom: 1px solid var(--border-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
.tickets-list__skeleton-check,
|
.tickets-list__skeleton-check,
|
||||||
|
|||||||
@@ -64,7 +64,7 @@
|
|||||||
.checkout-page__spinner {
|
.checkout-page__spinner {
|
||||||
width: 3rem;
|
width: 3rem;
|
||||||
height: 3rem;
|
height: 3rem;
|
||||||
border: 0.25rem solid rgba(32, 32, 32, 0.08);
|
border: 0.25rem solid var(--border-color);
|
||||||
border-top-color: var(--tenant-primary);
|
border-top-color: var(--tenant-primary);
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
animation: checkout-page-spin 0.8s linear infinite;
|
animation: checkout-page-spin 0.8s linear infinite;
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
|
|
||||||
.faq-page__empty {
|
.faq-page__empty {
|
||||||
padding: 1rem 0;
|
padding: 1rem 0;
|
||||||
border-bottom: 1px solid #dedede;
|
border-bottom: 1px solid var(--border-color);
|
||||||
color: #888888;
|
color: #888888;
|
||||||
font-size: 0.8125rem;
|
font-size: 0.8125rem;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,6 +31,6 @@
|
|||||||
.login-page__divider-dot {
|
.login-page__divider-dot {
|
||||||
width: 16px;
|
width: 16px;
|
||||||
height: 16px;
|
height: 16px;
|
||||||
border-color: #d9d9d9 !important;
|
border-color: var(--border-color) !important;
|
||||||
background-color: #ffffff;
|
background-color: #ffffff;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
&__divider {
|
&__divider {
|
||||||
border-top: 1px solid #e6e6e6;
|
border-top: 1px solid var(--border-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
&__title {
|
&__title {
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
&__title-price-divider {
|
&__title-price-divider {
|
||||||
border-top: 1px solid #e6e6e6;
|
border-top: 1px solid var(--border-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
&__price-group {
|
&__price-group {
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.accordion {
|
.accordion {
|
||||||
--bs-accordion-border-color: #dedede;
|
--bs-accordion-border-color: var(--border-color);
|
||||||
--bs-accordion-border-radius: 0;
|
--bs-accordion-border-radius: 0;
|
||||||
--bs-accordion-inner-border-radius: 0;
|
--bs-accordion-inner-border-radius: 0;
|
||||||
--bs-accordion-bg: transparent;
|
--bs-accordion-bg: transparent;
|
||||||
|
|||||||
@@ -43,7 +43,7 @@
|
|||||||
aspect-ratio: 1 / 1;
|
aspect-ratio: 1 / 1;
|
||||||
border-radius: 5px 0 0 5px;
|
border-radius: 5px 0 0 5px;
|
||||||
background-color: #ffffff;
|
background-color: #ffffff;
|
||||||
border: 1px solid #eaeaea;
|
border: 1px solid var(--border-color);
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
|
||||||
img {
|
img {
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
.global-loading__spinner {
|
.global-loading__spinner {
|
||||||
width: 3rem;
|
width: 3rem;
|
||||||
height: 3rem;
|
height: 3rem;
|
||||||
border: 0.25rem solid rgba(32, 32, 32, 0.12);
|
border: 0.25rem solid var(--border-color);
|
||||||
border-top-color: var(--tenant-primary, #6376f3);
|
border-top-color: var(--tenant-primary, #6376f3);
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
animation: global-loading-spin 0.75s linear infinite;
|
animation: global-loading-spin 0.75s linear infinite;
|
||||||
|
|||||||
@@ -124,7 +124,6 @@
|
|||||||
td {
|
td {
|
||||||
width: 50%;
|
width: 50%;
|
||||||
padding: 0.65rem 1rem;
|
padding: 0.65rem 1rem;
|
||||||
border-radius: 0.5rem;
|
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
min-height: 40px;
|
min-height: 40px;
|
||||||
padding: 0.625rem 1rem;
|
padding: 0.625rem 1rem;
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
border-color: #cccccc;
|
border-color: var(--border-color);
|
||||||
color: #666666;
|
color: #666666;
|
||||||
font-size: 15px;
|
font-size: 15px;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
gap: 2rem;
|
gap: 2rem;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
padding: 2rem 0;
|
padding: 2rem 0;
|
||||||
border-bottom: 1px solid #e3e3e3;
|
border-bottom: 1px solid var(--border-color);
|
||||||
background: transparent;
|
background: transparent;
|
||||||
|
|
||||||
&__title {
|
&__title {
|
||||||
@@ -41,7 +41,7 @@
|
|||||||
|
|
||||||
&__actions {
|
&__actions {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: minmax(0, auto) 160px;
|
grid-template-columns: minmax(0, auto) minmax(0, 230px);
|
||||||
align-items: stretch;
|
align-items: stretch;
|
||||||
gap: 0.75rem 2.5rem;
|
gap: 0.75rem 2.5rem;
|
||||||
}
|
}
|
||||||
@@ -54,6 +54,11 @@
|
|||||||
gap: 0.5rem;
|
gap: 0.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&__buttons {
|
||||||
|
width: 100%;
|
||||||
|
max-width: 230px;
|
||||||
|
}
|
||||||
|
|
||||||
&__controls {
|
&__controls {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
@@ -62,8 +67,6 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
&__btn-wrapper {
|
&__btn-wrapper {
|
||||||
min-width: 160px;
|
|
||||||
|
|
||||||
app-button {
|
app-button {
|
||||||
display: block;
|
display: block;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@@ -83,26 +86,8 @@
|
|||||||
min-width: 0;
|
min-width: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
&__actions,
|
|
||||||
&__summary,
|
|
||||||
&__buttons {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: row;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__actions {
|
&__actions {
|
||||||
flex: 0 0 auto;
|
flex: 0 0 auto;
|
||||||
gap: 0.75rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__summary,
|
|
||||||
&__buttons {
|
|
||||||
gap: 0.5rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__price {
|
|
||||||
align-self: center;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
&__selectors {
|
&__selectors {
|
||||||
@@ -119,9 +104,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&__btn-wrapper {
|
|
||||||
min-width: 140px;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -131,7 +113,7 @@
|
|||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
|
||||||
&__actions {
|
&__actions {
|
||||||
grid-template-columns: minmax(0, 1fr) 160px;
|
grid-template-columns: minmax(0, 1fr) minmax(0, 230px);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
padding: 30px 20px;
|
padding: 30px 20px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
background-color: #ffffff;
|
background-color: #ffffff;
|
||||||
border: 1px solid #dedede;
|
border: 1px solid var(--border-color);
|
||||||
border-radius: 7px;
|
border-radius: 7px;
|
||||||
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
|
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.quantity-selector {
|
.quantity-selector {
|
||||||
border: 1px solid #d8d8d8;
|
border: 1px solid var(--border-color);
|
||||||
width: 78px;
|
width: 78px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
min-height: 40px;
|
min-height: 40px;
|
||||||
@@ -42,7 +42,7 @@
|
|||||||
width: 62px;
|
width: 62px;
|
||||||
height: 28px;
|
height: 28px;
|
||||||
min-height: 28px;
|
min-height: 28px;
|
||||||
border-color: #cccccc;
|
border-color: var(--border-color);
|
||||||
background-color: #ffffff;
|
background-color: #ffffff;
|
||||||
|
|
||||||
.quantity-selector__button {
|
.quantity-selector__button {
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
max-width: none;
|
max-width: none;
|
||||||
height: 38px;
|
height: 38px;
|
||||||
color: #666666;
|
color: #666666;
|
||||||
border-color: #cccccc;
|
border-color: var(--border-color);
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,9 @@
|
|||||||
|
|
||||||
:root,
|
:root,
|
||||||
app-root {
|
app-root {
|
||||||
|
--border-color: #dddddd;
|
||||||
|
--bs-border-color: var(--border-color);
|
||||||
|
--bs-border-color-translucent: var(--border-color);
|
||||||
--bs-body-font-family: 'Gotham', sans-serif;
|
--bs-body-font-family: 'Gotham', sans-serif;
|
||||||
--color-primary: var(--tenant-primary);
|
--color-primary: var(--tenant-primary);
|
||||||
--color-primary-rgb: var(--tenant-primary-rgb);
|
--color-primary-rgb: var(--tenant-primary-rgb);
|
||||||
@@ -69,6 +72,11 @@ label {
|
|||||||
|
|
||||||
color: #8a8a8a;
|
color: #8a8a8a;
|
||||||
|
|
||||||
|
> tbody > tr {
|
||||||
|
border-radius: 0.5rem;
|
||||||
|
clip-path: inset(0 round 0.5rem);
|
||||||
|
}
|
||||||
|
|
||||||
> tbody > tr:nth-of-type(odd) {
|
> tbody > tr:nth-of-type(odd) {
|
||||||
background-color: rgba(221, 221, 221, 0.25);
|
background-color: rgba(221, 221, 221, 0.25);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user