Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
import Component from '@glimmer/component';
import type AffiliateLinkModel from 'codecrafters-frontend/models/affiliate-link';
import type AuthenticatorService from 'codecrafters-frontend/services/authenticator';
import { inject as service } from '@ember/service';

interface Signature {
Element: HTMLDivElement;

Expand All @@ -12,8 +9,6 @@ interface Signature {
}

export default class AffiliateLinkStatsContainer extends Component<Signature> {
@service declare authenticator: AuthenticatorService;

get paidUsersCount() {
return this.args.affiliateLink.referrals.filter((referral) => referral.spentAmountInDollars > 0).uniqBy('customer').length;
}
Expand Down
5 changes: 0 additions & 5 deletions app/components/billing-status-badge/index.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
import Component from '@glimmer/component';
import { inject as service } from '@ember/service';
import type AuthenticatorService from 'codecrafters-frontend/services/authenticator';
import type FeatureFlagsService from 'codecrafters-frontend/services/feature-flags';
import type RouterService from '@ember/routing/router-service';
import type UserModel from 'codecrafters-frontend/models/user';
import type PromotionalDiscountModel from 'codecrafters-frontend/models/promotional-discount';
import InstitutionMembershipGrantModel from 'codecrafters-frontend/models/institution-membership-grant';
Expand All @@ -17,9 +15,6 @@ interface Signature {

export default class BillingStatusDisplay extends Component<Signature> {
@service declare authenticator: AuthenticatorService;
@service declare featureFlags: FeatureFlagsService;
@service declare router: RouterService;

get activeDiscountForYearlyPlan(): PromotionalDiscountModel | null {
return this.currentUser?.activeDiscountForYearlyPlan || null;
}
Expand Down
3 changes: 0 additions & 3 deletions app/components/blocks/concept-animation-block.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
import Component from '@glimmer/component';
import { inject as service } from '@ember/service';
import Store from '@ember-data/store';
import lottie from 'lottie-web';
import type { AnimationItem } from 'lottie-web';
import { action } from '@ember/object';
Expand Down Expand Up @@ -45,7 +43,6 @@ interface Signature {
}

export default class ConceptAnimationBlock extends Component<Signature> {
@service declare store: Store;
animation?: AnimationItem;
@tracked isPlayed = false;
@tracked isLoaded = false;
Expand Down
3 changes: 0 additions & 3 deletions app/components/comment-form/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ import type CommunityCourseStageSolutionCommentModel from 'codecrafters-frontend
import type CommunityCourseStageSolutionModel from 'codecrafters-frontend/models/community-course-stage-solution';
import type Store from '@ember-data/store';
import type AuthenticatorService from 'codecrafters-frontend/services/authenticator';
import type AnalyticsEventTrackerService from 'codecrafters-frontend/services/analytics-event-tracker';
import type LanguageModel from 'codecrafters-frontend/models/language';

interface Signature {
Expand All @@ -30,8 +29,6 @@ interface Signature {
export default class CommentForm extends Component<Signature> {
@service declare authenticator: AuthenticatorService;
@service declare store: Store;
@service declare analyticsEventTracker: AnalyticsEventTrackerService;

@tracked declare comment: CourseStageCommentModel | CommunityCourseStageSolutionCommentModel;
@tracked isSaving = false;
@tracked activeTab: 'write' | 'preview' = 'write';
Expand Down
3 changes: 0 additions & 3 deletions app/components/concept-admin/delete-concept-modal.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ import Component from '@glimmer/component';
import { action } from '@ember/object';
import { service } from '@ember/service';
import type RouterService from '@ember/routing/router-service';
import type Store from '@ember-data/store';
import type ConceptModel from 'codecrafters-frontend/models/concept';

interface Signature {
Expand All @@ -16,8 +15,6 @@ interface Signature {

export default class DeleteConceptModal extends Component<Signature> {
@service declare router: RouterService;
@service declare store: Store;

@action
async deleteConcept() {
this.router.transitionTo('concepts');
Expand Down
7 changes: 1 addition & 6 deletions app/components/concept-page/content.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
import AuthenticatorService from 'codecrafters-frontend/services/authenticator';
import type AnalyticsEventTrackerService from 'codecrafters-frontend/services/analytics-event-tracker';
import Component from '@glimmer/component';
import ConceptEngagementModel from 'codecrafters-frontend/models/concept-engagement';
import ConceptGroupModel from 'codecrafters-frontend/models/concept-group';
import ConceptModel from 'codecrafters-frontend/models/concept';
import Store from '@ember-data/store';
import { inject as service } from '@ember/service';
import { action } from '@ember/object';
import type AuthenticatorService from 'codecrafters-frontend/services/authenticator';
import type ConfettiService from 'codecrafters-frontend/services/confetti';

interface Signature {
Expand All @@ -19,11 +17,8 @@ interface Signature {
}

export default class Content extends Component<Signature> {
@service declare analyticsEventTracker: AnalyticsEventTrackerService;
@service declare authenticator: AuthenticatorService;
@service declare confetti: ConfettiService;
@service declare store: Store;

get currentProgressPercentage() {
return this.args.latestConceptEngagement.currentProgressPercentage;
}
Expand Down
4 changes: 0 additions & 4 deletions app/components/contest-page/navigation.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
import Component from '@glimmer/component';
import ContestModel from 'codecrafters-frontend/models/contest';
import DateService from 'codecrafters-frontend/services/date';
import { inject as service } from '@ember/service';

interface Signature {
Element: HTMLDivElement;
Expand All @@ -13,8 +11,6 @@ interface Signature {
}

export default class ContestPageNavigation extends Component<Signature> {
@service declare date: DateService;

get currentContestIndex(): number {
return this.sortedNavigableContests.indexOf(this.args.contest);
}
Expand Down
7 changes: 3 additions & 4 deletions app/components/copyable-terminal-command.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ import Component from '@glimmer/component';
import { action } from '@ember/object';
import { later } from '@ember/runloop';
import { tracked } from '@glimmer/tracking';
import { inject as service } from '@ember/service';
import config from 'codecrafters-frontend/config/environment';
import fade from 'ember-animated/transitions/fade';
import type DarkModeService from 'codecrafters-frontend/services/dark-mode';
import { service } from '@ember/service';
import config from 'codecrafters-frontend/config/environment';

interface Signature {
Element: HTMLDivElement;
Expand All @@ -20,10 +20,9 @@ interface Signature {
}

export default class CopyableTerminalCommand extends Component<Signature> {
transition = fade;

@service declare darkMode: DarkModeService;

transition = fade;
@tracked wasCopiedRecently: boolean = false;

get codeForHighlighting(): string {
Expand Down
4 changes: 0 additions & 4 deletions app/components/course-admin/buildpacks-page/buildpack-item.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
import Component from '@glimmer/component';
import { inject as service } from '@ember/service';
import RouterService from '@ember/routing/router-service';
import BuildpackModel from 'codecrafters-frontend/models/buildpack';

interface Signature {
Expand All @@ -12,8 +10,6 @@ interface Signature {
}

export default class BuildpackItem extends Component<Signature> {
@service declare router: RouterService;

get wasUpdatedInLastHour() {
const oneHourAgo = new Date();
oneHourAgo.setHours(oneHourAgo.getHours() - 1);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ import { action } from '@ember/object';
import { capitalize } from '@ember/string';
import { inject as service } from '@ember/service';
import { tracked } from '@glimmer/tracking';
import type AuthenticatorService from 'codecrafters-frontend/services/authenticator';
import type RouterService from '@ember/routing/router-service';
import type SubmissionModel from 'codecrafters-frontend/models/submission';

Expand All @@ -17,8 +16,6 @@ export default class HeaderContainer extends Component<Signature> {
@tracked isUpdatingBuildpack = false;
@tracked isUpdatingTesterVersion = false;
@tracked isForking = false;

@service declare authenticator: AuthenticatorService;
@service declare router: RouterService;

get buildpackSlug() {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import Component from '@glimmer/component';
import CourseTesterVersionModel from 'codecrafters-frontend/models/course-tester-version';
import RouterService from '@ember/routing/router-service';
import Store from '@ember-data/store';
import { action } from '@ember/object';
import { inject as service } from '@ember/service';
import { tracked } from '@glimmer/tracking';
Expand All @@ -16,8 +15,6 @@ interface Signature {

export default class VersionListItem extends Component<Signature> {
@service declare router: RouterService;
@service declare store: Store;

@tracked isActivating = false;

get activationConfirmationMessage() {
Expand Down
2 changes: 1 addition & 1 deletion app/components/course-leaderboard/invite-button-entry.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import type AuthenticatorService from 'codecrafters-frontend/services/authenticator';
import Component from '@glimmer/component';
import { inject as service } from '@ember/service';
import type AuthenticatorService from 'codecrafters-frontend/services/authenticator';

export interface Signature {
Element: HTMLDivElement;
Expand Down
2 changes: 1 addition & 1 deletion app/components/course-overview-page/notices.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import Component from '@glimmer/component';
import CourseModel from 'codecrafters-frontend/models/course';
import type AuthenticatorService from 'codecrafters-frontend/services/authenticator';
import { format } from 'date-fns';
import { inject as service } from '@ember/service';
import type AuthenticatorService from 'codecrafters-frontend/services/authenticator';

interface Signature {
Element: HTMLDivElement;
Expand Down
3 changes: 0 additions & 3 deletions app/components/course-page/comment-list.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import { action } from '@ember/object';
import rippleSpinnerImage from '/assets/images/icons/ripple-spinner.svg';
import type LanguageModel from 'codecrafters-frontend/models/language';
import type CourseStageModel from 'codecrafters-frontend/models/course-stage';
import type FeatureFlagsService from 'codecrafters-frontend/services/feature-flags';
import type AuthenticatorService from 'codecrafters-frontend/services/authenticator';
import type Store from '@ember-data/store';
import type UserModel from 'codecrafters-frontend/models/user';
Expand All @@ -23,8 +22,6 @@ export default class CommentList extends Component<Signature> {

@tracked isLoading = true;
@tracked rejectedCommentsAreExpanded = false;

@service declare featureFlags: FeatureFlagsService;
@service declare store: Store;
@service declare authenticator: AuthenticatorService;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import { action } from '@ember/object';
import { inject as service } from '@ember/service';
import type CommunityCourseStageSolutionModel from 'codecrafters-frontend/models/community-course-stage-solution';
import type AuthenticatorService from 'codecrafters-frontend/services/authenticator';
import type AnalyticsEventTrackerService from 'codecrafters-frontend/services/analytics-event-tracker';
import type UserModel from 'codecrafters-frontend/models/user';
import { type FileComparison, IsUnchangedFileComparison, type UnchangedFileComparison } from 'codecrafters-frontend/utils/file-comparison';
import { tracked } from '@glimmer/tracking';
Expand All @@ -25,8 +24,6 @@ interface Signature {
export default class CommunitySolutionCardContent extends Component<Signature> {
@tracked expandedUnchangedFilePaths: string[] = [];
@service declare authenticator: AuthenticatorService;
@service declare analyticsEventTracker: AnalyticsEventTrackerService;

get changedFilesForRender() {
if (this.args.diffSource === 'highlighted-files') {
return this.args.solution.changedFilesFromHighlightedFiles;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import window from 'ember-window-mock';
import type AuthenticatorService from 'codecrafters-frontend/services/authenticator';
import type CommunityCourseStageSolution from 'codecrafters-frontend/models/community-course-stage-solution';
import type CommunitySolutionExportModel from 'codecrafters-frontend/models/community-solution-export';
import type Store from '@ember-data/store';

interface Signature {
Element: HTMLDivElement;
Expand All @@ -21,8 +20,6 @@ interface Signature {

export default class GithubFileActionsComponent extends Component<Signature> {
@service declare authenticator: AuthenticatorService;
@service declare store: Store;

@tracked isCreatingExport = false;

get shouldShowPublishToGithubButton(): boolean {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { service } from '@ember/service';
import Component from '@glimmer/component';
import type CommunityCourseStageSolutionModel from 'codecrafters-frontend/models/community-course-stage-solution';
import { inject as service } from '@ember/service';
import type AuthenticatorService from 'codecrafters-frontend/services/authenticator';
import type CommunityCourseStageSolutionModel from 'codecrafters-frontend/models/community-course-stage-solution';

interface Signature {
Element: HTMLDivElement;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
import { service } from '@ember/service';
import Component from '@glimmer/component';
import type CommunityCourseStageSolutionModel from 'codecrafters-frontend/models/community-course-stage-solution';
import type AuthenticatorService from 'codecrafters-frontend/services/authenticator';

interface Signature {
Element: HTMLDivElement;
Expand All @@ -17,9 +15,7 @@ interface Signature {
};
}

export default class CommunitySolutionCardHeader extends Component<Signature> {
@service declare authenticator: AuthenticatorService;
}
export default class CommunitySolutionCardHeader extends Component<Signature> {}

declare module '@glint/environment-ember-loose/registry' {
export default interface Registry {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
import type Store from '@ember-data/store';
import { action } from '@ember/object';
import { inject as service } from '@ember/service';
import Component from '@glimmer/component';
import { tracked } from '@glimmer/tracking';
import type CommunityCourseStageSolutionModel from 'codecrafters-frontend/models/community-course-stage-solution';
import type UserModel from 'codecrafters-frontend/models/user';
import type AnalyticsEventTrackerService from 'codecrafters-frontend/services/analytics-event-tracker';
import type AuthenticatorService from 'codecrafters-frontend/services/authenticator';
import { type FileComparison } from 'codecrafters-frontend/utils/file-comparison';
import { task } from 'ember-concurrency';
Expand All @@ -28,10 +26,7 @@ export default class CommunitySolutionCard extends Component<Signature> {
@tracked containerElement: HTMLDivElement | null = null;
@tracked diffSource: 'changed-files' | 'highlighted-files' = 'changed-files';
@tracked fileComparisons: FileComparison[] = [];
@service declare store: Store;
@service declare authenticator: AuthenticatorService;
@service declare analyticsEventTracker: AnalyticsEventTrackerService;

get currentUser() {
return this.authenticator.currentUser as UserModel; // For now, this is only rendered in contexts where the current user is logged in
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
import AnalyticsEventTrackerService from 'codecrafters-frontend/services/analytics-event-tracker';
import Component from '@glimmer/component';
import CoursePageStateService from 'codecrafters-frontend/services/course-page-state';
import FeatureFlagsService from 'codecrafters-frontend/services/feature-flags';
import Store from '@ember-data/store';
import type CourseStageModel from 'codecrafters-frontend/models/course-stage';
import type RepositoryModel from 'codecrafters-frontend/models/repository';
import type { StepDefinition } from 'codecrafters-frontend/components/expandable-step-list';
Expand Down Expand Up @@ -70,9 +68,6 @@ class SubmitCodeStep extends BaseStep implements StepDefinition {
export default class FirstStageTutorialCard extends Component<Signature> {
@service declare analyticsEventTracker: AnalyticsEventTrackerService;
@service declare coursePageState: CoursePageStateService;
@service declare featureFlags: FeatureFlagsService;
@service declare store: Store;

get filename() {
const solution = this.args.courseStage.solutions.find((solution) => solution.language === this.args.repository.language);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import Component from '@glimmer/component';
import { tracked } from '@glimmer/tracking';
import type CourseStageModel from 'codecrafters-frontend/models/course-stage';
import type CoursePageStateService from 'codecrafters-frontend/services/course-page-state';
import type FeatureFlagsService from 'codecrafters-frontend/services/feature-flags';

interface Signature {
Element: HTMLDivElement;

Expand All @@ -17,8 +17,6 @@ interface Signature {

export default class SubmitCodeStep extends Component<Signature> {
@service declare coursePageState: CoursePageStateService;
@service declare featureFlags: FeatureFlagsService;

@tracked isCommitModalOpen: boolean = false;
@tracked isPushModalOpen: boolean = false;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import Component from '@glimmer/component';
import CoursePageStateService from 'codecrafters-frontend/services/course-page-state';
import CourseStageModel from 'codecrafters-frontend/models/course-stage';
import fade from 'ember-animated/transitions/fade';
import LanguageModel from 'codecrafters-frontend/models/language';
Expand All @@ -20,7 +19,6 @@ interface Signature {
}

export default class LanguageGuideCard extends Component<Signature> {
@service declare coursePageState: CoursePageStateService;
@service declare store: Store;

@tracked requestedLanguage: LanguageModel | null = null;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,7 @@ import Component from '@glimmer/component';
import type RepositoryModel from 'codecrafters-frontend/models/repository';
import type CourseStageModel from 'codecrafters-frontend/models/course-stage';
import type CourseStageLanguageGuideModel from 'codecrafters-frontend/models/course-stage-language-guide';
import type FeatureFlagsService from 'codecrafters-frontend/services/feature-flags';
import { action } from '@ember/object';
import { inject as service } from '@ember/service';
import { tracked } from '@glimmer/tracking';

interface Signature {
Expand All @@ -19,7 +17,6 @@ interface Signature {
}

export default class ImplementSolutionStep extends Component<Signature> {
@service declare featureFlags: FeatureFlagsService;
@tracked solutionIsBlurred = true;

get solution() {
Expand Down
Loading