Christmas hats component

As Christmas approaches, you may want to add a bit of festive flair to your forum. So I present a (very simple) Christmas hats theme:

image image

Github repository

https://github.com/hnb-ku/discourse-christmas-hats

Demo:
https://theme-creator.discourse.org/theme/Johani/christmas-hats
navigate to the latest / top pages or visit a topic page


A couple of notes:

  • This theme assumes list avatars are 25x25 with a 2px border all round; you may need to tweak some of the positioning in the CSS for your avatars.
  • It also assumes that thread avatars are 64x64 with a 2px border all round; again, tweak the positioning as you see fit.
  • To avoid excessive festiveness, not all avatars in lists will be bedecked with Christmas cheer, but once you open up a thread, everyone is part of the fun.

Enjoy!


(Aside: it looks like I wasn’t the first to think of this!)

39 Likes

how to “install” it?

:wink:

5 Likes

Is it possible to add only hats to my current themes?

Yep! You can add it as a “theme component” to your existing themes. This is how I’m using it.

4 Likes

Works like a charm, thank you!

1 Like

is it possible to put the hat on a especial user? or on users of a especial group?

1 Like

Is it still possible to use .dcstyle.json for components? If not we should get this fixed ASAP - Christmas hats all round!

4 Likes

Yes, that’s still the format you get when you export a theme / component from the admin. There are two options to get this component up to date.

  1. directly edit the file to add the component flag.
  2. import the component, convert it, then export it again.

Either of those options will work to ensure that the component gets imported as a… well… component.

4 Likes

this is a great component. i was wondering, is there a way to add turkey wings to the profile pictures for thanksgiving?

1 Like

Sure, just prepare a PNG or gif with transparency, upload it and alter the CSS so that it refers to your image.

6 Likes

thank you for your help, my forums are loving all the Christmas themes and hat components.
thank you for the great component to work off of, its awesome

image

( is there anyway to add a gif instead of a pic? i would love to add flashing lights around profile pics )

2 Likes

Sure, GIFs support transparency. If you can make it and align it then it should work fine AFAIK.

6 Likes

it works absolutely perfect, thank you, my forums are filled with so much Holiday awesomeness, thank you

5 Likes

Is anybody up for updating this to get it working on mobile?

this works on mobile on my site.
i’ve changed it so there are 4 different type of hats the users can choose from

it works great

make sure you have it installed under “mobile”

and heres the css code i use

.topic-avatar {
  position: relative;
}

.topic-avatar > a::after {
  content: "";
  background-image: url($elf);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: -68%;
  left: -27%;
  width: 130%;
  height: 100%;
}

.topic-post:nth-of-type(2n) .topic-avatar > a::after {
  transform: rotate(-5deg) translateX(-4px);
}

.topic-post:nth-of-type(5n) .topic-avatar > a::after {
  transform: rotate(5deg) translateX(4px);
}

.topic-post:nth-of-type(3n) .topic-avatar > a::after {
  transform: scaleX(-1) rotate(5deg) translateX(-8px);
}

.topic-list .posters > a.latest {
  position: relative;
}

.topic-list .posters > a.latest::after {
  content: "";
  background-image: url($elf);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: -14px;
  left: -5px;
  width: 32px;
  height: 24px;
}

.topic-list tr:nth-of-type(3n) .posters > a.latest::after {
  transform: scaleX(-1);
  left: 2px;
}
3 Likes

Odd. I have just installed the component from the GitHub repo, enabled it in my theme, and Santa hats show up on Desktop but not on mobile for me.

Also, I tried viewing the demo with the same results.

Edit: I’m on iOS. Perhaps it’s device specific?

i’m on IOS. i think if you install from GitHub, it installs only on desktop, you need to copy and paste and add it under “mobile”

2 Likes

Ideally someone could update the component to use Common instead of Desktop (so it applies to both automatically)

1 Like

Thanks for the help, I hadn’t read too carefully, and I’m not familiar with themes/components yet, so I was expecting it to “just work.” I’ll give it a shot with your instructions.

Yeah, that’d be nice. It’s a bit beyond my ability at the moment, I’m afraid, or I’d try to contribute back in that way.

1 Like