Compare commits

..

60 Commits

Author SHA1 Message Date
6cfaae17f9 Fix padding on become and editor button 2025-03-27 19:08:53 -07:00
5cec530052 Update housing footer links. 2025-03-27 19:08:53 -07:00
e5e2936986 Hide date controls in user directory 2025-03-27 19:08:53 -07:00
400a490a46 Hide metadata on user cards 2025-03-27 19:08:53 -07:00
1ab01a8be3 Fix box shadow and background color 2025-03-27 19:08:25 -07:00
24797e1497 Change highlighted header to 2nd last element 2025-03-27 19:00:34 -07:00
0513956e0a Add margin to lists on published pages 2025-03-27 19:00:34 -07:00
cb23f93684 Hide site logo on error page 2025-03-27 19:00:34 -07:00
af623ae685 Link to become an editor on published pages 2025-03-27 19:00:34 -07:00
db124cb2ab Add footer links 2025-03-27 19:00:03 -07:00
af733478af Make published page look more like OrcasHub 2025-03-27 18:58:20 -07:00
adf2ad6480 Switch to forked version of User Card Directory 2025-03-27 18:58:20 -07:00
1462b336a8 Hide OrcasHub in sidebar on desktop 2025-03-27 18:58:20 -07:00
a1d5e8cf49 Add additional theme components 2025-03-27 18:58:20 -07:00
87323efb2f Hide lock icon globally 2025-03-27 18:58:20 -07:00
abfa52aac5 Add login CTA 2025-03-27 18:58:20 -07:00
9cf2d4f2b5 Start cleaning up unnecessary elements on Community Resources category 2025-03-27 18:58:20 -07:00
c1dbc410d0 Hide category description headings 2025-03-27 18:58:20 -07:00
2d5d3852a0 Add user card directory component 2025-03-27 18:58:20 -07:00
4fb78764ee Hide badges from user card 2025-03-27 18:58:20 -07:00
5e9ca97ef7 Resize category logos 2025-03-27 18:57:59 -07:00
74b40cd026 Hide side banner on create account screen 2025-03-27 18:57:59 -07:00
6b25f4dbec Add custom header links 2025-03-27 18:57:59 -07:00
aac2eb7a79 Add custom footer and styles 2025-03-27 18:57:59 -07:00
fd5db2c464 Adjust border radius on category list page 2025-03-27 18:57:19 -07:00
7f2bf5af1a Hide default logo 2025-03-27 18:56:49 -07:00
00a089c163 Add OrcasHub header image 2025-03-27 18:56:49 -07:00
d88fc2dcbc Adjust border radius to match OrcasHub 2025-03-27 18:56:49 -07:00
f913614ee4 Remove background-container 2025-03-27 18:56:49 -07:00
ea64e87be3 Start updating colors to OrcasHub colors 2025-03-27 18:56:15 -07:00
562c0b92b9 Rename theme 2025-03-27 18:55:54 -07:00
271148a480 Change background to plain secondary color 2025-03-27 18:54:17 -07:00
Jarek Radosz
a0b530dcd5
DEV: Update linting (#76) 2025-03-17 11:46:35 +00:00
dependabot[bot]
0ea5befe97
Bump rack from 3.1.8 to 3.1.10 (#73)
Bumps [rack](https://github.com/rack/rack) from 3.1.8 to 3.1.10.
- [Release notes](https://github.com/rack/rack/releases)
- [Changelog](https://github.com/rack/rack/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rack/rack/compare/v3.1.8...v3.1.10)

---
updated-dependencies:
- dependency-name: rack
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-12 22:08:22 +01:00
Kris
3939cc4da9
UX: general styling improvements, maintenance (#72) 2025-02-11 17:35:36 -05:00
David Taylor
2efca77dda
DEV: Bump dependencies and fix linting (#71) 2025-02-06 18:01:35 +01:00
David Taylor
40e811f10a
DEV: Pin version for Discourse <3.5.0.beta1-dev (#70) 2025-02-05 19:30:26 +01:00
David Taylor
83e2797ceb
DEV: Always run backwards-compat logic (#67)
There was a ~1 week period where the modifier existed in core, but only applied to the new topic list.

Running the modifyClass unconditionally takes care of that. We'll be removing it once the raw-hbs topic list is removed in the next few months.
2025-01-08 17:00:25 +00:00
David Taylor
7cbd064aca
DEV: Update for glimmer topic list (#66) 2025-01-06 16:34:25 +00:00
David Taylor
a5ff337433
DEV: Update linting (#65) 2024-11-28 15:11:58 +01:00
David Taylor
9082c3111c
DEV: Update linting (#64) 2024-11-20 18:37:56 +01:00
dependabot[bot]
83778b2a74
Bump cross-spawn from 7.0.3 to 7.0.6 (#63)
Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.6.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.6)

---
updated-dependencies:
- dependency-name: cross-spawn
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-19 11:00:54 +00:00
David Taylor
b29b3e55d0
DEV: Update eslint config (#62) 2024-11-19 11:34:46 +01:00
Martin Brennan
5c30d32fd2
UX: Add theme screenshots (#61)
Soon we will have a mechanism in core to show
screenshots defined in a theme or component's
repo when that theme is installed. Air is a good
theme to start this with for testing.
2024-10-23 15:17:34 +10:00
Martin Brennan
eefec6d033
UX: Update theme description to match core install modal (#60)
The new theme grid in core will make more use of this description.
2024-10-22 10:04:53 +10:00
Kelv
ec28c7378b
DEV: Update linting setup (#59) 2024-10-17 11:06:38 +02:00
Kelv
9be68bbb1e
DEV: Switch to use pnpm (#58) 2024-10-14 09:34:18 +02:00
Kelv
1799d09a43
DEV: Switch to use pnpm (#56) 2024-10-07 16:29:10 +08:00
dependabot[bot]
3e6a99b610
Bump micromatch from 4.0.5 to 4.0.8 (#55)
Bumps [micromatch](https://github.com/micromatch/micromatch) from 4.0.5 to 4.0.8.
- [Release notes](https://github.com/micromatch/micromatch/releases)
- [Changelog](https://github.com/micromatch/micromatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/micromatch/compare/4.0.5...4.0.8)

---
updated-dependencies:
- dependency-name: micromatch
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-01 12:44:40 +02:00
Natalie Tay
41106a8ea2
DEV: Pin theme for Discourse < 3.4.0.beta1-dev (#53) 2024-08-02 17:28:20 +08:00
dependabot[bot]
93551f55d6
Bump braces from 3.0.2 to 3.0.3 (#52)
Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: braces
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-17 10:46:28 +02:00
JimmyJammyDodger
47a8202e2b
Update about.json (#51) 2024-06-09 17:07:22 +01:00
Jordan Vidrine
a435c5f25d
FIX: Add padding to topic voting title (#50) 2024-05-17 14:48:23 -05:00
Jordan Vidrine
cf24fdbd82
fix (#48) 2024-03-28 14:08:35 -05:00
Jarek Radosz
5dd9f83726
DEV: Update linting (#47) 2024-03-27 16:15:52 +00:00
Jordan Vidrine
50c16bd067
FIX: add bg for calendars (#46) 2024-03-26 11:39:22 -05:00
Jordan Vidrine
3b02612ad4
fix (#45) 2024-03-25 15:33:47 -05:00
Jordan Vidrine
596b28e424
FIX: Fix quote button bg (#44) 2024-03-15 15:43:12 -05:00
Jordan Vidrine
e223ab3008
FIX: Updates for more user pages on mobile (#43) 2024-03-07 22:23:41 -06:00
Selase Krakani
5667a3b6e9
DEV: Pin theme for Discourse < 3.3.0.beta1-dev (#42) 2024-02-29 12:48:31 -07:00
30 changed files with 4697 additions and 2716 deletions

View File

@ -1,2 +1,5 @@
< 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 3.1.999: 1e5882a1541b932f9512f6a7d667b333c1708f53

View File

@ -1,8 +0,0 @@
{
"extends": "eslint-config-discourse",
"ignorePatterns": ["javascripts/vendor/*"],
"globals": {
"settings": "readonly",
"themePrefix": "readonly"
}
}

View File

@ -1,48 +0,0 @@
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

View File

@ -1,147 +0,0 @@
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 Normal file
View File

@ -0,0 +1,11 @@
name: Discourse Theme
on:
push:
branches:
- main
pull_request:
jobs:
ci:
uses: discourse/.github/.github/workflows/discourse-theme.yml@v1

2
.npmrc Normal file
View File

@ -0,0 +1,2 @@
engine-strict = true
auto-install-peers = false

View File

@ -1 +0,0 @@
{}

1
.prettierrc.cjs Normal file
View File

@ -0,0 +1 @@
module.exports = require("@discourse/lint-configs/prettier");

2
.rubocop.yml Normal file
View File

@ -0,0 +1,2 @@
inherit_gem:
rubocop-discourse: stree-compat.yml

2
.streerc Normal file
View File

@ -0,0 +1,2 @@
--print-width=100
--plugins=plugin/trailing_comma,plugin/disable_auto_ternary

1
.template-lintrc.cjs Normal file
View File

@ -0,0 +1 @@
module.exports = require("@discourse/lint-configs/template-lint");

View File

@ -1,4 +0,0 @@
module.exports = {
plugins: ["ember-template-lint-plugin-discourse"],
extends: "discourse:recommended",
};

8
Gemfile Normal file
View File

@ -0,0 +1,8 @@
# frozen_string_literal: true
source "https://rubygems.org"
group :development do
gem "rubocop-discourse"
gem "syntax_tree"
end

101
Gemfile.lock Normal file
View File

@ -0,0 +1,101 @@
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

View File

@ -1,7 +1,7 @@
{ {
"name": "OrcasHub Theme", "name": "OrcasHub Theme",
"about_url": null, "about_url": "https://meta.discourse.org/t/discourse-air-theme/197703",
"license_url": null, "license_url": "https://github.com/discourse/discourse-air/blob/main/LICENSE",
"components": [ "components": [
"https://github.com/jordanvidrine/discourse-category-group-boxes.git", "https://github.com/jordanvidrine/discourse-category-group-boxes.git",
"https://github.com/discourse/discourse-clickable-topic.git", "https://github.com/discourse/discourse-clickable-topic.git",
@ -27,7 +27,10 @@
"highlight": "e6cb37", "highlight": "e6cb37",
"danger": "d05454", "danger": "d05454",
"success": "71bd9f", "success": "71bd9f",
"love": "c16ad7" "love": "c16ad7",
"selected": "2f0177",
"hover": "535353"
} }
} },
"screenshots": ["screenshots/light.png", "screenshots/dark.png"]
} }

File diff suppressed because it is too large Load Diff

3
eslint.config.mjs Normal file
View File

@ -0,0 +1,3 @@
import DiscourseRecommendedTheme from "@discourse/lint-configs/eslint-theme";
export default [...DiscourseRecommendedTheme];

View File

@ -1,5 +1,5 @@
import { withPluginApi } from "discourse/lib/plugin-api";
import { cancel } from "@ember/runloop"; import { cancel } from "@ember/runloop";
import { withPluginApi } from "discourse/lib/plugin-api";
export default { export default {
name: "customize-edit-category-general", name: "customize-edit-category-general",

View File

@ -1,8 +1,13 @@
import { apiInitializer } from "discourse/lib/api"; import { apiInitializer } from "discourse/lib/api";
import { withSilencedDeprecations } from "discourse/lib/deprecated";
export default apiInitializer("0.8", (api) => { export default apiInitializer("0.8", (api) => {
api.modifyClass("component:topic-list-item", { api.registerValueTransformer("topic-list-item-expand-pinned", () => true);
pluginId: "orcashub-discourse-theme",
expandPinned: true, withSilencedDeprecations("discourse.hbr-topic-list-overrides", () => {
api.modifyClass("component:topic-list-item", {
pluginId: "orcashub-discourse-theme",
expandPinned: true,
});
}); });
}); });

View File

@ -1,3 +1,3 @@
en: en:
theme_metadata: theme_metadata:
description: "Discourse Air Theme" description: "A clean and modern theme for Discourse"

View File

@ -10,6 +10,7 @@
h1 { h1 {
font-size: 2.5em !important; font-size: 2.5em !important;
} }
p { p {
font-weight: normal; font-weight: normal;
font-size: $font-up-1; font-size: $font-up-1;
@ -17,15 +18,45 @@
} }
html html
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) 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
)
#main-outlet { #main-outlet {
width: calc(100% - 1em); width: calc(100% - 1em);
padding: 0em 0.5em 1em 0.5em; padding: 0 0.5em 1em 0.5em;
box-shadow: none; box-shadow: none;
background-color: transparent; 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.static-tos #main-outlet,
html body.no-ember #main-outlet,
html body.static-privacy #main-outlet, html body.static-privacy #main-outlet,
html body.about-page #main-outlet, html body.about-page #main-outlet,
html body.static-faq #main-outlet, html body.static-faq #main-outlet,
@ -39,11 +70,14 @@ html body.user-summary-page #main-outlet,
html body.user-activity-page #main-outlet, html body.user-activity-page #main-outlet,
html body.user-invites-page #main-outlet, html body.user-invites-page #main-outlet,
html body.user-preferences-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 { html body.staff:not(.navigation-topics) #main-outlet {
border-radius: 0px; border-radius: 0;
width: calc(100% - 3em); width: calc(100% - 3em);
background-color: var(--secondary); background-color: var(--secondary);
margin-bottom: 0px; margin-bottom: 0;
} }
.container.posts > .row { .container.posts > .row {
@ -52,7 +86,7 @@ html body.staff:not(.navigation-topics) #main-outlet {
.navigation-categories .navigation-container, .navigation-categories .navigation-container,
.categories-list .navigation-container { .categories-list .navigation-container {
border-bottom: 0px !important; border-bottom: 0 !important;
} }
body.category .category-breadcrumb .select-kit-header, body.category .category-breadcrumb .select-kit-header,
@ -81,16 +115,18 @@ ol.category-breadcrumb {
border-radius: 8px; border-radius: 8px;
border: none; border: none;
background-color: var(--secondary); background-color: var(--secondary);
a:hover, a:hover,
a:focus { a:focus {
color: var(--primary); color: var(--primary);
background-color: var(--secondary); background-color: var(--secondary);
} }
} }
.drop { .drop {
top: calc(100% + 0.5em); top: calc(100% + 0.5em);
border-radius: 8px; border-radius: 8px;
box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.25); box-shadow: 0 0 12px rgba(0, 0, 0, 0.25);
} }
} }
@ -133,7 +169,7 @@ ol.category-breadcrumb {
background: var(--secondary); background: var(--secondary);
padding: 1em; padding: 1em;
border-radius: 8px; border-radius: 8px;
box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.05); box-shadow: 0 0 8px rgba(0, 0, 0, 0.05);
border: 1px solid rgba(var(--primary-rgb), 0.1); border: 1px solid rgba(var(--primary-rgb), 0.1);
margin-bottom: 0.5em; margin-bottom: 0.5em;
} }
@ -153,7 +189,7 @@ ol.category-breadcrumb {
.full-width .contents .topic-list .topic-list-header tr { .full-width .contents .topic-list .topic-list-header tr {
background-color: var(--secondary); background-color: var(--secondary);
border-radius: 8px; border-radius: 8px;
box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.05); box-shadow: 0 0 8px rgba(0, 0, 0, 0.05);
border: 1px solid rgba(var(--primary-rgb), 0.1); border: 1px solid rgba(var(--primary-rgb), 0.1);
margin-bottom: 1em; margin-bottom: 1em;
} }
@ -162,14 +198,21 @@ ol.category-breadcrumb {
flex-wrap: wrap; flex-wrap: wrap;
} }
.topic-list-item .discourse-tags { .topic-list-item {
order: 3; > .topic-list-data {
width: 100%; width: 100%;
margin-top: 0.5em; }
.discourse-tags {
order: 3;
width: 100%;
margin-top: 0.5em;
}
} }
.full-width .contents .topic-list .topic-list-item .posts-map { .full-width .contents .topic-list .topic-list-item .posts-map {
padding: 0; padding: 0;
.number { .number {
margin: 0; margin: 0;
} }
@ -190,23 +233,29 @@ ol.category-breadcrumb {
} }
// default category list styles when the modern category boxes theme component isn't used // default category list styles when the modern category boxes theme component isn't used
.category-list-item.category { .category-list-item.category {
background: var(--secondary); background: var(--secondary);
border-radius: 1em; border-radius: 1em;
tbody { tbody {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
width: 100%; width: 100%;
} }
td { td {
width: 100%; width: 100%;
} }
.num.posts { .num.posts {
padding-right: 0.25em; padding-right: 0.25em;
} }
} }
.list-controls .nav-pills .list-control-toggle-link-trigger {
color: var(--secondary);
}
// Footer // Footer
.custom-footer { .custom-footer {
.list { .list {

View File

@ -1,10 +1,17 @@
{ {
"name": "orcashub-discourse-theme", "private": true,
"version": "1.0.0",
"repository": "https://git.grosinger.net/tgrosinger/orcashub-discourse-theme",
"author": "Jordan Vidrine",
"license": "GPL-2.0-or-later",
"devDependencies": { "devDependencies": {
"eslint-config-discourse": "^3.2.0" "@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"
} }

4022
pnpm-lock.yaml generated Normal file

File diff suppressed because it is too large Load Diff

BIN
screenshots/dark.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 507 KiB

BIN
screenshots/light.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 598 KiB

View File

@ -2,6 +2,7 @@ html body.has-sidebar-page.has-full-page-chat {
#main-outlet-wrapper { #main-outlet-wrapper {
gap: 2em; gap: 2em;
} }
#main-outlet { #main-outlet {
padding-bottom: 0 !important; padding-bottom: 0 !important;
} }
@ -12,7 +13,7 @@ html body.has-sidebar-page.has-full-page-chat {
} }
.chat-channel { .chat-channel {
height: calc(100vh - (var(--header-offset) + 10em)); height: calc(100vh - (var(--header-offset) + 7.85em));
} }
.c-navbar-container { .c-navbar-container {
@ -29,7 +30,8 @@ html body.has-sidebar-page.has-full-page-chat {
.has-full-page-chat #main-outlet.wrap { .has-full-page-chat #main-outlet.wrap {
margin-bottom: 30px; margin-bottom: 30px;
padding-bottom: 0px !important; padding-bottom: 0 !important;
.full-page-chat { .full-page-chat {
grid-template-rows: calc(var(--full-page-chat-height) - 50px); grid-template-rows: calc(var(--full-page-chat-height) - 50px);
} }
@ -46,6 +48,7 @@ html body.has-sidebar-page.has-full-page-chat {
border-radius: 0; border-radius: 0;
margin: 0; margin: 0;
padding: 0; padding: 0;
.full-page-chat { .full-page-chat {
grid-template-rows: var(--full-page-chat-height); grid-template-rows: var(--full-page-chat-height);
} }

View File

@ -1,27 +1,5 @@
.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 { .showcased-categories-sidebar {
.full-width .contents .topic-list {
display: unset;
}
.two-topic-list-sidebar { .two-topic-list-sidebar {
.topic-excerpt {
display: none;
}
.btn-link.posts-map.badge-posts { .btn-link.posts-map.badge-posts {
display: block; display: block;
} }
@ -29,5 +7,13 @@
.topic-list .topic-list-item { .topic-list .topic-list-item {
height: unset; height: unset;
} }
.topic-excerpt {
display: none;
}
}
.full-width .contents .topic-list {
display: unset;
} }
} }

View File

@ -1,12 +1,4 @@
// sidebar // 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 { #main-outlet-wrapper {
.sidebar-wrapper { .sidebar-wrapper {
margin: 30px 0 50px; margin: 30px 0 50px;
@ -14,8 +6,13 @@
border-radius: .5rem; border-radius: .5rem;
top: calc(var(--header-offset) + 30px); top: calc(var(--header-offset) + 30px);
height: calc(100vh - (var(--header-offset) + 80px)); height: calc(100vh - (var(--header-offset) + 80px));
@include box-shadow; 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);
} }
.sidebar-footer-wrapper { .sidebar-footer-wrapper {
background: var(--secondary); background: var(--secondary);
} }
@ -25,6 +22,7 @@ body.has-sidebar-page {
#main-outlet-wrapper { #main-outlet-wrapper {
padding-left: 8px; padding-left: 8px;
} }
#main-outlet { #main-outlet {
max-width: unset; max-width: unset;
} }

3
stylelint.config.mjs Normal file
View File

@ -0,0 +1,3 @@
export default {
extends: ["@discourse/lint-configs/stylelint"],
};

2036
yarn.lock

File diff suppressed because it is too large Load Diff