|
1 | 1 | <!-- @format --> |
2 | 2 |
|
3 | | -<!-- <app-bar |
4 | | - class="bar" |
5 | | - [links]="[ |
6 | | - { |
7 | | - link: '/office/program' + '/' + programId!.toString(), |
8 | | - linkText: 'Страница программы', |
9 | | - isRouterLinkActiveOptions: true, |
10 | | - }, |
11 | | -
|
12 | | - { |
13 | | - link: '/office/program' + '/' + programId!.toString() + '/' + 'projects', |
14 | | - linkText: 'Проекты-участники', |
15 | | - isRouterLinkActiveOptions: false, |
16 | | - }, |
17 | | -
|
18 | | - { |
19 | | - link: '/office/program' + '/' + programId!.toString() + '/' + 'members', |
20 | | - linkText: 'Участники', |
21 | | - isRouterLinkActiveOptions: false, |
22 | | - }, |
23 | | - ]" |
24 | | -></app-bar> --> |
25 | | - |
26 | 3 | @if (program) { |
27 | 4 | <main class="project"> |
28 | 5 | <section class="program__main"> |
|
49 | 26 |
|
50 | 27 | <div class="info__body"> |
51 | 28 | <div class="info__actions"> |
52 | | - @if (!program.isUserMember && !registerDateExpired) { @if |
| 29 | + @if (!program.isUserMember && !program.isUserManager && !registerDateExpired) { @if |
53 | 30 | (program.name.includes("Кейс-чемпионат MIR")) { |
54 | 31 | <a href="https://case-champ.ru/corporate#rec1176757836"> |
55 | | - <app-button appearance="outline" size="medium" customTypographyClass="text-body-12" |
56 | | - >Зарегистрироваться</app-button |
57 | | - > |
| 32 | + <app-button appearance="outline" size="medium" customTypographyClass="text-body-12"> |
| 33 | + зарегистрироваться |
| 34 | + </app-button> |
58 | 35 | </a> |
59 | 36 | } @else { |
60 | 37 | <a [routerLink]="['/office/program', program.id, 'register']"> |
61 | | - <app-button appearance="outline" size="medium" customTypographyClass="text-body-12" |
62 | | - >Зарегистрироваться</app-button |
63 | | - > |
| 38 | + <app-button appearance="outline" size="medium" customTypographyClass="text-body-12"> |
| 39 | + зарегистрироваться |
| 40 | + </app-button> |
64 | 41 | </a> |
65 | | - } } @else if (program.isUserMember || program.isUserManager) { |
| 42 | + } } @else if (program.isUserMember) { |
66 | 43 | <app-button |
67 | 44 | size="medium" |
68 | | - (click)="addProject()" |
| 45 | + (click)="toggleSubmitProjectModal()" |
69 | 46 | customTypographyClass="text-body-12 bar__add-project" |
70 | 47 | > |
71 | 48 | <span class="bar__add-project-text">подать проект</span> |
72 | 49 | <i appIcon icon="plus" appSquare="10"></i> |
73 | 50 | </app-button> |
| 51 | + } @else if (program.isUserManager) { |
| 52 | + <a [routerLink]="'/office/program/' + program.id + '/projects-rating'"> |
| 53 | + <app-button appearance="outline" size="medium" customTypographyClass="text-body-12"> |
| 54 | + оценка проектов |
| 55 | + </app-button> |
| 56 | + </a> |
74 | 57 | } |
75 | 58 |
|
76 | 59 | <a |
|
90 | 73 | </a> |
91 | 74 |
|
92 | 75 | <!-- TODO: внести ссылку на сайт программы когда это поле будет на бэке --> |
| 76 | + @if (!program.isUserManager) { |
93 | 77 | <a class="info__more" [href]="program.presentationAddress" target="_blank"> |
94 | 78 | <app-button appearance="outline" size="medium" customTypographyClass="text-body-12" |
95 | 79 | >узнать подробнее</app-button |
96 | 80 | > |
97 | 81 | </a> |
98 | | - |
| 82 | + } @else { |
| 83 | + <a [routerLink]="'/office/program/' + program.id + '/projects'"> |
| 84 | + <app-button appearance="outline" size="medium" customTypographyClass="text-body-12"> |
| 85 | + проекты-участники |
| 86 | + </app-button> |
| 87 | + </a> |
| 88 | + } @if (!program.isUserManager) { |
99 | 89 | <!-- добавить информацию с ссылок или чего-то в дизайне телефон но не у каждой программы есть телефон в контактах --> |
100 | 90 | <a class="info__contacts"> |
101 | 91 | <app-button appearance="outline" size="medium" customTypographyClass="text-body-12" |
102 | 92 | >информация с ссылок</app-button |
103 | 93 | > |
104 | 94 | </a> |
| 95 | + } @else { |
| 96 | + <a [routerLink]="'/office/program/' + program.id + '/projects'"> |
| 97 | + <app-button appearance="outline" size="medium" customTypographyClass="text-body-12"> |
| 98 | + участники |
| 99 | + </app-button> |
| 100 | + </a> |
| 101 | + } |
105 | 102 | </div> |
106 | 103 | </div> |
107 | 104 | </div> |
108 | 105 |
|
109 | 106 | <!-- advertisementImageAddress поле только для тех кто не участник программы поэтому нельзя сделать toggle и давать появляться или нет полю --> |
110 | | - @if (!program.isUserMember && !showDetails) { |
| 107 | + @if ((!program.isUserMember || program.isUserManager) && !showDetails) { |
111 | 108 | <div class="program__advertisement"> |
112 | 109 | <img [src]="program.advertisementImageAddress" [alt]="program.name" /> |
113 | 110 | </div> |
114 | | - } @else if (program.isUserMember && showDetails) { |
| 111 | + } @else if ((program.isUserMember && showDetails) || program.isUserManager) { |
115 | 112 | <div class="program__details"> |
116 | 113 | <div class="program__left"> |
117 | 114 | <aside class="program__aside"> |
118 | | - @if (program.isUserMember && (program.links?.length && program.links)) { |
119 | | - <div class="links program__section"> |
120 | | - <h3 class="links__title text-body-12">контакты</h3> |
121 | | - <ul> |
122 | | - @for (link of program.links; track $index) { |
123 | | - <li class="contact-link links__item text-body-10"> |
124 | | - @if (link | userLinks; as l) { |
125 | | - <a |
126 | | - class="contact-link__link" |
127 | | - target="_blank" |
128 | | - [href]="link.includes('@') ? 'mailto:' + link : link" |
| 115 | + @if (program.isUserMember) { |
| 116 | + <div class="program__analytics"> |
| 117 | + <div class="analytics"> |
| 118 | + <div class="analytics__soon"> |
| 119 | + <div class="analytics__closed"> |
| 120 | + <i appIcon icon="lock" appSquare="10"></i> |
| 121 | + <span class="text-body-6 analytics__closed--text">пока закрыто</span> |
| 122 | + </div> |
| 123 | + <app-button customTypographyClass="text-body-6" color="green" size="extra-small" |
| 124 | + >скоро</app-button |
129 | 125 | > |
130 | | - <i class="contact-link__icon" appIcon [icon]="l.iconName" appSquare="16"></i> |
131 | | - <span>{{ l.tag }}</span> |
132 | | - </a> |
133 | | - } |
134 | | - </li> |
135 | | - } |
136 | | - </ul> |
| 126 | + </div> |
| 127 | + |
| 128 | + <div class="analytics__info"> |
| 129 | + <p class="text-body-12">аналитика</p> |
| 130 | + <p class="text-body-6"> |
| 131 | + уровень включённости студентов, статистика достижения целей в проектах |
| 132 | + </p> |
| 133 | + </div> |
| 134 | + </div> |
137 | 135 | </div> |
138 | 136 | } |
139 | 137 | </aside> |
@@ -255,4 +253,55 @@ <h3 class="links__title text-body-12">материалы</h3> |
255 | 253 | > |
256 | 254 | </div> |
257 | 255 | </app-modal> |
| 256 | + |
| 257 | +<app-modal [open]="showSubmitProjectModal()" (openChange)="toggleSubmitProjectModal()"> |
| 258 | + <div class="cancel"> |
| 259 | + <div class="cancel__top"> |
| 260 | + <i |
| 261 | + (click)="toggleSubmitProjectModal()" |
| 262 | + appIcon |
| 263 | + appSquare="24" |
| 264 | + icon="cross" |
| 265 | + class="cancel__cross" |
| 266 | + ></i> |
| 267 | + <p class="cancel__title text-body-14">выберите проект для подачи</p> |
| 268 | + <p class="cancel__text text-body-10" style="width: 41%"> |
| 269 | + после выбора проекта будет создан дубликат данного проекта для заполнения под конкретный |
| 270 | + конкурс |
| 271 | + </p> |
| 272 | + |
| 273 | + <div class="project"> |
| 274 | + <ul class="project__list" [class.project__list--scrollable]="memberProjects.length > 3"> |
| 275 | + @for (project of memberProjects; track project.id) { |
| 276 | + <li class="project__item"> |
| 277 | + <div class="project__item--info"> |
| 278 | + <app-avatar [url]="project.imageAddress" [size]="40"></app-avatar> |
| 279 | + <p class="text-body-12"> |
| 280 | + {{ project.name }} |
| 281 | + </p> |
| 282 | + </div> |
| 283 | + <app-input |
| 284 | + type="radio" |
| 285 | + name="goalLeaderSelection" |
| 286 | + [appValue]="project.id.toLocaleString()" |
| 287 | + [checked]="selectedProjectId === project.id" |
| 288 | + (change)="onProjectRadioChange($event)" |
| 289 | + ></app-input> |
| 290 | + </li> |
| 291 | + } |
| 292 | + </ul> |
| 293 | + </div> |
| 294 | + </div> |
| 295 | + |
| 296 | + <app-button |
| 297 | + size="medium" |
| 298 | + class="cancel__button" |
| 299 | + customTypographyClass="text-body-12" |
| 300 | + [disabled]="!selectedProjectId" |
| 301 | + (click)="addProjectModal()" |
| 302 | + > |
| 303 | + выбрать проект |
| 304 | + </app-button> |
| 305 | + </div> |
| 306 | +</app-modal> |
258 | 307 | } |
0 commit comments