Compare commits
	
		
			33 Commits
		
	
	
		
			6cfaae17f9
			...
			a682d432f7
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| a682d432f7 | |||
| 17068549dc | |||
| 7f49e7100c | |||
| d805722968 | |||
| e87eccf710 | |||
| 06fc2eaedf | |||
| 41b1e5558f | |||
| 9199314437 | |||
| cdf00a5026 | |||
| e361a8d018 | |||
| 8309e88885 | |||
| a301036014 | |||
| f753820fbb | |||
| d8c4a16ad8 | |||
| 8fdf327454 | |||
| 6054df2aea | |||
| 85b841a525 | |||
| c863a3c9a1 | |||
| f18c70d867 | |||
| b2cc4a2ae9 | |||
| 50b9a0ca14 | |||
| 1c17f3b507 | |||
| f75fbd72e5 | |||
| c8fd61c67b | |||
| 0b9ae900e3 | |||
| d39e74ca58 | |||
| e347ce42e4 | |||
| 47b081d2a9 | |||
| f715c54b8b | |||
| 910f435080 | |||
| ce2e975d10 | |||
| a8bb351e2f | |||
| 98be4851e7 | 
| @@ -1,5 +1,2 @@ | ||||
| < 3.5.0.beta1-dev: 83e2797ceb40d9832a40ee8c4bc32c7127e9dcda | ||||
| < 3.4.0.beta4-dev: a5ff3374335f17b46654c4ae1e5be7b539c2da1a | ||||
| < 3.4.0.beta1-dev: 93551f55d6e9f8d688f1f9dc0b6a2f14eb08b603 | ||||
| < 3.3.0.beta1-dev: 85dc24d6b58d1b16e6d225ae710633dc20c34d08 | ||||
| 3.1.999: 1e5882a1541b932f9512f6a7d667b333c1708f53 | ||||
|  | ||||
|   | ||||
							
								
								
									
										8
									
								
								.eslintrc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								.eslintrc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | ||||
| { | ||||
|   "extends": "eslint-config-discourse", | ||||
|   "ignorePatterns": ["javascripts/vendor/*"], | ||||
|   "globals": { | ||||
|     "settings": "readonly", | ||||
|     "themePrefix": "readonly" | ||||
|   } | ||||
| } | ||||
							
								
								
									
										48
									
								
								.github/workflows/component-linting.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								.github/workflows/component-linting.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,48 @@ | ||||
| name: Linting | ||||
|  | ||||
| on: | ||||
|   push: | ||||
|     branches: | ||||
|       - main | ||||
|   pull_request: | ||||
|  | ||||
| concurrency: | ||||
|   group: plugin-linting-${{ format('{0}-{1}', github.head_ref || github.run_number, github.job) }} | ||||
|   cancel-in-progress: true | ||||
|  | ||||
| jobs: | ||||
|   build: | ||||
|     runs-on: ubuntu-latest | ||||
|  | ||||
|     steps: | ||||
|       - uses: actions/checkout@v3 | ||||
|  | ||||
|       - name: Set up Node.js | ||||
|         uses: actions/setup-node@v3 | ||||
|         with: | ||||
|           node-version: 16 | ||||
|           cache: yarn | ||||
|  | ||||
|       - name: Yarn install | ||||
|         run: yarn install | ||||
|  | ||||
|       - name: ESLint | ||||
|         if: ${{ always() }} | ||||
|         run: yarn eslint --ext .js,.js.es6 --no-error-on-unmatched-pattern {test,javascripts} | ||||
|  | ||||
|       - name: Prettier | ||||
|         if: ${{ always() }} | ||||
|         shell: bash | ||||
|         run: | | ||||
|           yarn prettier -v | ||||
|           files=$(find javascripts desktop mobile common scss -type f \( -name "*.scss" -or -name "*.js" -or -name "*.es6" \) 2> /dev/null) || true | ||||
|           if [ -n "$files" ]; then | ||||
|             yarn prettier --list-different $files | ||||
|           fi | ||||
|           if [ 0 -lt $(find test -type f \( -name "*.js" -or -name "*.es6" \) 2> /dev/null | wc -l) ]; then | ||||
|             yarn prettier --list-different "test/**/*.{js,es6}" | ||||
|           fi | ||||
|  | ||||
|       - name: Ember template lint | ||||
|         if: ${{ always() }} | ||||
|         run: yarn ember-template-lint --no-error-on-unmatched-pattern javascripts | ||||
							
								
								
									
										147
									
								
								.github/workflows/component-tests.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										147
									
								
								.github/workflows/component-tests.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,147 @@ | ||||
| name: Tests | ||||
|  | ||||
| on: | ||||
|   push: | ||||
|     branches: | ||||
|       - main | ||||
|   pull_request: | ||||
|  | ||||
| concurrency: | ||||
|   group: plugin-tests-${{ format('{0}-{1}', github.head_ref || github.run_number, github.job) }} | ||||
|   cancel-in-progress: true | ||||
|  | ||||
| jobs: | ||||
|   check: | ||||
|     runs-on: ubuntu-latest | ||||
|     outputs: | ||||
|       tests_exist: ${{ steps.check_tests.outputs.tests_exist }} | ||||
|  | ||||
|     steps: | ||||
|       - name: Install component | ||||
|         uses: actions/checkout@v3 | ||||
|         with: | ||||
|           path: tmp/component | ||||
|           fetch-depth: 1 | ||||
|  | ||||
|       - name: Check QUnit existence | ||||
|         id: check_tests | ||||
|         shell: bash | ||||
|         run: | | ||||
|           if [ 0 -lt $(find tmp/component/test -type f \( -name "*.js" -or -name "*.es6" \) 2> /dev/null | wc -l) ]; then | ||||
|             echo "::set-output name=tests_exist::true" | ||||
|           fi | ||||
|  | ||||
|   test: | ||||
|     needs: check | ||||
|     if: ${{ needs.check.outputs.tests_exist }} | ||||
|     runs-on: ubuntu-latest | ||||
|     container: discourse/discourse_test:slim-browsers | ||||
|     timeout-minutes: 15 | ||||
|  | ||||
|     env: | ||||
|       DISCOURSE_HOSTNAME: www.example.com | ||||
|       RUBY_GLOBAL_METHOD_CACHE_SIZE: 131072 | ||||
|       RAILS_ENV: development | ||||
|       PGUSER: discourse | ||||
|       PGPASSWORD: discourse | ||||
|  | ||||
|     steps: | ||||
|       - uses: actions/checkout@v3 | ||||
|         with: | ||||
|           repository: discourse/discourse | ||||
|           fetch-depth: 1 | ||||
|  | ||||
|       - name: Install component | ||||
|         uses: actions/checkout@v3 | ||||
|         with: | ||||
|           path: tmp/component | ||||
|           fetch-depth: 1 | ||||
|  | ||||
|       - name: Setup Git | ||||
|         run: | | ||||
|           git config --global user.email "ci@ci.invalid" | ||||
|           git config --global user.name "Discourse CI" | ||||
|  | ||||
|       - name: Start redis | ||||
|         run: | | ||||
|           redis-server /etc/redis/redis.conf & | ||||
|  | ||||
|       - name: Start Postgres | ||||
|         run: | | ||||
|           chown -R postgres /var/run/postgresql | ||||
|           sudo -E -u postgres script/start_test_db.rb | ||||
|           sudo -u postgres psql -c "CREATE ROLE $PGUSER LOGIN SUPERUSER PASSWORD '$PGPASSWORD';" | ||||
|  | ||||
|       - name: Bundler cache | ||||
|         uses: actions/cache@v3 | ||||
|         with: | ||||
|           path: vendor/bundle | ||||
|           key: ${{ runner.os }}-gem-${{ hashFiles('**/Gemfile.lock') }} | ||||
|           restore-keys: | | ||||
|             ${{ runner.os }}-gem- | ||||
|  | ||||
|       - name: Setup gems | ||||
|         run: | | ||||
|           gem install bundler --conservative -v $(awk '/BUNDLED WITH/ { getline; gsub(/ /,""); print $0 }' Gemfile.lock) | ||||
|           bundle config --local path vendor/bundle | ||||
|           bundle config --local deployment true | ||||
|           bundle config --local without development | ||||
|           bundle install --jobs 4 | ||||
|           bundle clean | ||||
|  | ||||
|       - name: Lint English locale | ||||
|         run: bundle exec ruby script/i18n_lint.rb "tmp/component/locales/en.yml" | ||||
|  | ||||
|       - name: Get yarn cache directory | ||||
|         id: yarn-cache-dir | ||||
|         run: echo "::set-output name=dir::$(yarn cache dir)" | ||||
|  | ||||
|       - name: Yarn cache | ||||
|         uses: actions/cache@v3 | ||||
|         id: yarn-cache | ||||
|         with: | ||||
|           path: ${{ steps.yarn-cache-dir.outputs.dir }} | ||||
|           key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} | ||||
|           restore-keys: | | ||||
|             ${{ runner.os }}-yarn- | ||||
|  | ||||
|       - name: Yarn install | ||||
|         run: yarn install | ||||
|  | ||||
|       - name: Fetch app state cache | ||||
|         uses: actions/cache@v3 | ||||
|         id: app-cache | ||||
|         with: | ||||
|           path: tmp/app-cache | ||||
|           key: >- | ||||
|             ${{ hashFiles('.github/workflows/tests.yml') }}- | ||||
|             ${{ hashFiles('db/**/*', 'plugins/**/db/**/*') }}- | ||||
|  | ||||
|       - name: Restore database from cache | ||||
|         if: steps.app-cache.outputs.cache-hit == 'true' | ||||
|         run: psql -f tmp/app-cache/cache.sql postgres | ||||
|  | ||||
|       - name: Restore uploads from cache | ||||
|         if: steps.app-cache.outputs.cache-hit == 'true' | ||||
|         run: rm -rf public/uploads && cp -r tmp/app-cache/uploads public/uploads | ||||
|  | ||||
|       - name: Create and migrate database | ||||
|         if: steps.app-cache.outputs.cache-hit != 'true' | ||||
|         run: | | ||||
|           bin/rake db:create | ||||
|           bin/rake db:migrate | ||||
|  | ||||
|       - name: Dump database for cache | ||||
|         if: steps.app-cache.outputs.cache-hit != 'true' | ||||
|         run: mkdir -p tmp/app-cache && pg_dumpall > tmp/app-cache/cache.sql | ||||
|  | ||||
|       - name: Dump uploads for cache | ||||
|         if: steps.app-cache.outputs.cache-hit != 'true' | ||||
|         run: rm -rf tmp/app-cache/uploads && cp -r public/uploads tmp/app-cache/uploads | ||||
|  | ||||
|       - name: Component QUnit | ||||
|         run: | | ||||
|           THEME_NAME=$(ruby -e 'require "json"; puts JSON.parse(File.read("tmp/component/about.json"))["name"]') | ||||
|           bundle exec rake themes:install -- "--{\"$THEME_NAME\": \"tmp/component\"}" | ||||
|           UNICORN_TIMEOUT=120 bundle exec rake "themes:qunit[name,$THEME_NAME]" | ||||
|         timeout-minutes: 10 | ||||
							
								
								
									
										11
									
								
								.github/workflows/discourse-theme.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										11
									
								
								.github/workflows/discourse-theme.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,11 +0,0 @@ | ||||
| name: Discourse Theme | ||||
|  | ||||
| on: | ||||
|   push: | ||||
|     branches: | ||||
|       - main | ||||
|   pull_request: | ||||
|  | ||||
| jobs: | ||||
|   ci: | ||||
|     uses: discourse/.github/.github/workflows/discourse-theme.yml@v1 | ||||
							
								
								
									
										1
									
								
								.prettierrc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								.prettierrc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| {} | ||||
| @@ -1 +0,0 @@ | ||||
| module.exports = require("@discourse/lint-configs/prettier"); | ||||
| @@ -1,2 +0,0 @@ | ||||
| inherit_gem: | ||||
|   rubocop-discourse: stree-compat.yml | ||||
							
								
								
									
										2
									
								
								.streerc
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								.streerc
									
									
									
									
									
								
							| @@ -1,2 +0,0 @@ | ||||
| --print-width=100 | ||||
| --plugins=plugin/trailing_comma,plugin/disable_auto_ternary | ||||
| @@ -1 +0,0 @@ | ||||
| module.exports = require("@discourse/lint-configs/template-lint"); | ||||
							
								
								
									
										4
									
								
								.template-lintrc.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								.template-lintrc.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| module.exports = { | ||||
|   plugins: ["ember-template-lint-plugin-discourse"], | ||||
|   extends: "discourse:recommended", | ||||
| }; | ||||
							
								
								
									
										8
									
								
								Gemfile
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								Gemfile
									
									
									
									
									
								
							| @@ -1,8 +0,0 @@ | ||||
| # frozen_string_literal: true | ||||
|  | ||||
| source "https://rubygems.org" | ||||
|  | ||||
| group :development do | ||||
|   gem "rubocop-discourse" | ||||
|   gem "syntax_tree" | ||||
| end | ||||
							
								
								
									
										101
									
								
								Gemfile.lock
									
									
									
									
									
								
							
							
						
						
									
										101
									
								
								Gemfile.lock
									
									
									
									
									
								
							| @@ -1,101 +0,0 @@ | ||||
| GEM | ||||
|   remote: https://rubygems.org/ | ||||
|   specs: | ||||
|     activesupport (8.0.2) | ||||
|       base64 | ||||
|       benchmark (>= 0.3) | ||||
|       bigdecimal | ||||
|       concurrent-ruby (~> 1.0, >= 1.3.1) | ||||
|       connection_pool (>= 2.2.5) | ||||
|       drb | ||||
|       i18n (>= 1.6, < 2) | ||||
|       logger (>= 1.4.2) | ||||
|       minitest (>= 5.1) | ||||
|       securerandom (>= 0.3) | ||||
|       tzinfo (~> 2.0, >= 2.0.5) | ||||
|       uri (>= 0.13.1) | ||||
|     ast (2.4.2) | ||||
|     base64 (0.2.0) | ||||
|     benchmark (0.4.0) | ||||
|     bigdecimal (3.1.9) | ||||
|     concurrent-ruby (1.3.5) | ||||
|     connection_pool (2.5.0) | ||||
|     drb (2.2.1) | ||||
|     i18n (1.14.7) | ||||
|       concurrent-ruby (~> 1.0) | ||||
|     json (2.10.2) | ||||
|     language_server-protocol (3.17.0.4) | ||||
|     lint_roller (1.1.0) | ||||
|     logger (1.6.6) | ||||
|     minitest (5.25.5) | ||||
|     parallel (1.26.3) | ||||
|     parser (3.3.7.1) | ||||
|       ast (~> 2.4.1) | ||||
|       racc | ||||
|     prettier_print (1.2.1) | ||||
|     racc (1.8.1) | ||||
|     rack (3.1.12) | ||||
|     rainbow (3.1.1) | ||||
|     regexp_parser (2.10.0) | ||||
|     rubocop (1.74.0) | ||||
|       json (~> 2.3) | ||||
|       language_server-protocol (~> 3.17.0.2) | ||||
|       lint_roller (~> 1.1.0) | ||||
|       parallel (~> 1.10) | ||||
|       parser (>= 3.3.0.2) | ||||
|       rainbow (>= 2.2.2, < 4.0) | ||||
|       regexp_parser (>= 2.9.3, < 3.0) | ||||
|       rubocop-ast (>= 1.38.0, < 2.0) | ||||
|       ruby-progressbar (~> 1.7) | ||||
|       unicode-display_width (>= 2.4.0, < 4.0) | ||||
|     rubocop-ast (1.39.0) | ||||
|       parser (>= 3.3.1.0) | ||||
|     rubocop-capybara (2.22.1) | ||||
|       lint_roller (~> 1.1) | ||||
|       rubocop (~> 1.72, >= 1.72.1) | ||||
|     rubocop-discourse (3.12.1) | ||||
|       activesupport (>= 6.1) | ||||
|       lint_roller (>= 1.1.0) | ||||
|       rubocop (>= 1.73.2) | ||||
|       rubocop-capybara (>= 2.22.0) | ||||
|       rubocop-factory_bot (>= 2.27.0) | ||||
|       rubocop-rails (>= 2.30.3) | ||||
|       rubocop-rspec (>= 3.0.1) | ||||
|       rubocop-rspec_rails (>= 2.31.0) | ||||
|     rubocop-factory_bot (2.27.1) | ||||
|       lint_roller (~> 1.1) | ||||
|       rubocop (~> 1.72, >= 1.72.1) | ||||
|     rubocop-rails (2.30.3) | ||||
|       activesupport (>= 4.2.0) | ||||
|       lint_roller (~> 1.1) | ||||
|       rack (>= 1.1) | ||||
|       rubocop (>= 1.72.1, < 2.0) | ||||
|       rubocop-ast (>= 1.38.0, < 2.0) | ||||
|     rubocop-rspec (3.5.0) | ||||
|       lint_roller (~> 1.1) | ||||
|       rubocop (~> 1.72, >= 1.72.1) | ||||
|     rubocop-rspec_rails (2.31.0) | ||||
|       lint_roller (~> 1.1) | ||||
|       rubocop (~> 1.72, >= 1.72.1) | ||||
|       rubocop-rspec (~> 3.5) | ||||
|     ruby-progressbar (1.13.0) | ||||
|     securerandom (0.4.1) | ||||
|     syntax_tree (6.2.0) | ||||
|       prettier_print (>= 1.2.0) | ||||
|     tzinfo (2.0.6) | ||||
|       concurrent-ruby (~> 1.0) | ||||
|     unicode-display_width (3.1.4) | ||||
|       unicode-emoji (~> 4.0, >= 4.0.4) | ||||
|     unicode-emoji (4.0.4) | ||||
|     uri (1.0.3) | ||||
|  | ||||
| PLATFORMS | ||||
|   arm64-darwin-23 | ||||
|   ruby | ||||
|  | ||||
| DEPENDENCIES | ||||
|   rubocop-discourse | ||||
|   syntax_tree | ||||
|  | ||||
| BUNDLED WITH | ||||
|    2.6.6 | ||||
							
								
								
									
										11
									
								
								about.json
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								about.json
									
									
									
									
									
								
							| @@ -1,7 +1,7 @@ | ||||
| { | ||||
|   "name": "OrcasHub Theme", | ||||
|   "about_url": "https://meta.discourse.org/t/discourse-air-theme/197703", | ||||
|   "license_url": "https://github.com/discourse/discourse-air/blob/main/LICENSE", | ||||
|   "about_url": null, | ||||
|   "license_url": null, | ||||
|   "components": [ | ||||
|     "https://github.com/jordanvidrine/discourse-category-group-boxes.git", | ||||
|     "https://github.com/discourse/discourse-clickable-topic.git", | ||||
| @@ -27,10 +27,7 @@ | ||||
|       "highlight": "e6cb37", | ||||
|       "danger": "d05454", | ||||
|       "success": "71bd9f", | ||||
|       "love": "c16ad7", | ||||
|       "selected": "2f0177", | ||||
|       "hover": "535353" | ||||
|       "love": "c16ad7" | ||||
|     } | ||||
|   }, | ||||
|   "screenshots": ["screenshots/light.png", "screenshots/dark.png"] | ||||
|   } | ||||
| } | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -1,3 +0,0 @@ | ||||
| import DiscourseRecommendedTheme from "@discourse/lint-configs/eslint-theme"; | ||||
|  | ||||
| export default [...DiscourseRecommendedTheme]; | ||||
| @@ -1,5 +1,5 @@ | ||||
| import { cancel } from "@ember/runloop"; | ||||
| import { withPluginApi } from "discourse/lib/plugin-api"; | ||||
| import { cancel } from "@ember/runloop"; | ||||
|  | ||||
| export default { | ||||
|   name: "customize-edit-category-general", | ||||
|   | ||||
| @@ -1,13 +1,8 @@ | ||||
| import { apiInitializer } from "discourse/lib/api"; | ||||
| import { withSilencedDeprecations } from "discourse/lib/deprecated"; | ||||
|  | ||||
| export default apiInitializer("0.8", (api) => { | ||||
|   api.registerValueTransformer("topic-list-item-expand-pinned", () => true); | ||||
|  | ||||
|   withSilencedDeprecations("discourse.hbr-topic-list-overrides", () => { | ||||
|     api.modifyClass("component:topic-list-item", { | ||||
|       pluginId: "orcashub-discourse-theme", | ||||
|       expandPinned: true, | ||||
|     }); | ||||
|   api.modifyClass("component:topic-list-item", { | ||||
|     pluginId: "orcashub-discourse-theme", | ||||
|     expandPinned: true, | ||||
|   }); | ||||
| }); | ||||
|   | ||||
| @@ -1,3 +1,3 @@ | ||||
| en: | ||||
|   theme_metadata: | ||||
|     description: "A clean and modern theme for Discourse" | ||||
|     description: "Discourse Air Theme" | ||||
|   | ||||
| @@ -10,7 +10,6 @@ | ||||
|   h1 { | ||||
|     font-size: 2.5em !important; | ||||
|   } | ||||
|  | ||||
|   p { | ||||
|     font-weight: normal; | ||||
|     font-size: $font-up-1; | ||||
| @@ -18,45 +17,15 @@ | ||||
| } | ||||
|  | ||||
| html | ||||
|   body:not( | ||||
|     .static-tos, | ||||
|     .static-faq, | ||||
|     .static-privacy, | ||||
|     .about-page, | ||||
|     .static-faq, | ||||
|     .badges-page, | ||||
|     .tags-page, | ||||
|     .archetype-banner, | ||||
|     .archetype-regular, | ||||
|     .archetype-private_message, | ||||
|     .admin-interface, | ||||
|     .edit-category, | ||||
|     .user-summary-page, | ||||
|     .user-activity-page, | ||||
|     .user-invites-page, | ||||
|     .user-preferences-page, | ||||
|     .user-messages-page, | ||||
|     .user-notifications-page, | ||||
|     .user-badges-page | ||||
|   ) | ||||
|   body:not(.static-tos):not(.static-faq):not(.static-privacy):not(.about-page):not(.static-faq):not(.badges-page):not(.tags-page):not(.archetype-banner):not(.archetype-regular):not(.archetype-private_message):not(.admin-interface):not(.edit-category):not(.user-summary-page):not(.user-activity-page):not(.user-invites-page):not(.user-preferences-page) | ||||
|   #main-outlet { | ||||
|   width: calc(100% - 1em); | ||||
|   padding: 0 0.5em 1em 0.5em; | ||||
|   padding: 0em 0.5em 1em 0.5em; | ||||
|   box-shadow: none; | ||||
|   background-color: transparent; | ||||
| } | ||||
|  | ||||
| #main-outlet { | ||||
|   margin-inline: auto; | ||||
| } | ||||
|  | ||||
| html body #main-outlet .docs { | ||||
|   padding: 1em; | ||||
|   background-color: var(--secondary); | ||||
| } | ||||
|  | ||||
| html body.static-tos #main-outlet, | ||||
| html body.no-ember #main-outlet, | ||||
| html body.static-privacy #main-outlet, | ||||
| html body.about-page #main-outlet, | ||||
| html body.static-faq #main-outlet, | ||||
| @@ -70,14 +39,11 @@ html body.user-summary-page #main-outlet, | ||||
| html body.user-activity-page #main-outlet, | ||||
| html body.user-invites-page #main-outlet, | ||||
| html body.user-preferences-page #main-outlet, | ||||
| html body.user-messages-page #main-outlet, | ||||
| html body.user-notifications-page #main-outlet, | ||||
| html body.user-badges-page #main-outlet, | ||||
| html body.staff:not(.navigation-topics) #main-outlet { | ||||
|   border-radius: 0; | ||||
|   border-radius: 0px; | ||||
|   width: calc(100% - 3em); | ||||
|   background-color: var(--secondary); | ||||
|   margin-bottom: 0; | ||||
|   margin-bottom: 0px; | ||||
| } | ||||
|  | ||||
| .container.posts > .row { | ||||
| @@ -86,7 +52,7 @@ html body.staff:not(.navigation-topics) #main-outlet { | ||||
|  | ||||
| .navigation-categories .navigation-container, | ||||
| .categories-list .navigation-container { | ||||
|   border-bottom: 0 !important; | ||||
|   border-bottom: 0px !important; | ||||
| } | ||||
|  | ||||
| body.category .category-breadcrumb .select-kit-header, | ||||
| @@ -115,18 +81,16 @@ ol.category-breadcrumb { | ||||
|     border-radius: 8px; | ||||
|     border: none; | ||||
|     background-color: var(--secondary); | ||||
|  | ||||
|     a:hover, | ||||
|     a:focus { | ||||
|       color: var(--primary); | ||||
|       background-color: var(--secondary); | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   .drop { | ||||
|     top: calc(100% + 0.5em); | ||||
|     border-radius: 8px; | ||||
|     box-shadow: 0 0 12px rgba(0, 0, 0, 0.25); | ||||
|     box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.25); | ||||
|   } | ||||
| } | ||||
|  | ||||
| @@ -169,7 +133,7 @@ ol.category-breadcrumb { | ||||
|   background: var(--secondary); | ||||
|   padding: 1em; | ||||
|   border-radius: 8px; | ||||
|   box-shadow: 0 0 8px rgba(0, 0, 0, 0.05); | ||||
|   box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.05); | ||||
|   border: 1px solid rgba(var(--primary-rgb), 0.1); | ||||
|   margin-bottom: 0.5em; | ||||
| } | ||||
| @@ -189,7 +153,7 @@ ol.category-breadcrumb { | ||||
| .full-width .contents .topic-list .topic-list-header tr { | ||||
|   background-color: var(--secondary); | ||||
|   border-radius: 8px; | ||||
|   box-shadow: 0 0 8px rgba(0, 0, 0, 0.05); | ||||
|   box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.05); | ||||
|   border: 1px solid rgba(var(--primary-rgb), 0.1); | ||||
|   margin-bottom: 1em; | ||||
| } | ||||
| @@ -198,21 +162,14 @@ ol.category-breadcrumb { | ||||
|   flex-wrap: wrap; | ||||
| } | ||||
|  | ||||
| .topic-list-item { | ||||
|   > .topic-list-data { | ||||
|     width: 100%; | ||||
|   } | ||||
|  | ||||
|   .discourse-tags { | ||||
|     order: 3; | ||||
|     width: 100%; | ||||
|     margin-top: 0.5em; | ||||
|   } | ||||
| .topic-list-item .discourse-tags { | ||||
|   order: 3; | ||||
|   width: 100%; | ||||
|   margin-top: 0.5em; | ||||
| } | ||||
|  | ||||
| .full-width .contents .topic-list .topic-list-item .posts-map { | ||||
|   padding: 0; | ||||
|  | ||||
|   .number { | ||||
|     margin: 0; | ||||
|   } | ||||
| @@ -233,29 +190,23 @@ ol.category-breadcrumb { | ||||
| } | ||||
|  | ||||
| // default category list styles when the modern category boxes theme component isn't used | ||||
|  | ||||
| .category-list-item.category { | ||||
|   background: var(--secondary); | ||||
|   border-radius: 1em; | ||||
|  | ||||
|   tbody { | ||||
|     display: flex; | ||||
|     flex-direction: column; | ||||
|     width: 100%; | ||||
|   } | ||||
|  | ||||
|   td { | ||||
|     width: 100%; | ||||
|   } | ||||
|  | ||||
|   .num.posts { | ||||
|     padding-right: 0.25em; | ||||
|   } | ||||
| } | ||||
|  | ||||
| .list-controls .nav-pills .list-control-toggle-link-trigger { | ||||
|   color: var(--secondary); | ||||
| } | ||||
|  | ||||
| // Footer | ||||
| .custom-footer { | ||||
|     .list { | ||||
|   | ||||
							
								
								
									
										21
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										21
									
								
								package.json
									
									
									
									
									
								
							| @@ -1,17 +1,10 @@ | ||||
| { | ||||
|   "private": true, | ||||
|   "name": "orcashub-discourse-theme", | ||||
|   "version": "1.0.0", | ||||
|   "repository": "https://git.grosinger.net/tgrosinger/orcashub-discourse-theme", | ||||
|   "author": "Jordan Vidrine", | ||||
|   "license": "GPL-2.0-or-later", | ||||
|   "devDependencies": { | ||||
|     "@discourse/lint-configs": "2.11.1", | ||||
|     "ember-template-lint": "7.0.1", | ||||
|     "eslint": "9.22.0", | ||||
|     "prettier": "3.5.3", | ||||
|     "stylelint": "16.16.0" | ||||
|   }, | ||||
|   "engines": { | ||||
|     "node": ">= 22", | ||||
|     "npm": "please-use-pnpm", | ||||
|     "yarn": "please-use-pnpm", | ||||
|     "pnpm": "9.x" | ||||
|   }, | ||||
|   "packageManager": "pnpm@9.15.5" | ||||
|     "eslint-config-discourse": "^3.2.0" | ||||
|   } | ||||
| } | ||||
|   | ||||
							
								
								
									
										4022
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										4022
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 507 KiB | 
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 598 KiB | 
| @@ -2,7 +2,6 @@ html body.has-sidebar-page.has-full-page-chat { | ||||
|   #main-outlet-wrapper { | ||||
|     gap: 2em; | ||||
|   } | ||||
|  | ||||
|   #main-outlet { | ||||
|     padding-bottom: 0 !important; | ||||
|   } | ||||
| @@ -13,7 +12,7 @@ html body.has-sidebar-page.has-full-page-chat { | ||||
| } | ||||
|  | ||||
| .chat-channel { | ||||
|   height: calc(100vh - (var(--header-offset) + 7.85em)); | ||||
|   height: calc(100vh - (var(--header-offset) + 10em)); | ||||
| } | ||||
|  | ||||
| .c-navbar-container { | ||||
| @@ -30,8 +29,7 @@ html body.has-sidebar-page.has-full-page-chat { | ||||
|  | ||||
| .has-full-page-chat #main-outlet.wrap { | ||||
|   margin-bottom: 30px; | ||||
|   padding-bottom: 0 !important; | ||||
|  | ||||
|   padding-bottom: 0px !important; | ||||
|   .full-page-chat { | ||||
|     grid-template-rows: calc(var(--full-page-chat-height) - 50px); | ||||
|   } | ||||
| @@ -48,7 +46,6 @@ html body.has-sidebar-page.has-full-page-chat { | ||||
|     border-radius: 0; | ||||
|     margin: 0; | ||||
|     padding: 0; | ||||
|  | ||||
|     .full-page-chat { | ||||
|       grid-template-rows: var(--full-page-chat-height); | ||||
|     } | ||||
|   | ||||
| @@ -1,5 +1,27 @@ | ||||
| .showcased-categories-sidebar .two-topic-list-sidebar { | ||||
|   .topic-excerpt { | ||||
|     display: none; | ||||
|   } | ||||
|  | ||||
|   .btn-link.posts-map.badge-posts { | ||||
|     display: block; | ||||
|   } | ||||
|  | ||||
|   .two-topic-list-sidebar .topic-list .topic-list-item { | ||||
|     height: unset; | ||||
|   } | ||||
| } | ||||
|  | ||||
| .showcased-categories-sidebar { | ||||
|   .full-width .contents .topic-list { | ||||
|     display: unset; | ||||
|   } | ||||
|  | ||||
|   .two-topic-list-sidebar { | ||||
|     .topic-excerpt { | ||||
|       display: none; | ||||
|     } | ||||
|  | ||||
|     .btn-link.posts-map.badge-posts { | ||||
|       display: block; | ||||
|     } | ||||
| @@ -7,13 +29,5 @@ | ||||
|     .topic-list .topic-list-item { | ||||
|       height: unset; | ||||
|     } | ||||
|  | ||||
|     .topic-excerpt { | ||||
|       display: none; | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   .full-width .contents .topic-list { | ||||
|     display: unset; | ||||
|   } | ||||
| } | ||||
|   | ||||
| @@ -1,4 +1,12 @@ | ||||
| // sidebar | ||||
|  | ||||
| @mixin box-shadow($value: 0px) { | ||||
|   box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px, | ||||
|     rgba(0, 0, 0, 0) 0px 0px 0px 0px, | ||||
|     rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, | ||||
|     rgba(0, 0, 0, 0.1) 0px 1px 2px -1px; | ||||
| } | ||||
|  | ||||
| #main-outlet-wrapper { | ||||
|   .sidebar-wrapper { | ||||
|     margin: 30px 0 50px; | ||||
| @@ -6,13 +14,8 @@ | ||||
|     border-radius: .5rem; | ||||
|     top: calc(var(--header-offset) + 30px); | ||||
|     height: calc(100vh - (var(--header-offset) + 80px)); | ||||
|     box-shadow: | ||||
|       0 24px 40px rgba(0, 0, 0, 0.07), | ||||
|       0 10.8529px 24.1177px rgba(0, 0, 0, 0.0456112), | ||||
|       0 4.50776px 10.0172px rgba(0, 0, 0, 0.035), | ||||
|       0 1.63037px 3.62304px rgba(0, 0, 0, 0.0243888); | ||||
|     @include box-shadow; | ||||
|   } | ||||
|  | ||||
|   .sidebar-footer-wrapper { | ||||
|     background: var(--secondary); | ||||
|   } | ||||
| @@ -22,7 +25,6 @@ body.has-sidebar-page { | ||||
|   #main-outlet-wrapper { | ||||
|     padding-left: 8px; | ||||
|   } | ||||
|  | ||||
|   #main-outlet { | ||||
|     max-width: unset; | ||||
|   } | ||||
|   | ||||
| @@ -1,3 +0,0 @@ | ||||
| export default { | ||||
|   extends: ["@discourse/lint-configs/stylelint"], | ||||
| }; | ||||
		Reference in New Issue
	
	Block a user