UX: Allow event time to be hidden if desired (#606)

* Allow event time to be hidden if desired

* spec adjustment

* re: feedback

* Update test/javascripts/integration/components/upcoming-events-list-test.gjs

Co-authored-by: Jarek Radosz <jradosz@gmail.com>

---------

Co-authored-by: Jarek Radosz <jradosz@gmail.com>
This commit is contained in:
benj 2024-09-10 10:18:06 -05:00 committed by GitHub
parent 3020fa9f27
commit f83605c30b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 34 additions and 8 deletions

View File

@ -181,9 +181,12 @@ export default class UpcomingEventsList extends Component {
class="upcoming-events-list__event" class="upcoming-events-list__event"
href={{event.post.url}} href={{event.post.url}}
> >
<div class="upcoming-events-list__event-time"> {{#if this.timeFormat}}
{{this.formatTime event}} <div class="upcoming-events-list__event-time">
</div> {{this.formatTime event}}
</div>
{{/if}}
<div class="upcoming-events-list__event-name"> <div class="upcoming-events-list__event-name">
{{or event.name event.post.topic.title}} {{or event.name event.post.topic.title}}
</div> </div>

View File

@ -189,11 +189,6 @@ module("Integration | Component | upcoming-events-list", function (hooks) {
await waitFor(".loading-container .spinner", { count: 0 }); await waitFor(".loading-container .spinner", { count: 0 });
assert.ok(
!exists(".upcoming-events-list__formatted-month"),
"it omits the formatted month when empty"
);
assert.deepEqual( assert.deepEqual(
[...queryAll(".upcoming-events-list__formatted-day")].map( [...queryAll(".upcoming-events-list__formatted-day")].map(
(el) => el.innerText (el) => el.innerText
@ -224,6 +219,34 @@ module("Integration | Component | upcoming-events-list", function (hooks) {
); );
}); });
test("with events, omitted formats", async function (assert) {
pretender.get("/discourse-post-event/events", twoEventsResponseHandler);
await render(<template>
<UpcomingEventsList @params={{hash monthFormat="" timeFormat=""}} />
</template>);
this.appEvents.trigger("page:changed", { url: "/" });
assert
.dom(".upcoming-events-list__heading")
.hasText(
I18n.t(
"discourse_calendar.discourse_post_event.upcoming_events_list.title"
),
"it displays the title"
);
await waitFor(".loading-container .spinner", { count: 0 });
assert
.dom(".upcoming-events-list__formatted-month")
.doesNotExist("it omits the formatted month when empty");
assert
.dom(".upcoming-events-list__formatted-time")
.doesNotExist("it omits the formatted time when empty");
});
test("with an error response", async function (assert) { test("with an error response", async function (assert) {
pretender.get("/discourse-post-event/events", () => { pretender.get("/discourse-post-event/events", () => {
return response(500, {}); return response(500, {});