Skip to content

Commit 7151c2c

Browse files
committed
Add new tab support && update linting
1 parent ec20648 commit 7151c2c

13 files changed

+4235
-3657
lines changed

.eslintrc

-7
This file was deleted.

.eslintrc.cjs

-1
This file was deleted.

.npmrc

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
engine-strict = true
2+
auto-install-peers = false

.streerc

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
--print-width=100
2+
--plugins=plugin/trailing_comma,plugin/disable_auto_ternary

about.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"component": true,
44
"about_url": "https://github.com/paviliondev/discourse-dropdown-header",
55
"license_url": "https://github.com/paviliondev/discourse-dropdown-header/blob/main/LICENSE.txt",
6-
"theme_version": "1.0",
6+
"theme_version": "1.1",
77
"assets": {},
88
"modifiers": {
99
"svg_icons": [

eslint.config.mjs

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import DiscourseRecommendedTheme from "@discourse/lint-configs/eslint-theme";
2+
3+
export default [...DiscourseRecommendedTheme];

javascripts/discourse/components/custom-header-dropdown.gjs

-38
This file was deleted.

javascripts/discourse/components/custom-header-link.gjs

+25-10
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import { inject as service } from "@ember/service";
77
import concatClass from "discourse/helpers/concat-class";
88
import DiscourseURL from "discourse/lib/url";
99
import dIcon from "discourse-common/helpers/d-icon";
10-
import CustomHeaderDropdown from "./custom-header-dropdown";
1110
import CustomIcon from "./custom-icon";
1211

1312
export default class CustomHeaderLink extends Component {
@@ -65,12 +64,18 @@ export default class CustomHeaderLink extends Component {
6564
}
6665

6766
@action
68-
redirectToUrl(url) {
67+
redirectToUrl(item) {
6968
if (this.site.mobileView) {
7069
this.toggleHeaderLinks();
7170
}
7271

73-
DiscourseURL.routeTo(url);
72+
if (item.newTab) {
73+
window.open(item.url, "_blank");
74+
} else {
75+
DiscourseURL.routeTo(item.url);
76+
}
77+
78+
event.stopPropagation();
7479
}
7580

7681
<template>
@@ -82,9 +87,7 @@ export default class CustomHeaderLink extends Component {
8287
(if this.hasDropdown "has-dropdown")
8388
}}
8489
title={{@item.title}}
85-
{{(if
86-
@item.url (modifier on "click" (fn this.redirectToUrl @item.url))
87-
)}}
90+
{{(if @item.url (modifier on "click" (fn this.redirectToUrl @item)))}}
8891
>
8992
<CustomIcon @icon={{@item.icon}} />
9093
<span class="custom-header-link-title">{{@item.title}}</span>
@@ -98,10 +101,22 @@ export default class CustomHeaderLink extends Component {
98101
{{#if this.hasDropdown}}
99102
<ul class="custom-header-dropdown">
100103
{{#each this.dropdownLinks as |dropdownItem|}}
101-
<CustomHeaderDropdown
102-
@item={{dropdownItem}}
103-
@toggleHeaderLinks={{this.toggleHeaderLinks}}
104-
/>
104+
<li
105+
class="custom-header-dropdown-link"
106+
title={{dropdownItem.title}}
107+
role="button"
108+
{{on "click" (fn this.redirectToUrl dropdownItem)}}
109+
>
110+
<CustomIcon @icon={{dropdownItem.icon}} />
111+
<span
112+
class="custom-header-link-title"
113+
>{{dropdownItem.title}}</span>
114+
{{#if dropdownItem.description}}
115+
<span
116+
class="custom-header-link-desc"
117+
>{{dropdownItem.description}}</span>
118+
{{/if}}
119+
</li>
105120
{{/each}}
106121
</ul>
107122
{{/if}}

package.json

+11-8
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
{
2-
"name": "discourse-dropdown-header",
3-
"repository": "https://github.com/paviliondev/discourse-dropdown-header/",
4-
"author": "Keegan George",
5-
"license": "GPL-2.0-or-later",
2+
"private": true,
63
"devDependencies": {
7-
"@discourse/lint-configs": "^1.3.7",
8-
"ember-template-lint": "^5.13.0",
9-
"eslint": "^8.56.0",
10-
"prettier": "^2.8.8"
4+
"@discourse/lint-configs": "2.2.2",
5+
"ember-template-lint": "6.0.0",
6+
"eslint": "9.15.0",
7+
"prettier": "2.8.8"
8+
},
9+
"engines": {
10+
"node": ">= 18",
11+
"npm": "please-use-pnpm",
12+
"yarn": "please-use-pnpm",
13+
"pnpm": ">= 9"
1114
}
1215
}

0 commit comments

Comments
 (0)