Merge remote-tracking branch 'origin/master'
commit
1143770632
84
angular.json
84
angular.json
|
|
@ -77,6 +77,9 @@
|
|||
"sourceMap": true,
|
||||
"namedChunks": true
|
||||
},
|
||||
|
||||
|
||||
|
||||
"vniigaz-v2": {
|
||||
"buildOptimizer": false,
|
||||
"optimization": false,
|
||||
|
|
@ -89,6 +92,10 @@
|
|||
"replace": "src/environments/environment.ts",
|
||||
"with": "src/environments/vniigaz-v2.env.dev.ts"
|
||||
},
|
||||
{
|
||||
"replace": "src/app/_modules/layout/grid/grid.component.ts",
|
||||
"with": "src/vniigaz-v2/component/layout/grid/grid.component.ts"
|
||||
},
|
||||
{
|
||||
"replace": "src/app/_modules/layout/header/header.component.ts",
|
||||
"with": "src/vniigaz-v2/component/layout/header/header.component.ts"
|
||||
|
|
@ -100,6 +107,10 @@
|
|||
{
|
||||
"replace": "src/app/_modules/layout/jumbotron/jumbotron.component.ts",
|
||||
"with": "src/vniigaz-v2/component/layout/jumbotron/jumbotron.component.ts"
|
||||
},
|
||||
{
|
||||
"replace": "src/app/_modules/pages/menu/slider-menu/slider-menu.component.ts",
|
||||
"with": "src/vniigaz-v2/component/pages/menu/slider-menu/slider-menu.component.ts"
|
||||
}
|
||||
],
|
||||
"inlineStyleLanguage": "scss",
|
||||
|
|
@ -127,6 +138,7 @@
|
|||
],
|
||||
"index": "src/vniigaz-v2/index.html"
|
||||
},
|
||||
|
||||
"vniigaz-v2-prod": {
|
||||
"buildOptimizer": false,
|
||||
"optimization": false,
|
||||
|
|
@ -139,6 +151,10 @@
|
|||
"replace": "src/environments/environment.ts",
|
||||
"with": "src/environments/vniigaz-v2.env.prod.ts"
|
||||
},
|
||||
{
|
||||
"replace": "src/app/_modules/layout/grid/grid.component.ts",
|
||||
"with": "src/vniigaz-v2/component/layout/grid/grid.component.ts"
|
||||
},
|
||||
{
|
||||
"replace": "src/app/_modules/layout/header/header.component.ts",
|
||||
"with": "src/vniigaz-v2/component/layout/header/header.component.ts"
|
||||
|
|
@ -150,6 +166,10 @@
|
|||
{
|
||||
"replace": "src/app/_modules/layout/jumbotron/jumbotron.component.ts",
|
||||
"with": "src/vniigaz-v2/component/layout/jumbotron/jumbotron.component.ts"
|
||||
},
|
||||
{
|
||||
"replace": "src/app/_modules/pages/menu/slider-menu/slider-menu.component.ts",
|
||||
"with": "src/vniigaz-v2/component/pages/menu/slider-menu/slider-menu.component.ts"
|
||||
}
|
||||
],
|
||||
"inlineStyleLanguage": "scss",
|
||||
|
|
@ -176,6 +196,67 @@
|
|||
"node_modules/swiper/swiper-bundle.css"
|
||||
],
|
||||
"index": "src/vniigaz-v2/index.html"
|
||||
},
|
||||
|
||||
|
||||
|
||||
"nir": {
|
||||
"buildOptimizer": false,
|
||||
"optimization": false,
|
||||
"vendorChunk": true,
|
||||
"extractLicenses": false,
|
||||
"sourceMap": true,
|
||||
"namedChunks": true,
|
||||
"fileReplacements": [
|
||||
{
|
||||
"replace": "src/environments/environment.ts",
|
||||
"with": "src/environments/nir.env.dev.ts"
|
||||
},
|
||||
{
|
||||
"replace": "src/app/_modules/layout/grid/grid.component.ts",
|
||||
"with": "src/nir/component/layout/grid/grid.component.ts"
|
||||
},
|
||||
{
|
||||
"replace": "src/app/_modules/layout/header/header.component.ts",
|
||||
"with": "src/nir/component/layout/header/header.component.ts"
|
||||
},
|
||||
{
|
||||
"replace": "src/app/_modules/layout/footer/footer.component.ts",
|
||||
"with": "src/nir/component/layout/footer/footer.component.ts"
|
||||
},
|
||||
{
|
||||
"replace": "src/app/_modules/layout/jumbotron/jumbotron.component.ts",
|
||||
"with": "src/nir/component/layout/jumbotron/jumbotron.component.ts"
|
||||
},
|
||||
{
|
||||
"replace": "src/app/_modules/pages/menu/slider-menu/slider-menu.component.ts",
|
||||
"with": "src/nir/component/pages/menu/slider-menu/slider-menu.component.ts"
|
||||
}
|
||||
],
|
||||
"inlineStyleLanguage": "scss",
|
||||
"assets": [
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "node_modules/tinymce",
|
||||
"output": "/tinymce/"
|
||||
},
|
||||
"src/favicon.ico",
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "src/nir/",
|
||||
"output": "/assets/"
|
||||
}
|
||||
],
|
||||
"stylePreprocessorOptions": {
|
||||
"includePaths": [
|
||||
"src/nir/css"
|
||||
]
|
||||
},
|
||||
"styles": [
|
||||
"src/styles.scss",
|
||||
"node_modules/swiper/swiper-bundle.css"
|
||||
],
|
||||
"index": "src/nir/index.html"
|
||||
}
|
||||
},
|
||||
"defaultConfiguration": "production"
|
||||
|
|
@ -191,6 +272,9 @@
|
|||
},
|
||||
"vniigaz-v2": {
|
||||
"browserTarget": "front:build:vniigaz-v2"
|
||||
},
|
||||
"nir": {
|
||||
"browserTarget": "front:build:nir"
|
||||
}
|
||||
},
|
||||
"defaultConfiguration": "development"
|
||||
|
|
|
|||
|
|
@ -4,7 +4,9 @@
|
|||
</div>
|
||||
|
||||
<div class="tabs default">
|
||||
<button type="button" *ngFor="let tab of tabs" [class.active]="tab.active" routerLink="/administrate/{{tab.name}}">{{tab.title}}</button>
|
||||
<div *ngFor="let tab of tabs" >
|
||||
<button type="button"[class.active]="tab.active" *ngIf="showTab(tab)" routerLink="/administrate/{{tab.name}}">{{tab.title}}</button>
|
||||
</div>
|
||||
</div>
|
||||
<div [ngSwitch]="tab.name">
|
||||
<administrate-company *ngSwitchCase="'company'" [companyId]="'main'"></administrate-company>
|
||||
|
|
|
|||
|
|
@ -35,7 +35,10 @@ export class AdministrationPageComponent {
|
|||
makeTabs() {
|
||||
//this.tabs = [{name: 'company', title: 'Структура ФАУ «ФЦС»'}, {name: 'committee', title: 'Структура ТК 465'}];
|
||||
//if (this.authService.isSuperAdmin) this.tabs.push({name: 'site-pages', title: 'Структура сайта'});
|
||||
this.tabs = [{name: 'site-pages', title: 'Структура сайта'}, {name: 'users', title: 'Пользователи'}, {name: 'licence', title: 'Данные о лицензии'}];
|
||||
this.tabs = [
|
||||
{name: 'site-pages', title: 'Структура сайта', access: ["admin", "editor"]},
|
||||
{name: 'users', title: 'Пользователи', access: ["admin"]},
|
||||
{name: 'licence', title: 'Данные о лицензии', access: ["admin"]}];
|
||||
this.switchTab(this.route.snapshot.paramMap.get('tab'));
|
||||
}
|
||||
|
||||
|
|
@ -43,4 +46,12 @@ export class AdministrationPageComponent {
|
|||
this.tabs.map(tab => {tab.active = tab.name === name});
|
||||
}
|
||||
|
||||
showTab(tab){
|
||||
return this.privileges&&tab.access.filter(role=>this.privileges[role]).length
|
||||
}
|
||||
|
||||
get privileges(){
|
||||
return this.authService.user?.privileges
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ import {Component} from '@angular/core';
|
|||
import {PagesService} from "@app/_services/pages.service";
|
||||
import { FormsService } from '@app/_services';
|
||||
import {LicenceService} from "@app/_services/licence.service";
|
||||
import { DialogService } from '@app/_services/dialog.service';
|
||||
|
||||
@Component({
|
||||
selector: 'administrate-site-pages',
|
||||
|
|
@ -9,7 +10,7 @@ import {LicenceService} from "@app/_services/licence.service";
|
|||
styleUrls: ['administrate-site-pages.component.scss']
|
||||
})
|
||||
export class AdministrateSitePagesComponent {
|
||||
constructor(private pagesService: PagesService, private formsService: FormsService, public licenceService: LicenceService) {
|
||||
constructor(private pagesService: PagesService, private formsService: FormsService, public licenceService: LicenceService, private dialog: DialogService) {
|
||||
}
|
||||
|
||||
get isLicenceActive() {
|
||||
|
|
@ -33,7 +34,7 @@ export class AdministrateSitePagesComponent {
|
|||
|
||||
addLocale() {
|
||||
if (this.isMultilang) this.formsService.createModel('localePage', null, 'pages-tree-root');
|
||||
else alert('Отсутствует необходимая опция');
|
||||
else this.dialog.alert('Данная опция не входит в Вашу лицензию. Для включения опции обратитесь в службу поддержки НИР (+7 499 490 04 65, help@nirgroup.ru)');
|
||||
}
|
||||
|
||||
toggle() {
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ import {Component, Input} from '@angular/core';
|
|||
import {AdvisoriesService} from "@app/_services/advisories.service";
|
||||
import {FormsService, ListsService} from "@app/_services";
|
||||
import {Subscription} from "rxjs";
|
||||
import { DialogService } from '@app/_services/dialog.service';
|
||||
|
||||
@Component({
|
||||
selector: 'advisories-tree-advisory',
|
||||
|
|
@ -17,7 +18,7 @@ export class AdvisoriesTreeAdvisoryComponent {
|
|||
public touched = false;
|
||||
|
||||
|
||||
constructor(private advisoriesService: AdvisoriesService, private listsService: ListsService, private formsService: FormsService) {
|
||||
constructor(private advisoriesService: AdvisoriesService, private listsService: ListsService, private formsService: FormsService, private dialog: DialogService) {
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -83,9 +84,13 @@ export class AdvisoriesTreeAdvisoryComponent {
|
|||
}
|
||||
|
||||
delete() {
|
||||
if (confirm(`Удалить ${this.advisory.caption}`)) this.advisoriesService.delete(this.advisory.id).subscribe(res => {
|
||||
this.listsService.refresh(this.parent.id);
|
||||
});
|
||||
this.dialog.confirm(`Удалить ${this.advisory.caption}`).subscribe(
|
||||
resp=>{
|
||||
if (resp) this.advisoriesService.delete(this.advisory.id).subscribe(res => {
|
||||
this.listsService.refresh(this.parent.id);
|
||||
});
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
addAdvisory() {
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ import {Router} from "@angular/router";
|
|||
import {AdvisoryCompaniesService} from "@app/_services/advisory-companies.service";
|
||||
import {FormsService, ListsService} from "@app/_services";
|
||||
import {Subscription} from "rxjs";
|
||||
import { DialogService } from '@app/_services/dialog.service';
|
||||
|
||||
@Component({
|
||||
selector: 'advisories-tree-company',
|
||||
|
|
@ -18,7 +19,7 @@ export class AdvisoriesTreeCompanyComponent {
|
|||
public touched = false;
|
||||
|
||||
|
||||
constructor(private advisoryCompaniesService: AdvisoryCompaniesService, private listsService: ListsService, private formsService: FormsService, private router: Router) {
|
||||
constructor(private advisoryCompaniesService: AdvisoryCompaniesService, private listsService: ListsService, private formsService: FormsService, private router: Router, private dialog: DialogService) {
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -89,11 +90,14 @@ export class AdvisoriesTreeCompanyComponent {
|
|||
|
||||
|
||||
delete() {
|
||||
if (confirm('Исключить организацию из списка участников комитета?')) {
|
||||
this.advisoryCompaniesService.delete(this.advisoryCompany.id).subscribe(res => {
|
||||
this.listsService.refresh(this.parent?.id);
|
||||
});
|
||||
}
|
||||
this.dialog.confirm('Исключить организацию из списка участников комитета?').subscribe(
|
||||
resp=>{
|
||||
if (resp) {
|
||||
this.advisoryCompaniesService.delete(this.advisoryCompany.id).subscribe(res => {
|
||||
this.listsService.refresh(this.parent?.id);
|
||||
});
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
import {Component, Input} from '@angular/core';
|
||||
import {AdvisoryMembersService} from "@app/_services/advisory-members.service";
|
||||
import {ListsService} from "@app/_services";
|
||||
import { DialogService } from '@app/_services/dialog.service';
|
||||
|
||||
@Component({
|
||||
selector: 'advisories-tree-member',
|
||||
|
|
@ -11,7 +12,7 @@ export class AdvisoriesTreeMemberComponent {
|
|||
@Input() advisoryMember: any;
|
||||
@Input() parent: any;
|
||||
|
||||
constructor(private advisoryMembersService: AdvisoryMembersService, private listsService: ListsService) {
|
||||
constructor(private advisoryMembersService: AdvisoryMembersService, private listsService: ListsService, private dialog: DialogService) {
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -41,12 +42,14 @@ export class AdvisoriesTreeMemberComponent {
|
|||
|
||||
|
||||
delete() {
|
||||
if (confirm('Исключить сотрудника из участников комитета?')) {
|
||||
this.advisoryMembersService.delete(this.advisoryMember.id).subscribe(res => {
|
||||
this.listsService.refresh(this.parent?.id);
|
||||
});
|
||||
}
|
||||
this.dialog.confirm('Исключить сотрудника из участников комитета?').subscribe(
|
||||
resp=>{
|
||||
if (resp) {
|
||||
this.advisoryMembersService.delete(this.advisoryMember.id).subscribe(res => {
|
||||
this.listsService.refresh(this.parent?.id);
|
||||
});
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,12 +1,11 @@
|
|||
<modal (close)="close()">
|
||||
<div [ngSwitch]="url"header>
|
||||
<cms-modal (close)="close()">
|
||||
<div [ngSwitch]="url" header>
|
||||
<h3 *ngSwitchCase="'login'">Вход в систему</h3>
|
||||
<h3 *ngSwitchCase="'signup'">Регистрация</h3>
|
||||
<h3 *ngSwitchCase="'password/forget'">Восстановление пароля</h3>
|
||||
<h3 *ngSwitchCase="'password/reset'">Сброс пароля</h3>
|
||||
</div>
|
||||
<div class="authentication">
|
||||
|
||||
<div class="authentication">
|
||||
<div class="form">
|
||||
<div class="center" [ngSwitch]="url">
|
||||
<auth-form-login *ngSwitchCase="'login'"></auth-form-login>
|
||||
|
|
@ -17,5 +16,5 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</modal>
|
||||
</cms-modal>
|
||||
|
||||
|
|
|
|||
|
|
@ -15,10 +15,10 @@
|
|||
</div>
|
||||
<div class="forget">
|
||||
<a (click)="forget()">Забыли пароль?</a>
|
||||
<a (click)="signup()">Регистрация</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<button [disabled]="loading" type="submit" class="btn">Войти</button>
|
||||
<!-- <button [disabled]="loading" (click)="signup()" class="prime outline">Регистрация</button> -->
|
||||
<button [disabled]="loading" type="submit" class="prime">Войти</button>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@
|
|||
<div *ngIf="error" class="error">{{error}}</div>
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<button type="button" class="btn secondary" routerLink="/login">Авторизоваться</button>
|
||||
<button type="button" class="btn secondary" (click)="login()">Авторизоваться</button>
|
||||
<button type="submit" [disabled]="loading" class="btn">Зарегистрироваться</button>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
|||
|
|
@ -79,4 +79,11 @@ export class AuthFormSignupComponent implements OnInit {
|
|||
let trans = {'The given data was invalid.': 'Проверьте правильность заполнения формы'};
|
||||
this.error = trans[error.message] || error.message;
|
||||
}
|
||||
|
||||
login(){
|
||||
this.router.navigate(
|
||||
[ {outlets: {auth: 'login'}}],
|
||||
{skipLocationChange: true}
|
||||
).then();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,8 +16,12 @@
|
|||
<label for="description" class="caption">Описание документа</label>
|
||||
<input id="description" type="text" name="description" formControlName="description" />
|
||||
<div class="doc-item-form-bar">
|
||||
<ico iso (click)="close()"></ico>
|
||||
<ico ico="done_24" (click)="update()"></ico>
|
||||
<div class="close" (click)="close()">
|
||||
<ico></ico>
|
||||
</div>
|
||||
<div class="update" (click)="update()">
|
||||
<ico ico="done_24"></ico>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="fader" (click)="close()"></div>
|
||||
|
|
|
|||
|
|
@ -16,3 +16,4 @@
|
|||
<footer class="space"></footer>
|
||||
</div>
|
||||
<fullscreen-gallery></fullscreen-gallery>
|
||||
<cms-dialog></cms-dialog>
|
||||
|
|
|
|||
|
|
@ -9,8 +9,8 @@
|
|||
<div class="row">Личный кабинет</div>
|
||||
</div>
|
||||
<!-- <li *ngIf="isJournalVisible" (click)="link('applications')">Журнал заявок</li> -->
|
||||
<div class="type" *ngIf="authService.isAdmin" (click)="link('administrate')">
|
||||
<div class="row">Структура сайта</div>
|
||||
<div class="type" *ngIf="authService.isAdmin||authService.isEditor" (click)="link('administrate')">
|
||||
<div class="row">Панель управления</div>
|
||||
</div>
|
||||
<div class="type" (click)="logout()">
|
||||
<div class="row">Выход из системы</div>
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ import {Component, Input} from '@angular/core';
|
|||
import {AuthenticationService} from "@app/_services";
|
||||
import {Router} from "@angular/router";
|
||||
import { PagesService } from '@app/_services/pages.service';
|
||||
import { DialogService } from '@app/_services/dialog.service';
|
||||
|
||||
|
||||
@Component({
|
||||
|
|
@ -13,7 +14,7 @@ export class HeaderUserBarComponent {
|
|||
public menuItems = <any>[];
|
||||
public ddHidden = true;
|
||||
|
||||
constructor(public authService: AuthenticationService, private router: Router, private pagesService: PagesService) {
|
||||
constructor(public authService: AuthenticationService, private router: Router, private pagesService: PagesService, private dialog: DialogService) {
|
||||
}
|
||||
|
||||
get user() {
|
||||
|
|
@ -39,12 +40,16 @@ export class HeaderUserBarComponent {
|
|||
|
||||
|
||||
logout() {
|
||||
if (confirm('Вы деествительно хотите выйти из системы?')) {
|
||||
this.pagesService.editMode = false;
|
||||
this.authService.logout();
|
||||
this.ddHidden = true;
|
||||
this.router.navigate(['']).then();
|
||||
}
|
||||
this.dialog.confirm('Вы действительно хотите выйти из системы?').subscribe(
|
||||
resp=>{
|
||||
if (resp) {
|
||||
this.pagesService.editMode = false;
|
||||
this.authService.logout();
|
||||
this.ddHidden = true;
|
||||
this.router.navigate(['']).then();
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
link(link: string) {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<div class="item" [ngClass]="itemClass">
|
||||
<drop-down ico="arrow_drop_down_24" (toggle)="toggle($event)" [visible]="open" [angle]="[-90,0]" *ngIf="hasChildren"></drop-down>
|
||||
<drop-down ico="chevron_menu_24" (toggle)="toggle($event)" [visible]="open" [angle]="[-90,0]" *ngIf="hasChildren"></drop-down>
|
||||
<a (click)="select()">{{item.name}}</a>
|
||||
</div>
|
||||
<pages-menu *ngIf="children?.length" [items]="children" [level]="level + 1" [ngClass]="menuClass"></pages-menu>
|
||||
|
|
|
|||
|
|
@ -21,7 +21,6 @@ export class PagesMenuComponent implements OnInit {
|
|||
|
||||
ngOnInit() {
|
||||
if(!this.items){
|
||||
|
||||
this.subscription = combineLatest([
|
||||
this.pagesService.currentPageSubject,
|
||||
this.pagesService.rootPagesSubject
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<slider [width]="'320px'" side="left">
|
||||
<slider side="left">
|
||||
|
||||
<div body>
|
||||
<pages-menu *ngIf="rootPages" [root]="rootPages" class="top-menu"></pages-menu>
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ export class PageComponent {
|
|||
private url: string;
|
||||
private inited = false;
|
||||
routeSubscription?: Subscription;
|
||||
subscription: Subscription;
|
||||
listSubscription: Subscription;
|
||||
|
||||
constructor(
|
||||
private router: Router,
|
||||
|
|
@ -42,13 +42,14 @@ export class PageComponent {
|
|||
|
||||
|
||||
ngOnInit() {
|
||||
this.listsService.controls().subscribe(res => {
|
||||
this.listSubscription = this.listsService.controls().subscribe(res => {
|
||||
this.inited ? this.fetch() : this.inited = true;
|
||||
});
|
||||
}
|
||||
|
||||
ngOnDestroy() {
|
||||
this.routeSubscription?.unsubscribe();
|
||||
this.listSubscription?.unsubscribe()
|
||||
}
|
||||
|
||||
onNavigationEnd(event: NavigationEnd) {
|
||||
|
|
@ -64,6 +65,7 @@ export class PageComponent {
|
|||
this.loading = true;
|
||||
let include = [
|
||||
'parents.children',
|
||||
'parents.picture',
|
||||
'children',
|
||||
'sections.type',
|
||||
'sections.groups.fields.value',
|
||||
|
|
@ -78,7 +80,7 @@ export class PageComponent {
|
|||
this.page = res?.data;
|
||||
if (this.page) {
|
||||
this.pagesService.currentPage = this.page;
|
||||
this.titleService.setTitle(this.page.title||this.page.h1||this.page.name)
|
||||
// this.titleService.setTitle(this.page.title||this.page.h1||this.page.name)
|
||||
}
|
||||
this.loading = false;
|
||||
}, error => {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
import {Component, Input} from '@angular/core';
|
||||
import {FormsService, ListsService, ObjectsService} from "@app/_services";
|
||||
import { DialogService } from '@app/_services/dialog.service';
|
||||
|
||||
@Component({
|
||||
selector: 'page-menu',
|
||||
|
|
@ -7,6 +8,17 @@ import {FormsService, ListsService, ObjectsService} from "@app/_services";
|
|||
styleUrls: ['page-menu.component.scss']
|
||||
})
|
||||
export class PageMenuComponent {
|
||||
|
||||
delete() {
|
||||
this.dialog.confirm('Удалить этот блок?').subscribe(
|
||||
resp=>{
|
||||
if (resp) this.objectsService.destroy(this.section.id).subscribe(res => {
|
||||
this.listsService.refresh();
|
||||
});
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
@Input() page: any;
|
||||
@Input() section: any;
|
||||
@Input() editMode: boolean;
|
||||
|
|
@ -14,7 +26,11 @@ export class PageMenuComponent {
|
|||
@Input() modelId: string;
|
||||
@Input() modelType: string;
|
||||
|
||||
constructor(private formsService: FormsService, private objectsService: ObjectsService, private listsService: ListsService) {
|
||||
constructor(
|
||||
private formsService: FormsService,
|
||||
private objectsService: ObjectsService,
|
||||
private listsService: ListsService,
|
||||
private dialog: DialogService) {
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
|
|
@ -49,10 +65,5 @@ export class PageMenuComponent {
|
|||
});
|
||||
}
|
||||
|
||||
delete() {
|
||||
//r u sure?
|
||||
if (confirm('Удалить этот блок?')) this.objectsService.destroy(this.section.id).subscribe(res => {
|
||||
this.listsService.refresh();
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
import {Component, Input} from '@angular/core';
|
||||
import {FormsService, ListsService, ObjectsService} from "@app/_services";
|
||||
import { DialogService } from '@app/_services/dialog.service';
|
||||
|
||||
@Component({
|
||||
selector: 'cards-section-item',
|
||||
|
|
@ -11,7 +12,7 @@ export class CardsSectionItemComponent {
|
|||
@Input() type: any;
|
||||
@Input() editMode = false;
|
||||
|
||||
constructor(private objectsService: ObjectsService, private formsService: FormsService, private listsService: ListsService) {
|
||||
constructor(private objectsService: ObjectsService, private formsService: FormsService, private listsService: ListsService, private dialog: DialogService) {
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -23,10 +24,13 @@ export class CardsSectionItemComponent {
|
|||
}
|
||||
|
||||
delete() {
|
||||
if (confirm('r u sure?')) this.objectsService.destroy(this.card.id).subscribe(res => {
|
||||
this.listsService.refresh();
|
||||
});
|
||||
this.dialog.confirm('Удалить эту карточку?').subscribe(
|
||||
resp=>{
|
||||
if (resp) this.objectsService.destroy(this.card.id).subscribe(res => {
|
||||
this.listsService.refresh();
|
||||
});
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ import {Component, Input} from '@angular/core';
|
|||
import {PagesService} from "@app/_services/pages.service";
|
||||
import {FormsService, ListsService} from "@app/_services";
|
||||
import {Subscription} from "rxjs";
|
||||
import { DialogService } from '@app/_services/dialog.service';
|
||||
|
||||
@Component({
|
||||
selector: 'pages-tree-item',
|
||||
|
|
@ -18,7 +19,8 @@ export class PagesTreeItemComponent {
|
|||
constructor(
|
||||
public pagesService: PagesService,
|
||||
private formsService: FormsService,
|
||||
private listsService: ListsService) {
|
||||
private listsService: ListsService,
|
||||
private dialog: DialogService) {
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
|
|
@ -85,26 +87,36 @@ export class PagesTreeItemComponent {
|
|||
}
|
||||
|
||||
delete() {
|
||||
if (confirm('r u sure?')) this.pagesService.delete(this.page.id).subscribe(res => {
|
||||
this.listsService.refresh(this.parentListId);
|
||||
this.refresh();
|
||||
});
|
||||
|
||||
this.dialog.confirm(`Удалить страницу ${this.page.name}?`).subscribe(
|
||||
resp=>{
|
||||
if (resp) this.pagesService.delete(this.page.id).subscribe(res => {
|
||||
this.listsService.refresh(this.parentListId);
|
||||
this.refresh();
|
||||
});
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
restore() {
|
||||
if (confirm(`Восстановить страницу ${this.page.name}?`)) this.pagesService.restore(this.page.id, {}).subscribe(res => {
|
||||
this.listsService.refresh(this.parentListId);
|
||||
this.refresh();
|
||||
});
|
||||
|
||||
this.dialog.confirm(`Восстановить страницу ${this.page.name}?`).subscribe(
|
||||
resp=>{
|
||||
if (resp) this.pagesService.restore(this.page.id, {}).subscribe(res => {
|
||||
this.listsService.refresh(this.parentListId);
|
||||
this.refresh();
|
||||
});
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
clone() {
|
||||
if (confirm(`Копировать страницу ${this.page.name}?`)) this.pagesService.clone(this.page.id, {recursive: true}).subscribe(res => {
|
||||
this.listsService.refresh(this.parentListId);
|
||||
this.refresh();
|
||||
});
|
||||
this.dialog.confirm(`Копировать страницу ${this.page.name}?`).subscribe(
|
||||
resp=>{
|
||||
if (resp) this.pagesService.clone(this.page.id, {recursive: true}).subscribe(res => {
|
||||
this.listsService.refresh(this.parentListId);
|
||||
this.refresh();
|
||||
});
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
private refresh(){
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ export class PublicationsListItemMenuComponent {
|
|||
}
|
||||
|
||||
delete(id: string) {
|
||||
if (confirm('Вы деествительно хотите удалить эту запись?')) {
|
||||
if (confirm('Вы действительно хотите удалить эту запись?')) {
|
||||
this.publicationsService.delete(id).subscribe(res => {
|
||||
this.listsService.refresh(this.listId, true);
|
||||
});
|
||||
|
|
|
|||
|
|
@ -8,16 +8,18 @@
|
|||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="date">{{publication.publishedAt | date : 'dd.MM.yy'}}</div>
|
||||
<div class="name">
|
||||
<a [routerLink]="publication.link">
|
||||
<h3>{{publication.name}}</h3>
|
||||
<div [class.not-published]="!isPublished">
|
||||
<div class="date">{{publication.publishedAt | date : 'dd.MM.yy'}}</div>
|
||||
<div class="name">
|
||||
<a [routerLink]="publication.link">
|
||||
<h3>{{publication.name}}</h3>
|
||||
</a>
|
||||
</div>
|
||||
<gellery [images]="posters" *ngIf="posters"></gellery>
|
||||
|
||||
<div class="excerpt">{{publication.excerpt}}</div>
|
||||
<a class="publication-read-more" [routerLink]="publication.link">
|
||||
Читать далее
|
||||
<ico ico="chevron_right_24"></ico>
|
||||
</a>
|
||||
</div>
|
||||
<gellery [images]="posters" *ngIf="posters"></gellery>
|
||||
|
||||
<div class="excerpt">{{publication.excerpt}}</div>
|
||||
<a class="publication-read-more" [routerLink]="publication.link">
|
||||
Читать далее
|
||||
<ico ico="chevron_right_24"></ico>
|
||||
</a>
|
||||
|
|
@ -1,6 +1,7 @@
|
|||
import {Component, Input} from '@angular/core';
|
||||
import {FormsService, ListsService} from "@app/_services";
|
||||
import {PublicationsService} from "@app/_services/publications.service";
|
||||
import { DialogService } from '@app/_services/dialog.service';
|
||||
|
||||
@Component({
|
||||
selector: 'publications-list-item',
|
||||
|
|
@ -12,7 +13,7 @@ export class PublicationsListItemComponent {
|
|||
@Input() editMode: boolean;
|
||||
currentPoster:any;
|
||||
|
||||
constructor(private publicationsService: PublicationsService, private formsService: FormsService, private listsService: ListsService) {
|
||||
constructor(private publicationsService: PublicationsService, private formsService: FormsService, private listsService: ListsService, private dialog: DialogService) {
|
||||
}
|
||||
|
||||
get listId() {
|
||||
|
|
@ -23,22 +24,30 @@ export class PublicationsListItemComponent {
|
|||
return this.publication.posters?.data;
|
||||
}
|
||||
|
||||
get isPublished(){
|
||||
return this.publication.isPublished
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
if (this.publication.posters) this.currentPoster = this.posters[0];
|
||||
}
|
||||
|
||||
|
||||
edit() {
|
||||
this.formsService.editModel('publication', this.publication.id, null, this.listId);
|
||||
}
|
||||
|
||||
delete() {
|
||||
if (confirm('R u sure?')) {
|
||||
this.publicationsService.delete(this.publication.id).subscribe(res => {
|
||||
this.listsService.refresh(this.listId, true);
|
||||
});
|
||||
}
|
||||
this.dialog.confirm('Удалить эту новость?').subscribe(
|
||||
resp=>{
|
||||
if (resp) {
|
||||
this.publicationsService.delete(this.publication.id).subscribe(res => {
|
||||
this.listsService.refresh(this.listId, true);
|
||||
});
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,9 +2,15 @@
|
|||
<div class="name">
|
||||
<h3>{{page.name}}</h3>
|
||||
</div>
|
||||
|
||||
<div class="intro" *ngIf="!page.isBlank">
|
||||
<gellery [images]="posters" *ngIf="posters"></gellery>
|
||||
</div>
|
||||
<div class="content" *ngIf="page.content" [innerHTML]="page.content"></div>
|
||||
<page-sections [page]="page" [editMode]="editMode" [modelType]="'publication'"></page-sections>
|
||||
|
||||
<a (click)="back()" class="publication-page-back">
|
||||
<ico ico="chevron_left_24"></ico>
|
||||
Назад
|
||||
</a>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
import {Component, Input} from '@angular/core';
|
||||
import { Router } from '@angular/router';
|
||||
|
||||
@Component({
|
||||
selector: 'publication-page',
|
||||
|
|
@ -9,13 +10,19 @@ export class PublicationPageComponent {
|
|||
@Input() page: any;
|
||||
@Input() editMode: boolean;
|
||||
|
||||
constructor() {
|
||||
constructor(
|
||||
private router: Router
|
||||
) {
|
||||
}
|
||||
|
||||
get posters() {
|
||||
return this.page.posters?.data;
|
||||
}
|
||||
|
||||
back(): void {
|
||||
window.history.back();
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
import {Component, Input} from '@angular/core';
|
||||
import {FormsService, ListsService, UsersService} from "@app/_services";
|
||||
import { DialogService } from '@app/_services/dialog.service';
|
||||
|
||||
@Component({
|
||||
selector: 'users-list-item',
|
||||
|
|
@ -10,7 +11,7 @@ export class UsersListItemComponent {
|
|||
@Input() user: any;
|
||||
@Input() listId: string;
|
||||
|
||||
constructor(private usersService: UsersService, private formsService: FormsService, private listsService: ListsService) {
|
||||
constructor(private usersService: UsersService, private formsService: FormsService, private listsService: ListsService, private dialog: DialogService) {
|
||||
}
|
||||
|
||||
get role() {
|
||||
|
|
@ -29,9 +30,12 @@ export class UsersListItemComponent {
|
|||
}
|
||||
|
||||
delete() {
|
||||
if (confirm(`Удалить пользователя ${this.user.name}?`)) this.usersService.delete(this.user.id).subscribe(res => {
|
||||
this.listsService.refresh(this.listId, true);
|
||||
});
|
||||
this.dialog.confirm(`Удалить пользователя ${this.user.name}?`).subscribe(
|
||||
resp=>{
|
||||
if (resp) this.usersService.delete(this.user.id).subscribe(res => {
|
||||
this.listsService.refresh(this.listId, true);
|
||||
});
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,30 @@
|
|||
<cms-modal (close)="close()" *ngIf="showAllert">
|
||||
<div header>
|
||||
<h4>Внимание</h4>
|
||||
</div>
|
||||
<div body>
|
||||
{{allert}}
|
||||
</div>
|
||||
<div footer>
|
||||
<button class="prime" (click)="close()">
|
||||
Закрыть
|
||||
</button>
|
||||
</div>
|
||||
</cms-modal>
|
||||
|
||||
<cms-modal (close)="respNo()" *ngIf="showPrompt">
|
||||
<div header>
|
||||
<h4>Подтверждение</h4>
|
||||
</div>
|
||||
<div body>
|
||||
{{prompt}}
|
||||
</div>
|
||||
<div footer>
|
||||
<button class="prime outline" (click)="respNo()">
|
||||
ОТМЕНА
|
||||
</button>
|
||||
<button class="prime" (click)="respYes()">
|
||||
ПОДТВЕРДИТЬ
|
||||
</button>
|
||||
</div>
|
||||
</cms-modal>
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
[footer]{
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
gap: 20px;
|
||||
margin-bottom: 24px;
|
||||
}
|
||||
|
|
@ -0,0 +1,54 @@
|
|||
import { Component } from '@angular/core';
|
||||
import { DialogService } from '@app/_services/dialog.service';
|
||||
import { Subscription, BehaviorSubject } from 'rxjs';
|
||||
|
||||
@Component({
|
||||
selector: 'cms-dialog',
|
||||
templateUrl: './cms-dialog.component.html',
|
||||
styleUrls: ['./cms-dialog.component.scss']
|
||||
})
|
||||
export class CmsDialogComponent {
|
||||
constructor(
|
||||
private dialog: DialogService
|
||||
){}
|
||||
|
||||
allert: string;
|
||||
prompt: string;
|
||||
resp: BehaviorSubject<string>;
|
||||
showAllert: boolean;
|
||||
showPrompt: boolean;
|
||||
|
||||
ngOnInit(){
|
||||
this.dialog.modalAllertSubject.subscribe(
|
||||
allert=>{
|
||||
if (allert) {
|
||||
this.allert = allert;
|
||||
this.showAllert = true;
|
||||
}
|
||||
}
|
||||
)
|
||||
this.dialog.modalPromptSubject.subscribe(
|
||||
prompt=>{
|
||||
if (prompt) {
|
||||
this.prompt = prompt;
|
||||
this.showPrompt = true;
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
respYes(){
|
||||
this.dialog.modalRespSubject.next(true);
|
||||
this.close();
|
||||
}
|
||||
|
||||
respNo(){
|
||||
this.dialog.modalRespSubject.next(false);
|
||||
this.close();
|
||||
}
|
||||
|
||||
close(){
|
||||
this.showPrompt = this.showAllert = false;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
<div class="cms-modal-overlay" (click)="cls()">
|
||||
|
||||
</div>
|
||||
<div class="cms-modal-bar">
|
||||
<div class="cms-modal-header">
|
||||
<ng-content select="[header]"></ng-content>
|
||||
<ico (click)="cls()"></ico>
|
||||
</div>
|
||||
<div class="cms-modal-body">
|
||||
<ng-content></ng-content>
|
||||
</div>
|
||||
<div class="cms-modal-footer">
|
||||
<ng-content select="[footer]"></ng-content>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,114 @@
|
|||
:host{
|
||||
position: fixed;
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
left: 0;
|
||||
top: 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
z-index: 10000;
|
||||
|
||||
font-family: PT Sans;
|
||||
font-size: 16px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: 24px;
|
||||
|
||||
.cms-modal-overlay{
|
||||
position: fixed;
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
left: 0;
|
||||
top: 0;
|
||||
background-color: rgba(62, 61, 64, 0.7);
|
||||
z-index: 1000;
|
||||
}
|
||||
.cms-modal-bar{
|
||||
position: fixed;
|
||||
max-height: 100vh;
|
||||
width: 448px;
|
||||
background-color: var(--white);
|
||||
border: 1px solid var(--second-dis);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
border-radius: 4px;
|
||||
padding: 24px 24px 0;
|
||||
z-index: 1000;
|
||||
overflow: hidden;
|
||||
gap: 24px;
|
||||
.cms-modal-header{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
h4{
|
||||
font-family: PT Sans;
|
||||
font-size: 20px;
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
line-height: 28px;
|
||||
margin: 0;
|
||||
}
|
||||
ico{
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
.cms-modal-body{
|
||||
overflow-y: auto;
|
||||
}
|
||||
.cms-modal-footer{
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
gap: 20px;
|
||||
}
|
||||
}
|
||||
::ng-deep{
|
||||
button{
|
||||
border-radius: 4px;
|
||||
padding: 8px 20px;
|
||||
font-family: PT Sans;
|
||||
font-size: 14px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: 24px;
|
||||
letter-spacing: 0.56px;
|
||||
text-transform: uppercase;
|
||||
border: 1px solid;
|
||||
&.prime{
|
||||
background-color: var(--prime);
|
||||
color: var(--white);
|
||||
border-color: var(--prime);
|
||||
&:hover{
|
||||
background-color: var(--prime-act);
|
||||
border-color: var(--prime-act);
|
||||
}
|
||||
}
|
||||
&.outline{
|
||||
background-color: var(--white);
|
||||
color: var(--prime);
|
||||
&:hover{
|
||||
background-color: var(--white);
|
||||
color: var(--prime-act);
|
||||
border-color: var(--prime-act);
|
||||
}
|
||||
}
|
||||
}
|
||||
input{
|
||||
width: 100%;
|
||||
height: 40px;
|
||||
padding: 8px 16px;
|
||||
border-radius: 4px;
|
||||
border: solid 1px var(--second-dis);
|
||||
font-family: PT Sans;
|
||||
font-size: 16px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: 24px;
|
||||
}
|
||||
input:autofill{
|
||||
background-color: var(--prime-dis);
|
||||
border-color: var(--prime);
|
||||
background-image: none !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
import { Component, Output, EventEmitter } from '@angular/core';
|
||||
import {WindowScrollingService} from "@app/_services/window-scrolling.service";
|
||||
|
||||
@Component({
|
||||
selector: 'cms-modal',
|
||||
templateUrl: './cms-modal.component.html',
|
||||
styleUrls: ['./cms-modal.component.scss']
|
||||
})
|
||||
export class CmsModalComponent {
|
||||
@Output() close = new EventEmitter<string>();
|
||||
|
||||
constructor( private windowScrollingService: WindowScrollingService ){}
|
||||
|
||||
ngOnInit(){
|
||||
this.windowScrollingService.disable();
|
||||
}
|
||||
ngOnDestroy(){
|
||||
this.windowScrollingService.enable();
|
||||
}
|
||||
|
||||
cls(){
|
||||
this.close.emit('close')
|
||||
}
|
||||
}
|
||||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
<div class="dropdown" (click)="close()" #langMenu>
|
||||
<div class="menu">
|
||||
<div class="type" *ngFor="let locale of locales" [routerLink]="locale.link" >
|
||||
<div class="type" *ngFor="let locale of locales" (click)="select(locale)" >
|
||||
<div class="row">
|
||||
<img [src]="flag(locale.slug)">
|
||||
{{locale.name}}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
import { Component } from '@angular/core';
|
||||
import { Router } from '@angular/router';
|
||||
import {PagesService} from "@app/_services/pages.service";
|
||||
import { environment } from '@environments/environment';
|
||||
import {Subscription} from "rxjs";
|
||||
|
|
@ -15,7 +16,8 @@ export class LocaleComponent {
|
|||
private rootSubscription: Subscription
|
||||
|
||||
constructor(
|
||||
public pagesService: PagesService
|
||||
public pagesService: PagesService,
|
||||
private router: Router
|
||||
){}
|
||||
|
||||
ngOnInit() {
|
||||
|
|
@ -49,4 +51,10 @@ export class LocaleComponent {
|
|||
}, 10);
|
||||
}
|
||||
|
||||
select(locale){
|
||||
let link = locale.link
|
||||
this.router.navigate([{outlets: {slider: null}}]).then(() => {
|
||||
this.router.navigate([link])});
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
flex-direction: column;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
max-height: 100vw;
|
||||
|
||||
--swiper-navigation-color: #fff;
|
||||
--swiper-pagination-color: #fff;
|
||||
|
|
|
|||
|
|
@ -13,6 +13,8 @@ import { ModalComponent } from './modal/modal.component';
|
|||
import {SwiperModule} from "swiper/angular";
|
||||
import { SwiperGalleryComponent } from './swiper-gallery/swiper-gallery.component';
|
||||
import {FullscreenGalleryComponent} from "@app/_modules/widjet/swiper-gallery/fullscreen/fullscreen-gallery.component";
|
||||
import { CmsModalComponent } from './cms-modal/cms-modal.component';
|
||||
import { CmsDialogComponent } from './cms-dialog/cms-dialog.component';
|
||||
|
||||
|
||||
@NgModule({
|
||||
|
|
@ -32,7 +34,9 @@ import {FullscreenGalleryComponent} from "@app/_modules/widjet/swiper-gallery/fu
|
|||
FileIcoComponent,
|
||||
ModalComponent,
|
||||
SwiperGalleryComponent,
|
||||
FullscreenGalleryComponent
|
||||
FullscreenGalleryComponent,
|
||||
CmsModalComponent,
|
||||
CmsDialogComponent
|
||||
],
|
||||
exports: [
|
||||
IcoComponent,
|
||||
|
|
@ -44,7 +48,9 @@ import {FullscreenGalleryComponent} from "@app/_modules/widjet/swiper-gallery/fu
|
|||
FileIcoComponent,
|
||||
ModalComponent,
|
||||
SwiperGalleryComponent,
|
||||
FullscreenGalleryComponent
|
||||
FullscreenGalleryComponent,
|
||||
CmsModalComponent,
|
||||
CmsDialogComponent
|
||||
]
|
||||
})
|
||||
export class WidjetModule {
|
||||
|
|
|
|||
|
|
@ -57,7 +57,9 @@ export class AuthenticationService {
|
|||
get isMainCompanyMember() {
|
||||
return this.privileges?.mainCompanyMember;
|
||||
}
|
||||
|
||||
get isEditor() {
|
||||
return this.privileges?.editor;
|
||||
}
|
||||
|
||||
|
||||
signup(data: any): Observable<any> {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,35 @@
|
|||
import {Injectable} from '@angular/core';
|
||||
import {HttpClient} from '@angular/common/http';
|
||||
import {environment} from '@environments/environment';
|
||||
import {Observable, BehaviorSubject} from "rxjs";
|
||||
|
||||
@Injectable({ providedIn: 'root' })
|
||||
export class DialogService {
|
||||
|
||||
public modalAllertSubject = new BehaviorSubject<string>(null)
|
||||
public modalPromptSubject = new BehaviorSubject<string>(null);
|
||||
public modalRespSubject = new BehaviorSubject<boolean>(null);
|
||||
private userResp: BehaviorSubject<boolean>
|
||||
|
||||
constructor(){
|
||||
this.modalRespSubject.subscribe(
|
||||
resp=>{
|
||||
if (resp !== null){
|
||||
this.userResp.next(resp);
|
||||
this.userResp.complete();
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
alert(txt:string){
|
||||
this.modalAllertSubject.next(txt)
|
||||
}
|
||||
confirm(txt:string){
|
||||
this.modalPromptSubject.next(txt);
|
||||
this.userResp = new BehaviorSubject(null)
|
||||
return this.userResp;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -59,8 +59,8 @@ export class LicenceService {
|
|||
|
||||
public checkEditAvailability(page?: any) {
|
||||
if (!this.isActive) return this.error('Licence not active');
|
||||
if ((page?.type?.name === 'registry') && !this.hasOption('registries')) return this.error('Registries option required');
|
||||
if ((page?.type?.name === 'publications') && !this.hasOption('publications')) return this.error('Publications option required');
|
||||
if ((page?.type?.name === 'registry') && !this.hasOption('registries')) return this.error('Срок действия лицензии истек. Режим редактирования не доступен. Продлите лицензию или обратитесь в службу поддержки НИР (+7 499 490 04 65, help@nirgroup.ru)');
|
||||
if ((page?.type?.name === 'publications') && !this.hasOption('publications')) return this.error('Данная опция не входит в Вашу лицензию. Для включения опции обратитесь в службу поддержки НИР (+7 499 490 04 65, help@nirgroup.ru)');
|
||||
return null;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ import {HttpClient} from '@angular/common/http';
|
|||
import {environment} from '@environments/environment';
|
||||
import {Observable, BehaviorSubject} from "rxjs";
|
||||
import {LicenceService} from "@app/_services/licence.service";
|
||||
import { DialogService } from '@app/_services/dialog.service';
|
||||
|
||||
|
||||
@Injectable({providedIn: 'root'})
|
||||
|
|
@ -16,7 +17,7 @@ export class PagesService {
|
|||
|
||||
public rootPage = {link:'', slug:environment.defaultLocale};
|
||||
|
||||
constructor(private http: HttpClient, private licenceService: LicenceService) {
|
||||
constructor(private http: HttpClient, private licenceService: LicenceService, private dialog: DialogService) {
|
||||
//this.find('/').subscribe(res => {this.rootPages = res.data});
|
||||
}
|
||||
|
||||
|
|
@ -42,7 +43,7 @@ export class PagesService {
|
|||
if (value) {
|
||||
let error = this.licenceService.checkEditAvailability(this.currentPage);
|
||||
if (error) {
|
||||
alert(error);
|
||||
this.dialog.alert(error);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,23 @@
|
|||
// This file can be replaced during build by using the `fileReplacements` array.
|
||||
// `ng build` replaces `environment.ts` with `environment.prod.ts`.
|
||||
// The list of file replacements can be found in `angular.json`.
|
||||
|
||||
export const environment = {
|
||||
production: false,
|
||||
apiUrl: 'http://api.nircms.lc',
|
||||
clientId: 2,
|
||||
clientSecret: 'm5VOU2mv0psRFIL32QRGvKmtaE57ijGS4FTBMyn9',
|
||||
project: null,
|
||||
licence: 'POUFLO4YW7SU',
|
||||
defaultLocale: 'ru'
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* For easier debugging in development mode, you can import the following file
|
||||
* to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.
|
||||
*
|
||||
* This import should be commented out in production mode because it will have a negative impact
|
||||
* on performance if an error is thrown.
|
||||
*/
|
||||
// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
export const environment = {
|
||||
production: true,
|
||||
apiUrl: 'https://api-vniigaz-cert-v2.testnir.ru',
|
||||
clientId: 2,
|
||||
clientSecret: 'uMYJ7jTYfSKst631D9gKlSwlNF0bWlcrR1d5mTKX',
|
||||
project: null,
|
||||
licence: '',
|
||||
defaultLocale: 'ru'
|
||||
};
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
<div class="footer">
|
||||
<a href="mailto:info@nirgroup.ru">
|
||||
<ico ico="mail_24"></ico>
|
||||
<span>info@nirgroup.ru</span>
|
||||
</a>
|
||||
<div>
|
||||
<ico ico="phone_24"></ico>
|
||||
<span>+7 (499) 490-04-65</span>
|
||||
</div>
|
||||
<div>
|
||||
<ico ico="location_24"></ico>
|
||||
<span>121170, Москва, Кутузовский пр-т, д. 36, стр. 3, оф. 222</span>
|
||||
</div>
|
||||
<div class="nir-link">
|
||||
© 2016–2023 ООО «НИР»
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
import {Component} from '@angular/core';
|
||||
import {AuthenticationService} from "@app/_services";
|
||||
|
||||
@Component({
|
||||
selector: 'footer',
|
||||
templateUrl: 'footer.component.html',
|
||||
styleUrls: ['footer.component.scss']
|
||||
})
|
||||
export class FooterComponent {
|
||||
|
||||
public year = new Date().getFullYear();
|
||||
|
||||
constructor(public authService: AuthenticationService) {
|
||||
}
|
||||
|
||||
get isLoggedIn() {
|
||||
return this.authService.isLoggedIn;
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
}
|
||||
|
||||
login() {
|
||||
this.authService.popup('login');
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
<router-outlet name="auth"></router-outlet>
|
||||
<router-outlet name="slider"></router-outlet>
|
||||
|
||||
<div class="wrapper" [class.this-root-page] = "isRootPage">
|
||||
<header class="space"></header>
|
||||
<jumbotron></jumbotron>
|
||||
<div class="space content-sapce">
|
||||
<div class="content-grid layout-corral">
|
||||
<left-content></left-content>
|
||||
<div class="main-content">
|
||||
<router-outlet></router-outlet>
|
||||
</div>
|
||||
<right-content></right-content>
|
||||
</div>
|
||||
</div>
|
||||
<footer class="space"></footer>
|
||||
</div>
|
||||
<fullscreen-gallery></fullscreen-gallery>
|
||||
<cms-dialog></cms-dialog>
|
||||
|
|
@ -0,0 +1 @@
|
|||
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
import {Component} from '@angular/core';
|
||||
import {Subscription} from "rxjs";
|
||||
import {ListsService} from "@app/_services";
|
||||
import { PagesService } from '@app/_services/pages.service';
|
||||
|
||||
@Component({
|
||||
selector: 'grid',
|
||||
templateUrl: 'grid.component.html',
|
||||
styleUrls: ['grid.component.scss']
|
||||
})
|
||||
export class GridComponent {
|
||||
|
||||
public classActive = '';
|
||||
|
||||
public bright: number = 150;
|
||||
public contrast: number = 100;
|
||||
|
||||
subscription?: Subscription;
|
||||
|
||||
constructor(
|
||||
private listsService: ListsService, private pagesService: PagesService
|
||||
) {
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
this.subscription = this.listsService.result('class').subscribe(val => {
|
||||
this.classActive = val;
|
||||
});
|
||||
}
|
||||
|
||||
ngOnDestroy() {
|
||||
this.subscription?.unsubscribe();
|
||||
}
|
||||
|
||||
get isRootPage(){
|
||||
return this.pagesService.currentPage && this.pagesService.currentPage.parents && this.pagesService.currentPage.parents.data.length == 0
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
<div class="header">
|
||||
<a class="burger" (click)="openMobileMenu()">
|
||||
<ico ico="burger_32" color="var(--black)" [size]="32"></ico>
|
||||
</a>
|
||||
|
||||
<img src="assets/images/nir-logo.svg" alt="НИР" [routerLink]="rootPage?.link" class="header-logo" >
|
||||
|
||||
<pages-menu class="lvl-0"></pages-menu>
|
||||
|
||||
<a (click)="login()" class="header-login" *ngIf="!isLoggedIn">
|
||||
<ico ico="login_24" ></ico>
|
||||
<span>Войти</span>
|
||||
</a>
|
||||
|
||||
<header-user-bar *ngIf="isLoggedIn"></header-user-bar>
|
||||
|
||||
</div>
|
||||
|
|
@ -0,0 +1 @@
|
|||
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
import {Component} from '@angular/core';
|
||||
import {Router} from "@angular/router";
|
||||
import { AuthenticationService } from '@app/_services';
|
||||
import {PagesService} from "@app/_services/pages.service";
|
||||
|
||||
@Component({
|
||||
selector: 'header',
|
||||
templateUrl: 'header.component.html',
|
||||
styleUrls: ['header.component.scss']
|
||||
})
|
||||
export class HeaderComponent {
|
||||
|
||||
constructor(
|
||||
private router: Router,
|
||||
public pagesService: PagesService,
|
||||
public authService: AuthenticationService
|
||||
) {
|
||||
}
|
||||
// ngOnInit(){
|
||||
// this.pagesService.root().subscribe(
|
||||
// resp=> this.pagesService.rootPages = resp
|
||||
// )
|
||||
// }
|
||||
|
||||
get rootPage() {
|
||||
return this.pagesService.rootPage;
|
||||
}
|
||||
|
||||
openMobileMenu(){
|
||||
this.router.navigate([{outlets: {slider: 'pages-menu'}}], {skipLocationChange: true}).then();
|
||||
}
|
||||
|
||||
login() {
|
||||
this.authService.popup('login');
|
||||
}
|
||||
|
||||
get isLoggedIn() {
|
||||
return this.authService.isLoggedIn;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
<div class="jumbotron-bg space" [ngStyle]="bgStyle" [class.rootpage-jumbotron]="isRootPage">
|
||||
<div class="jumbotron-content layout-corral">
|
||||
|
||||
<div class="jumbotron-content-center">
|
||||
<h1 [ngStyle]="h1Style">{{name}}</h1>
|
||||
<!-- <h1 *ngIf="isRootPage" [ngStyle]="h1Style">
|
||||
Сертификация<br>
|
||||
продукции, работ и услуг</h1> -->
|
||||
<h4 *ngIf="since">
|
||||
<a href="https://vniigaz.gazprom.ru/" target="_blank">Учреждено в 1998</a>
|
||||
</h4>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="space jumbotron-edit-field" *ngIf="editable">
|
||||
<div class="layout-corral jumbotron-edit-field-row">
|
||||
<div class="switch-host" (click)="toggleEditMode()">
|
||||
Режим редактирования
|
||||
<switch [val]="editMode"></switch>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,107 @@
|
|||
import { Component } from '@angular/core';
|
||||
import { PagesService } from '@app/_services/pages.service';
|
||||
import { Subscription } from 'rxjs';
|
||||
import { AuthenticationService } from '@app/_services';
|
||||
|
||||
@Component({
|
||||
selector: 'jumbotron',
|
||||
templateUrl: './jumbotron.component.html',
|
||||
styleUrls: ['./jumbotron.component.scss']
|
||||
})
|
||||
export class JumbotronComponent {
|
||||
private subscription:Subscription
|
||||
public currentPage:any;
|
||||
public pagePicture:any;
|
||||
|
||||
|
||||
|
||||
constructor(
|
||||
private pagesService: PagesService,
|
||||
public authService: AuthenticationService,
|
||||
){}
|
||||
|
||||
ngOnInit(){
|
||||
this.subscription = this.pagesService.currentPageSubject.subscribe(
|
||||
resp=> {
|
||||
this.currentPage = resp;
|
||||
if (this.currentPage) {
|
||||
if(this.currentPage.picture){
|
||||
this.pagePicture = this.currentPage.picture.data.links.open
|
||||
}else{
|
||||
let parents = this.currentPage.parents.data
|
||||
let content = parents.map(page=>page.picture).filter(page=>page)
|
||||
this.pagePicture = content.pop()?.data.links.open
|
||||
}
|
||||
}else{this.pagePicture = null;}
|
||||
}
|
||||
)
|
||||
}
|
||||
ngOnDestoy(){
|
||||
this.subscription.unsubscribe();
|
||||
}
|
||||
|
||||
get name(){
|
||||
let name:string
|
||||
if(this.currentPage){
|
||||
name = this.currentPage?.h1 || this.currentPage?.name;
|
||||
let parents = this.currentPage?.parents?.data
|
||||
if(parents){
|
||||
if (parents[1]?.type.name=='nav-page'){
|
||||
if (parents[2]) name = parents[2].h1|| parents[2].name
|
||||
}else{
|
||||
if (parents[1]) name = parents[1].h1|| parents[1].name
|
||||
}
|
||||
}
|
||||
}
|
||||
return name
|
||||
}
|
||||
|
||||
get bgStyle(){
|
||||
let height = 70;
|
||||
let pictURL:string;
|
||||
if (this.pagePicture){
|
||||
height = 150;
|
||||
pictURL = this.pagePicture;
|
||||
}
|
||||
|
||||
return {
|
||||
'background-image' : `url(${pictURL})`||'none',
|
||||
'height': (this.mainPage?700:pictURL?400:height) + 'px'
|
||||
}
|
||||
}
|
||||
|
||||
get h1Style(){
|
||||
return {
|
||||
color: this.pagePicture?'var(--white)':'var(--second-act)',
|
||||
'align-self': this.mainPage?'center':'flex-start',
|
||||
'text-align': this.mainPage?'center':'left',
|
||||
'width': this.mainPage?'900px':null,
|
||||
'border-bottom':this.mainPage?null:'12px solid #2EB2E8'
|
||||
}
|
||||
}
|
||||
|
||||
get mainPage(){
|
||||
return this.currentPage?.parents?.data.length === 0;
|
||||
}
|
||||
|
||||
get editable(){
|
||||
return this.currentPage&&(this.authService.privileges?.admin|| this.authService.privileges?.editor);
|
||||
}
|
||||
|
||||
get editMode(){
|
||||
return this.pagesService.editMode;
|
||||
}
|
||||
|
||||
toggleEditMode(){
|
||||
this.pagesService.editMode = !this.pagesService.editMode;
|
||||
}
|
||||
|
||||
get isRootPage(){
|
||||
return !this.pagesService.currentPage?.parents.data.length && this.pagesService.currentPage
|
||||
}
|
||||
|
||||
get since(){
|
||||
return this.currentPage?.link === '/'
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
<slider side="left">
|
||||
|
||||
<div body>
|
||||
<pages-menu *ngIf="rootPages" [root]="rootPages" class="lvl-0"></pages-menu>
|
||||
</div>
|
||||
</slider>
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
import { Component } from '@angular/core';
|
||||
import {Router} from "@angular/router";
|
||||
import {PagesService} from "@app/_services/pages.service";
|
||||
|
||||
@Component({
|
||||
selector: 'slider-menu',
|
||||
templateUrl: './slider-menu.component.html',
|
||||
styleUrls: ['./slider-menu.component.scss']
|
||||
})
|
||||
export class SliderMenuComponent {
|
||||
|
||||
constructor(
|
||||
private router: Router,
|
||||
public pagesService: PagesService
|
||||
) {
|
||||
}
|
||||
|
||||
get rootPages() {
|
||||
return this.pagesService.rootPages;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,316 @@
|
|||
.administration-page{
|
||||
font-family: PT Sans;
|
||||
font-size: 16px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: 24px;
|
||||
h2{
|
||||
color: var(--second-act);
|
||||
margin-bottom: 48px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
.site-admin-control{
|
||||
|
||||
.site-admin-control-toggle{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 16px;
|
||||
cursor: pointer;
|
||||
margin-bottom: 32px;
|
||||
}
|
||||
.site-admin-page-block{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
height: 64px;
|
||||
border-top: 1px solid var(--second-dis);
|
||||
border-bottom: 1px solid var(--second-dis);
|
||||
div{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.site-admin-company{
|
||||
font-weight: 700;
|
||||
}
|
||||
}
|
||||
ico.page-lable{
|
||||
background-color: var(--prime);
|
||||
border-radius: 20px;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin-right: 12px;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
administrate-site-pages{
|
||||
>pages-tree{
|
||||
display: block;
|
||||
margin-bottom: 128px;
|
||||
}
|
||||
|
||||
|
||||
@media screen and (max-width: 1330px) {
|
||||
.page-control {
|
||||
display: none;
|
||||
}
|
||||
.logo, .page-lable{
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ico.page-control{
|
||||
cursor: pointer;
|
||||
svg{
|
||||
color:var(--second);
|
||||
&:hover{
|
||||
color: var(--second-act);
|
||||
}
|
||||
}
|
||||
}
|
||||
pages-tree{
|
||||
|
||||
.item:not(.home){
|
||||
.bar{
|
||||
padding-left: 50px;
|
||||
|
||||
}
|
||||
.item .bar{
|
||||
padding-left: 100px;
|
||||
}
|
||||
.item .item .bar{
|
||||
padding-left: 150px;
|
||||
}
|
||||
.item .item .item .bar{
|
||||
padding-left: 200px;
|
||||
}
|
||||
|
||||
.item .item .item .item .bar{
|
||||
padding-left: 250px;
|
||||
}
|
||||
|
||||
.item .item .item .item .item .bar{
|
||||
padding-left: 300px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
.item {
|
||||
flex-direction: column;
|
||||
align-items: stretch;
|
||||
font-family: PT Sans;
|
||||
font-size: 16px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: 24px;
|
||||
.bar {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
border-bottom: solid var(--second-dis) 1px;
|
||||
|
||||
.left {
|
||||
cursor: pointer;
|
||||
width: 24px;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
.mid {
|
||||
flex-grow: 1;
|
||||
padding: 0 16px;
|
||||
.info {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
.logo {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
position: relative;
|
||||
flex-shrink: 0;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
margin-right: 16px;
|
||||
border-radius: 100px;
|
||||
background-color: var(--prime);
|
||||
color: #ffffff;
|
||||
cursor: move;
|
||||
&:hover{
|
||||
background-color: var(--prime-act);
|
||||
}
|
||||
span{
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
.name {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
height: 100%;
|
||||
padding: 20px 0;
|
||||
a {
|
||||
color: var(--dadk);
|
||||
&:nth-child(2){
|
||||
color: var(--second);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.right {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
flex-shrink: 1;
|
||||
gap: 24px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
administrate-licence{
|
||||
font-family: PT Sans;
|
||||
font-size: 16px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: 24px;
|
||||
color: var(--dark);
|
||||
.default{
|
||||
|
||||
.caption{
|
||||
color: var(--second);
|
||||
}
|
||||
.value{
|
||||
&.ok{
|
||||
color: #14A92D
|
||||
}
|
||||
&.warn{
|
||||
color: #E51F30
|
||||
}
|
||||
}
|
||||
}
|
||||
h3{
|
||||
font-family: PT Sans;
|
||||
font-size: 20px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: 28px;
|
||||
margin: 24px 0 16px;
|
||||
}
|
||||
p{
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
users-list{
|
||||
.bar {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
height: 72px;
|
||||
border-top: var(--second-dis) solid 1px;
|
||||
border-bottom: var(--second-dis) solid 1px;
|
||||
ico{
|
||||
cursor: pointer;
|
||||
}
|
||||
.title {
|
||||
flex-grow: 1;
|
||||
font-weight: bold;
|
||||
}
|
||||
.buttons {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
gap: 24px;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
}
|
||||
|
||||
users-list-item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
height: 72px;
|
||||
border-bottom: var(--second-dis) solid 1px;
|
||||
.item{
|
||||
display: flex;
|
||||
width: 100%;
|
||||
.left{
|
||||
.avatar{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
position: relative;
|
||||
flex-shrink: 0;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
margin-right: 16px;
|
||||
border-radius: 100px;
|
||||
background-color: var(--prime);
|
||||
color: #ffffff;
|
||||
overflow: hidden;
|
||||
img{
|
||||
object-fit: cover;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
.middle{
|
||||
.user-data{
|
||||
.name{
|
||||
&::after{
|
||||
content: '•';
|
||||
color: var(--second);
|
||||
margin: 0 8px;
|
||||
}
|
||||
}
|
||||
.Administrator{
|
||||
color: #E51F30;
|
||||
}
|
||||
.Editor{
|
||||
color: #A39600
|
||||
}
|
||||
.User{
|
||||
color: #14A92D;
|
||||
}
|
||||
}
|
||||
.position{
|
||||
color: var(--second);
|
||||
}
|
||||
}
|
||||
.right{
|
||||
flex-grow: 1;
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
align-items: center;
|
||||
gap: 24px;
|
||||
}
|
||||
ico{
|
||||
cursor: pointer;
|
||||
svg{
|
||||
color: var(--second) ;
|
||||
}
|
||||
&:hover{
|
||||
svg{
|
||||
color: var(--second-act) ;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,641 @@
|
|||
@import "~@angular/material/prebuilt-themes/indigo-pink.css";
|
||||
|
||||
|
||||
|
||||
* {
|
||||
font-family: "PT Sans";
|
||||
}
|
||||
|
||||
// li {
|
||||
// list-style-image: url("~src/assets/images/icons/add_24dp.svg");
|
||||
// }
|
||||
|
||||
// .btn {
|
||||
// font-weight: 500;
|
||||
// font-size: 0.875rem;
|
||||
// line-height: 1.125rem;
|
||||
// letter-spacing: 0.02em;
|
||||
// text-transform: uppercase;
|
||||
// }
|
||||
|
||||
.toggle-hide{
|
||||
display: none;
|
||||
}
|
||||
|
||||
.inline{
|
||||
display: inline-flex;
|
||||
}
|
||||
|
||||
.center{
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
$layout-width: 1280px;
|
||||
$page-width: 840px;
|
||||
|
||||
$pxl:40px;
|
||||
$pl:32px;
|
||||
$p:24px;
|
||||
$ps:16px;
|
||||
$pxs:8px;
|
||||
$pxxs:4px;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.size-little {
|
||||
* {
|
||||
font-size: 0.75rem;
|
||||
line-height: 1rem;
|
||||
}
|
||||
h1 {font-size: 1.5rem;}
|
||||
}
|
||||
.size-middle {
|
||||
* {
|
||||
font-size: 1rem;
|
||||
line-height: 20px;
|
||||
}
|
||||
h1 {
|
||||
font-weight: 700;
|
||||
font-size: 2rem;
|
||||
line-height: 40px;
|
||||
}
|
||||
}
|
||||
.size-large {
|
||||
* {
|
||||
font-size: 1.25rem;
|
||||
line-height: 24px;
|
||||
}
|
||||
h1 {font-size: 3rem;}
|
||||
}
|
||||
.image-hidden {
|
||||
img, svg {
|
||||
visibility: hidden !important;
|
||||
}
|
||||
*, *::after, *::before {
|
||||
background-image: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
.style-brown {
|
||||
filter: sepia(150%) !important;
|
||||
}
|
||||
.style-white-black {
|
||||
filter: grayscale(100%) !important;;
|
||||
}
|
||||
.style-black-white {
|
||||
filter: grayscale(100%) invert(100%) !important;;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
:root {
|
||||
|
||||
--smart: 688px;
|
||||
--medium: 1048px;
|
||||
--xs: 4px;
|
||||
--s: 8px;
|
||||
--m: 16px;
|
||||
--l: 24px;
|
||||
--xl: 36px;
|
||||
--xxl: 48px;
|
||||
|
||||
--radius-1: 12px;
|
||||
--radius-2: 20px;
|
||||
--white: #ffffff;
|
||||
--light: #D8D8D8;
|
||||
|
||||
|
||||
--prime: #009CAD;
|
||||
--prime-hov: #007E91;
|
||||
--prime-act: #006275;
|
||||
--prime-dis: #a1dde5;
|
||||
|
||||
--second: #6C6C6C;
|
||||
--second-hov: #4D4D4D;
|
||||
--second-act: #2D2D2D;
|
||||
--second-dis: #C0C0C0;
|
||||
|
||||
--black: rgba(0,0,0,0.88);
|
||||
--bk66: rgba(0,0,0,0.66);
|
||||
--bk44: rgba(0,0,0,0.44);
|
||||
--bk22: rgba(0,0,0,0.22);
|
||||
--bk8: rgba(0,0,0,0.08);
|
||||
--bk4: rgba(0,0,0,0.04);
|
||||
|
||||
--bg: #F4F5F3;
|
||||
--bg-lt: #FBFCFA;
|
||||
--bg-dk: #CFCFC6;
|
||||
|
||||
}
|
||||
|
||||
.style-color{
|
||||
background-color: var(--light);
|
||||
}
|
||||
|
||||
.mat-calendar-body-selected {
|
||||
background-color: #0079c2;
|
||||
}
|
||||
|
||||
button.mat-calendar-body-cell:hover{
|
||||
background-color: transparent;
|
||||
border: none;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
button.mat-calendar-body-cell{
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
.mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){
|
||||
background-color: rgba(0, 162, 255,0.3);
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
.tox-promotion, .tox-statusbar__branding {
|
||||
display: none!important;
|
||||
}
|
||||
|
||||
|
||||
*, ::after, ::before {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
* {scrollbar-color:transparent transparent; scrollbar-width:none;}
|
||||
*::-webkit-scrollbar-track {background-color:transparent;}
|
||||
*::-webkit-scrollbar {width:0; height:0; background-color:transparent;}
|
||||
*::-webkit-scrollbar-thumb {background-color:transparent; border-radius:2rem;}
|
||||
|
||||
|
||||
html {
|
||||
height: 100%;
|
||||
font-family: "PT Sans";
|
||||
font-size: 16px;
|
||||
-webkit-font-smoothing:antialiased;
|
||||
}
|
||||
|
||||
body {
|
||||
height: 100%;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
color: var(--second-act);
|
||||
background-color: var(--light);
|
||||
font-size: 20px;
|
||||
.wrapper {
|
||||
width: 100%;
|
||||
min-height: 100vh;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
}
|
||||
|
||||
.limiter {
|
||||
width: 100%;
|
||||
max-width: 1280px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
p {
|
||||
font-family: PT Sans;
|
||||
font-size: 20px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: 32px;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
h1{
|
||||
color: var(--white);
|
||||
font-family: PT Sans Narrow;
|
||||
font-size: 76px;
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
line-height: 76px; /* 100% */
|
||||
letter-spacing: 0.76px;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: var(--second-act);
|
||||
font-family: PT Sans Narrow;
|
||||
font-size: 50px;
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
line-height: 60px; /* 120% */
|
||||
letter-spacing: 0.5px;
|
||||
margin:0;
|
||||
}
|
||||
h3 {
|
||||
color: var(--second-act);
|
||||
font-family: PT Sans Narrow;
|
||||
font-size: 36px;
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
line-height: 44px; /* 120% */
|
||||
letter-spacing: 0.36px;
|
||||
margin:0;
|
||||
}
|
||||
h4 {
|
||||
color: var(--second-act);
|
||||
font-family: PT Sans Narrow;
|
||||
font-size: 24px;
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
line-height: 32px; /* 133.333% */
|
||||
letter-spacing: 0.24px;
|
||||
margin:0;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
color: var(--prime);
|
||||
cursor: pointer;
|
||||
&:hover{
|
||||
color: var(--prime-hov);
|
||||
};
|
||||
}
|
||||
|
||||
iframe {
|
||||
width: 100%;
|
||||
height: 400px;
|
||||
}
|
||||
|
||||
|
||||
span.link {
|
||||
font-weight: normal;
|
||||
color: #86898E;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.fullwidth {
|
||||
width: calc(100% + 80px);
|
||||
margin-left: -40px;
|
||||
margin-right: -40px;
|
||||
}
|
||||
|
||||
.loader {
|
||||
margin-top: 32px;
|
||||
text-align: center;
|
||||
animation: fade-in-and-scale 0.5s infinite;
|
||||
&:before {
|
||||
display: inline-block;
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
border-radius: 100px;
|
||||
background-image: radial-gradient(rgba(44,134,205,1), rgba(44,134,205,0));
|
||||
content: '';
|
||||
}
|
||||
}
|
||||
|
||||
.op-63{
|
||||
opacity: 0.63;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@media screen and (min-width: 1330px) {
|
||||
.fullwidth {
|
||||
width: 100vw;
|
||||
margin-left: calc((1160px - 100vw) / 2);
|
||||
margin-right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@keyframes slide-from-right {
|
||||
0% {transform: translateX(100%);}
|
||||
100% {transform: translateX(0);}
|
||||
}
|
||||
|
||||
@keyframes slide-from-left {
|
||||
0% {transform: translateX(-100%);}
|
||||
100% {transform: translateX(0);}
|
||||
}
|
||||
|
||||
@keyframes slide-from-top-and-fade-in {
|
||||
0% {transform: translateY(-100%); opacity: 0}
|
||||
100% {transform: translateY(0); opacity: 1}
|
||||
}
|
||||
|
||||
@keyframes slide-from-bottom-and-fade-in {
|
||||
0% {transform: translateY(100%); opacity: 0}
|
||||
100% {transform: translateY(0); opacity: 1}
|
||||
}
|
||||
|
||||
|
||||
@keyframes fade-in-and-scale {
|
||||
0% {transform:scale(0.3); opacity:0;}
|
||||
100% {transform:scale(1); opacity:0.5;}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 480px) {
|
||||
h1{
|
||||
font-size: 50px;
|
||||
line-height: 60px;
|
||||
}
|
||||
h2{
|
||||
font-size: 36px;
|
||||
line-height: 44px;
|
||||
}
|
||||
h3{
|
||||
font-size: 24px;
|
||||
line-height: 32px;
|
||||
}
|
||||
h4{
|
||||
color:var(--second);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@media screen and (max-width: 1330px) {
|
||||
|
||||
.limiter {
|
||||
padding: 0 24px;
|
||||
}
|
||||
.fullwidth {
|
||||
width: calc(100% + 48px);
|
||||
margin-left: -24px;
|
||||
margin-right: -24px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
file-ico{
|
||||
width: 52px;
|
||||
height: 60px;
|
||||
display: inline-flex;
|
||||
}
|
||||
|
||||
|
||||
modal{
|
||||
position: fixed;
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
left: 0;
|
||||
top: 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
z-index: 10000;
|
||||
.modal-overlay{
|
||||
position: fixed;
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
left: 0;
|
||||
top: 0;
|
||||
background-color: rgba(62, 61, 64, 0.7);
|
||||
z-index: 1000;
|
||||
}
|
||||
.modal-bar{
|
||||
position: fixed;
|
||||
max-width: 800px;
|
||||
max-height: 100vh;
|
||||
background-color: var(--white);
|
||||
border: 1px solid var(--second-dis);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
border-radius: 12px;
|
||||
z-index: 1000;
|
||||
overflow: hidden;
|
||||
.modal-header{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin-top: -1px;
|
||||
border-bottom: 1px solid var(--second-dis);
|
||||
padding: 14px 24px;
|
||||
h4{
|
||||
margin: 0;
|
||||
}
|
||||
ico{
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
.modal-body{
|
||||
padding: 36px 24px;
|
||||
overflow-y: auto;
|
||||
img{
|
||||
width: 330px;
|
||||
max-width: 80vw;
|
||||
}
|
||||
}
|
||||
.modal-footer{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-bottom: -1px;
|
||||
border-top: 1px solid var(--second-dis);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.combobox {
|
||||
position: relative;
|
||||
font-family: "PT Sans";
|
||||
border: solid 1px var(--second-dis);
|
||||
border-radius: 12px;
|
||||
font-size: 20px;
|
||||
color: var(--second-act);
|
||||
padding: 8px 12px 8px 16px;
|
||||
background: no-repeat left 16px center / 140px 16px url('~src/assets/images/icons/placeholder.svg');
|
||||
|
||||
&:hover{
|
||||
border-color: var(--second);
|
||||
outline: none;
|
||||
}
|
||||
&.active {
|
||||
border-color: var(--prime);
|
||||
outline: none;
|
||||
|
||||
}
|
||||
&:disabled{
|
||||
border-color: #EDEDED;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.toggle {
|
||||
font-family: PT Sans;
|
||||
font-size: 16px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: 24px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
height: 24px;
|
||||
font-size: 20px;
|
||||
box-sizing: border-box;
|
||||
cursor: pointer;
|
||||
.caption {
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
width: 100%;
|
||||
background-color: #ffffff;
|
||||
p {
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
&.faded {
|
||||
color: #7f7f7f;
|
||||
}
|
||||
}
|
||||
}
|
||||
.filter {
|
||||
display: none;
|
||||
width: 100%;
|
||||
input {
|
||||
width: 100%;
|
||||
padding: 8px 0;
|
||||
border: 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
&:after {
|
||||
display: block;
|
||||
width: 24px;
|
||||
height: 20px;
|
||||
margin-left: auto;
|
||||
background: url('~src/assets/images/icons/arrow_drop_down_grey_24dp.svg') 50% 50% no-repeat;
|
||||
content: "";
|
||||
transition: transform 0.2s;
|
||||
}
|
||||
|
||||
&:hover:after {
|
||||
background: url('~src/assets/images/icons/arrow_drop_down_dark_24dp.svg') 50% 50% no-repeat;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
&.active .toggle:after {
|
||||
background: url('~src/assets/images/icons/arrow_drop_down_24dp.svg') 50% 50% no-repeat;
|
||||
}
|
||||
|
||||
.dropdown {
|
||||
display: none;
|
||||
position: absolute;
|
||||
top: calc(100% + 1px);
|
||||
left: -1px;
|
||||
width: calc(100% + 2px);
|
||||
margin-bottom: 50px;
|
||||
background-color: #ffffff;
|
||||
border: #dfdfdf solid 1px;
|
||||
border-radius: 4px;
|
||||
box-shadow: rgba(0, 0, 0, 0.16) 0 2px 3px 0;
|
||||
overflow: hidden;
|
||||
z-index: 100;
|
||||
|
||||
ul {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
max-height: 280px;
|
||||
overflow: auto;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
.empty {
|
||||
padding: 10px 16px;
|
||||
background-color: #f7f7f7;
|
||||
color: #7f7f7f;
|
||||
.add {
|
||||
display: block;
|
||||
color: #2c86cd;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
|
||||
li {
|
||||
.title {
|
||||
padding: 8px 16px;
|
||||
border-bottom: #dfdfdf solid 1px;
|
||||
margin: 0 !important;
|
||||
cursor: pointer;
|
||||
p {
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-size: 16px;
|
||||
&.faded {
|
||||
color: #7f7f7f;
|
||||
}
|
||||
}
|
||||
&:hover {
|
||||
background-color: #f7f7f7;
|
||||
}
|
||||
&.selected {
|
||||
background-color: #e3eff9;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.active {
|
||||
.toggle {
|
||||
.caption {
|
||||
display: none;
|
||||
}
|
||||
.filter {
|
||||
display: block;
|
||||
}
|
||||
&::after {
|
||||
transform: rotateZ(180deg);
|
||||
}
|
||||
}
|
||||
.dropdown {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.values {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
flex-wrap: wrap;
|
||||
|
||||
.item {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
margin: 8px 8px 0 0;
|
||||
|
||||
.name {
|
||||
padding-right: 8px;
|
||||
line-height: 20px;
|
||||
|
||||
p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.faded {
|
||||
color: #7f7f7f;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.remove {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
padding: 0;
|
||||
margin: auto;
|
||||
border: none;
|
||||
//background: transparent url('~src/assets/images/icons/close_16dp.svg') 50% 50% no-repeat;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,209 @@
|
|||
button, .btn, a.btn {
|
||||
display: inline-flex;
|
||||
padding: 8px 24px;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
cursor: pointer;
|
||||
border-radius: 12px;
|
||||
border: 1px solid var(--prime);
|
||||
background:var(--prime);
|
||||
color: #FFF;
|
||||
font-family: PT Sans Narrow;
|
||||
font-size: 24px;
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
line-height: 32px; /* 133.333% */
|
||||
letter-spacing: 0.24px;
|
||||
|
||||
&:hover{
|
||||
border: 1px solid var(--prime-hov);
|
||||
background: var(--prime-hov);
|
||||
}
|
||||
|
||||
&:active{
|
||||
border: 1px solid #004077;
|
||||
background: #004077;
|
||||
}
|
||||
|
||||
&[disabled] {
|
||||
border: 1px solid #A1CAE5;
|
||||
background: #A1CAE5;
|
||||
}
|
||||
|
||||
&.outline{
|
||||
background:#FFF;
|
||||
color: var(--prime);
|
||||
&:hover{
|
||||
border: 1px solid var(--prime-hov);
|
||||
color: var(--prime-hov);
|
||||
}
|
||||
|
||||
&:active{
|
||||
border: 1px solid #004077;
|
||||
color: #004077;
|
||||
}
|
||||
|
||||
&[disabled] {
|
||||
border: 1px solid #A1CAE5;
|
||||
color: #A1CAE5;
|
||||
}
|
||||
}
|
||||
|
||||
&.clear,&.icon{
|
||||
padding: 0;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
cursor: pointer;
|
||||
border-radius: 0;
|
||||
border: none;
|
||||
background-color: transparent;
|
||||
color: var(--second-act);
|
||||
font-family: PT Sans Narrow;
|
||||
font-size: 12px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: 100%; /* 133.333% */
|
||||
letter-spacing: 100%;
|
||||
}
|
||||
|
||||
&.trash,&.add-child,&.edit,&.delete,&.close-blue,&.move{
|
||||
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
background: center no-repeat;
|
||||
|
||||
}
|
||||
|
||||
&.trash {
|
||||
background-image: url('~src/assets/images/icons/trash_grey_24dp.svg');
|
||||
}
|
||||
&.add-child {
|
||||
background-image: url('~src/assets/images/icons/add_web_page_24dp.svg');
|
||||
}
|
||||
&.edit {
|
||||
background-image: url('~src/assets/images/icons/edit_24dp.svg');
|
||||
}
|
||||
&.close-blue {
|
||||
background-image: url('~src/assets/images/icons/close_blue_24dp.svg');
|
||||
};
|
||||
&.move {
|
||||
background-image: url('~src/assets/images/icons/drag-n-drop_24.svg');
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
div.move{
|
||||
cursor: move;
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
background: center no-repeat;
|
||||
background-image: url('~src/assets/images/icons/drag-n-drop_24.svg');
|
||||
}
|
||||
|
||||
// .inline-menu.default {
|
||||
// display: inline-flex;
|
||||
// align-items: center;
|
||||
// gap: 24px;
|
||||
// padding: 8px 24px;
|
||||
// background-color: #F5F4F4;
|
||||
// border: #E8E8E8 solid 1px;
|
||||
// border-radius: 4px;
|
||||
// button {
|
||||
// width: 20px;
|
||||
// height: 20px;
|
||||
// background: transparent none 50% 50% no-repeat;
|
||||
// &.add {background-image: url('~src/assets/images/icons/note_add_20.svg');}
|
||||
// &.edit {background-image: url('~src/assets/images/icons/edit_20.svg');}
|
||||
// &.delete {background-image: url('~src/assets/images/icons/trash_20.svg');}
|
||||
// &.move {background-image: url('~src/assets/images/icons/drag-n-drop_24.svg');}
|
||||
// }
|
||||
// }
|
||||
|
||||
// .btn {
|
||||
// color: #ffffff;
|
||||
// padding: 11px 24px;
|
||||
// background: var(--orange-2);
|
||||
// border: 1px solid var(--orange-2);
|
||||
// border-radius: 4px;
|
||||
// font-weight: 500;
|
||||
// font-size: 0.875rem;
|
||||
// line-height: 18px;
|
||||
// letter-spacing: 0.02em;
|
||||
// text-transform: uppercase;
|
||||
|
||||
|
||||
// &.with-icon {
|
||||
// display: flex;
|
||||
// flex-direction: row;
|
||||
// align-items: center;
|
||||
// padding: 8px 20px 8px 12px;
|
||||
// &:before {
|
||||
// display: block;
|
||||
// width: 24px;
|
||||
// height: 24px;
|
||||
// margin-right: 8px;
|
||||
// background: transparent none 50% 50% no-repeat;
|
||||
// content: "";
|
||||
// }
|
||||
// &.add {
|
||||
// &:before {
|
||||
// //background-image: url('~src/assets/images/icons/add_circle_white_24dp.svg');
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// &.small {
|
||||
// height: 28px;
|
||||
// padding: 4px 16px;
|
||||
// }
|
||||
// &.danger {
|
||||
// background-color: #db373a;
|
||||
// }
|
||||
// &.secondary {
|
||||
// background-color: var(--white);
|
||||
// color: var(--orange-2);
|
||||
// border: var(--orange-2) solid 1px;
|
||||
// &.danger {
|
||||
// border-color: #db373a;
|
||||
// color: #db373a;
|
||||
// }
|
||||
// }
|
||||
// &.icon {
|
||||
// width: 24px;
|
||||
// height: 24px;
|
||||
// padding: 0;
|
||||
// border-color: transparent;
|
||||
// background: transparent none 50% 50% no-repeat;
|
||||
// //&.reply {background-image: url('~src/assets/images/icons/add_comment_20dp.svg');}
|
||||
// //&.delete {background-image: url('~src/assets/images/icons/close_20dp.svg');}
|
||||
// &.trash {background-image: url('~src/assets/images/icons/delete_24dp.svg');}
|
||||
// &.edit {background-image: url('~src/assets/images/icons/edit_dark_24.svg');}
|
||||
// //&.chain {background-image: url('~src/assets/images/icons/linked_24dp.svg');}
|
||||
// &.checkbox {
|
||||
// display: flex;
|
||||
// width: 18px;
|
||||
// height: 18px;
|
||||
// border: solid 1px #7f7f7f;
|
||||
// border-radius: 2px;
|
||||
// &.checked,&.mixed {
|
||||
// background-color: #2c86cd;
|
||||
// border-color: #2c86cd;
|
||||
// }
|
||||
// &.checked {
|
||||
// //background-image: url('~src/assets/images/icons/checkbox_24dp.svg');
|
||||
// }
|
||||
// &.mixed {
|
||||
// &:before {
|
||||
// display: block;
|
||||
// width: 12px;
|
||||
// height: 2px;
|
||||
// margin: auto;
|
||||
// background-color: #ffffff;
|
||||
// content: "";
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
|
@ -0,0 +1,66 @@
|
|||
.documents.list.default {
|
||||
font-size: 20px;
|
||||
.items {
|
||||
.item {
|
||||
display: flex;
|
||||
gap: 8px;
|
||||
margin: 0 0 16px;
|
||||
.value{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
a {
|
||||
display: inline-block;
|
||||
}
|
||||
.description{
|
||||
font-size: 16px;
|
||||
line-height: 24px;
|
||||
color: var(--second);
|
||||
}
|
||||
}
|
||||
&:last-child {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
.none {
|
||||
color: #7f7f7f;
|
||||
}
|
||||
}
|
||||
.buttons {
|
||||
margin-top: 24px;
|
||||
button {
|
||||
margin-right: 24px;
|
||||
margin-bottom: 8px;
|
||||
&:last-child {
|
||||
margin-right: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.documents.list.inline {
|
||||
.item {
|
||||
display: inline-block;
|
||||
padding: 3px 30px 3px 12px;
|
||||
margin: 0 12px 4px 0;
|
||||
border: solid 1px rgba(0, 0, 0, 0.06);
|
||||
border-radius: 12px;
|
||||
//background: #e3eff9 url('~src/assets/images/icons/open_in_new_18dp.svg') calc(100% - 8px) 50% no-repeat;
|
||||
font-size: 0.875rem;
|
||||
a {
|
||||
color: #000000;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@media screen and (max-width: 410px) {
|
||||
.documents.list.default {
|
||||
.buttons {
|
||||
button {
|
||||
width: 100%;
|
||||
margin: 0 0 12px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,90 @@
|
|||
.dropdown {
|
||||
position: absolute;
|
||||
width: 250px;
|
||||
right: 24px;
|
||||
top: 62px;
|
||||
z-index: 10;
|
||||
z-index: 1000;
|
||||
|
||||
font-family: PT Sans;
|
||||
font-size: 16px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: 24px;
|
||||
|
||||
.menu {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
border: var(--second-dis) solid 1px;
|
||||
border-radius: 4px;
|
||||
box-shadow: 0 3px 6px 0 rgb(0 0 0 / 16%);
|
||||
|
||||
.type {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
background-color: var(--white);
|
||||
border-bottom: var(--second-dis) solid 1px;
|
||||
overflow: hidden;
|
||||
&:first-child {
|
||||
border-radius: 4px 4px 0 0;
|
||||
}
|
||||
&:last-child {
|
||||
border-radius: 0 0 4px 4px;
|
||||
.row {
|
||||
border-bottom: none;
|
||||
}
|
||||
a, span {
|
||||
border-bottom: none;
|
||||
}
|
||||
}
|
||||
>&:hover {
|
||||
background-color: var(--light);
|
||||
}
|
||||
|
||||
.row {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
padding: 12px 20px;
|
||||
|
||||
column-gap: 12px;
|
||||
cursor: pointer;
|
||||
color: var(--second-act);
|
||||
|
||||
.title {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
a, span {
|
||||
display: block;
|
||||
padding: 12px 16px;
|
||||
color: #000000;
|
||||
cursor: pointer;
|
||||
border-bottom: #E0E0E0 solid 1px;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
&:last-child {
|
||||
a, span {
|
||||
border-bottom: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.sub-row {
|
||||
padding: 12px 16px 12px 32px;
|
||||
border-top: var(--second-dis) solid 1px;
|
||||
color: var(--second);
|
||||
background-color: var(--white);
|
||||
|
||||
cursor: pointer;
|
||||
&:hover {
|
||||
background-color: var(--light);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,166 @@
|
|||
// @font-face {
|
||||
// font-family: 'Open Sans';
|
||||
// src: url('../fonts/sans/OpenSans-Italic.eot');
|
||||
// src: local('Open Sans Italic'), local('OpenSans-Italic'),
|
||||
// url('../fonts/sans/OpenSans-Italic.eot?#iefix') format('embedded-opentype'),
|
||||
// url('../fonts/sans/OpenSans-Italic.woff2') format('woff2'),
|
||||
// url('../fonts/sans/OpenSans-Italic.woff') format('woff'),
|
||||
// url('../fonts/sans/OpenSans-Italic.ttf') format('truetype');
|
||||
// font-weight: normal;
|
||||
// font-style: italic;
|
||||
// }
|
||||
|
||||
// @font-face {
|
||||
// font-family: 'Open Sans';
|
||||
// src: url('../fonts/sans/OpenSans-Regular.eot');
|
||||
// src: local('Open Sans Regular'), local('OpenSans-Regular'),
|
||||
// url('../fonts/sans/OpenSans-Regular.eot?#iefix') format('embedded-opentype'),
|
||||
// url('../fonts/sans/OpenSans-Regular.woff2') format('woff2'),
|
||||
// url('../fonts/sans/OpenSans-Regular.woff') format('woff'),
|
||||
// url('../fonts/sans/OpenSans-Regular.ttf') format('truetype');
|
||||
// font-weight: normal;
|
||||
// font-style: normal;
|
||||
// }
|
||||
|
||||
// @font-face {
|
||||
// font-family: 'Open Sans';
|
||||
// src: url('../fonts/sans/OpenSans-BoldItalic.eot');
|
||||
// src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'),
|
||||
// url('../fonts/sans/OpenSans-BoldItalic.eot?#iefix') format('embedded-opentype'),
|
||||
// url('../fonts/sans/OpenSans-BoldItalic.woff2') format('woff2'),
|
||||
// url('../fonts/sans/OpenSans-BoldItalic.woff') format('woff'),
|
||||
// url('../fonts/sans/OpenSans-BoldItalic.ttf') format('truetype');
|
||||
// font-weight: bold;
|
||||
// font-style: italic;
|
||||
// }
|
||||
|
||||
// @font-face {
|
||||
// font-family: 'Open Sans';
|
||||
// src: url('../fonts/sans/OpenSans-SemiBold.eot');
|
||||
// src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'),
|
||||
// url('../fonts/sans/OpenSans-SemiBold.eot?#iefix') format('embedded-opentype'),
|
||||
// url('../fonts/sans/OpenSans-SemiBold.woff2') format('woff2'),
|
||||
// url('../fonts/sans/OpenSans-SemiBold.woff') format('woff'),
|
||||
// url('../fonts/sans/OpenSans-SemiBold.ttf') format('truetype');
|
||||
// font-weight: 600;
|
||||
// font-style: normal;
|
||||
// }
|
||||
|
||||
// @font-face {
|
||||
// font-family: 'Open Sans';
|
||||
// src: url('../fonts/sans/OpenSans-ExtraBoldItalic.eot');
|
||||
// src: local('Open Sans ExtraBold Italic'), local('OpenSans-ExtraBoldItalic'),
|
||||
// url('../fonts/sans/OpenSans-ExtraBoldItalic.eot?#iefix') format('embedded-opentype'),
|
||||
// url('../fonts/sans/OpenSans-ExtraBoldItalic.woff2') format('woff2'),
|
||||
// url('../fonts/sans/OpenSans-ExtraBoldItalic.woff') format('woff'),
|
||||
// url('../fonts/sans/OpenSans-ExtraBoldItalic.ttf') format('truetype');
|
||||
// font-weight: 800;
|
||||
// font-style: italic;
|
||||
// }
|
||||
|
||||
// @font-face {
|
||||
// font-family: 'Open Sans';
|
||||
// src: url('../fonts/sans/OpenSans-LightItalic.eot');
|
||||
// src: local('Open Sans Light Italic'), local('OpenSans-LightItalic'),
|
||||
// url('../fonts/sans/OpenSans-LightItalic.eot?#iefix') format('embedded-opentype'),
|
||||
// url('../fonts/sans/OpenSans-LightItalic.woff2') format('woff2'),
|
||||
// url('../fonts/sans/OpenSans-LightItalic.woff') format('woff'),
|
||||
// url('../fonts/sans/OpenSans-LightItalic.ttf') format('truetype');
|
||||
// font-weight: 300;
|
||||
// font-style: italic;
|
||||
// }
|
||||
|
||||
// @font-face {
|
||||
// font-family: 'Open Sans';
|
||||
// src: url('../fonts/sans/OpenSans-Bold.eot');
|
||||
// src: local('Open Sans Bold'), local('OpenSans-Bold'),
|
||||
// url('../fonts/sans/OpenSans-Bold.eot?#iefix') format('embedded-opentype'),
|
||||
// url('../fonts/sans/OpenSans-Bold.woff2') format('woff2'),
|
||||
// url('../fonts/sans/OpenSans-Bold.woff') format('woff'),
|
||||
// url('../fonts/sans/OpenSans-Bold.ttf') format('truetype');
|
||||
// font-weight: bold;
|
||||
// font-style: normal;
|
||||
// }
|
||||
|
||||
// @font-face {
|
||||
// font-family: 'Open Sans';
|
||||
// src: url('../fonts/sans/OpenSans-SemiBoldItalic.eot');
|
||||
// src: local('Open Sans SemiBold Italic'), local('OpenSans-SemiBoldItalic'),
|
||||
// url('../fonts/sans/OpenSans-SemiBoldItalic.eot?#iefix') format('embedded-opentype'),
|
||||
// url('../fonts/sans/OpenSans-SemiBoldItalic.woff2') format('woff2'),
|
||||
// url('../fonts/sans/OpenSans-SemiBoldItalic.woff') format('woff'),
|
||||
// url('../fonts/sans/OpenSans-SemiBoldItalic.ttf') format('truetype');
|
||||
// font-weight: 600;
|
||||
// font-style: italic;
|
||||
// }
|
||||
|
||||
// @font-face {
|
||||
// font-family: 'Open Sans';
|
||||
// src: url('../fonts/sans/OpenSans-ExtraBold.eot');
|
||||
// src: local('Open Sans ExtraBold'), local('OpenSans-ExtraBold'),
|
||||
// url('../fonts/sans/OpenSans-ExtraBold.eot?#iefix') format('embedded-opentype'),
|
||||
// url('../fonts/sans/OpenSans-ExtraBold.woff2') format('woff2'),
|
||||
// url('../fonts/sans/OpenSans-ExtraBold.woff') format('woff'),
|
||||
// url('../fonts/sans/OpenSans-ExtraBold.ttf') format('truetype');
|
||||
// font-weight: 800;
|
||||
// font-style: normal;
|
||||
// }
|
||||
|
||||
// @font-face {
|
||||
// font-family: 'Open Sans';
|
||||
// src: url('../fonts/sans/OpenSans-Light.eot');
|
||||
// src: local('Open Sans Light'), local('OpenSans-Light'),
|
||||
// url('../fonts/sans/OpenSans-Light.eot?#iefix') format('embedded-opentype'),
|
||||
// url('../fonts/sans/OpenSans-Light.woff2') format('woff2'),
|
||||
// url('../fonts/sans/OpenSans-Light.woff') format('woff'),
|
||||
// url('../fonts/sans/OpenSans-Light.ttf') format('truetype');
|
||||
// font-weight: 300;
|
||||
// font-style: normal;
|
||||
// }
|
||||
|
||||
@font-face {
|
||||
font-family: 'PT Sans';
|
||||
src: url('../fonts/ptsans/PT_Sans-Web-Regular.ttf');
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'PT Sans';
|
||||
src: url('../fonts/ptsans/PT_Sans-Web-Bold.ttf');
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'PT Sans';
|
||||
src: url('../fonts/ptsans/PT_Sans-Web-Italic.ttf');
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'PT Sans';
|
||||
src: url('../fonts/ptsans/PT_Sans-Web-Bolditalic.ttf');
|
||||
font-style: italic;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'PT Sans Narrow';
|
||||
src: url('../fonts/ptsans/PTSansNarrow-Regular.ttf');
|
||||
font-style: itnormalalic;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'PT Sans Narrow';
|
||||
src: url('../fonts/ptsans/PTSansNarrow-Bold.ttf');
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
}
|
||||
|
|
@ -0,0 +1,553 @@
|
|||
input, select, textarea {
|
||||
width: 100%;
|
||||
height: 40px;
|
||||
padding: 8px 16px;
|
||||
border-radius: 12px;
|
||||
border: solid 1px var(--second-dis);
|
||||
font-family: "PT Sans";
|
||||
font-size: 20px;
|
||||
color: var(--second-act);
|
||||
background-color: #fff;
|
||||
&:hover{
|
||||
border-color: var(--second);
|
||||
outline: none;
|
||||
}
|
||||
&:focus, &:focus-visible {
|
||||
border-color: var(--prime);
|
||||
outline: none;
|
||||
|
||||
}
|
||||
&:disabled{
|
||||
border-color: #EDEDED;
|
||||
outline: none;
|
||||
}
|
||||
}
|
||||
|
||||
.invalid {
|
||||
input, select, .textbox {
|
||||
border-color: #e60046!important;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.switch {
|
||||
width: 44px;
|
||||
height: 24px;
|
||||
margin: auto 0;
|
||||
padding: 2px;
|
||||
border-radius: 12px;
|
||||
background-color: #fff;
|
||||
border: 1px solid var(--second);
|
||||
cursor: pointer;
|
||||
transition: background-color 0.3s;
|
||||
&:before {
|
||||
display: block;
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
background-color: var(--second-dis);
|
||||
border-radius: 9px;
|
||||
transition: transform 0.3s;
|
||||
content: '';
|
||||
}
|
||||
&.active {
|
||||
background-color:var(--prime);
|
||||
border-color:var(--prime);
|
||||
&:before {
|
||||
transform: translateX(20px);
|
||||
background-color: #fff;
|
||||
}
|
||||
}
|
||||
&.active{
|
||||
&:hover {
|
||||
background-color:var(--prime-hov);
|
||||
border-color:var(--prime-hov);
|
||||
&:before {
|
||||
transform: translateX(20px);
|
||||
}
|
||||
}
|
||||
&:focus{
|
||||
background-color:var(--prime-act);
|
||||
border-color:var(--prime-act);
|
||||
&:before {
|
||||
transform: translateX(20px);
|
||||
}
|
||||
}
|
||||
}
|
||||
&:not(.active):hover {
|
||||
border-color:var(--second-hov);
|
||||
&:before {
|
||||
background-color: var(--second);
|
||||
}
|
||||
}
|
||||
&.disabled {
|
||||
opacity: 0.5;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
field-date-single{
|
||||
input{
|
||||
background: url("/assets/images/ico/calendar_grey_24.svg") no-repeat right 12px center ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.checkbox {
|
||||
position: absolute;
|
||||
z-index: -1;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.checkbox+label {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
user-select: none;
|
||||
font-size: 20px;
|
||||
}
|
||||
.checkbox+label::before {
|
||||
content: '';
|
||||
display: inline-block;
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
flex-shrink: 0;
|
||||
flex-grow: 0;
|
||||
margin-right: 0.5em;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center center;
|
||||
background-size: 100% 100%;
|
||||
background-image: url("~/src/assets/images/icons/checkbox/checbox_none_base_24dp.svg");
|
||||
}
|
||||
.checkbox:checked+label::before {
|
||||
background-image: url("~/src/assets/images/icons/checkbox/checbox_check_base_24dp.svg");
|
||||
}
|
||||
.checkbox:not(:disabled):not(:checked)+label:hover::before {
|
||||
background-image: url("~/src/assets/images/icons/checkbox/checbox_none_hover_24dp.svg");
|
||||
}
|
||||
.checkbox:not(:disabled):checked+label:hover::before {
|
||||
background-image: url("~/src/assets/images/icons/checkbox/checbox_check_hover_24dp.svg");
|
||||
}
|
||||
.checkbox:not(:disabled):checked:active+label::before {
|
||||
background-image: url("~/src/assets/images/icons/checkbox/checbox_check_active_24dp.svg");
|
||||
}
|
||||
.checkbox:not(:disabled):not(:checked):active+label::before {
|
||||
background-image: url("~/src/assets/images/icons/checkbox/checbox_none_active_24dp.svg");
|
||||
}
|
||||
.checkbox:focus:checked+label::before {
|
||||
background-image: url("~/src/assets/images/icons/checkbox/checbox_check_hover_24dp.svg");
|
||||
}
|
||||
.checkbox:focus:not(:checked)+label::before {
|
||||
background-image: url("~/src/assets/images/icons/checkbox/checbox_none_hover_24dp.svg");
|
||||
}
|
||||
.checkbox:disabled:checked+label::before {
|
||||
background-image: url("~/src/assets/images/icons/checkbox/checbox_check_disabled_24dp.svg");
|
||||
}
|
||||
.checkbox:disabled:not(:checked)+label::before {
|
||||
background-image: url("~/src/assets/images/icons/checkbox/checbox_none_disabled_24dp.svg");
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
form-field-document{
|
||||
.area {
|
||||
position: relative;
|
||||
display: flex;
|
||||
height: 100px;
|
||||
padding: 16px;
|
||||
border: var(--prime) solid 1px;
|
||||
border-radius: 4px;
|
||||
overflow: hidden;
|
||||
font-size: 20px;
|
||||
&.hover {
|
||||
background-color: #e0e0e0;
|
||||
}
|
||||
p {
|
||||
margin: auto;
|
||||
color: var(--second-dis);
|
||||
text-align: center;
|
||||
span {
|
||||
color: var(--orange-2);
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
input {
|
||||
display: none;
|
||||
}
|
||||
.indicator {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
padding: 16px;
|
||||
background-color: #f7f7f7;
|
||||
.label {
|
||||
margin-bottom: 4px;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.progress {
|
||||
height: 4px;
|
||||
background-color: #dfdfdf;
|
||||
overflow: hidden;
|
||||
.fill {
|
||||
width: 0;
|
||||
height: 100%;
|
||||
background-color: #3ca128;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.values {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
flex-wrap: nowrap;
|
||||
.item {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
margin-top: $p;
|
||||
align-items: flex-start;
|
||||
.doc-item-header{
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
gap: $pxs;
|
||||
.info{
|
||||
flex-shrink: 1;
|
||||
overflow: hidden;
|
||||
max-width: 530px;
|
||||
}
|
||||
.description{
|
||||
font-size: 16px;
|
||||
line-height: 24px;
|
||||
color: var(--second);
|
||||
}
|
||||
file-ico{
|
||||
cursor: move;
|
||||
}
|
||||
}
|
||||
.doc-item-form{
|
||||
input{
|
||||
margin-bottom: $pxs;
|
||||
}
|
||||
.doc-item-form-bar{
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
gap: $pxs;
|
||||
ico{
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
svg{
|
||||
color: var(--white);
|
||||
}
|
||||
}
|
||||
.close{
|
||||
background-color: var(--second);
|
||||
border-radius: 4px;
|
||||
}
|
||||
.update{
|
||||
background-color: var(--prime);
|
||||
border-radius: 4px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.fader {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: rgba(0,0,0,0.6);
|
||||
}
|
||||
|
||||
.form {
|
||||
position: relative;
|
||||
background-color: #ffffff;
|
||||
z-index: 100;
|
||||
border-radius: 12px;
|
||||
padding: $p;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
form-field-image{
|
||||
.area {
|
||||
position: relative;
|
||||
display: flex;
|
||||
height: 100px;
|
||||
padding: 16px;
|
||||
border: var(--prime) dashed 3px;
|
||||
border-radius: 4px;
|
||||
border-image: url('/assets/images/ico/border_gr.svg') 3 round round;
|
||||
overflow: hidden;
|
||||
font-size: 20px;
|
||||
&.hover {
|
||||
background-color: #e0e0e0;
|
||||
}
|
||||
p {
|
||||
margin: auto;
|
||||
color: var(--second-dis);
|
||||
text-align: center;
|
||||
span {
|
||||
color: var(--orange-2);
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
input {
|
||||
display: none;
|
||||
}
|
||||
.indicator {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
padding: 16px;
|
||||
background-color: #f7f7f7;
|
||||
.label {
|
||||
margin-bottom: 4px;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.progress {
|
||||
height: 4px;
|
||||
background-color: #dfdfdf;
|
||||
overflow: hidden;
|
||||
.fill {
|
||||
width: 0;
|
||||
height: 100%;
|
||||
background-color: #3ca128;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.values {
|
||||
display: flex;
|
||||
column-gap: 24px;
|
||||
row-gap: 12px;
|
||||
margin-top: 8px;
|
||||
overflow: hidden;
|
||||
.item {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
max-width: 100%;
|
||||
align-items: flex-start;
|
||||
overflow: hidden;
|
||||
.preview {
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
border: #0033661F solid 2px;
|
||||
overflow: hidden;
|
||||
cursor: move;
|
||||
img {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
}
|
||||
}
|
||||
.trash {
|
||||
margin-left: 4px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.field {
|
||||
|
||||
flex-direction: column;
|
||||
width: 100%;
|
||||
margin: 0 0 24px;
|
||||
row-gap: 8px;
|
||||
|
||||
.caption {
|
||||
color: var(--second);
|
||||
font-family: PT Sans;
|
||||
font-size: 20px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: 32px;
|
||||
}
|
||||
.value {
|
||||
.error {
|
||||
margin-top: 2px;
|
||||
font-size: 0.875rem;
|
||||
color: #e60046;
|
||||
}
|
||||
}
|
||||
&.readonly {
|
||||
margin: 0 0 12px;
|
||||
.caption {
|
||||
//padding: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
@media screen and (max-width: 600px) {
|
||||
.field {
|
||||
margin-bottom: 8px;
|
||||
.caption {
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
margin: 0 0 8px;
|
||||
}
|
||||
.value {
|
||||
width: 100%;
|
||||
margin: 0 0 16px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
auth-page{
|
||||
.authentication {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
.logo {
|
||||
display: flex;
|
||||
width: 50%;
|
||||
flex-shrink: 0;
|
||||
height: 100%;
|
||||
border-right: #E0E0E0 solid 1px;
|
||||
text-align: center;
|
||||
color: #0071BB;
|
||||
}
|
||||
|
||||
.form {
|
||||
display: flex;
|
||||
flex-grow: 1;
|
||||
padding: 24px;
|
||||
}
|
||||
|
||||
.center {
|
||||
width: 100%;
|
||||
max-width: 416px;
|
||||
margin: auto;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@media screen and (max-width: 959px) {
|
||||
.authentication {
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
.logo {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
border-right: none;
|
||||
}
|
||||
.form {
|
||||
flex-grow: 0;
|
||||
}
|
||||
::ng-deep h2 {
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
auth-page, auth-modal{
|
||||
|
||||
|
||||
h2 {
|
||||
margin: 0 0 24px;
|
||||
font-size: 24px;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.field {
|
||||
margin: 0 0 16px;
|
||||
|
||||
label {
|
||||
font-size: 14px;
|
||||
color: #666666;
|
||||
line-height: 20px;
|
||||
}
|
||||
|
||||
.checkbox {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
gap: 12px;
|
||||
margin: 0 0 12px;
|
||||
&:last-child {margin: 0;}
|
||||
label {
|
||||
font-size: 0.875rem;
|
||||
color: #86898E;
|
||||
a {
|
||||
color: #F9B417;
|
||||
}
|
||||
}
|
||||
input {
|
||||
flex-shrink: 0;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.error {
|
||||
margin: 0 0 16px;
|
||||
font-size: 14px;
|
||||
color: #D91519;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.bar {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
justify-content: space-between;
|
||||
row-gap: 18px;
|
||||
.remember {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
input {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
margin-right: 8px;
|
||||
border-radius: 2px;
|
||||
border: 1px solid #86898E;
|
||||
}
|
||||
}
|
||||
.forget {
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
}
|
||||
|
||||
.bottom {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: flex-end;
|
||||
gap: 24px;
|
||||
margin: 24px 0 0;
|
||||
}
|
||||
|
||||
|
||||
@media screen and (max-width: 600px) {
|
||||
.bottom {
|
||||
flex-direction: column-reverse;
|
||||
button {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,202 @@
|
|||
.center{
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.space{
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
|
||||
|
||||
jumbotron{
|
||||
.jumbotron-bg{
|
||||
height: 400px;
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
max-height: 150vw;
|
||||
.jumbotron-content{
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: flex-start;
|
||||
position: relative;
|
||||
.user-bar{
|
||||
justify-content: flex-end;
|
||||
}
|
||||
header-user-bar{
|
||||
top: $pl;
|
||||
right: 40px;
|
||||
position: absolute;
|
||||
}
|
||||
.jumbotron-content-center{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
max-width: 100%;
|
||||
h1{
|
||||
margin: 0;
|
||||
padding: $ps 0;
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
.jumbotron-edit-field{
|
||||
height: 60px;
|
||||
background-color: var(--white);
|
||||
border-bottom: 1px solid var(--second-dis);
|
||||
.jumbotron-edit-field-row{
|
||||
div{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: $pxs;
|
||||
}
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.content-sapce{
|
||||
flex-grow: 1;
|
||||
.content-grid{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin: 40px 0 120px;
|
||||
|
||||
left-content{
|
||||
display: none;
|
||||
}
|
||||
|
||||
right-content{
|
||||
flex-shrink: 0;
|
||||
pages-menu.current{
|
||||
pages-menu-item>.item{
|
||||
display: flex;
|
||||
}
|
||||
}
|
||||
}
|
||||
.main-content{
|
||||
max-width: 100%;
|
||||
width: $page-width;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.this-root-page{
|
||||
.content-sapce{
|
||||
|
||||
.content-grid{
|
||||
justify-content: center;
|
||||
right-content{
|
||||
display: none;
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (min-width: 1330px){
|
||||
.this-root-page{
|
||||
.content-sapce{
|
||||
.content-grid{
|
||||
.main-content{
|
||||
margin-left: 150px;
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
footer{
|
||||
background-color: var(--bg-lt);
|
||||
box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.12);
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
padding: 32px;
|
||||
.footer{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 16px;
|
||||
flex-basis: 720px;
|
||||
>*{
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 16px;
|
||||
svg{
|
||||
color: var(--bk44);
|
||||
}
|
||||
}
|
||||
.nir-link{
|
||||
margin-top: 16px;
|
||||
color: var(--bk44);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
pages-menu-item{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
.item{
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
drop-down{
|
||||
margin-left: -24px;
|
||||
}
|
||||
min-height: 24px;
|
||||
>a{
|
||||
margin-top: 4px;
|
||||
&.active {
|
||||
color: #000000;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.pages{
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@media screen and (max-width: 1024px){
|
||||
footer{
|
||||
padding: 24px;
|
||||
}
|
||||
.space{
|
||||
.layout-corral{
|
||||
max-width: 100vw;
|
||||
}
|
||||
}
|
||||
right-content, left-content{
|
||||
display: none;
|
||||
}
|
||||
.jumbotron-edit-field{
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@media screen and (max-width: 720px){
|
||||
footer{
|
||||
padding: 16px;
|
||||
}
|
||||
.space{
|
||||
.layout-corral, .page-corral{
|
||||
padding: 0 24px;
|
||||
}
|
||||
}
|
||||
.copyright{
|
||||
flex-direction: column;
|
||||
gap: 24px;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,86 @@
|
|||
.list.item.default {
|
||||
padding: 24px;
|
||||
margin-bottom: 24px;
|
||||
background-color: #FFFFFF;
|
||||
box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
|
||||
.main-bar {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
width: 100%;
|
||||
.left {
|
||||
flex-grow: 1;
|
||||
}
|
||||
.right {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
margin-left: 24px;
|
||||
flex-shrink: 0;
|
||||
.row {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
button {
|
||||
margin: 0 12px 0 0;
|
||||
&:last-child {
|
||||
margin-right: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.params {
|
||||
p {
|
||||
margin-bottom: 14px;
|
||||
&:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.title {
|
||||
margin-bottom: 12px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.status {
|
||||
margin-bottom: 14px;
|
||||
font-size: 0.875rem;
|
||||
font-weight: bold;
|
||||
color: #7f7f7f;
|
||||
}
|
||||
.yellow, .reviewing {color: #c48723;}
|
||||
.green, .active {color: #669933;}
|
||||
.red, .declined {color: #e60046;}
|
||||
.edit {
|
||||
//background-image: url("~src/assets/images/icons/edit_24dp.svg");
|
||||
}
|
||||
.delete {
|
||||
//background-image: url("~src/assets/images/icons/delete_24dp.svg");
|
||||
}
|
||||
.toggle {
|
||||
margin-top: auto;
|
||||
margin-left: auto;
|
||||
//background-image: url("~src/assets/images/icons/arrow_down_24dp.svg");
|
||||
transition: transform 0.2s;
|
||||
&.active {
|
||||
transform: rotateZ(180deg);
|
||||
}
|
||||
}
|
||||
.name {
|
||||
margin-bottom: 14px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.details {
|
||||
margin-top: 24px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@media screen and (max-width: 767px) {
|
||||
.list.item.default {
|
||||
padding: 16px;
|
||||
margin-left: -16px;
|
||||
margin-right: -16px;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,166 @@
|
|||
// pages-menu{
|
||||
// display:flex;
|
||||
// flex-direction: column;
|
||||
// padding-left: 0;
|
||||
// }
|
||||
// pages-menu{
|
||||
// padding-left: 24px;
|
||||
// }
|
||||
header, slider-menu{
|
||||
pages-menu-item{
|
||||
.item{
|
||||
drop-down{
|
||||
display: none;
|
||||
}
|
||||
a{
|
||||
font-family: PT Sans;
|
||||
font-size: 14px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: 24px;
|
||||
letter-spacing: 0.56px;
|
||||
text-transform: uppercase;
|
||||
color: var(--black);
|
||||
margin: 0;
|
||||
}
|
||||
padding: 4px 0 0 0;
|
||||
border-bottom: solid 4px transparent;
|
||||
&.current{
|
||||
border-color: var(--prime);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
header{
|
||||
height: 80px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background-color: var(--bg-lt);
|
||||
box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.12);
|
||||
|
||||
.header{
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
|
||||
pages-menu{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
gap: 16px;
|
||||
margin: 0 60px;
|
||||
&:not(.lvl-0){
|
||||
display: none;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.burger{
|
||||
align-items: center;
|
||||
height: 32px;
|
||||
}
|
||||
|
||||
.header-login{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
color: var(--black);
|
||||
font-family: PT Sans;
|
||||
font-size: 16px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: 24px;
|
||||
ico svg{
|
||||
color: var(--bk44) !important;
|
||||
}
|
||||
}
|
||||
|
||||
.header-logo{
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.burger:hover, .header-logo:hover, .header-login:hover ico, .item:hover{
|
||||
background-color: var(--bk4);
|
||||
}
|
||||
|
||||
.burger:active, .header-logo:active, .header-login:active ico, .item:active{
|
||||
background-color: var(--bk8);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
slider[side="left"]{
|
||||
.slider-bar{
|
||||
background-color: var(--bg-lt);
|
||||
width: 360px;
|
||||
max-width: 100vw;
|
||||
.header{
|
||||
box-shadow: none;
|
||||
background-color: transparent;
|
||||
.title{
|
||||
ico svg{
|
||||
color: var(--black);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
.body{
|
||||
padding: 64px 0;
|
||||
pages-menu{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 32px;
|
||||
&:not(.lvl-0){
|
||||
display: none;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@media screen and (max-width: 720px){
|
||||
header{
|
||||
padding: 0 24px;
|
||||
.header{
|
||||
width: 100%;
|
||||
justify-content: space-between;
|
||||
pages-menu{
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@media screen and (min-width: 721px){
|
||||
.header{
|
||||
|
||||
.burger{
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,70 @@
|
|||
header-user-bar{
|
||||
cursor: pointer;
|
||||
.user {
|
||||
|
||||
position: relative;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
background-color: #fff;
|
||||
|
||||
.avatar {
|
||||
width: 38px;
|
||||
height: 38px;
|
||||
flex-shrink: 0;
|
||||
color: var(--prime);
|
||||
border: 1px solid var(--prime);
|
||||
background: #fff;
|
||||
border-radius: 100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
cursor: pointer;
|
||||
overflow: hidden;
|
||||
.initials {
|
||||
}
|
||||
img {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
}
|
||||
}
|
||||
|
||||
.name{
|
||||
margin: 8px 4px 0 12px;
|
||||
color: var(--black);
|
||||
font-family: PT Sans;
|
||||
font-size: 14px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: 20px; /* 142.857% */
|
||||
|
||||
}
|
||||
|
||||
|
||||
.dropdown{
|
||||
right: 4px;
|
||||
top: 36px;
|
||||
}
|
||||
|
||||
drop-down {
|
||||
display: flex;
|
||||
margin-top: 6px;
|
||||
.on{
|
||||
svg{
|
||||
color:var(--dark)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@media screen and (max-width: 760px) {
|
||||
.user {
|
||||
.name{
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,604 @@
|
|||
page-sections{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap:24px;
|
||||
.section{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
h2{
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
h4 {
|
||||
margin-bottom: -16px;
|
||||
}
|
||||
p+p{
|
||||
padding-top: 16px;
|
||||
}
|
||||
page-section:first-child{
|
||||
.menu .block .up{
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
page-section:nth-last-child(2){
|
||||
.menu .block .down{
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
html-section {
|
||||
ul{
|
||||
padding: 0;
|
||||
margin-bottom: 0;
|
||||
>li{
|
||||
list-style: none;
|
||||
line-height: 32px;
|
||||
text-indent: -32px;
|
||||
padding-left: 32px;
|
||||
&::before{
|
||||
display: inline-block;
|
||||
content: "";
|
||||
width: 16px;
|
||||
height: 2px;
|
||||
background-color: var(--prime);
|
||||
margin-bottom: 5px;
|
||||
margin-right: 16px;
|
||||
}
|
||||
}
|
||||
*+li{
|
||||
margin-top: 24px;
|
||||
}
|
||||
}
|
||||
ul+*{
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
add-section, publications-list{
|
||||
.add{
|
||||
position: relative;
|
||||
margin: 24px 0;
|
||||
|
||||
.toggle{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
ico{
|
||||
cursor: pointer;
|
||||
}
|
||||
.two-lines{
|
||||
flex-grow: 1;
|
||||
height: 4px;
|
||||
border-top: 1px solid var(--second-dis);
|
||||
border-bottom: 1px solid var(--second-dis);
|
||||
}
|
||||
|
||||
&.active{
|
||||
a{
|
||||
color: var(--prime-act);
|
||||
}
|
||||
}
|
||||
}
|
||||
.dropdown{
|
||||
left:calc( 50% - 125px );
|
||||
top:22px;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.menu {
|
||||
display: flex;
|
||||
.block {
|
||||
ico{
|
||||
height: 24px;
|
||||
cursor: pointer;
|
||||
svg{
|
||||
color: var(--second)
|
||||
};
|
||||
&:hover{
|
||||
svg{
|
||||
color: var(--second-act)
|
||||
};
|
||||
}
|
||||
}
|
||||
background: var(--light);
|
||||
border: 1px solid var(--second-dis);
|
||||
border-radius: 4px;
|
||||
padding: 8px 24px;
|
||||
display: flex;
|
||||
margin-bottom: 24px;
|
||||
gap: 24px
|
||||
}
|
||||
}
|
||||
|
||||
cards-section{
|
||||
.cards-add{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: 12px 16px;
|
||||
border-top: 1px solid var(--second-dis);
|
||||
border-bottom: 1px solid var(--second-dis);
|
||||
margin-bottom: 40px;
|
||||
ico{
|
||||
cursor: pointer;
|
||||
svg{
|
||||
color: var(--prime) !important;
|
||||
}
|
||||
&:hover{
|
||||
svg{
|
||||
color: var(--prime-act) !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
cards-section-items{
|
||||
.items {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: stretch;
|
||||
gap: 24px;
|
||||
flex-wrap: wrap;
|
||||
|
||||
cards-section-item {
|
||||
|
||||
width: 252px;
|
||||
cards-item-persons{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 16px;
|
||||
.image{
|
||||
width: 100%;
|
||||
height: 338px;
|
||||
border-radius: 12px;
|
||||
border: 1px solid var(--second-dis);
|
||||
background: url('../images/view-man.svg') var(--white) center / 65% no-repeat;
|
||||
overflow: hidden;
|
||||
img{
|
||||
object-fit: cover;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
.title{
|
||||
font-family: PT Sans Narrow;
|
||||
font-size: 24px;
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
line-height: 32px;
|
||||
letter-spacing: 0.24px;
|
||||
color: var(--second);
|
||||
}
|
||||
.subtitle{
|
||||
color: var(--dark);
|
||||
}
|
||||
.subtitle{
|
||||
color: var(--dark);
|
||||
}
|
||||
.email{
|
||||
color:var(--prime)
|
||||
}
|
||||
.details a{
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
cards-item-partners{
|
||||
a{
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 252px;
|
||||
padding: 16px;
|
||||
border-radius: 12px;
|
||||
border: 1px solid var(--second-dis);
|
||||
background-color: var(--white);
|
||||
overflow: hidden;
|
||||
img{
|
||||
object-fit: contain;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
transition: transform 0.1s;
|
||||
&:hover{
|
||||
transform: scale(1.05);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
images-section{
|
||||
display: block;
|
||||
|
||||
.mobile{
|
||||
display: none;
|
||||
}
|
||||
.desctop{
|
||||
display: flex;
|
||||
}
|
||||
.close{
|
||||
position: absolute;
|
||||
top:24px;
|
||||
right: 24px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.items {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
width: 100%;
|
||||
gap: 8px;
|
||||
|
||||
img{
|
||||
border-radius: 12px;
|
||||
}
|
||||
|
||||
&.tiles{
|
||||
.item{
|
||||
margin-bottom: 16px;
|
||||
img{
|
||||
border: 1px solid var(--second-dis);
|
||||
max-height: 273px;
|
||||
max-width: 273px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.full-width{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
.item{
|
||||
max-width: 100%;
|
||||
margin-bottom: 32px;
|
||||
img{
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.item {
|
||||
|
||||
position: relative;
|
||||
|
||||
img {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
&.full-width {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
img {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.swiper-box{
|
||||
width: 100% !important;
|
||||
height: 75vw !important;
|
||||
max-height: 400px;
|
||||
}
|
||||
|
||||
|
||||
.fullscreen {
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
z-index: 2;
|
||||
position: fixed;
|
||||
align-items: center;
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
background-color: grey;
|
||||
|
||||
}
|
||||
|
||||
@media screen and (max-width: 700px){
|
||||
.carousel {
|
||||
|
||||
.prev, .next {
|
||||
cursor: pointer;
|
||||
z-index: 1;
|
||||
position: absolute;
|
||||
&.prev{
|
||||
left: 36px;
|
||||
z-index: 2;
|
||||
}
|
||||
&.next{
|
||||
right: 36px;
|
||||
}
|
||||
}
|
||||
.center {
|
||||
width: 100%;
|
||||
.slide {
|
||||
width: calc( 100vw - 80px );
|
||||
height: calc( (100vw - 80px) * 0.75 );
|
||||
|
||||
img {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@media screen and (max-width: 480px) {
|
||||
.desctop{
|
||||
display: none !important;
|
||||
}
|
||||
.mobile{
|
||||
display: flex !important;
|
||||
}
|
||||
.fullscreen {
|
||||
|
||||
|
||||
.content {
|
||||
position: fixed;
|
||||
display: flex;
|
||||
pointer-events: none;
|
||||
|
||||
|
||||
width:100vw;
|
||||
height:100vh;
|
||||
left: 0;
|
||||
right: 0;
|
||||
}
|
||||
.prev{
|
||||
z-index: 5;
|
||||
margin-right: -50px;
|
||||
}
|
||||
.next{
|
||||
z-index: 5;
|
||||
margin-left: -50px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
publications-list{
|
||||
.add a, .publication-read-more{
|
||||
display: inline-flex;
|
||||
align-items: flex-end;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.items {
|
||||
margin: 24px 0;
|
||||
}
|
||||
|
||||
publications-list-item {
|
||||
display: block;
|
||||
padding: 24px 0;
|
||||
border-top: 1px solid var(--second-dis);
|
||||
&:last-child{
|
||||
border-bottom: 1px solid var(--second-dis);
|
||||
}
|
||||
|
||||
.not-published{
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.date{
|
||||
color: var(--second);
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
|
||||
.excerpt{
|
||||
margin-top: $p;
|
||||
font-family: PT Sans;
|
||||
font-size: 20px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: 32px;
|
||||
}
|
||||
.name{
|
||||
margin-bottom: 24px;
|
||||
}
|
||||
|
||||
.publication-read-more{
|
||||
margin-top: 24px;
|
||||
}
|
||||
|
||||
.content{
|
||||
margin-top: $p;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: $p;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
publication-page {
|
||||
|
||||
.date{
|
||||
color: var(--second);
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
|
||||
.name{
|
||||
margin-bottom: 24px;
|
||||
}
|
||||
|
||||
.content{
|
||||
margin-top: $p;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: $p;
|
||||
};
|
||||
|
||||
.publication-page-back {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
margin-top: 24px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
gellery{
|
||||
.poster{
|
||||
height: 468px;
|
||||
max-width: calc( 100vw - 80px);
|
||||
max-height: calc( (100vw - 80px ) * 0.7 );
|
||||
margin-bottom: 8px;
|
||||
overflow: hidden;
|
||||
cursor: pointer;
|
||||
>img{
|
||||
height: 100%;
|
||||
border: 1px solid var(--second-dis);
|
||||
background-color: var(--second-dis);
|
||||
border-radius: 12px;
|
||||
}
|
||||
}
|
||||
.posters{
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-content: flex-start;
|
||||
gap: 8px;
|
||||
|
||||
.item{
|
||||
width: 72px;
|
||||
height: 52px;
|
||||
border: 1px solid var(--prime);
|
||||
cursor: pointer;
|
||||
:hover{
|
||||
border-color: var(--prime-act);
|
||||
}
|
||||
img{
|
||||
object-fit: cover;
|
||||
object-position: 50% 20%;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
.gellery-fullscreen{
|
||||
position: fixed;
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
z-index: 1000;
|
||||
top:0;
|
||||
left: 0;
|
||||
background-color: gray;
|
||||
swiper-gellery{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
video-section{
|
||||
cursor: pointer;
|
||||
.video-box{
|
||||
max-width: 720px;
|
||||
height: 405px;
|
||||
max-height: 52vw;
|
||||
position: relative;
|
||||
z-index: 0;
|
||||
|
||||
.poster{
|
||||
object-fit: cover;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
.icon{
|
||||
position: absolute;
|
||||
left: 0;
|
||||
right: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
margin: auto;
|
||||
}
|
||||
iframe{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: black;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
.pagination {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
flex-wrap: wrap;
|
||||
gap: 12px;
|
||||
button {
|
||||
background-color: transparent;
|
||||
min-width: 24px;
|
||||
height: 24px;
|
||||
border-radius: 4px;
|
||||
font-weight: 700;
|
||||
font-size: 0.875rem;
|
||||
line-height: 18px;
|
||||
border: 1px solid var(--second);
|
||||
text-align: center;
|
||||
padding: 1px 6px;
|
||||
color: var(--dark);
|
||||
&.active {
|
||||
border-color: var(--prime);
|
||||
color: var(--prime);
|
||||
}
|
||||
&.next {
|
||||
margin-right: 20px;
|
||||
border-color: transparent;
|
||||
font-family: PT Sans;
|
||||
font-size: 16px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: 24px;
|
||||
}
|
||||
}
|
||||
.dots {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
background: transparent url("~src/assets/images/icons/more_horiz_20dp.svg") no-repeat center;
|
||||
}
|
||||
.count {
|
||||
display: flex;
|
||||
justify-content: right;
|
||||
flex-grow: 1;
|
||||
color: var(--black);
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@media screen and (max-width: 767px) {
|
||||
.pagination {
|
||||
.next {
|
||||
display: none;
|
||||
}
|
||||
.count {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,202 @@
|
|||
.registry {
|
||||
.filters{
|
||||
display: flex;
|
||||
gap:24px;
|
||||
align-items: flex-end;
|
||||
}
|
||||
|
||||
.bar {
|
||||
background-color: var(--second);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: 12px 24px;
|
||||
margin-bottom: 24px;
|
||||
.name{
|
||||
color: var(--white);
|
||||
font-family: PT Sans;
|
||||
font-size: 16px;
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
line-height: 24px; /* 150% */
|
||||
}
|
||||
.menu{
|
||||
display: flex;
|
||||
gap: $p;
|
||||
svg{
|
||||
cursor: pointer;
|
||||
color: var(--white);
|
||||
}
|
||||
}
|
||||
drop-down{
|
||||
margin-left: 24px;
|
||||
}
|
||||
}
|
||||
registry-category {
|
||||
display: block;
|
||||
.bar{
|
||||
background-color: var(--light);
|
||||
border-top: 1px solid var(--second-dis);
|
||||
border-bottom: 1px solid var(--second-dis);
|
||||
.name{
|
||||
color: var(--dark);
|
||||
}
|
||||
.menu{
|
||||
svg{
|
||||
color: var(--second);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.top-panel {
|
||||
|
||||
.buttons {
|
||||
margin-bottom: 32px;
|
||||
}
|
||||
|
||||
.filters {
|
||||
padding: 16px 0 24px;
|
||||
|
||||
.search {
|
||||
flex-grow: 1;
|
||||
label {
|
||||
margin-bottom: 2px;
|
||||
color: var(--second);
|
||||
}
|
||||
input {
|
||||
height: 40px;
|
||||
padding: 8px 52px 8px 16px;
|
||||
border: 1px solid (--second-dis);
|
||||
border-radius: 12px;
|
||||
background: #ffffff url('~src/assets/images/icons/search_24dp.svg') calc(100% - 12px) 50% no-repeat;
|
||||
}
|
||||
}
|
||||
.advanced {
|
||||
margin-left: 24px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
registry-entries {
|
||||
display: block;
|
||||
padding-bottom: 24px;
|
||||
}
|
||||
registry-category{
|
||||
.bar {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
padding: 12px 24px;
|
||||
cursor: pointer;
|
||||
.name {
|
||||
margin-right: auto;
|
||||
font-size: 1.125rem;
|
||||
font-weight: 700;
|
||||
}
|
||||
.menu {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
gap: 24px;
|
||||
button {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
}
|
||||
}
|
||||
.expand {
|
||||
margin-left: 48px;
|
||||
button {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
transform: rotateZ(180deg);
|
||||
transition: transform 0.3s;
|
||||
&.less {transform: rotateZ(0);}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.items {
|
||||
min-height: 20px;
|
||||
}
|
||||
|
||||
registry-entry {
|
||||
display: block;
|
||||
padding: 16px 24px;
|
||||
border-bottom: #E8E8E8 solid 1px;
|
||||
&:first-child {
|
||||
border-top: #E8E8E8 solid 1px;
|
||||
}
|
||||
.main {
|
||||
.name {
|
||||
margin-right: 24px;
|
||||
}
|
||||
.menu-entry{
|
||||
display: inline-flex;
|
||||
gap: 24px;
|
||||
}
|
||||
.toggle {
|
||||
margin-left: auto;
|
||||
button {
|
||||
display: block;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
padding: 0;
|
||||
background: transparent url('~src/assets/images/icons/expand_less_20.svg') 50% 50% no-repeat;
|
||||
transform: rotateZ(180deg);
|
||||
transition: transform 0.3s;
|
||||
&.less {
|
||||
transform: rotateZ(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
.state {
|
||||
display: inline-block;
|
||||
padding: 0 8px;
|
||||
border-radius: 10px;
|
||||
background-color: #777777;
|
||||
color: #ffffff;
|
||||
font-size: 0.875rem;
|
||||
font-weight: 700;
|
||||
&.active {background-color: #28A814;}
|
||||
&.suspended,&.cancelled {background-color: #D9235F;}
|
||||
}
|
||||
}
|
||||
|
||||
.details {
|
||||
padding: 16px 0 0;
|
||||
}
|
||||
|
||||
.block {
|
||||
margin-bottom: 16px;
|
||||
&:last-child {margin-bottom: 0}
|
||||
&.row {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
pagination{
|
||||
display: block;
|
||||
padding: 0 24px;
|
||||
&:first-child {
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
&:last-child {
|
||||
margin-top: 12px;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 1330px) {
|
||||
registry-entry {
|
||||
padding: 16px 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,234 @@
|
|||
.slider-bar {
|
||||
|
||||
|
||||
max-width: 720px;
|
||||
|
||||
background-color: #ffffff;
|
||||
|
||||
&.right-side{
|
||||
animation: slide-from-right 0.3s;
|
||||
right: 0;
|
||||
box-shadow: -3px 0 6px 0 rgba(0, 0, 0, 0.16);
|
||||
}
|
||||
|
||||
&.left-side{
|
||||
animation: slide-from-left 0.3s;
|
||||
left: 0;
|
||||
box-shadow: 3px 0 6px 0 rgba(0, 0, 0, 0.16);
|
||||
}
|
||||
|
||||
|
||||
z-index: 110;
|
||||
|
||||
.header {
|
||||
padding: 16px 24px;
|
||||
background: #F8F8F8;
|
||||
box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.12);
|
||||
|
||||
.title {
|
||||
|
||||
|
||||
|
||||
h2 {
|
||||
font-family: PT Sans;
|
||||
font-size: 20px;
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
line-height: 28px;
|
||||
}
|
||||
|
||||
ico{
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.stepper {
|
||||
padding: var(--l) 0 0;
|
||||
.items {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
gap: var(--l);
|
||||
.item {
|
||||
width: 150px;
|
||||
flex-shrink: 1;
|
||||
font-size: 14px;
|
||||
overflow: hidden;
|
||||
.num {
|
||||
position: relative;
|
||||
width: calc(100% - 13px);
|
||||
height: var(--l);
|
||||
padding: 4px 6px;
|
||||
margin: 0 0 4px;
|
||||
border-radius: 2px 0 0 2px;
|
||||
background-color: #E8E9EB;
|
||||
color: #86898E;
|
||||
font-weight: bold;
|
||||
&:after {
|
||||
position: absolute;
|
||||
left: 100%;
|
||||
top: 0;
|
||||
width: 13px;
|
||||
height: 100%;
|
||||
background: transparent url('~src/assets/images/icons/step_upcoming.svg') 100% 50% no-repeat;
|
||||
content: '';
|
||||
}
|
||||
}
|
||||
.name {
|
||||
font-size: 14px;
|
||||
color: #6c6c6c;
|
||||
}
|
||||
&.active {
|
||||
.num {
|
||||
background-color: #B88E12;
|
||||
color: #ffffff;
|
||||
&:after {
|
||||
background-image: url('~src/assets/images/icons/step_active.svg');
|
||||
}
|
||||
}
|
||||
.name {
|
||||
color: #B88E12;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
&.finished {
|
||||
.num {
|
||||
background-color: rgba(184, 142, 18, 0.2);
|
||||
color: #B88E12;
|
||||
&:after {
|
||||
background-image: url('~src/assets/images/icons/step_finished.svg');
|
||||
}
|
||||
}
|
||||
.name {
|
||||
color: #B88E12;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.body {
|
||||
font-family: PT Sans;
|
||||
font-size: 16px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: 24px;
|
||||
|
||||
|
||||
form-frame, object-filters{
|
||||
margin: 36px 24px;
|
||||
display: block;
|
||||
|
||||
.group .title {
|
||||
margin: 16px 0;
|
||||
font-family: PT Sans;
|
||||
font-size: 16px;
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
line-height: 24px;
|
||||
}
|
||||
form-field{
|
||||
margin-bottom: 16px;
|
||||
.field {
|
||||
.caption{
|
||||
font-family: PT Sans;
|
||||
font-size: 16px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: 24px;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
input, textarea, .combobox, .area p{
|
||||
|
||||
border-radius: 4px;
|
||||
padding: 8px 12px;
|
||||
font-family: PT Sans;
|
||||
font-size: 16px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: 24px;
|
||||
}
|
||||
input{
|
||||
height: 40px;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
[footer] {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
padding: 16px 24px;
|
||||
background: #F8F8F8;
|
||||
box-shadow: 0px -2px 8px 0px rgba(0, 0, 0, 0.12);
|
||||
|
||||
button{
|
||||
font-family: PT Sans;
|
||||
font-size: 14px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: 24px; /* 171.429% */
|
||||
letter-spacing: 0.56px;
|
||||
text-transform: uppercase;
|
||||
border-radius: 4px;
|
||||
padding: 8px 20px;
|
||||
}
|
||||
|
||||
.left {
|
||||
.reset {
|
||||
color: #6C6C6C;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.notice {
|
||||
font-family: PT Sans;
|
||||
font-size: 16px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: 24px;
|
||||
}
|
||||
}
|
||||
|
||||
.right {
|
||||
margin-left: auto;
|
||||
display: flex;
|
||||
button {
|
||||
margin-left: var(--l);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.slider-overlay {
|
||||
|
||||
background-color: rgba(0, 0, 0, 0.37);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@media screen and (max-width: 767px) {
|
||||
.slider-bar {
|
||||
.header, .footer {
|
||||
padding: var(--m);
|
||||
}
|
||||
|
||||
[footer] {
|
||||
.left {
|
||||
font-size: 14px;
|
||||
}
|
||||
.right {
|
||||
button {
|
||||
padding: var(--s) var(--m);
|
||||
margin-left: var(--m);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,60 @@
|
|||
table.default {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
tr {
|
||||
td {
|
||||
padding: 6px 0;
|
||||
&.caption {
|
||||
width: 232px;
|
||||
padding-right: 24px;
|
||||
color: #86898E;
|
||||
vertical-align: top;
|
||||
}
|
||||
&.value {
|
||||
vertical-align: top;
|
||||
p {
|
||||
margin: 0 0 12px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
&.lined {
|
||||
tr {
|
||||
td {
|
||||
border-bottom: #e0e0e0 solid 1px;
|
||||
}
|
||||
&:last-child {
|
||||
td {
|
||||
border-bottom: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@media screen and (max-width: 767px) {
|
||||
table.default {
|
||||
tr {
|
||||
display: block;
|
||||
td {
|
||||
display: block;
|
||||
padding: 0;
|
||||
b {
|
||||
display: block;
|
||||
padding: 14px 0 0;
|
||||
}
|
||||
&.caption {
|
||||
width: 100%;
|
||||
margin: 14px 0 6px;
|
||||
}
|
||||
&.value {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
&.lined tr td {
|
||||
border-bottom: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
.tabs.default {
|
||||
display: flex;
|
||||
margin-bottom: 32px;
|
||||
max-width: 100%;
|
||||
overflow: auto;
|
||||
box-shadow: inset 0px -1px var(--second-dis);
|
||||
-webkit-overflow-scrolling: touch;
|
||||
&.simple {
|
||||
margin-bottom: 24px;
|
||||
}
|
||||
>div{
|
||||
margin-right: -1px;
|
||||
button {
|
||||
padding: 8px 20px;
|
||||
background: #ffffff;
|
||||
border-radius: 4px 4px 0 0;
|
||||
border: var(--prime) solid 1px;
|
||||
color: var(--prime);
|
||||
font-family: PT Sans;
|
||||
font-size: 16px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: 24px; /* 150% */
|
||||
cursor: pointer;
|
||||
&:last-child {
|
||||
margin-right: 0;
|
||||
}
|
||||
span {
|
||||
white-space: nowrap;
|
||||
}
|
||||
&:last-child {
|
||||
|
||||
}
|
||||
&.active {
|
||||
color: #ffffff;
|
||||
background-color: var(--prime);
|
||||
border-color: var(--prime)
|
||||
}
|
||||
&.disabled {
|
||||
opacity: 0.7;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
&:hover {
|
||||
background-color: var(--prime-act);
|
||||
border-color: var(--prime-act);
|
||||
color: #ffffff;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue