66 </ section >
77
88 < div class ="detail__body ">
9- @if (info) {
9+ @if (info() ) {
1010 < div class ="info detail__section detail__info ">
1111 < div class ="info__cover " [class.info__cover--program] ="listType === 'program' ">
1212 < img
1313 class ="info__cover "
1414 [class.info__cover--program] ="listType === 'program' "
1515 [src] ="
16- info.coverImageAddress
17- ? info.coverImageAddress
16+ info() .coverImageAddress
17+ ? info() .coverImageAddress
1818 : '/assets/images/office/profile/detail/cover.png'
1919 "
2020 alt ="cover "
2626 >
2727 @if (chatService.userOnlineStatusCache | async; as cache) {
2828 < app-avatar
29- [url] ="listType === 'profile' ? info.avatar : info.imageAddress "
29+ [url] ="listType === 'profile' ? info() .avatar : info() .imageAddress "
3030 [hasBorder] ="true "
3131 [borderColor] ="listType === 'project' ? 'white' : 'dark-grey' "
32- [progress] ="info.progress "
32+ [progress] ="info() .progress "
3333 [onlineBadgeSize] ="15 "
3434 [onlineBadgeBorder] ="0 "
3535 [onlineBadgeOffset] ="8 "
3636 [size] ="listType === 'project' || listType === 'profile' ? 110 : 123 "
37- [isOnline] ="cache[info.id] !== undefined ? cache[info.id] : info.isOnline "
37+ [isOnline] ="cache[info() .id] !== undefined ? cache[info() .id] : info() .isOnline "
3838 > </ app-avatar >
3939 @if (listType === 'project' || listType === 'profile') {
4040 < h1 class ="info__title text-body-12 ">
41- {{ listType === "project" ? info.name : info.firstName + " " + info.lastName }}
41+ {{
42+ listType === "project"
43+ ? info().name
44+ : listType === "profile"
45+ ? info().firstName + " " + info().lastName
46+ : ""
47+ }}
4248 </ h1 >
4349 } }
4450 </ div >
@@ -55,14 +61,14 @@ <h1 class="info__title text-body-12">
5561
5662 < ng-template #programTpl >
5763 @if (!isUserMember && !isUserManager && !registerDateExpired) { @if
58- (info.name.includes("Кейс-чемпионат MIR")) {
64+ (info() .name.includes("Кейс-чемпионат MIR")) {
5965 < a href ="https://case-champ.ru/corporate#rec1176757836 ">
6066 < app-button appearance ="outline " size ="medium " customTypographyClass ="text-body-12 ">
6167 зарегистрироваться
6268 </ app-button >
6369 </ a >
6470 } @else {
65- < a [routerLink] ="['/office/program', info.id, 'register'] ">
71+ < a [routerLink] ="['/office/program', info() .id, 'register'] ">
6672 < app-button appearance ="outline " size ="medium " customTypographyClass ="text-body-12 ">
6773 зарегистрироваться
6874 </ app-button >
@@ -77,7 +83,7 @@ <h1 class="info__title text-body-12">
7783 < i appIcon icon ="plus " appSquare ="10 "> </ i >
7884 </ app-button >
7985 } @else if (isUserManager) {
80- < a [routerLink] ="'/office/program/' + info.id + '/projects-rating' ">
86+ < a [routerLink] ="'/office/program/' + info() .id + '/projects-rating' ">
8187 < app-button
8288 [appearance] ="isProjectsRatingPage ? 'inline' : 'outline' "
8389 size ="medium "
@@ -90,7 +96,7 @@ <h1 class="info__title text-body-12">
9096
9197 < a
9298 class ="info__presentation "
93- [href] ="info.presentationAddress "
99+ [href] ="info() .presentationAddress "
94100 download =""
95101 target ="_blank "
96102 >
@@ -102,7 +108,7 @@ <h1 class="info__title text-body-12">
102108 customTypographyClass ="text-body-12 "
103109 >
104110 < span > {{
105- info.name.includes("Технолидеры Будущего")
111+ info() .name.includes("Технолидеры Будущего")
106112 ? "Каталог лучших стартапов 2022/23"
107113 : isUserManager
108114 ? "аналитика"
@@ -138,7 +144,7 @@ <h1 class="info__title text-body-12">
138144 </ app-button >
139145 </ a >
140146 } @else {
141- < a [routerLink] ="'/office/program/' + info.id + '/projects' ">
147+ < a [routerLink] ="'/office/program/' + info() .id + '/projects' ">
142148 < app-button
143149 [appearance] ="isProjectsPage ? 'inline' : 'outline' "
144150 size ="medium "
@@ -159,7 +165,7 @@ <h1 class="info__title text-body-12">
159165 </ app-button >
160166 </ a >
161167 } @else {
162- < a [routerLink] ="'/office/program/' + info.id + '/members' ">
168+ < a [routerLink] ="'/office/program/' + info() .id + '/members' ">
163169 < app-button
164170 [appearance] ="isMembersPage ? 'inline' : 'outline' "
165171 size ="medium "
@@ -246,8 +252,8 @@ <h1 class="info__title text-body-12">
246252 </ ng-template >
247253
248254 < ng-template #projectTpl >
249- @if (!isInProject && profile?.userType !== 1) { @if (info.presentationAddress) {
250- < a class ="info__presentation " [href] ="info.presentationAddress " target ="_blank ">
255+ @if (!isInProject && profile?.userType !== 1) { @if (info() .presentationAddress) {
256+ < a class ="info__presentation " [href] ="info() .presentationAddress " target ="_blank ">
251257 < app-button appearance ="outline " size ="medium " customTypographyClass ="text-body-12 ">
252258 < span > презентация</ span >
253259 < i appIcon icon ="arrow-down " appSquare ="6 "> </ i >
@@ -270,7 +276,7 @@ <h1 class="info__title text-body-12">
270276 } @else {
271277 < app-button
272278 [appearance] ="isProjectChatPage ? 'inline' : 'outline' "
273- [routerLink] ="'/office/projects/' + info.id + '/chat' "
279+ [routerLink] ="'/office/projects/' + info() .id + '/chat' "
274280 appearance ="outline "
275281 size ="medium "
276282 customTypographyClass ="text-body-12 "
@@ -282,19 +288,21 @@ <h1 class="info__title text-body-12">
282288 < div class ="info__divider "> </ div >
283289
284290 < app-button
285- [routerLink] ="'/office/projects/' + info.id + '/team' "
291+ [routerLink] ="'/office/projects/' + info() .id + '/team' "
286292 [appearance] ="isTeamPage ? 'inline' : 'outline' "
287293 size ="medium "
288294 customTypographyClass ="text-body-12 "
289295 >
290296 команда
291297 </ app-button >
292298
293- @if (isInProject) { @if (profile) { @if (profile.id === info.leader) {
299+ @if (isInProject) { @if (profile) { @if (profile.id === info() .leader) {
294300 < a
295301 class ="info__edit "
296302 [routerLink] ="
297- isEditDisable ? ['/office/projects', info.id] : ['/office/projects', info.id, 'edit']
303+ isEditDisable
304+ ? ['/office/projects', info().id]
305+ : ['/office/projects', info().id, 'edit']
298306 "
299307 [queryParams] ="isEditDisable ? {} : { editingStep: 'main' } "
300308 >
@@ -347,7 +355,7 @@ <h3>Выход из проекта</h3>
347355 </ app-modal >
348356 } @else {
349357 < app-button
350- [routerLink] ="'/office/projects/' + info.id + '/vacancies' "
358+ [routerLink] ="'/office/projects/' + info() .id + '/vacancies' "
351359 [appearance] ="isVacanciesPage ? 'inline' : 'outline' "
352360 size ="medium "
353361 customTypographyClass ="text-body-12 "
@@ -359,8 +367,7 @@ <h3>Выход из проекта</h3>
359367
360368 < ng-template #profileTpl >
361369 @if (profile) {
362- < div class ="profile__btns ">
363- < a class ="profile__cv ">
370+ <!-- <a class="profile__cv">
364371 @if(isSubscriptionActive()){
365372 <app-button
366373 (click)="sendCVEmail()"
@@ -370,47 +377,74 @@ <h3>Выход из проекта</h3>
370377 Скачать CV
371378 </app-button>
372379 }
373- </ a >
380+ </a> -->
374381
375- @if (+profile.id !== +info.id) {
376- < a
377- class ="info__send-message "
378- [routerLink] ="['/office/chats', profile.id + '_' + info.id] "
382+ < app-button
383+ style ="opacity: 0.5 "
384+ size ="medium "
385+ appearance ="outline "
386+ [disabled] ="true "
387+ customTypographyClass ="text-body-12 "
388+ > подтвердить навыки</ app-button
389+ >
390+
391+ < app-button
392+ style ="opacity: 0.5 "
393+ size ="medium "
394+ appearance ="outline "
395+ [disabled] ="true "
396+ customTypographyClass ="text-body-12 "
397+ > поделится профилем</ app-button
398+ >
399+
400+ < div class ="info__divider "> </ div >
401+
402+ < app-button
403+ style ="opacity: 0.5 "
404+ size ="medium "
405+ appearance ="outline "
406+ [disabled] ="true "
407+ customTypographyClass ="text-body-12 "
408+ > пригласить</ app-button
409+ >
410+
411+ @if (+profile.id !== +info().id) {
412+ < a
413+ class ="info__send-message "
414+ [routerLink] ="['/office/chats', profile.id + '_' + info().id] "
415+ >
416+ < app-button appearance ="outline " size ="medium " customTypographyClass ="text-body-12 "
417+ > написать</ app-button
379418 >
380- < app-button appearance ="outline " size ="medium " customTypographyClass ="text-body-12 "
381- > написать</ app-button
419+ </ a >
420+ } @else {
421+ < a
422+ class ="profile__edit "
423+ routerLink ="/office/profile/edit "
424+ [queryParams] ="{ editingStep: 'main' } "
425+ >
426+ < app-button appearance ="outline " size ="medium " customTypographyClass ="text-body-12 ">
427+ {{
428+ info().progress! === 100 ? "редактировать профиль" : "закончить заполнение резюме"
429+ }}
430+ @if (info().progress !== 100) {
431+ < i
432+ appIcon
433+ icon ="accent-error "
434+ appSquare ="16 "
435+ (mouseenter) ="showTooltip() "
436+ (mouseleave) ="hideTooltip() "
437+ style ="color: var(--accent); margin-left: 5px "
438+ > </ i >
439+ < span
440+ class ="profile__tooltip text-body-12 "
441+ [class.profile__tooltip--visible] ="isTooltipVisible "
442+ > {{ tooltipText }}</ span
382443 >
383- </ a >
384- } @else {
385- < a
386- class ="profile__edit "
387- routerLink ="/office/profile/edit "
388- [queryParams] ="{ editingStep: 'main' } "
389- >
390- < app-button appearance ="outline " size ="medium " customTypographyClass ="text-body-12 ">
391- {{
392- info.progress! === 100 ? "редактировать профиль" : "закончить заполнение резюме"
393- }}
394- @if (info.progress !== 100) {
395- < i
396- appIcon
397- icon ="accent-error "
398- appSquare ="16 "
399- (mouseenter) ="showTooltip() "
400- (mouseleave) ="hideTooltip() "
401- style ="color: var(--accent); margin-left: 5px "
402- > </ i >
403- < span
404- class ="profile__tooltip text-body-12 "
405- [class.profile__tooltip--visible] ="isTooltipVisible "
406- > {{ tooltipText }}</ span
407- >
408- }
409- </ app-button >
410- </ a >
411- }
412- </ div >
413- } @if (profile) { @if (profile.id === info.id) {
444+ }
445+ </ app-button >
446+ </ a >
447+ } } @if (profile) { @if (profile.id === info().id) {
414448 < app-modal [open] ="isProfileFill " (openChange) ="isProfileFill = !isProfileFill ">
415449 < div class ="cancel ">
416450 < img
0 commit comments