FIX: various fixes to chat styleguide (#21617)

- uses current user as user for fabricators, allows for correct avatar image and presence indicator
- uses a non existing channel ID to avoid setting a draft of an existing channel
- attempts to make color toggle more reliable
This commit is contained in:
Joffrey JAFFEUX 2023-05-17 20:03:19 +02:00 committed by GitHub
parent 515529cd34
commit 4c4401b726
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 26 additions and 5 deletions

View File

@ -8,10 +8,11 @@ export default class ChatStyleguideChatComposerMessageDetails extends Component
@service site; @service site;
@service session; @service session;
@service keyValueStore; @service keyValueStore;
@service currentUser;
@cached @cached
get message() { get message() {
return fabricators.message(); return fabricators.message({ user: this.currentUser });
} }
@action @action

View File

@ -8,7 +8,7 @@ export default class ChatStyleguideChatComposer extends Component {
@service chatChannelComposer; @service chatChannelComposer;
@service chatChannelPane; @service chatChannelPane;
channel = fabricators.channel(); channel = fabricators.channel({ id: -999 });
@action @action
toggleDisabled() { toggleDisabled() {

View File

@ -3,11 +3,14 @@ import fabricators from "discourse/plugins/chat/discourse/lib/fabricators";
import { action } from "@ember/object"; import { action } from "@ember/object";
import ChatMessagesManager from "discourse/plugins/chat/discourse/lib/chat-messages-manager"; import ChatMessagesManager from "discourse/plugins/chat/discourse/lib/chat-messages-manager";
import { getOwner } from "discourse-common/lib/get-owner"; import { getOwner } from "discourse-common/lib/get-owner";
import { inject as service } from "@ember/service";
export default class ChatStyleguideChatMessage extends Component { export default class ChatStyleguideChatMessage extends Component {
@service currentUser;
manager = new ChatMessagesManager(getOwner(this)); manager = new ChatMessagesManager(getOwner(this));
message = fabricators.message(); message = fabricators.message({ user: this.currentUser });
@action @action
toggleDeleted() { toggleDeleted() {

View File

@ -1,6 +1,9 @@
import Component from "@glimmer/component"; import Component from "@glimmer/component";
import fabricators from "discourse/plugins/chat/discourse/lib/fabricators"; import fabricators from "discourse/plugins/chat/discourse/lib/fabricators";
import { inject as service } from "@ember/service";
export default class ChatStyleguideChatThreadOriginalMessage extends Component { export default class ChatStyleguideChatThreadOriginalMessage extends Component {
message = fabricators.message(); @service currentUser;
message = fabricators.message({ user: this.currentUser });
} }

View File

@ -10,19 +10,33 @@ function colorSchemeOverride(type) {
const lightScheme = document.querySelector("link.light-scheme"); const lightScheme = document.querySelector("link.light-scheme");
const darkScheme = document.querySelector("link.dark-scheme"); const darkScheme = document.querySelector("link.dark-scheme");
if (!lightScheme || !darkScheme) { if (!lightScheme && !darkScheme) {
return; return;
} }
switch (type) { switch (type) {
case DARK: case DARK:
lightScheme.origMedia = lightScheme.media;
lightScheme.media = "none"; lightScheme.media = "none";
darkScheme.origMedia = darkScheme.media;
darkScheme.media = "all"; darkScheme.media = "all";
break; break;
case LIGHT: case LIGHT:
lightScheme.origMedia = lightScheme.media;
lightScheme.media = "all"; lightScheme.media = "all";
darkScheme.origMedia = darkScheme.media;
darkScheme.media = "none"; darkScheme.media = "none";
break; break;
default:
if (lightScheme.origMedia) {
lightScheme.media = lightScheme.origMedia;
lightScheme.removeAttribute("origMedia");
}
if (darkScheme.origMedia) {
darkScheme.media = darkScheme.origMedia;
darkScheme.removeAttribute("origMedia");
}
break;
} }
} }