{"version":3,"file":"main.D1P1sK.js","sources":["theme-3/virtual:theme","theme-3/discourse/connectors/user-card-additional-buttons/portfolio-link.gjs","theme-3/discourse/connectors/user-main-nav/portfolio-link.gjs","theme-3/discourse/controllers/user/portfolio.js","theme-3/discourse/portfolio-route-map.js","theme-3/discourse/routes/user/portfolio.js","theme-3/discourse/templates/user/portfolio.gjs","theme-3/virtual:entrypoint:main"],"sourcesContent":["import { getObjectForTheme } from \"discourse/lib/theme-settings-store\";\n\nexport const settings = getObjectForTheme(3);\n\nexport function themePrefix(key) {\n  return `theme_translations.3.${key}`;\n}\n","/* eslint-disable ember/no-classic-components, ember/require-tagless-components */\nimport Component from \"@ember/component\";\nimport { concat } from \"@ember/helper\";\nimport { classNames, tagName } from \"@ember-decorators/component\";\nimport DButton from \"discourse/components/d-button\";\n\n@tagName(\"li\")\n@classNames(\"user-card-additional-buttons-outlet\", \"portfolio-link\")\nexport default class PortfolioLink extends Component {\n  static shouldRender() {\n    return settings.user_card_portfolio_link;\n  }\n\n  <template>\n    <DButton\n      class=\"btn-default\"\n      @href={{concat\n        \"/u/\"\n        this.user.username_lower\n        \"/activity/\"\n        settings.portfolio_route_name\n      }}\n      @icon={{settings.portfolio_icon}}\n      @label={{themePrefix \"portfolio\"}}\n    />\n  </template>\n}\n","/* eslint-disable ember/no-classic-components, ember/require-tagless-components */\nimport Component from \"@ember/component\";\nimport { LinkTo } from \"@ember/routing\";\nimport { classNames, tagName } from \"@ember-decorators/component\";\nimport icon from \"discourse/helpers/d-icon\";\nimport { i18n } from \"discourse-i18n\";\n\n@tagName(\"li\")\n@classNames(\"user-main-nav-outlet\", \"portfolio-link\")\nexport default class PortfolioLink extends Component {\n  <template>\n    {{#LinkTo route=\"user.portfolio\"}}\n      {{icon settings.portfolio_icon}}\n      <span>{{i18n (themePrefix \"portfolio\")}}</span>\n    {{/LinkTo}}\n  </template>\n}\n","import Controller from \"@ember/controller\";\nimport { action } from \"@ember/object\";\n\nexport default class UserPortfolioController extends Controller {\n  @action\n  loadMore() {\n    this.model.loadMore();\n  }\n}\n","export default {\n  resource: \"user\",\n  map() {\n    this.route(\"portfolio\", {\n      path: `activity/${settings.portfolio_route_name}`,\n    });\n  },\n};\n","import Category from \"discourse/models/category\";\nimport DiscourseRoute from \"discourse/routes/discourse\";\n\nexport default class UserPortfolio extends DiscourseRoute {\n  buildRouteInfoMetadata() {\n    return {\n      customThumbnailMode: settings.portfolio_thumbnail_style,\n    };\n  }\n\n  setupController(controller) {\n    super.setupController(...arguments);\n    controller.setProperties({\n      category: Category.findById(settings.portfolio_category),\n    });\n  }\n\n  model() {\n    const filterParams = {};\n    const filterTags = settings.portfolio_tags.split(\"|\").filter(Boolean);\n\n    if (filterTags.length > 0) {\n      filterParams[\"tags\"] = filterTags;\n    }\n\n    if (settings.portfolio_category > 0) {\n      filterParams[\"category\"] = settings.portfolio_category;\n    }\n\n    filterParams[\"order\"] = settings.portfolio_order;\n\n    return this.store.findFiltered(\"topicList\", {\n      filter: `topics/created-by/${this.modelFor(\"user\").username_lower}`,\n      params: filterParams,\n    });\n  }\n}\n","import { htmlSafe } from \"@ember/template\";\nimport BasicTopicList from \"discourse/components/basic-topic-list\";\nimport ConditionalLoadingSpinner from \"discourse/components/conditional-loading-spinner\";\nimport LoadMore from \"discourse/components/load-more\";\nimport { i18n } from \"discourse-i18n\";\n\nexport default <template>\n  <div class=\"user-content user-portfolio\">\n    {{#if @controller.model.topics}}\n      <LoadMore\n        @class=\"paginated-topics-list\"\n        @selector=\".paginated-topics-list .topic-list tr\"\n        @action={{@controller.loadMore}}\n      >\n        <BasicTopicList\n          @topicList={{@controller.model}}\n          @showPosters={{true}}\n        />\n        <ConditionalLoadingSpinner\n          @condition={{@controller.model.loadingMore}}\n        />\n      </LoadMore>\n    {{else}}\n      <div class=\"empty-portfolio\">\n        <div class=\"empty-portfolio-message\">\n          {{htmlSafe (i18n (themePrefix \"empty_portfolio\"))}}\n          {{#if @controller.category}}\n            <p>\n              {{htmlSafe (i18n (themePrefix \"empty_portfolio_link\"))}}\n              <a href={{@controller.category.url}}>\n                {{@controller.category.name}}\n              </a>\n            </p>\n          {{/if}}\n        </div>\n      </div>\n    {{/if}}\n  </div>\n</template>\n","import * as Mod1 from \"./discourse/connectors/user-card-additional-buttons/portfolio-link.gjs\";\nimport * as Mod2 from \"./discourse/connectors/user-main-nav/portfolio-link.gjs\";\nimport * as Mod3 from \"./discourse/controllers/user/portfolio\";\nimport * as Mod4 from \"./discourse/portfolio-route-map\";\nimport * as Mod5 from \"./discourse/routes/user/portfolio\";\nimport * as Mod6 from \"./discourse/templates/user/portfolio\";\nconst compatModules = {\n  \"discourse/connectors/user-card-additional-buttons/portfolio-link\": Mod1,\n  \"discourse/connectors/user-main-nav/portfolio-link\": Mod2,\n  \"discourse/controllers/user/portfolio\": Mod3,\n  \"discourse/portfolio-route-map\": Mod4,\n  \"discourse/routes/user/portfolio\": Mod5,\n  \"discourse/templates/user/portfolio\": Mod6,\n};\nexport { compatModules };\nexport default compatModules;\n"],"names":["settings","getObjectForTheme","themePrefix","key","PortfolioLink","dt7948","c","Component","shouldRender","user_card_portfolio_link","setComponentTemplate","createTemplateFactory","id","block","moduleName","scope","DButton","concat","isStrictMode","this","classNames","tagName","LinkTo","icon","i18n","UserPortfolioController","Controller","loadMore","model","n","prototype","action","portfolioRouteMap","resource","map","route","path","portfolio_route_name","DiscourseRoute","buildRouteInfoMetadata","customThumbnailMode","portfolio_thumbnail_style","setupController","controller","super","arguments","setProperties","category","Category","findById","portfolio_category","filterParams","filterTags","portfolio_tags","split","filter","Boolean","length","portfolio_order","store","findFiltered","modelFor","username_lower","params","portfolio","LoadMore","BasicTopicList","ConditionalLoadingSpinner","htmlSafe","templateOnly","compatModules","Mod1","Mod2","Mod3","Mod4","Mod5"],"mappings":"qvCAEaA,EAAWC,EAAkB;AAEnC,SAASC,EAAYC,GAC1B,MAAO,wBAAwBA,GACjC,CCFoD,MAI/BC,EAAAC,OAAAC,EAAA,cAAsBC,EACzC,mBAAOC,GACL,OAAOR,EAASS,wBAClB,QAEAC,EAAAC,EAAA,CAAAC,GAAA,KAAAC,MAAA,kPAAAC,WAAA,4BAAAC,MAAAA,KAAAA,CAAAC,UAAAC,SAAAjB,WAAAE,gBAAAgB,cAAA,IAYAC,KAAU,GACZ,CAnBCC,EAAW,sCAAuC,kBADlDC,EAAQ;;ACD6B,MAIjBjB,EAAAC,OAAAC,EAAA,cAAsBC,SACzCG,EAAAC,EAAA,CAAAC,GAAA,KAAAC,MAAA,yOAAAC,WAAA,4BAAAC,MAAAA,KAAAA,CAAAO,SAAAC,OAAAvB,WAAAwB,OAAAtB,gBAAAgB,cAAA,IAKAC,KAAU,GACZ,CARCC,EAAW,uBAAwB,kBADnCC,EAAQ;;ACJM,MAAMI,UAAgCC,EAEnDC,QAAAA,GACER,KAAKS,MAAMD,UACb,QAACtB,OAAAwB,EAAAV,KAAAW,sBAHAC,GAAM,kDCJTC,EAAe,CACbC,SAAU,OACVC,GAAAA,GACEf,KAAKgB,MAAM,YAAa,CACtBC,KAAM,YAAYpC,EAASqC,wBAE/B;4CCHa,cAA4BC,EACzCC,sBAAAA,GACE,MAAO,CACLC,oBAAqBxC,EAASyC,0BAElC,CAEAC,eAAAA,CAAgBC,GACdC,MAAMF,mBAAmBG,WACzBF,EAAWG,cAAc,CACvBC,SAAUC,EAASC,SAASjD,EAASkD,qBAEzC,CAEAtB,KAAAA,GACE,MAAMuB,EAAe,CAAA,EACfC,EAAapD,EAASqD,eAAeC,MAAM,KAAKC,OAAOC;AAY7D,OAVIJ,EAAWK,OAAS,IACtBN,EAAmB,KAAIC,GAGrBpD,EAASkD,mBAAqB,IAChCC,EAAuB,SAAInD,EAASkD,oBAGtCC,EAAoB,MAAInD,EAAS0D,gBAE1BvC,KAAKwC,MAAMC,aAAa,YAAa,CAC1CL,OAAQ,qBAAqBpC,KAAK0C,SAAS,QAAQC,iBACnDC,OAAQZ,GAEZ,KC7BFa,EAAAtD,EAAAC,EAAA,CAAAC,GAAA,KAAAC,MAAA,4mCAAAC,WAAA,4BAAAC,MAAAA,KAAAA,CAAAkD,WAAAC,iBAAAC,4BAAAC,WAAA5C,OAAAtB,gBAAAgB,cAAA,IAAAmD;ACAK,MAACC,EAAgB,CACpB,mEAAoEC,EACpE,oDAAqDC,EACrD,uCAAwCC,EACxC,gCAAiCC,EACjC,kCAAmCC,EACnC;"}