From 83a2c7b3c507a6067ffc9ad6fda919dc5330abe6 Mon Sep 17 00:00:00 2001 From: Roma Date: Fri, 2 May 2025 13:55:43 +0300 Subject: [PATCH] refactor(home-feat): removed unused store and services --- .../core/constants/ngxs-states.constant.ts | 2 - src/app/features/home/dashboard.service.ts | 58 ------------------- src/app/features/home/data.ts | 51 ---------------- src/app/features/home/home.component.html | 11 ---- .../features/home/mappers/dashboard.mapper.ts | 42 -------------- .../bibliographic-contributor.entity.ts | 10 ---- .../features/home/models/project.entity.ts | 17 ------ .../models/raw-models/ProjectItem.entity.ts | 24 -------- .../bibliographicContributorUS.entity.ts | 6 -- .../models/raw-models/projectUS.entity.ts | 13 ----- .../home/models/raw-models/userUS.entity.ts | 17 ------ src/app/features/home/models/user.entity.ts | 7 --- src/app/features/home/store/home.actions.ts | 3 - src/app/features/home/store/home.model.ts | 5 -- src/app/features/home/store/home.selectors.ts | 11 ---- src/app/features/home/store/home.state.ts | 26 --------- src/app/features/home/store/index.ts | 4 -- .../add-project-form.component.ts | 4 +- .../project/files/project-files.component.ts | 2 - .../metadata/project-metadata.component.ts | 3 +- .../connect-addon/connect-addon.component.ts | 6 -- 21 files changed, 3 insertions(+), 319 deletions(-) delete mode 100644 src/app/features/home/dashboard.service.ts delete mode 100644 src/app/features/home/data.ts delete mode 100644 src/app/features/home/mappers/dashboard.mapper.ts delete mode 100644 src/app/features/home/models/bibliographic-contributor.entity.ts delete mode 100644 src/app/features/home/models/project.entity.ts delete mode 100644 src/app/features/home/models/raw-models/ProjectItem.entity.ts delete mode 100644 src/app/features/home/models/raw-models/bibliographicContributorUS.entity.ts delete mode 100644 src/app/features/home/models/raw-models/projectUS.entity.ts delete mode 100644 src/app/features/home/models/raw-models/userUS.entity.ts delete mode 100644 src/app/features/home/models/user.entity.ts delete mode 100644 src/app/features/home/store/home.actions.ts delete mode 100644 src/app/features/home/store/home.model.ts delete mode 100644 src/app/features/home/store/home.selectors.ts delete mode 100644 src/app/features/home/store/home.state.ts delete mode 100644 src/app/features/home/store/index.ts diff --git a/src/app/core/constants/ngxs-states.constant.ts b/src/app/core/constants/ngxs-states.constant.ts index fa901cc45..4c70b0a90 100644 --- a/src/app/core/constants/ngxs-states.constant.ts +++ b/src/app/core/constants/ngxs-states.constant.ts @@ -2,7 +2,6 @@ import { AuthState } from '@core/store/auth'; import { TokensState } from '@core/store/settings'; import { AddonsState } from '@core/store/settings/addons'; import { UserState } from '@core/store/user'; -import { HomeState } from '@osf/features/home/store'; import { MyProjectsState } from '@core/store/my-projects'; import { SearchState } from '@osf/features/search/store'; @@ -11,7 +10,6 @@ export const STATES = [ TokensState, AddonsState, UserState, - HomeState, SearchState, MyProjectsState, ]; diff --git a/src/app/features/home/dashboard.service.ts b/src/app/features/home/dashboard.service.ts deleted file mode 100644 index 0cef4b11b..000000000 --- a/src/app/features/home/dashboard.service.ts +++ /dev/null @@ -1,58 +0,0 @@ -import { inject, Injectable } from '@angular/core'; -import { JsonApiService } from '@core/services/json-api/json-api.service'; -import { map, Observable } from 'rxjs'; -import { Project } from '@osf/features/home/models/project.entity'; -import { mapProjectUStoProject } from '@osf/features/home/mappers/dashboard.mapper'; -import { ProjectItem } from '@osf/features/home/models/raw-models/ProjectItem.entity'; -import { environment } from '../../../environments/environment'; -import { JsonApiResponse } from '@core/services/json-api/json-api.entity'; - -@Injectable({ - providedIn: 'root', -}) -export class DashboardService { - jsonApiService = inject(JsonApiService); - - getProjects(): Observable { - const userId = '8bxwv'; - const params = { - 'embed[]': ['bibliographic_contributors', 'parent', 'root'], - page: 1, - sort: '-last_logged', - }; - - return this.jsonApiService - .get< - JsonApiResponse - >(`${environment.apiUrl}/sparse/users/${userId}/nodes/`, params) - .pipe(map((response) => response.data.map(mapProjectUStoProject))); - } - - getNoteworthy(): Observable { - const projectId = 'pf5z9'; - const params = { - 'embed[]': 'bibliographic_contributors', - 'page[size]': 5, - }; - - return this.jsonApiService - .get< - JsonApiResponse - >(`${environment.apiUrl}/nodes/${projectId}/linked_nodes`, params) - .pipe(map((response) => response.data.map(mapProjectUStoProject))); - } - - getMostPopular(): Observable { - const projectId = 'kvw3y'; - const params = { - 'embed[]': 'bibliographic_contributors', - 'page[size]': 5, - }; - - return this.jsonApiService - .get< - JsonApiResponse - >(`${environment.apiUrl}/nodes/${projectId}/linked_nodes`, params) - .pipe(map((response) => response.data.map(mapProjectUStoProject))); - } -} diff --git a/src/app/features/home/data.ts b/src/app/features/home/data.ts deleted file mode 100644 index 817af37c0..000000000 --- a/src/app/features/home/data.ts +++ /dev/null @@ -1,51 +0,0 @@ -export const noteworthy = [ - { - title: - 'CLINICAL APPLICATIONS OF DIGITAL DENTISTRY IN PEDIATRIC DENTISTRY: SCOPE REVIEW', - authors: 'by Moreira, Imparato, Borges, and 1 more', - }, - { - title: - 'Transcutaneous electrical nerve stimulation enhances gait adaptation savings in multiple sclerosis', - authors: 'by Hagen, Whittier, Stephens, and 1 more', - }, - { - title: - 'New technologies of the lipid fraction of industrialized parenteral nutrition, does the incorporation bring results in the clinical results of patients? A scoping review of the literature', - authors: 'by de Oliveira and Manin', - }, - { - title: - 'Corticospinal Excitability in Response to Mediolateral Gait Instability', - authors: 'by Raven, Davies, and Bruijn', - }, - { - title: 'Topic Modeling - Mississippi River Basin Literature', - authors: 'by Wimhurst, Koch, and McPherson', - }, -]; - -export const mostPopular = [ - { - title: 'PsiChiR', - authors: 'by Wagge, Staples, Edlund, and 3 more', - }, - { - title: - 'Data and Code for "Evaluating large language models in theory of mind tasks"', - authors: 'by Kosinski', - }, - { - title: - 'The Data Detectives! A Game of Persistent Identifiers (PIDfest 2024)', - authors: 'by Olson', - }, - { - title: 'Working Group on NIH DMSP Guidance', - authors: 'by Ye, Hertz, Badger, and 26 more', - }, - { - title: 'Better Scientific Poster', - authors: 'by Morrison', - }, -]; diff --git a/src/app/features/home/home.component.html b/src/app/features/home/home.component.html index 6af895913..9e1317b38 100644 --- a/src/app/features/home/home.component.html +++ b/src/app/features/home/home.component.html @@ -1,14 +1,3 @@ - - - - - - - - - - -
, null>; - }, - null - >[], - null - >; - }, - null ->; diff --git a/src/app/features/home/models/raw-models/bibliographicContributorUS.entity.ts b/src/app/features/home/models/raw-models/bibliographicContributorUS.entity.ts deleted file mode 100644 index 67665c316..000000000 --- a/src/app/features/home/models/raw-models/bibliographicContributorUS.entity.ts +++ /dev/null @@ -1,6 +0,0 @@ -export interface BibliographicContributorUS { - bibliographic: boolean; - index: number; - permission: string; - unregistered_contributor: boolean; -} diff --git a/src/app/features/home/models/raw-models/projectUS.entity.ts b/src/app/features/home/models/raw-models/projectUS.entity.ts deleted file mode 100644 index 342bd9c98..000000000 --- a/src/app/features/home/models/raw-models/projectUS.entity.ts +++ /dev/null @@ -1,13 +0,0 @@ -export interface ProjectUS { - title: string; - description: string; - category: string; - date_created: string; - date_modified: string; - fork: boolean; - tags: string[]; - current_user_permissions: string[]; - current_user_is_contributor: boolean; - current_user_is_contributor_or_group_member: boolean; - public: boolean; -} diff --git a/src/app/features/home/models/raw-models/userUS.entity.ts b/src/app/features/home/models/raw-models/userUS.entity.ts deleted file mode 100644 index 3147de098..000000000 --- a/src/app/features/home/models/raw-models/userUS.entity.ts +++ /dev/null @@ -1,17 +0,0 @@ -export interface UserUS { - accepted_terms_of_service: boolean; - active: boolean; - allow_indexing: boolean; - can_view_reviews: []; - date_registered: string; - education: []; - employment: []; - family_name: string; - full_name: string; - given_name: string; - locale: string; - middle_names: string; - social: object; - suffix: string; - timezone: string; -} diff --git a/src/app/features/home/models/user.entity.ts b/src/app/features/home/models/user.entity.ts deleted file mode 100644 index 435071d62..000000000 --- a/src/app/features/home/models/user.entity.ts +++ /dev/null @@ -1,7 +0,0 @@ -export interface User { - familyName: string; - fullName: string; - givenName: string; - locale: string; - timezone: string; -} diff --git a/src/app/features/home/store/home.actions.ts b/src/app/features/home/store/home.actions.ts deleted file mode 100644 index 2f6123ea3..000000000 --- a/src/app/features/home/store/home.actions.ts +++ /dev/null @@ -1,3 +0,0 @@ -export class GetProjects { - static readonly type = '[Home] Get Projects'; -} diff --git a/src/app/features/home/store/home.model.ts b/src/app/features/home/store/home.model.ts deleted file mode 100644 index e826476ab..000000000 --- a/src/app/features/home/store/home.model.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { Project } from '@osf/features/home/models/project.entity'; - -export interface HomeStateModel { - projects: Project[]; -} diff --git a/src/app/features/home/store/home.selectors.ts b/src/app/features/home/store/home.selectors.ts deleted file mode 100644 index bd62959ed..000000000 --- a/src/app/features/home/store/home.selectors.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Selector } from '@ngxs/store'; -import { HomeStateModel } from '@osf/features/home/store/home.model'; -import { HomeState } from '@osf/features/home/store/home.state'; -import { Project } from '@osf/features/home/models/project.entity'; - -export class HomeSelectors { - @Selector([HomeState]) - static getProjects(state: HomeStateModel): Project[] { - return state.projects; - } -} diff --git a/src/app/features/home/store/home.state.ts b/src/app/features/home/store/home.state.ts deleted file mode 100644 index 41c02515f..000000000 --- a/src/app/features/home/store/home.state.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { HomeStateModel } from '@osf/features/home/store/home.model'; -import { Action, State, StateContext } from '@ngxs/store'; -import { inject, Injectable } from '@angular/core'; -import { DashboardService } from '@osf/features/home/dashboard.service'; -import { GetProjects } from '@osf/features/home/store/home.actions'; -import { tap } from 'rxjs'; - -@State({ - name: 'home', - defaults: { - projects: [], - }, -}) -@Injectable() -export class HomeState { - homeService = inject(DashboardService); - - @Action(GetProjects) - getProjects(ctx: StateContext) { - return this.homeService.getProjects().pipe( - tap((projects) => { - ctx.patchState({ projects: projects }); - }), - ); - } -} diff --git a/src/app/features/home/store/index.ts b/src/app/features/home/store/index.ts deleted file mode 100644 index 29b1d1de4..000000000 --- a/src/app/features/home/store/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -export * from './home.actions'; -export * from './home.model'; -export * from './home.selectors'; -export * from './home.state'; diff --git a/src/app/features/my-projects/add-project-form/add-project-form.component.ts b/src/app/features/my-projects/add-project-form/add-project-form.component.ts index fde418206..40ca025ab 100644 --- a/src/app/features/my-projects/add-project-form/add-project-form.component.ts +++ b/src/app/features/my-projects/add-project-form/add-project-form.component.ts @@ -22,7 +22,7 @@ import { toSignal } from '@angular/core/rxjs-interop'; import { IS_XSMALL } from '@shared/utils/breakpoints.tokens'; import { DynamicDialogRef } from 'primeng/dynamicdialog'; import { Store } from '@ngxs/store'; -import { HomeSelectors } from 'src/app/features/home/store'; +import { MyProjectsSelectors } from '@core/store/my-projects'; enum ProjectFormControls { Title = 'title', @@ -61,7 +61,7 @@ interface ProjectForm { export class AddProjectFormComponent { #store = inject(Store); protected readonly projects = this.#store.selectSignal( - HomeSelectors.getProjects, + MyProjectsSelectors.getProjects, ); protected readonly isMobile = toSignal(inject(IS_XSMALL)); protected readonly dialogRef = inject(DynamicDialogRef); diff --git a/src/app/features/my-projects/project/files/project-files.component.ts b/src/app/features/my-projects/project/files/project-files.component.ts index 8e0c83448..8a97ceb4d 100644 --- a/src/app/features/my-projects/project/files/project-files.component.ts +++ b/src/app/features/my-projects/project/files/project-files.component.ts @@ -18,7 +18,6 @@ import { SearchInputComponent } from '@shared/components/search-input/search-inp import { DropdownModule } from 'primeng/dropdown'; import { Button } from 'primeng/button'; import { DatePipe } from '@angular/common'; -import { Menu } from 'primeng/menu'; @Component({ selector: 'osf-project-files', @@ -31,7 +30,6 @@ import { Menu } from 'primeng/menu'; DropdownModule, Button, DatePipe, - Menu, ], templateUrl: './project-files.component.html', styleUrl: './project-files.component.scss', diff --git a/src/app/features/my-projects/project/metadata/project-metadata.component.ts b/src/app/features/my-projects/project/metadata/project-metadata.component.ts index 815bbb23c..38f6e7c59 100644 --- a/src/app/features/my-projects/project/metadata/project-metadata.component.ts +++ b/src/app/features/my-projects/project/metadata/project-metadata.component.ts @@ -2,11 +2,10 @@ import { ChangeDetectionStrategy, Component, HostBinding } from '@angular/core'; import { SubHeaderComponent } from '@shared/components/sub-header/sub-header.component'; import { metadataTemplates } from '@osf/features/my-projects/project/metadata/metadata'; import { Button } from 'primeng/button'; -import { RouterLink } from '@angular/router'; @Component({ selector: 'osf-project-metadata', - imports: [SubHeaderComponent, Button, RouterLink], + imports: [SubHeaderComponent, Button], templateUrl: './project-metadata.component.html', styleUrl: './project-metadata.component.scss', changeDetection: ChangeDetectionStrategy.OnPush, diff --git a/src/app/features/settings/addons/connect-addon/connect-addon.component.ts b/src/app/features/settings/addons/connect-addon/connect-addon.component.ts index ed29663ed..eb8c19461 100644 --- a/src/app/features/settings/addons/connect-addon/connect-addon.component.ts +++ b/src/app/features/settings/addons/connect-addon/connect-addon.component.ts @@ -13,7 +13,6 @@ import { TableModule } from 'primeng/table'; import { RouterLink, Router } from '@angular/router'; import { NgClass } from '@angular/common'; import { Card } from 'primeng/card'; -import { RadioButton } from 'primeng/radiobutton'; import { FormsModule, FormBuilder, @@ -21,8 +20,6 @@ import { ReactiveFormsModule, Validators, } from '@angular/forms'; -import { Checkbox } from 'primeng/checkbox'; -import { Divider } from 'primeng/divider'; import { ADDON_TERMS as addonTerms } from '../utils/addon-terms.const'; import { Addon, @@ -58,9 +55,6 @@ import { AddonTerm } from '@osf/features/settings/addons/entities/addon-terms.in Card, FormsModule, ReactiveFormsModule, - RadioButton, - Checkbox, - Divider, InputText, Password, ],