Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
afaba37
add kanban-board page & columns & task components
Awakich Nov 11, 2025
42b4ca2
add styles for kanban-board, columns, tasks components
Awakich Nov 11, 2025
41a71f7
add detail task, task, mapper for color priority
Awakich Nov 12, 2025
c33a1f6
add styles for task-detail, task
Awakich Nov 12, 2025
ce82961
filled & empty design of task-detail, models for kanban, badge component
Awakich Nov 13, 2025
d4e74c3
add colors for badge, styles for badge, task-detail type filled & empty
Awakich Nov 13, 2025
d033e35
add form & initialization for task-detail, add dropdown, create-tag c…
Awakich Nov 18, 2025
2e530f8
add styles for kanban task-deatail, create-tag-form, dropdown, tag co…
Awakich Nov 18, 2025
0cc1b76
Merge branch 'master' into kanban-board
Awakich Nov 19, 2025
21dd8eb
add creating/updating tagsLib, adding/editing skills, tags, goals, ma…
Awakich Nov 21, 2025
a45b191
add styles for skills modal, tag, task-detail
Awakich Nov 21, 2025
e8eef36
Merge branch 'master' into kanban-board
Awakich Nov 24, 2025
d55532a
add comments & rename columns mock
Awakich Nov 25, 2025
3b566ec
add styles for rename column
Awakich Nov 25, 2025
b8a51c3
add comments in detail task, dto's for task detail form, drag & drop …
Awakich Nov 27, 2025
e6f0722
add styles for tasks & task-detail
Awakich Nov 27, 2025
b9c6f20
Merge branch 'master' into kanban-board
Awakich Nov 27, 2025
c3c458c
Merge branch 'master' into kanban-board
Awakich Nov 30, 2025
bf5469e
fix services of program & project to signals, add service for kanban …
Awakich Nov 30, 2025
6292b79
add styles for task-detail for accept task
Awakich Nov 30, 2025
eb656f3
add sidebar info & creating for for board, services for board, task-d…
Awakich Dec 2, 2025
b09b37b
Merge branch 'master' into kanban-board
Awakich Dec 7, 2025
4213695
fix routing for kanban several boards & update news-card for views & …
Awakich Dec 9, 2025
727486c
add styles for news-card
Awakich Dec 9, 2025
eb5f9c2
rewrite architecture to api, domain, ui
Awakich Dec 11, 2025
d2ee4ca
add facades for components & ui facades
Awakich Jan 20, 2026
61a744f
fix
Awakich Jan 20, 2026
fe266d2
Merge branch 'master' into kanban-board
Awakich Jan 20, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
22 changes: 22 additions & 0 deletions projects/core/src/consts/lists/actiion-type-list.const.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
/** @format */

export const actionTypeList = [
{
id: 1,
value: "action",
label: "действие",
additionalInfo: "task",
},
{
id: 2,
value: "call",
label: "звонок",
additionalInfo: "phone",
},
{
id: 3,
value: "meet",
label: "встреча",
additionalInfo: "people-bold",
},
];
47 changes: 47 additions & 0 deletions projects/core/src/consts/lists/priority-info-list.const.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
/**
* Информация для приоритетов
*
* @format
* @field name - выбор в выпадающем списке
* @field color - цвет для определенного типа приоритета
* @field priorityType - значение (от 0 до 5), которое соотносится на бэке
*/

export const priorityInfoList = [
{
id: 1,
label: "бэклог",
color: "#322299",
priorityType: 1,
},
{
id: 2,
label: "в ближайшие часы",
color: "#A63838",
priorityType: 2,
},
{
id: 3,
label: "высокий",
color: "#D48A9E",
priorityType: 3,
},
{
id: 4,
label: "средний",
color: "#E5B25D",
priorityType: 4,
},
{
id: 5,
label: "низкий",
color: "#297373",
priorityType: 5,
},
{
id: 6,
label: "улучшение",
color: "#88C9A1",
priorityType: 6,
},
];
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/** @format */

import { EditStep } from "@office/projects/edit/services/project-step.service";
import { EditStep } from "projects/social_platform/src/app/api/project/project-step.service";

/**
* Элементы навигации для редактирования проекта
Expand Down
14 changes: 14 additions & 0 deletions projects/core/src/consts/other/kanban-column-info.const.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
/** @format */

export const kanbanColumnInfo = [
{
id: 1,
label: "редактировать",
value: "edit",
},
{
id: 2,
label: "удалить",
value: "delete",
},
];
19 changes: 19 additions & 0 deletions projects/core/src/consts/other/kanban-icons.const.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
/** @format */

export const KanbanIcons = [
{ id: 0, name: "task", value: "task" },
{ id: 1, name: "key", value: "key" },
{ id: 2, name: "command", value: "command" },
{ id: 3, name: "anchor", value: "anchor" },
{ id: 4, name: "in-search", value: "in-search" },
{ id: 5, name: "suitcase", value: "suitcase" },
{ id: 6, name: "person", value: "person" },
{ id: 7, name: "deadline", value: "deadline" },
{ id: 8, name: "main", value: "main" },
{ id: 9, name: "attach", value: "attach" },
{ id: 10, name: "send", value: "send" },
{ id: 11, name: "contacts", value: "contacts" },
{ id: 12, name: "graph", value: "graph" },
{ id: 13, name: "phone", value: "phone" },
{ id: 14, name: "people-bold", value: "people-bold" },
];
24 changes: 24 additions & 0 deletions projects/core/src/consts/other/quick-answers.const.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
/** @format */

export const QuickAnswers = [
{
id: 1,
title: "у работы нет результата",
},
{
id: 2,
title: "задача была нереальной",
},
{
id: 3,
title: "нет ссылок",
},
{
id: 4,
title: "результат плохо выполнен",
},
{
id: 5,
title: "результат требует доработок",
},
];
44 changes: 44 additions & 0 deletions projects/core/src/consts/other/tag-colors.const.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
/** @format */

export const tagColors = [
{
id: 1,
name: "accent",
color: "#8A63E6",
},
{
id: 2,
name: "accent-medium",
color: "#9764BA",
},
{
id: 3,
name: "blue-dark",
color: "#2F36AA",
},
{
id: 4,
name: "cyan",
color: "#4CD9F1",
},
{
id: 5,
name: "complete",
color: "#88C9A1",
},
{
id: 6,
name: "red",
color: "#D48A9E",
},
{
id: 7,
name: "gold",
color: "#E5B25D",
},
{
id: 8,
name: "green-dark",
color: "#297373",
},
];
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/** @format */

export const trajectoryMoreList = [
export const trajectoryMore = [
{
label: "Работа с наставником",
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ import { TestBed } from "@angular/core/testing";

import { AuthRequiredGuard } from "./auth-required.guard";
import { RouterTestingModule } from "@angular/router/testing";
import { AuthService } from "../services";
import { of } from "rxjs";
import { ActivatedRouteSnapshot, RouterStateSnapshot } from "@angular/router";
import { AuthService } from "projects/social_platform/src/app/api/auth";

describe("AuthRequiredGuard", () => {
beforeEach(() => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

import { inject } from "@angular/core";
import { CanActivateFn, Router } from "@angular/router";
import { AuthService } from "../services";
import { catchError, map } from "rxjs";
import { TokenService } from "@corelib";
import { AuthService } from "projects/social_platform/src/app/api/auth";

/**
* Guard для проверки аутентификации пользователя
Expand Down
36 changes: 36 additions & 0 deletions projects/core/src/lib/guards/kanban/kanban.guard.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
/** @format */

import { inject } from "@angular/core";
import { ActivatedRouteSnapshot, CanActivateFn, Router, UrlTree } from "@angular/router";
import { User } from "projects/social_platform/src/app/domain/auth/user.model";
import { Collaborator } from "projects/social_platform/src/app/domain/project/collaborator.model";
import { ProjectService } from "projects/social_platform/src/app/api/project/project.service";
import { catchError, map, Observable, of, switchMap } from "rxjs";
import { AuthService } from "projects/social_platform/src/app/api/auth";

export const KanbanBoardGuard: CanActivateFn = (
route: ActivatedRouteSnapshot
): Observable<UrlTree | boolean> => {
const router = inject(Router);
const projectService = inject(ProjectService);
const authService = inject(AuthService);

const projectId = Number(route.parent?.params["projectId"]);

if (!projectId) return of(router.createUrlTree([`/office/projects/${projectId}/`]));

return authService.profile.pipe(
switchMap((user: User) =>
projectService.getOne(projectId).pipe(
map(project => {
const isInProject = project.collaborators.some(
(collaborator: Collaborator) => collaborator.userId === user.id
);

return isInProject ? true : router.createUrlTree([`/office/projects/${projectId}`]);
}),
catchError(() => of(router.createUrlTree(["/office/projects"])))
)
)
);
};
28 changes: 28 additions & 0 deletions projects/core/src/lib/guards/profile-edit/profile-edit.guard.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
/** @format */

import { inject, signal } from "@angular/core";
import { ActivatedRouteSnapshot, CanActivateFn, Router, UrlTree } from "@angular/router";
import { AuthService } from "projects/social_platform/src/app/api/auth";
import { Observable, of } from "rxjs";

export const ProfileEditRequiredGuard: CanActivateFn = (
route: ActivatedRouteSnapshot
): Observable<boolean | UrlTree> => {
const router = inject(Router);
const authService = inject(AuthService);

const loggedUserId = signal<number | undefined>(undefined);

authService.profile.subscribe({
next: profile => {
loggedUserId.set(profile.id);
},
});

const profileId = Number(route.paramMap.get("id"));
if (profileId !== loggedUserId()) {
return of(router.createUrlTree([`/office/profile/${profileId}/`]));
}

return of(router.createUrlTree([`/office/profel/${profileId}/`]));
};
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { inject } from "@angular/core";
import { ActivatedRouteSnapshot, CanActivateFn, Router, UrlTree } from "@angular/router";
import { Observable, of } from "rxjs";
import { catchError, map } from "rxjs/operators";
import { ProjectService } from "@office/services/project.service";
import { ProjectService } from "projects/social_platform/src/app/api/project/project.service";

export const ProjectEditRequiredGuard: CanActivateFn = (
route: ActivatedRouteSnapshot
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
import { TestBed } from "@angular/core/testing";

import { BearerTokenInterceptor } from "./bearer-token.interceptor";
import { AuthService } from "@auth/services";
import { HttpClientTestingModule } from "@angular/common/http/testing";
import { RouterTestingModule } from "@angular/router/testing";
import { AuthService } from "projects/social_platform/src/app/api/auth";

describe("BearerTokenInterceptor", () => {
beforeEach(() => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/** @format */

import { FormControlPipe } from "./form-control.pipe";
import { FormControlPipe } from "../form-control.pipe";

describe("FormControlPipe", () => {
it("create an instance", () => {
Expand Down
File renamed without changes.
14 changes: 7 additions & 7 deletions projects/core/src/lib/pipes/index.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
/** @format */

export * from "./control-error.pipe";
export * from "./dayjs.pipe";
export * from "./form-control.pipe";
export * from "./parse-breaks.pipe";
export * from "./parse-links.pipe";
export * from "./pluralize.pipe";
export * from "./years-from-birthday.pipe";
export * from "./controls/control-error.pipe";
export * from "./formatters/dayjs.pipe";
export * from "./controls/form-control.pipe";
export * from "./formatters/parse-breaks.pipe";
export * from "./formatters/parse-links.pipe";
export * from "./formatters/pluralize.pipe";
export * from "./formatters/years-from-birthday.pipe";
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/** @format */

import { UserLinksPipe } from "./user-links.pipe";
import { UserLinksPipe } from "../user-links.pipe";

describe("UserLinksPipe", () => {
it("create an instance", () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/** @format */

import { UserRolePipe } from "./user-role.pipe";
import { AuthService } from "@auth/services";
import { AuthService } from "projects/social_platform/src/app/api/auth";
import { UserRolePipe } from "../user-role.pipe";
import { of } from "rxjs";

describe("UserRolePipe", () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/** @format */

import { Pipe, PipeTransform } from "@angular/core";
import { AuthService } from "@auth/services";
import { AuthService } from "projects/social_platform/src/app/api/auth";
import { map, Observable } from "rxjs";

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import { TestBed } from "@angular/core/testing";

import { ApiService } from "./api.service";
import { ApiService } from "../api.service";
import { HttpClientTestingModule } from "@angular/common/http/testing";

describe("ApiService", () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import { Inject, Injectable } from "@angular/core";
import { HttpClient, HttpParams } from "@angular/common/http";
import { first, Observable } from "rxjs";
import { API_URL } from "../providers";
import { API_URL } from "../../providers";

/**
* Базовый сервис для работы с REST API
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@

import { Inject, Injectable } from "@angular/core";
import { HttpClient } from "@angular/common/http";
import { ApiService } from "./api.service";
import { SKILLS_API_URL } from "@corelib";
import { ApiService, SKILLS_API_URL } from "@corelib";

/**
* Специализированный API сервис для работы с Skills API
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

import { TestBed } from "@angular/core/testing";

import { ErrorService } from "./error.service";
import { RouterTestingModule } from "@angular/router/testing";
import { ErrorService } from "../error.service";

describe("ErrorService", () => {
let service: ErrorService;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import { Injectable } from "@angular/core";
import { Router } from "@angular/router";
import { ErrorCode } from "../models/error-code";
import { ErrorCode } from "../../models/error/error-code";

/**
* Сервис для обработки и навигации к страницам ошибок
Expand Down
Loading
Loading