{"version":3,"file":"main.C67Lif.js","sources":["theme-200/virtual:theme","theme-200/discourse/components/featured-card.gjs","theme-200/discourse/components/featured-cards.gjs","theme-200/discourse/connectors/above-main-container/featured-cards.gjs","theme-200/discourse/connectors/below-site-header/featured-cards.gjs","theme-200/discourse/connectors/discovery-list-container-top/featured-cards.gjs","theme-200/virtual:entrypoint:main"],"sourcesContent":["import { getObjectForTheme } from \"discourse/lib/theme-settings-store\";\n\nexport const settings = getObjectForTheme(200);\n\nexport function themePrefix(key) {\n  return `theme_translations.200.${key}`;\n}\n","import Component from \"@glimmer/component\";\nimport { service } from \"@ember/service\";\nimport { htmlSafe } from \"@ember/template\";\nimport { concat } from \"@ember/helper\";\nimport categoryLink from \"discourse/helpers/category-link\";\nimport formatDate from \"discourse/helpers/format-date\";\nimport avatar from \"discourse/helpers/bound-avatar-template\";\nimport icon from \"discourse/helpers/d-icon\";\n\nfunction getTagName(tag) {\n  return typeof tag === \"string\" ? tag : tag?.name || tag?.slug;\n}\n\nexport default class FeaturedCard extends Component {\n  @service site;\n  \n  responsiveRatios = [1, 1.5, 2];\n  displayHeight = 500;\n  displayWidth = 500;\n\n  get topic() {\n    return this.args.topic;\n  }\n\n  get tagUrl() {\n    return `/tag/${this.tag}`;\n  }\n\n  get tag() {\n    if (!this.topic.tags) return null;\n    const featuredTags = settings.featured_tags.split(\"|\");\n    for (const tag of this.topic.tags) {\n      const name = getTagName(tag);\n      if (featuredTags.includes(name)) return name;\n    }\n    return null;\n  }\n\n  get srcset() {\n    if (!this.topic.thumbnails) return \"\";\n    return this.responsiveRatios\n      .map((ratio) => {\n        const match = this.findBest(\n          ratio * this.displayHeight,\n          ratio * this.displayWidth\n        );\n        return match ? `${match.url} ${ratio}x` : \"\";\n      })\n      .filter(Boolean)\n      .join(\",\");\n  }\n\n  get original() {\n    return this.topic.thumbnails?.[0];\n  }\n\n  get width() {\n    return this.original?.width;\n  }\n\n  get height() {\n    return this.original?.height;\n  }\n\n  get fallbackSrc() {\n    const best = this.findBest(this.displayWidth, this.displayHeight);\n    return best?.url;\n  }\n\n  findBest(maxWidth, maxHeight) {\n    if (!this.topic.thumbnails) return null;\n\n    const largeEnough = this.topic.thumbnails.filter((t) => {\n      if (!t.url) return false;\n      return t.max_width >= maxHeight;\n    });\n\n    if (largeEnough.length > 0) {\n      return largeEnough[largeEnough.length - 1];\n    }\n\n    return this.original;\n  }\n\n  get url() {\n    return this.topic.linked_post_number\n      ? this.topic.urlForPostNumber(this.topic.linked_post_number)\n      : this.topic.lastUnreadUrl;\n  }\n\n  get creator() {\n    // Direct creator property (available in some Discourse versions/endpoints)\n    if (this.topic.creator) return this.topic.creator;\n    if (this.topic.created_by) return this.topic.created_by;\n\n    // Resolve from posters array (topic list format with user_id references)\n    const posters = this.topic.posters;\n    if (!posters?.length) return null;\n    const op = posters.find(\n      (p) =>\n        p.description?.includes(\"Original Poster\") ||\n        p.extras?.includes(\"single\")\n    );\n    return op?.user || posters[0]?.user || null;\n  }\n\n  get creatorUsername() {\n    return this.creator?.username;\n  }\n\n  get creatorName() {\n    return this.creator?.name || this.creator?.username;\n  }\n\n  get avatarUrl() {\n    if (this.creator?.avatar_template) {\n      return this.creator.avatar_template.replace(\"{size}\", \"25\");\n    }\n    return \"/images/avatar.png\";\n  }\n\n  get hasFlair() {\n    return this.creator?.flair_url || this.creator?.flair_bg_color;\n  }\n\n  get flairUrl() {\n    return this.creator?.flair_url;\n  }\n\n  get flairBgColor() {\n    return this.creator?.flair_bg_color;\n  }\n\n  get flairColor() {\n    return this.creator?.flair_color;\n  }\n\n  get flairGroupName() {\n    return this.creator?.flair_group_id;\n  }\n\n  <template>\n    <div class=\"featured-card\">\n      <a class=\"card-content\" href={{this.url}}>\n        {{#if settings.show_tag}}\n          <div class=\"discourse-tags\">\n            <a\n              href={{this.tagUrl}}\n              data-tag-name={{this.tag}}\n              class=\"discourse-tag box\"\n            >{{this.tag}}</a>\n          </div>\n        {{/if}}\n        {{#if settings.show_image}}\n          <div class=\"card-image\">\n            {{#if this.topic.thumbnails}}\n              <img\n                src={{this.fallbackSrc}}\n                srcset={{this.srcset}}\n                width=\"100%\"\n                height=\"100%\"\n                loading=\"lazy\"\n                class=\"topic-thumbnail\"\n              />\n            {{else}}\n              <div\n                width=\"100%\"\n                height=\"100%\"\n                class=\"topic-thumbnail-placeholder\"\n              ></div>\n            {{/if}}\n          </div>\n        {{/if}}\n        <div class=\"card-details\">\n          {{#if settings.show_category_link}}\n            <div class=\"topic-header\">\n              <div class=\"category-link\">{{categoryLink this.topic.category}}</div>\n              <span class=\"topic-date\">{{formatDate this.topic.created_at format=\"tiny\"}}</span>\n            </div>\n          {{/if}}\n          {{#if settings.show_title}}\n            <h2 class=\"topic-title\">{{this.topic.title}}</h2>\n          {{/if}}\n          {{#if settings.show_excerpt}}\n            {{#if this.topic.hasExcerpt}}\n              <div class=\"topic-excerpt\">\n                {{htmlSafe this.topic.excerpt}}\n              </div>\n            {{/if}}\n          {{/if}}\n          {{#if settings.show_author}}\n            <div class=\"topic-author\">\n              <span class=\"user-link\">\n                <div class=\"avatar-wrapper\">\n                  <img src=\"{{this.avatarUrl}}\" class=\"avatar\" alt=\"{{this.creatorUsername}}\" width=\"25\" height=\"25\" />\n                  {{#if this.hasFlair}}\n                    <div class=\"avatar-flair\" style=\"{{if this.flairBgColor (concat 'background-color: ' this.flairBgColor ';')}}{{if this.flairColor (concat 'color: ' this.flairColor ';')}}\">\n                      {{#if this.flairUrl}}\n                        <img src=\"{{this.flairUrl}}\" class=\"avatar-flair-image\" alt=\"\" />\n                      {{else}}\n                        <span class=\"avatar-flair-icon\">{{icon \"shield-alt\"}}</span>\n                      {{/if}}\n                    </div>\n                  {{/if}}\n                </div>\n                <span class=\"username\">{{this.creatorName}}</span>\n              </span>\n            </div>\n          {{/if}}\n        </div>\n      </a>\n    </div>\n  </template>\n}\n","import Component from \"@glimmer/component\";\nimport { tracked } from \"@glimmer/tracking\";\nimport { action } from \"@ember/object\";\nimport { service } from \"@ember/service\";\nimport { next } from \"@ember/runloop\";\nimport { defaultHomepage } from \"discourse/lib/utilities\";\nimport PluginOutlet from \"discourse/components/plugin-outlet\";\nimport FeaturedCard from \"./featured-card\";\n\nfunction getTagNames(tags) {\n  if (!tags) return [];\n  return tags.map((tag) =>\n    typeof tag === \"string\" ? tag : tag?.name || tag?.slug\n  );\n}\n\nfunction shuffle(array) {\n  array = [...array];\n\n  // https://stackoverflow.com/a/12646864\n  for (let i = array.length - 1; i > 0; i--) {\n    const j = Math.floor(Math.random() * (i + 1));\n    [array[i], array[j]] = [array[j], array[i]];\n  }\n\n  return array;\n}\n\nexport default class FeaturedCards extends Component {\n  @service router;\n  @service store;\n  @service site;\n  @service siteSettings;\n  \n  @tracked isLoading = true;\n  @tracked list = null;\n\n  constructor() {\n    super(...arguments);\n    this.loadTopics();\n  }\n\n  get featuredTags() {\n    return settings.featured_tags.replaceAll(\"|\", \" \");\n  }\n\n  @action\n  loadTopics() {\n    const loadParams = { tags: this.featuredTags, period: settings.top_period };\n    if (settings.featured_category > 0) {\n      loadParams.category = settings.featured_category;\n    }\n\n    this.store\n      .findFiltered(\"topicList\", {\n        filter: settings.topic_source,\n        params: loadParams,\n      })\n      .then((list) => {\n        this.list = list;\n        next(this, () => (this.isLoading = false));\n      });\n  }\n\n  get filteredTopics() {\n    if (!this.list?.topics) return [];\n    \n    const featuredTagList = settings.featured_tags.split(\"|\");\n    let filteredTopics = this.list.topics.filter((topic) => {\n      const tagNames = getTagNames(topic.tags);\n      return (\n        tagNames.length > 0 &&\n        featuredTagList.some((tag) => tagNames.includes(tag))\n      );\n    });\n\n    if (settings.randomize_topics) {\n      filteredTopics = shuffle(filteredTopics);\n    }\n\n    const slicedTopics = filteredTopics.slice(0, settings.maximum_topic_count);\n    \n    if (slicedTopics.length === 0) {\n      console.log(\"Featured Cards: No matching topics found\");\n    }\n    \n    return slicedTopics.reverse();\n  }\n\n  get shouldDisplay() {\n    const isMobile = this.site.mobileView;\n    const currentRoute = this.router.currentRoute;\n    const currentRouteName = this.router.currentRouteName;\n    \n    if (isMobile && !settings.display_mobile) return false;\n    \n    if (currentRoute) {\n      if (settings.show_on === \"homepage\") {\n        return currentRouteName == `discovery.${defaultHomepage()}`;\n      } else if (settings.show_on === \"top_menu\") {\n        const topMenuRoutes = this.siteSettings.top_menu\n          .split(\"|\")\n          .filter(Boolean);\n        return topMenuRoutes.includes(currentRoute.localName);\n      } else if (settings.show_on === \"all\") {\n        return (\n          currentRouteName.indexOf(\"editCategory\") &&\n          currentRouteName.indexOf(\"admin\") &&\n          currentRouteName.indexOf(\"full-page-search\")\n        );\n      }\n    }\n    return false;\n  }\n\n  get showHeading() {\n    return settings.show_component_heading;\n  }\n\n  <template>\n    {{#if this.shouldDisplay}}\n      {{#if this.filteredTopics.length}}\n        <PluginOutlet @name=\"before-featured-cards\" @connectorTagName=\"div\" />\n        {{#if this.showHeading}}\n          <h3 class=\"component-heading\">{{settings.heading_text}}</h3>\n        {{/if}}\n        <div class=\"featured-cards-container {{if this.isLoading 'is-loading'}}\">\n          {{#each this.filteredTopics as |topic|}}\n            <FeaturedCard @topic={{topic}} />\n          {{/each}}\n        </div>\n        <PluginOutlet @name=\"after-featured-cards\" @connectorTagName=\"div\" />\n      {{/if}}\n    {{/if}}\n  </template>\n}\n","import FeaturedCards from \"../../components/featured-cards\";\nimport { eq } from \"truth-helpers\";\n\nconst FeaturedCardsConnector = <template>\n  {{#if (eq settings.plugin_outlet \"above-main-container\")}}\n    <FeaturedCards />\n  {{/if}}\n</template>;\n\nexport default FeaturedCardsConnector;\n","import FeaturedCards from \"../../components/featured-cards\";\nimport { eq } from \"truth-helpers\";\n\nconst FeaturedCardsConnector = <template>\n  {{#if (eq settings.plugin_outlet \"below-site-header\")}}\n    <FeaturedCards />\n  {{/if}}\n</template>;\n\nexport default FeaturedCardsConnector;\n","import FeaturedCards from \"../../components/featured-cards\";\nimport { eq } from \"truth-helpers\";\n\nconst FeaturedCardsConnector = <template>\n  {{#if (eq settings.plugin_outlet \"discovery-list-container-top\")}}\n    <FeaturedCards />\n  {{/if}}\n</template>;\n\nexport default FeaturedCardsConnector;\n","import * as Mod1 from \"./discourse/components/featured-card\";\nimport * as Mod2 from \"./discourse/components/featured-cards\";\nimport * as Mod3 from \"./discourse/connectors/above-main-container/featured-cards.gjs\";\nimport * as Mod4 from \"./discourse/connectors/below-site-header/featured-cards.gjs\";\nimport * as Mod5 from \"./discourse/connectors/discovery-list-container-top/featured-cards.gjs\";\nconst compatModules = {\n  \"discourse/components/featured-card\": Mod1,\n  \"discourse/components/featured-cards\": Mod2,\n  \"discourse/connectors/above-main-container/featured-cards\": Mod3,\n  \"discourse/connectors/below-site-header/featured-cards\": Mod4,\n  \"discourse/connectors/discovery-list-container-top/featured-cards\": Mod5,\n};\nexport { compatModules };\nexport default compatModules;\n"],"names":["settings","getObjectForTheme","getTagName","tag","name","slug","FeaturedCard","Component","dt7948","g","this","prototype","service","site","i","responsiveRatios","displayHeight","displayWidth","topic","args","tagUrl","tags","featuredTags","featured_tags","split","includes","srcset","thumbnails","map","ratio","match","findBest","url","filter","Boolean","join","original","width","height","fallbackSrc","best","maxWidth","maxHeight","largeEnough","t","max_width","length","linked_post_number","urlForPostNumber","lastUnreadUrl","creator","created_by","posters","op","find","p","description","extras","user","creatorUsername","username","creatorName","avatarUrl","avatar_template","replace","hasFlair","flair_url","flair_bg_color","flairUrl","flairBgColor","flairColor","flair_color","flairGroupName","flair_group_id","setComponentTemplate","createTemplateFactory","id","block","moduleName","scope","categoryLink","formatDate","htmlSafe","concat","icon","isStrictMode","FeaturedCards","router","store","siteSettings","tracked","isLoading","list","constructor","super","arguments","loadTopics","replaceAll","loadParams","period","top_period","featured_category","category","findFiltered","topic_source","params","then","next","n","action","filteredTopics","topics","featuredTagList","tagNames","some","randomize_topics","array","j","Math","floor","random","shuffle","slicedTopics","slice","maximum_topic_count","console","log","reverse","shouldDisplay","isMobile","mobileView","currentRoute","currentRouteName","display_mobile","show_on","defaultHomepage","top_menu","localName","indexOf","showHeading","show_component_heading","PluginOutlet","FeaturedCardsConnector","eq","templateOnly","compatModules","Mod1","Mod2","Mod3","Mod4"],"mappings":"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"}