Skip to content
This repository was archived by the owner on Jul 14, 2025. It is now read-only.

Commit d5dd1d9

Browse files
authored
DEV: Update linting config and run gjs-codemod (#125)
1 parent 4a529a5 commit d5dd1d9

File tree

24 files changed

+771
-691
lines changed

24 files changed

+771
-691
lines changed

.discourse-compatibility

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
< 3.5.0.beta5-dev: be64a5ea30dcda658a74e22a9e7b5fd8cd7632c8
12
< 3.5.0.beta1-dev: b7181ad63238adf843d27b2d0db13cb6354df379
23
< 3.4.0.beta2-dev: ff810c65d88e3a208b1126e94ec9ba637d6e997e
34
< 3.4.0.beta1-dev: 5a44de571484b2652d7ba57b16e3e1519e4d7317

Gemfile.lock

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -14,42 +14,44 @@ GEM
1414
securerandom (>= 0.3)
1515
tzinfo (~> 2.0, >= 2.0.5)
1616
uri (>= 0.13.1)
17-
ast (2.4.2)
18-
base64 (0.2.0)
19-
benchmark (0.4.0)
20-
bigdecimal (3.1.9)
17+
ast (2.4.3)
18+
base64 (0.3.0)
19+
benchmark (0.4.1)
20+
bigdecimal (3.2.0)
2121
concurrent-ruby (1.3.5)
22-
connection_pool (2.5.0)
23-
drb (2.2.1)
22+
connection_pool (2.5.3)
23+
drb (2.2.3)
2424
i18n (1.14.7)
2525
concurrent-ruby (~> 1.0)
26-
json (2.10.2)
27-
language_server-protocol (3.17.0.4)
26+
json (2.12.2)
27+
language_server-protocol (3.17.0.5)
2828
lint_roller (1.1.0)
29-
logger (1.6.6)
29+
logger (1.7.0)
3030
minitest (5.25.5)
31-
parallel (1.26.3)
32-
parser (3.3.7.1)
31+
parallel (1.27.0)
32+
parser (3.3.8.0)
3333
ast (~> 2.4.1)
3434
racc
3535
prettier_print (1.2.1)
36+
prism (1.4.0)
3637
racc (1.8.1)
37-
rack (3.1.12)
38+
rack (3.1.15)
3839
rainbow (3.1.1)
3940
regexp_parser (2.10.0)
40-
rubocop (1.74.0)
41+
rubocop (1.75.8)
4142
json (~> 2.3)
4243
language_server-protocol (~> 3.17.0.2)
4344
lint_roller (~> 1.1.0)
4445
parallel (~> 1.10)
4546
parser (>= 3.3.0.2)
4647
rainbow (>= 2.2.2, < 4.0)
4748
regexp_parser (>= 2.9.3, < 3.0)
48-
rubocop-ast (>= 1.38.0, < 2.0)
49+
rubocop-ast (>= 1.44.0, < 2.0)
4950
ruby-progressbar (~> 1.7)
5051
unicode-display_width (>= 2.4.0, < 4.0)
51-
rubocop-ast (1.38.1)
52-
parser (>= 3.3.1.0)
52+
rubocop-ast (1.44.1)
53+
parser (>= 3.3.7.2)
54+
prism (~> 1.4)
5355
rubocop-capybara (2.22.1)
5456
lint_roller (~> 1.1)
5557
rubocop (~> 1.72, >= 1.72.1)
@@ -65,13 +67,13 @@ GEM
6567
rubocop-factory_bot (2.27.1)
6668
lint_roller (~> 1.1)
6769
rubocop (~> 1.72, >= 1.72.1)
68-
rubocop-rails (2.30.3)
70+
rubocop-rails (2.32.0)
6971
activesupport (>= 4.2.0)
7072
lint_roller (~> 1.1)
7173
rack (>= 1.1)
72-
rubocop (>= 1.72.1, < 2.0)
73-
rubocop-ast (>= 1.38.0, < 2.0)
74-
rubocop-rspec (3.5.0)
74+
rubocop (>= 1.75.0, < 2.0)
75+
rubocop-ast (>= 1.44.0, < 2.0)
76+
rubocop-rspec (3.6.0)
7577
lint_roller (~> 1.1)
7678
rubocop (~> 1.72, >= 1.72.1)
7779
rubocop-rspec_rails (2.31.0)
@@ -97,4 +99,4 @@ DEPENDENCIES
9799
syntax_tree
98100

99101
BUNDLED WITH
100-
2.6.6
102+
2.6.9

assets/javascripts/discourse-user-notes/connectors/admin-user-controls-after/add-user-notes-button.hbs

Lines changed: 0 additions & 4 deletions
This file was deleted.

assets/javascripts/discourse-user-notes/connectors/admin-user-controls-after/add-user-notes-button.js

Lines changed: 0 additions & 4 deletions
This file was deleted.

assets/javascripts/discourse-user-notes/connectors/after-reviewable-post-user/show-user-notes-on-flags.hbs

Lines changed: 0 additions & 18 deletions
This file was deleted.

assets/javascripts/discourse-user-notes/connectors/after-reviewable-post-user/show-user-notes-on-flags.js

Lines changed: 0 additions & 32 deletions
This file was deleted.

assets/javascripts/discourse-user-notes/connectors/user-profile-controls/show-notes-on-profile.hbs

Lines changed: 0 additions & 4 deletions
This file was deleted.

assets/javascripts/discourse-user-notes/connectors/user-profile-controls/show-notes-on-profile.js

Lines changed: 0 additions & 27 deletions
This file was deleted.
Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
import Component from "@glimmer/component";
2+
import { tracked } from "@glimmer/tracking";
3+
import { Textarea } from "@ember/component";
4+
import { fn } from "@ember/helper";
5+
import { action } from "@ember/object";
6+
import { service } from "@ember/service";
7+
import CookText from "discourse/components/cook-text";
8+
import DButton from "discourse/components/d-button";
9+
import DModal from "discourse/components/d-modal";
10+
import UserLink from "discourse/components/user-link";
11+
import ageWithTooltip from "discourse/helpers/age-with-tooltip";
12+
import avatar from "discourse/helpers/avatar";
13+
import { popupAjaxError } from "discourse/lib/ajax-error";
14+
import { i18n } from "discourse-i18n";
15+
16+
export default class UserNotesModal extends Component {
17+
@service dialog;
18+
@service store;
19+
20+
@tracked newNote;
21+
@tracked userId = this.args.model.userId;
22+
@tracked saving = false;
23+
postId = this.args.model.postId;
24+
callback = this.args.model.callback;
25+
26+
#refreshCount() {
27+
if (this.callback) {
28+
this.callback(this.args.model.note.length);
29+
}
30+
}
31+
32+
get attachDisabled() {
33+
return this.saving || !this.newNote || this.newNote.length === 0;
34+
}
35+
36+
@action
37+
async attachNote() {
38+
const note = this.store.createRecord("user-note");
39+
const userId = parseInt(this.userId, 10);
40+
41+
this.saving = true;
42+
43+
const args = {
44+
raw: this.newNote,
45+
user_id: userId,
46+
};
47+
48+
if (this.postId) {
49+
args.post_id = parseInt(this.postId, 10);
50+
}
51+
52+
try {
53+
await note.save(args);
54+
this.newNote = "";
55+
this.args.model.note.insertAt(0, note);
56+
this.#refreshCount();
57+
} catch (error) {
58+
popupAjaxError(error);
59+
} finally {
60+
this.saving = false;
61+
}
62+
}
63+
64+
@action
65+
removeNote(note) {
66+
this.dialog.deleteConfirm({
67+
message: i18n("user_notes.delete_confirm"),
68+
didConfirm: () => {
69+
note
70+
.destroyRecord()
71+
.then(() => {
72+
this.args.model.note.removeObject(note);
73+
this.#refreshCount();
74+
})
75+
.catch(popupAjaxError);
76+
},
77+
});
78+
}
79+
80+
<template>
81+
<DModal
82+
@closeModal={{@closeModal}}
83+
@title={{i18n "user_notes.title"}}
84+
class="user-notes-modal"
85+
>
86+
<Textarea @value={{this.newNote}} />
87+
<DButton
88+
@action={{this.attachNote}}
89+
@label="user_notes.attach"
90+
@disabled={{this.attachDisabled}}
91+
class="btn-primary"
92+
/>
93+
94+
{{#each @model.note as |n|}}
95+
<div class="user-note">
96+
<div class="posted-by">
97+
<UserLink @user={{n.created_by}}>
98+
{{avatar n.created_by imageSize="small"}}
99+
</UserLink>
100+
</div>
101+
<div class="note-contents">
102+
<div class="note-info">
103+
<span class="username">{{n.created_by.username}}</span>
104+
<span class="post-date">{{ageWithTooltip n.created_at}}</span>
105+
106+
{{#if n.can_delete}}
107+
<span class="controls">
108+
<DButton
109+
@action={{fn this.removeNote n}}
110+
@icon="far-trash-can"
111+
@title="user_notes.remove"
112+
class="btn-small btn-danger"
113+
/>
114+
</span>
115+
{{/if}}
116+
</div>
117+
118+
<div class="cooked">
119+
<CookText @rawText={{n.raw}} />
120+
</div>
121+
122+
{{#if n.post_id}}
123+
<a href={{n.post_url}} class="btn btn-small">
124+
{{i18n "user_notes.show_post"}}
125+
</a>
126+
{{/if}}
127+
</div>
128+
129+
<div class="clearfix"></div>
130+
</div>
131+
{{/each}}
132+
</DModal>
133+
</template>
134+
}

assets/javascripts/discourse/components/modal/user-notes.hbs

Lines changed: 0 additions & 52 deletions
This file was deleted.

0 commit comments

Comments
 (0)