2
0
Fork 0
mirror of https://github.com/discourse/discourse.git synced 2025-08-17 18:04:11 +08:00

DEV: Remove unused services from plugins/themes (#34231)

This commit is contained in:
Jarek Radosz 2025-08-12 22:47:31 +02:00 committed by GitHub
parent ba44ec67ef
commit 89b108c4b2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
60 changed files with 125 additions and 252 deletions

View file

@ -19,7 +19,6 @@ const RUN_THRESHOLD = 10;
export default class AutomationList extends Component {
@service dialog;
@service router;
@action
async destroyAutomation(automation) {

View file

@ -18,10 +18,7 @@ import ChatZero from "./svg/chat-zero";
export default class ChannelsListDirect extends Component {
@service chat;
@service chatChannelsManager;
@service chatStateManager;
@service currentUser;
@service site;
@service siteSettings;
@service modal;
get inSidebar() {

View file

@ -16,11 +16,8 @@ import ChatZero from "./svg/chat-zero";
export default class ChannelsListPublic extends Component {
@service chatChannelsManager;
@service chatStateManager;
@service chatTrackingStateManager;
@service site;
@service siteSettings;
@service currentUser;
@service router;
get inSidebar() {

View file

@ -1,7 +1,5 @@
import Component from "@glimmer/component";
import { hash } from "@ember/helper";
import { LinkTo } from "@ember/routing";
import { service } from "@ember/service";
import { gt } from "truth-helpers";
import borderColor from "discourse/helpers/border-color";
import concatClass from "discourse/helpers/concat-class";
@ -10,85 +8,80 @@ import replaceEmoji from "discourse/helpers/replace-emoji";
import { i18n } from "discourse-i18n";
import ToggleChannelMembershipButton from "./toggle-channel-membership-button";
export default class ChatChannelCard extends Component {
@service chat;
<template>
{{#if @channel}}
<div
class={{concatClass
"chat-channel-card"
(if @channel.isClosed "--closed")
(if @channel.isArchived "--archived")
}}
style={{borderColor @channel.chatable.color}}
data-channel-id={{@channel.id}}
>
<div class="chat-channel-card__header">
<LinkTo
@route="chat.channel"
@models={{@channel.routeModels}}
class="chat-channel-card__name-container"
>
<span class="chat-channel-card__name">
{{replaceEmoji @channel.title}}
</span>
{{#if @channel.chatable.read_restricted}}
{{icon "lock" class="chat-channel-card__read-restricted"}}
{{/if}}
{{#if @channel.currentUserMembership.muted}}
<span
class="chat-channel-card__muted"
aria-label={{i18n "chat.muted"}}
title={{i18n "chat.muted"}}
>{{icon "d-muted"}}</span>
{{/if}}
</LinkTo>
</div>
<div class="chat-channel-card__cta">
{{#if @channel.isFollowing}}
<ToggleChannelMembershipButton
@channel={{@channel}}
@options={{hash
leaveClass="btn-transparent btn-danger chat-channel-card__leave-btn"
labelType="short"
}}
/>
{{else if @channel.isJoinable}}
<ToggleChannelMembershipButton
@channel={{@channel}}
@options={{hash
joinClass="btn-primary btn-small chat-channel-card__join-btn"
labelType="short"
}}
/>
const ChatChannelCard = <template>
{{#if @channel}}
<div
class={{concatClass
"chat-channel-card"
(if @channel.isClosed "--closed")
(if @channel.isArchived "--archived")
}}
style={{borderColor @channel.chatable.color}}
data-channel-id={{@channel.id}}
>
<div class="chat-channel-card__header">
<LinkTo
@route="chat.channel"
@models={{@channel.routeModels}}
class="chat-channel-card__name-container"
>
<span class="chat-channel-card__name">
{{replaceEmoji @channel.title}}
</span>
{{#if @channel.chatable.read_restricted}}
{{icon "lock" class="chat-channel-card__read-restricted"}}
{{/if}}
</div>
{{#if (gt @channel.membershipsCount 0)}}
<LinkTo
@route="chat.channel.info.members"
@models={{@channel.routeModels}}
class="chat-channel-card__members"
>
{{i18n
"chat.channel.memberships_count"
count=@channel.membershipsCount
}}
</LinkTo>
{{/if}}
{{#if @channel.description}}
<div class="chat-channel-card__description">
{{replaceEmoji @channel.description}}
</div>
{{/if}}
{{#if @channel.currentUserMembership.muted}}
<span
class="chat-channel-card__muted"
aria-label={{i18n "chat.muted"}}
title={{i18n "chat.muted"}}
>{{icon "d-muted"}}</span>
{{/if}}
</LinkTo>
</div>
{{/if}}
</template>
}
<div class="chat-channel-card__cta">
{{#if @channel.isFollowing}}
<ToggleChannelMembershipButton
@channel={{@channel}}
@options={{hash
leaveClass="btn-transparent btn-danger chat-channel-card__leave-btn"
labelType="short"
}}
/>
{{else if @channel.isJoinable}}
<ToggleChannelMembershipButton
@channel={{@channel}}
@options={{hash
joinClass="btn-primary btn-small chat-channel-card__join-btn"
labelType="short"
}}
/>
{{/if}}
</div>
{{#if (gt @channel.membershipsCount 0)}}
<LinkTo
@route="chat.channel.info.members"
@models={{@channel.routeModels}}
class="chat-channel-card__members"
>
{{i18n
"chat.channel.memberships_count"
count=@channel.membershipsCount
}}
</LinkTo>
{{/if}}
{{#if @channel.description}}
<div class="chat-channel-card__description">
{{replaceEmoji @channel.description}}
</div>
{{/if}}
</div>
{{/if}}
</template>;
export default ChatChannelCard;

View file

@ -4,7 +4,6 @@ import { isPresent } from "@ember/utils";
import DButton from "discourse/components/d-button";
export default class ChatChannelLeaveBtn extends Component {
@service chat;
@service site;
get shouldRender() {

View file

@ -1,7 +1,6 @@
import Component from "@glimmer/component";
import { hash } from "@ember/helper";
import { LinkTo } from "@ember/routing";
import { service } from "@ember/service";
import { isEmpty } from "@ember/utils";
import concatClass from "discourse/helpers/concat-class";
import { i18n } from "discourse-i18n";
@ -9,8 +8,6 @@ import ChannelTitle from "./channel-title";
import ToggleChannelMembershipButton from "./toggle-channel-membership-button";
export default class ChatChannelPreviewCard extends Component {
@service chat;
get showJoinButton() {
return this.args.channel?.isOpen && this.args.channel?.canJoin;
}

View file

@ -23,11 +23,8 @@ import ToggleChannelMembershipButton from "discourse/plugins/chat/discourse/comp
const FADEOUT_CLASS = "-fade-out";
export default class ChatChannelRow extends Component {
@service api;
@service capabilities;
@service chat;
@service currentUser;
@service router;
@service site;
@tracked isAtThreshold = false;

View file

@ -49,7 +49,6 @@ import ChatSkeleton from "./chat-skeleton";
import ChatUploadDropZone from "./chat-upload-drop-zone";
export default class ChatChannel extends Component {
@service appEvents;
@service capabilities;
@service chat;
@service chatApi;
@ -61,9 +60,6 @@ export default class ChatChannel extends Component {
@service("chat-channel-pane") pane;
@service currentUser;
@service dialog;
@service messageBus;
@service router;
@service site;
@service siteSettings;
@tracked sending = false;

View file

@ -16,7 +16,6 @@ import ChatComposerUpload from "discourse/plugins/chat/discourse/components/chat
@classNames("chat-composer-uploads")
export default class ChatComposerUploads extends Component {
@service mediaOptimizationWorker;
@service chatStateManager;
uppyUpload = new UppyUpload(getOwner(this), {
id: "chat-composer-uploader",

View file

@ -66,8 +66,6 @@ export default class ChatComposer extends Component {
@service appEvents;
@service emojiStore;
@service currentUser;
@service chatApi;
@service chatDraftsManager;
@service modal;
@service menu;

View file

@ -22,7 +22,6 @@ export default class ChatDrawer extends Component {
@service chat;
@service router;
@service chatDrawerSize;
@service chatChannelsManager;
@service chatStateManager;
@service chatDrawerRouter;

View file

@ -11,12 +11,10 @@ import {
} from "discourse/plugins/chat/discourse/components/chat/footer/unread-indicator";
export default class ChatFooter extends Component {
@service router;
@service chat;
@service chatHistory;
@service siteSettings;
@service site;
@service currentUser;
@service chatChannelsManager;
@service chatStateManager;

View file

@ -20,7 +20,6 @@ export default class ChatMessageActionsMobile extends Component {
@service chat;
@service site;
@service capabilities;
@service modal;
@service menu;
@tracked hasExpandedReply = false;

View file

@ -1,6 +1,5 @@
import Component from "@glimmer/component";
import { LinkTo } from "@ember/routing";
import { service } from "@ember/service";
import { htmlSafe } from "@ember/template";
import icon from "discourse/helpers/d-icon";
import replaceEmoji from "discourse/helpers/replace-emoji";
@ -8,8 +7,6 @@ import ChatEmojiAvatar from "./chat-emoji-avatar";
import ChatUserAvatar from "./chat-user-avatar";
export default class ChatMessageInReplyToIndicator extends Component {
@service router;
get route() {
if (this.hasThread) {
return "chat.channel.thread";

View file

@ -50,17 +50,11 @@ export const MESSAGE_CONTEXT_THREAD = "thread";
export default class ChatMessage extends Component {
@service site;
@service dialog;
@service currentUser;
@service appEvents;
@service capabilities;
@service chat;
@service chatApi;
@service chatChannelPane;
@service chatThreadPane;
@service chatChannelsManager;
@service router;
@service toasts;
@service modal;
@service interactedChatMessage;

View file

@ -11,7 +11,6 @@ import ChatThreadListItem from "discourse/plugins/chat/discourse/components/chat
import ChatTrackMessage from "discourse/plugins/chat/discourse/modifiers/chat/track-message";
export default class ChatThreadList extends Component {
@service chat;
@service chatApi;
@service messageBus;
@service chatTrackingStateManager;

View file

@ -43,11 +43,9 @@ import ChatThreadHeading from "./chat-thread-heading";
import ChatUploadDropZone from "./chat-upload-drop-zone";
export default class ChatThread extends Component {
@service appEvents;
@service capabilities;
@service chat;
@service chatApi;
@service chatHistory;
@service chatDraftsManager;
@service chatThreadComposer;
@service chatThreadPane;

View file

@ -8,7 +8,6 @@ import Navbar from "discourse/plugins/chat/discourse/components/chat/navbar";
export default class ChatDrawerRoutesBrowse extends Component {
@service chat;
@service chatStateManager;
@service chatHistory;
<template>
<div class="c-drawer-routes --browse">

View file

@ -7,7 +7,6 @@ import ChatChannel from "discourse/plugins/chat/discourse/components/chat-channe
export default class ChatDrawerRoutesChannel extends Component {
@service chat;
@service chatStateManager;
@service chatChannelsManager;
@service chatHistory;
get backBtnRoute() {

View file

@ -12,7 +12,6 @@ export default class ChatHeaderIcon extends Component {
@service currentUser;
@service site;
@service chatStateManager;
@service router;
get showUnreadIndicator() {
if (this.chatStateManager.isFullPageActive && this.site.desktopView) {

View file

@ -9,7 +9,6 @@ import MembersCount from "./members-count";
import MembersSelector from "./members-selector";
export default class AddMembers extends Component {
@service chat;
@service chatApi;
@service router;
@service toasts;

View file

@ -1,11 +1,8 @@
import Component from "@glimmer/component";
import { service } from "@ember/service";
import { not } from "truth-helpers";
import ChannelTitle from "discourse/plugins/chat/discourse/components/channel-title";
export default class Channel extends Component {
@service currentUser;
get tracking() {
return this.args.item.tracking;
}

View file

@ -4,7 +4,6 @@ import icon from "discourse/helpers/d-icon";
import { i18n } from "discourse-i18n";
export default class ChatableGroup extends Component {
@service currentUser;
@service siteSettings;
group_with_too_many_members = i18n(

View file

@ -29,14 +29,11 @@ const DEFAULT_HINT = htmlSafe(
);
export default class ChatModalCreateChannel extends Component {
@service chat;
@service dialog;
@service chatChannelsManager;
@service chatApi;
@service router;
@service currentUser;
@service siteSettings;
@service site;
@tracked flash;
@tracked name;

View file

@ -11,7 +11,6 @@ import { i18n } from "discourse-i18n";
import ChatChannelChooser from "../../chat-channel-chooser";
export default class ChatModalMoveMessageToChannel extends Component {
@service chat;
@service chatApi;
@service router;
@service chatChannelsManager;

View file

@ -5,7 +5,6 @@ import DButton from "discourse/components/d-button";
import CreateChannelModal from "discourse/plugins/chat/discourse/components/chat/modal/create-channel";
export default class ChatNavbarNewChannelButton extends Component {
@service chatStateManager;
@service currentUser;
@service modal;
@service site;

View file

@ -21,10 +21,8 @@ import { MODES } from "discourse/plugins/chat/discourse/components/chat/message-
import ChatUserInfo from "discourse/plugins/chat/discourse/components/chat-user-info";
export default class ChatRouteChannelInfoMembers extends Component {
@service appEvents;
@service chatApi;
@service currentUser;
@service modal;
@service loadingSlider;
@service site;

View file

@ -31,7 +31,6 @@ export default class ChatRouteChannelInfoSettings extends Component {
@service chatApi;
@service chatGuardian;
@service chatChannelsManager;
@service currentUser;
@service siteSettings;
@service dialog;
@service modal;

View file

@ -9,7 +9,6 @@ import ChannelInfoNav from "./channel-info-nav";
export default class ChatRoutesChannelInfo extends Component {
@service chatChannelInfoRouteOriginManager;
@service site;
@service modal;
@service chatGuardian;

View file

@ -1,23 +1,19 @@
import Component from "@glimmer/component";
import { service } from "@ember/service";
import { i18n } from "discourse-i18n";
import ChannelsListPublic from "discourse/plugins/chat/discourse/components/channels-list-public";
import Navbar from "discourse/plugins/chat/discourse/components/chat/navbar";
import ChannelsListPublic from "../../channels-list-public";
import Navbar from "../navbar";
export default class ChatRoutesChannels extends Component {
@service site;
const ChatRoutesChannels = <template>
<div class="c-routes --channels">
<Navbar as |navbar|>
<navbar.Title @title={{i18n "chat.chat_channels"}} />
<navbar.Actions as |action|>
<action.OpenDrawerButton />
<action.BrowseChannelsButton />
</navbar.Actions>
</Navbar>
<template>
<div class="c-routes --channels">
<Navbar as |navbar|>
<navbar.Title @title={{i18n "chat.chat_channels"}} />
<navbar.Actions as |action|>
<action.OpenDrawerButton />
<action.BrowseChannelsButton />
</navbar.Actions>
</Navbar>
<ChannelsListPublic />
</div>
</template>;
<ChannelsListPublic />
</div>
</template>
}
export default ChatRoutesChannels;

View file

@ -1,23 +1,19 @@
import Component from "@glimmer/component";
import { service } from "@ember/service";
import { i18n } from "discourse-i18n";
import ChannelsListDirect from "discourse/plugins/chat/discourse/components/channels-list-direct";
import Navbar from "discourse/plugins/chat/discourse/components/chat/navbar";
import ChannelsListDirect from "../../channels-list-direct";
import Navbar from "../navbar";
export default class ChatRoutesDirectMessages extends Component {
@service site;
const ChatRoutesDirectMessages = <template>
<div class="c-routes --direct-messages">
<Navbar as |navbar|>
<navbar.Title @title={{i18n "chat.direct_messages.title"}} />
<navbar.Actions as |action|>
<action.OpenDrawerButton />
<action.NewDirectMessageButton />
</navbar.Actions>
</Navbar>
<template>
<div class="c-routes --direct-messages">
<Navbar as |navbar|>
<navbar.Title @title={{i18n "chat.direct_messages.title"}} />
<navbar.Actions as |action|>
<action.OpenDrawerButton />
<action.NewDirectMessageButton />
</navbar.Actions>
</Navbar>
<ChannelsListDirect />
</div>
</template>;
<ChannelsListDirect />
</div>
</template>
}
export default ChatRoutesDirectMessages;

View file

@ -1,23 +1,19 @@
import Component from "@glimmer/component";
import { service } from "@ember/service";
import { i18n } from "discourse-i18n";
import Navbar from "discourse/plugins/chat/discourse/components/chat/navbar";
import UserThreads from "discourse/plugins/chat/discourse/components/user-threads";
import UserThreads from "../../user-threads";
import Navbar from "../navbar";
export default class ChatRoutesThreads extends Component {
@service site;
const ChatRoutesThreads = <template>
<div class="c-routes --threads">
<Navbar as |navbar|>
<navbar.Title @title={{i18n "chat.my_threads.title"}} />
<template>
<div class="c-routes --threads">
<Navbar as |navbar|>
<navbar.Title @title={{i18n "chat.my_threads.title"}} />
<navbar.Actions as |action|>
<action.OpenDrawerButton />
</navbar.Actions>
</Navbar>
<navbar.Actions as |action|>
<action.OpenDrawerButton />
</navbar.Actions>
</Navbar>
<UserThreads />
</div>
</template>;
<UserThreads />
</div>
</template>
}
export default ChatRoutesThreads;

View file

@ -6,7 +6,6 @@ import { i18n } from "discourse-i18n";
import Navbar from "discourse/plugins/chat/discourse/components/chat/navbar";
export default class ChatThreadListHeader extends Component {
@service router;
@service site;
threadListTitle = i18n("chat.threads.list");

View file

@ -1,14 +1,10 @@
import Component from "@glimmer/component";
import { array } from "@ember/helper";
import { service } from "@ember/service";
import ChatChannel from "./chat-channel";
export default class FullPageChat extends Component {
@service chat;
const FullPageChat = <template>
{{#each (array @channel) as |channel|}}
<ChatChannel @channel={{channel}} @targetMessageId={{@targetMessageId}} />
{{/each}}
</template>;
<template>
{{#each (array @channel) as |channel|}}
<ChatChannel @channel={{channel}} @targetMessageId={{@targetMessageId}} />
{{/each}}
</template>
}
export default FullPageChat;

View file

@ -2,7 +2,6 @@ import Component from "@glimmer/component";
import { cached } from "@glimmer/tracking";
import { array } from "@ember/helper";
import { LinkTo } from "@ember/routing";
import { service } from "@ember/service";
import { htmlSafe } from "@ember/template";
import { or } from "truth-helpers";
import ReviewableCreatedBy from "discourse/components/reviewable-created-by";
@ -12,9 +11,6 @@ import ChannelTitle from "discourse/plugins/chat/discourse/components/channel-ti
import ChatChannel from "discourse/plugins/chat/discourse/models/chat-channel";
export default class ReviewableChatMessage extends Component {
@service store;
@service chatChannelsManager;
@cached
get channel() {
if (!this.args.reviewable.chat_channel) {

View file

@ -22,9 +22,6 @@ const StyleguideExample = optionalRequire(
);
export default class ChatStyleguideChatComposerMessageDetails extends Component {
@service site;
@service session;
@service keyValueStore;
@service currentUser;
@cached

View file

@ -2,7 +2,6 @@ import Component from "@glimmer/component";
import { tracked } from "@glimmer/tracking";
import { getOwner } from "@ember/owner";
import { next } from "@ember/runloop";
import { service } from "@ember/service";
import { optionalRequire } from "discourse/lib/utilities";
import Item from "discourse/plugins/chat/discourse/components/chat/thread-list/item";
import ChatFabricators from "discourse/plugins/chat/discourse/lib/fabricators";
@ -15,8 +14,6 @@ const StyleguideExample = optionalRequire(
);
export default class ChatStyleguideChatThreadListItem extends Component {
@service currentUser;
@tracked thread;
constructor() {

View file

@ -13,7 +13,6 @@ import ThreadPreview from "discourse/plugins/chat/discourse/components/user-thre
import ChatThreadPreview from "discourse/plugins/chat/discourse/models/chat-thread-preview";
export default class UserThreads extends Component {
@service chat;
@service chatApi;
@service chatChannelsManager;
@service messageBus;

View file

@ -31,7 +31,6 @@ import AiPersonaLlmSelector from "discourse/plugins/discourse-ai/discourse/compo
export default class AiBotConversations extends Component {
@service aiBotConversationsHiddenSubmit;
@service currentUser;
@service mediaOptimizationWorker;
@service site;
@service siteSettings;

View file

@ -14,7 +14,6 @@ export default class AiBotHeaderIcon extends Component {
@service composer;
@service currentUser;
@service navigationMenu;
@service router;
@service sidebarState;
@service siteSettings;
@service aiConversationsSidebarManager;

View file

@ -19,9 +19,7 @@ const AI_RESULTS_TOGGLED = "full-page-search:ai-results-toggled";
export default class AiFullPageSearch extends Component {
@service appEvents;
@service router;
@service siteSettings;
@service searchPreferencesManager;
@tracked searching;
@tracked AiResults = [];

View file

@ -26,7 +26,6 @@ import RagUploader from "./rag-uploader";
export default class PersonaEditor extends Component {
@service router;
@service store;
@service dialog;
@service toasts;
@service siteSettings;

View file

@ -21,7 +21,6 @@ import ComboBox from "select-kit/components/combo-box";
import SpamTestModal from "./modal/spam-test-modal";
export default class AiSpam extends Component {
@service siteSettings;
@service toasts;
@service modal;

View file

@ -13,7 +13,6 @@ import DMenu from "float-kit/components/d-menu";
export default class AiSplitTopicSuggester extends Component {
@service site;
@service menu;
@tracked suggestions = [];
@tracked loading = false;

View file

@ -24,7 +24,6 @@ import Chart from "admin/components/chart";
import ComboBox from "select-kit/components/combo-box";
export default class AiUsage extends Component {
@service store;
@service currentUser;
@tracked startDate = moment().subtract(30, "days").toDate();

View file

@ -22,10 +22,8 @@ import AiSummarySkeleton from "../../components/ai-summary-skeleton";
import SmoothStreamer from "../../lib/smooth-streamer";
export default class AiSummaryModal extends Component {
@service siteSettings;
@service messageBus;
@service currentUser;
@service site;
@service modal;
@tracked text = "";

View file

@ -1,7 +1,6 @@
import Component from "@glimmer/component";
import { tracked } from "@glimmer/tracking";
import { action } from "@ember/object";
import { service } from "@ember/service";
import ConditionalLoadingSection from "discourse/components/conditional-loading-section";
import DModal from "discourse/components/d-modal";
import DModalCancel from "discourse/components/d-modal-cancel";
@ -11,8 +10,6 @@ import { i18n } from "discourse-i18n";
import ComboBox from "select-kit/components/combo-box";
export default class ChatModalChannelSummary extends Component {
@service chatApi;
@tracked sinceHours = null;
@tracked loading = false;
@tracked summary = null;

View file

@ -19,7 +19,6 @@ import SmoothStreamer from "../../lib/smooth-streamer";
import AiIndicatorWave from "../ai-indicator-wave";
export default class ModalDiffModal extends Component {
@service currentUser;
@service messageBus;
@tracked loading = false;

View file

@ -14,7 +14,6 @@ import copyConversation from "../../lib/copy-conversation";
export default class ShareModal extends Component {
@service modal;
@service siteSettings;
@service currentUser;
@tracked contextValue = 1;

View file

@ -1,13 +1,9 @@
import Component from "@glimmer/component";
import { service } from "@ember/service";
import icon from "discourse/helpers/d-icon";
import { i18n } from "discourse-i18n";
import Invitee from "./invitee";
export default class DiscoursePostEventInvitees extends Component {
@service modal;
@service siteSettings;
get hasAttendees() {
return this.args.event.stats.going > 0;
}

View file

@ -23,7 +23,6 @@ import PostEventInvitees from "../modal/post-event-invitees";
export default class DiscoursePostEventMoreMenu extends Component {
@service currentUser;
@service dialog;
@service discoursePostEventApi;
@service modal;
@service router;
@service siteSettings;

View file

@ -15,7 +15,6 @@ import ToggleInvitees from "../../toggle-invitees";
import User from "./user";
export default class PostEventInviteesModal extends Component {
@service store;
@service discoursePostEventApi;
@tracked filter;

View file

@ -6,7 +6,6 @@ import DButton from "discourse/components/d-button";
import FullscreenCodeModal from "discourse/components/modal/fullscreen-code";
export default class Json extends Component {
@service dialog;
@service modal;
@cached

View file

@ -11,7 +11,6 @@ import GroupChooser from "select-kit/components/group-chooser";
import PeriodInput from "discourse/plugins/discourse-gamification/discourse/components/period-input";
export default class AdminEditLeaderboard extends Component {
@service currentUser;
@service site;
@service toasts;
@service router;

View file

@ -12,7 +12,6 @@ export default class PostVotingCommentActions extends Component {
@service dialog;
@service modal;
@service currentUser;
@service siteSettings;
@service site;
comment = this.args.comment;

View file

@ -2,7 +2,6 @@ import Component from "@glimmer/component";
import { tracked } from "@glimmer/tracking";
import { Input } from "@ember/component";
import { action } from "@ember/object";
import { service } from "@ember/service";
import CalendarDateTimeInput from "discourse/components/calendar-date-time-input";
import DatePicker from "discourse/components/date-picker";
import StyleguideComponent from "discourse/plugins/styleguide/discourse/components/styleguide/component";
@ -11,8 +10,6 @@ import Row from "discourse/plugins/styleguide/discourse/components/styleguide/co
import StyleguideExample from "discourse/plugins/styleguide/discourse/components/styleguide-example";
export default class StyleguideCalendarDateTimeInput extends Component {
@service currentUser;
@tracked dateFormat = "YYYY-MM-DD";
@tracked timeFormat = "HH:mm:ss";
@tracked date = null;

View file

@ -46,8 +46,6 @@ function colorSchemeOverride(type) {
}
export default class ToggleColorMode extends Component {
@service keyValueStore;
@service siteSettings;
@service site;
@tracked colorSchemeOverride = this.default;

View file

@ -1,11 +1,8 @@
import Component from "@glimmer/component";
import { service } from "@ember/service";
import icon from "discourse/helpers/d-icon";
import { i18n } from "discourse-i18n";
export default class TopicStatusColumn extends Component {
@service siteSettings;
get badge() {
if (this.args.topic.is_hot) {
return {

View file

@ -1,14 +1,10 @@
import Component from "@glimmer/component";
import { action } from "@ember/object";
import { service } from "@ember/service";
import { htmlSafe } from "@ember/template";
import DButton from "discourse/components/d-button";
import concatClass from "discourse/helpers/concat-class";
export default class UserColorPaletteMenuItem extends Component {
@service site;
@service session;
get siteStyle() {
return `--icon-color: ${this.args.colorPalette.accent}`;
}

View file

@ -27,10 +27,8 @@ const HORIZON_PALETTES = [
export default class UserColorPaletteSelector extends Component {
@service currentUser;
@service keyValueStore;
@service site;
@service session;
@service interfaceColor;
@tracked anonColorPaletteId = this.#loadAnonColorPalette();
@tracked userColorPaletteId = this.session.userColorSchemeId;