diff --git a/.github/ISSUE_TEMPLATE/BUG_REPORT.md b/.github/ISSUE_TEMPLATE/BUG_REPORT.md
deleted file mode 100644
index 69b116fd..00000000
--- a/.github/ISSUE_TEMPLATE/BUG_REPORT.md
+++ /dev/null
@@ -1,27 +0,0 @@
----
-name: "\U0001F41E Bug Report"
-about: Create a report to help us improve Lemmy
-title: ""
-labels: bug
-assignees: ""
----
-
-Found a bug? Please fill out the sections below. 👍
-
-For backend issues, use [lemmy](https://github.com/LemmyNet/lemmy)
-
-### Issue Summary
-
-A summary of the bug.
-
-### Steps to Reproduce
-
-1. (for example) I clicked login, and an endless spinner show up.
-2. I tried to install lemmy via this guide, and I'm getting this error.
-3. ...
-
-### Technical details
-
-- Please post your log: `sudo docker-compose logs > lemmy_log.out`.
-- What OS are you trying to install lemmy on?
-- Any browser console errors?
diff --git a/.github/ISSUE_TEMPLATE/BUG_REPORT.yml b/.github/ISSUE_TEMPLATE/BUG_REPORT.yml
new file mode 100644
index 00000000..64579090
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/BUG_REPORT.yml
@@ -0,0 +1,47 @@
+name: "\U0001F41E Bug Report"
+description: Create a report to help us improve lemmy-ui
+title: "[Bug]: "
+labels: ["bug", "triage"]
+body:
+ - type: markdown
+ attributes:
+ value: |
+ Found a bug? Please fill out the sections below. 👍
+ Thanks for taking the time to fill out this bug report!
+ For backend issues, use [lemmy](https://github.com/LemmyNet/lemmy)
+ - type: textarea
+ id: summary
+ attributes:
+ label: Summary
+ description: A summary of the bug.
+ validations:
+ required: true
+ - type: textarea
+ id: reproduce
+ attributes:
+ label: Steps to Reproduce
+ description: |
+ Describe the steps to reproduce the bug.
+ The better your description is _(go 'here', click 'there'...)_ the fastest you'll get an _(accurate)_ resolution.
+ value: |
+ 1.
+ 2.
+ 3.
+ validations:
+ required: true
+ - type: textarea
+ id: technical
+ attributes:
+ label: Technical Details
+ description: |
+ - Any browser console errors?
+ validations:
+ required: true
+ - type: input
+ id: lemmy-ui-version
+ attributes:
+ label: Version
+ description: Which Lemmy UI version do you use? Displayed in the footer.
+ placeholder: ex. 0.17.4-rc.4
+ validations:
+ required: true
diff --git a/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.md b/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.md
deleted file mode 100644
index bfeca29a..00000000
--- a/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.md
+++ /dev/null
@@ -1,43 +0,0 @@
----
-name: "\U0001F680 Feature request"
-about: Suggest an idea for improving Lemmy
-title: ""
-labels: enhancement
-assignees: ""
----
-
-For backend issues, use [lemmy](https://github.com/LemmyNet/lemmy)
-
-### Is your proposal related to a problem?
-
-
-
-(Write your answer here.)
-
-### Describe the solution you'd like
-
-
-
-(Describe your proposed solution here.)
-
-### Describe alternatives you've considered
-
-
-
-(Write your answer here.)
-
-### Additional context
-
-
-
-(Write your answer here.)
diff --git a/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml b/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml
new file mode 100644
index 00000000..375d06d3
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml
@@ -0,0 +1,41 @@
+name: "\U0001F680 Feature request"
+description: Suggest an idea for improving Lemmy
+labels: ["enhancement"]
+body:
+ - type: markdown
+ attributes:
+ value: |
+ Have a suggestion about Lemmy's UI?
+ For backend issues, use [lemmy](https://github.com/LemmyNet/lemmy)
+ - type: textarea
+ id: problem
+ attributes:
+ label: Is your proposal related to a problem?
+ description: |
+ Provide a clear and concise description of what the problem is.
+ For example, "I'm always frustrated when..."
+ validations:
+ required: true
+ - type: textarea
+ id: solution
+ attributes:
+ label: Describe the solution you'd like.
+ description: |
+ Provide a clear and concise description of what you want to happen.
+ validations:
+ required: true
+ - type: textarea
+ id: alternatives
+ attributes:
+ label: Describe alternatives you've considered.
+ description: |
+ Let us know about other solutions you've tried or researched.
+ validations:
+ required: true
+ - type: textarea
+ id: context
+ attributes:
+ label: Additional context
+ description: |
+ Is there anything else you can add about the proposal?
+ You might want to link to related issues here, if you haven't already.
diff --git a/.github/ISSUE_TEMPLATE/QUESTION.md b/.github/ISSUE_TEMPLATE/QUESTION.md
deleted file mode 100644
index 15325873..00000000
--- a/.github/ISSUE_TEMPLATE/QUESTION.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-name: "? Question"
-about: General questions about Lemmy
-title: ""
-labels: question
-assignees: ""
----
-
-What's the question you have about lemmy?
diff --git a/.github/ISSUE_TEMPLATE/QUESTION.yml b/.github/ISSUE_TEMPLATE/QUESTION.yml
new file mode 100644
index 00000000..460d9a44
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/QUESTION.yml
@@ -0,0 +1,17 @@
+name: "? Question"
+description: General questions about Lemmy
+title: "Question: "
+labels: ["question", "triage"]
+body:
+ - type: markdown
+ attributes:
+ value: |
+ Have a question about Lemmy's UI?
+ Please check the docs first: https://join-lemmy.org/docs/en/index.html
+ - type: textarea
+ id: question
+ attributes:
+ label: Question
+ description: What's the question you have about Lemmy's UI?
+ validations:
+ required: true
\ No newline at end of file
diff --git a/.github/ISSUE_TEMPLATE/hexbear.md b/.github/ISSUE_TEMPLATE/hexbear.md
deleted file mode 100644
index 65483df8..00000000
--- a/.github/ISSUE_TEMPLATE/hexbear.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-name: Hexbear
-about: For hexbear issues
-title: ""
-labels: hexbear
-assignees: ""
----
-
-For hexbear-related issues
diff --git a/.github/ISSUE_TEMPLATE/hexbear.yml b/.github/ISSUE_TEMPLATE/hexbear.yml
new file mode 100644
index 00000000..199b97e9
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/hexbear.yml
@@ -0,0 +1,11 @@
+name: "Hexbear"
+description: For hexbear issues
+labels: ["hexbear", "triage"]
+body:
+ - type: textarea
+ id: question
+ attributes:
+ label: Question
+ description: What's the question you have about hexbear?
+ validations:
+ required: true
\ No newline at end of file
diff --git a/deploy.sh b/deploy.sh
index ce125fcd..c53988d2 100755
--- a/deploy.sh
+++ b/deploy.sh
@@ -4,7 +4,7 @@ set -e
new_tag="$1"
# Old deploy
-# sudo docker build . --tag dessalines/lemmy-ui:$new_tag
+# sudo docker build . --tag dessalines/lemmy-ui:$new_tag --platform=linux/amd64
# sudo docker push dessalines/lemmy-ui:$new_tag
# Upgrade version
diff --git a/src/assets/css/main.css b/src/assets/css/main.css
index a0d72394..1c45341d 100644
--- a/src/assets/css/main.css
+++ b/src/assets/css/main.css
@@ -270,6 +270,10 @@ hr {
-ms-filter: blur(10px);
}
+.img-cover {
+ object-fit: cover;
+}
+
.img-expanded {
max-height: 90vh;
}
diff --git a/src/assets/css/themes/_variables.bootstra_386-tmp.scss b/src/assets/css/themes/_variables.bootstra_386-tmp.scss
deleted file mode 100644
index 7804f9b3..00000000
--- a/src/assets/css/themes/_variables.bootstra_386-tmp.scss
+++ /dev/null
@@ -1,865 +0,0 @@
-//
-// Variables
-// --------------------------------------------------
-
-//== Colors
-//
-//## Gray and brand colors for use across Bootstrap.
-
-//// colors from bs-2
-// Grays
-// -------------------------
-$black: #000;
-$grayDark: #555;
-$gray: #bbb;
-$grayLight: #bbb;
-$white: #fff;
-
-// Accent colors
-// -------------------------
-$blue: #5555ff;
-$cyan: #55ffff;
-$cyanDark: #00aaaa;
-$blueDark: #000084;
-$green: #55ff55;
-$greenDark: #00aa00;
-$magenta: #ff55ff;
-$magentaDark: #aa00aa;
-$red: #ff5555;
-$redDark: #aa0000;
-$yellow: #fefe54;
-$brown: #aa5500;
-$orange: #a85400;
-$pink: #fe54fe;
-$purple: #fe5454;
-
-// end colors
-
-$gray-base: $gray;
-$gray-darker: $grayDark;
-$gray-dark: $grayDark;
-$gray-light: $grayLight;
-$gray-lighter: $grayLight;
-
-$brand-primary: $gray;
-$brand-primary-bg: $cyanDark;
-$brand-success: $greenDark;
-$brand-info: $brown;
-$brand-warning: $magentaDark;
-$brand-danger: $redDark;
-
-//== Scaffolding
-//
-//## Settings for some of the most global styles.
-
-//** Background color for `
`.
-$body-bg: $blueDark;
-//** Global text color on ``.
-$text-color: $gray-light;
-
-//** Global textual link color.
-$link-color: $brand-primary;
-//** Link hover color set via `darken()` function.
-$link-hover-color: $white;
-//** Link hover decoration.
-$link-hover-decoration: none;
-
-//== Typography
-//
-//## Font, line-height, and color for body text, headings, and more.
-
-$font-family-sans-serif: DOS, Monaco, Menlo, Consolas, "Courier New", monospace;
-$font-family-serif: DOS, Monaco, Menlo, Consolas, "Courier New", monospace;
-//** Default monospace fonts for ``, ``, and `
`.
-$font-family-monospace: DOS, Monaco, Menlo, Consolas, "Courier New", monospace;
-$font-family-base: $font-family-sans-serif;
-
-$baseWidth: 10px;
-$font-size-base: 18px;
-$font-size-large: $font-size-base;
-$font-size-small: $font-size-base;
-
-$font-size-h1: $font-size-base;
-$font-size-h2: $font-size-base;
-$font-size-h3: $font-size-base;
-$font-size-h4: $font-size-base;
-$font-size-h5: $font-size-base;
-$font-size-h6: $font-size-base;
-
-//** Unit-less `line-height` for use in components like buttons.
-$baseLineHeight: 19px;
-$line-height-base: $baseLineHeight;
-//** Computed "line-height" (`font-size` * `line-height`) for use with `margin`, `padding`, etc.
-$line-height-computed: $line-height-base;
-
-//** By default, this inherits from the ``.
-$headings-font-family: inherit;
-$headings-font-weight: normal;
-$headings-line-height: $line-height-base;
-$headings-color: inherit;
-
-$space: $baseWidth;
-$halfbaseLineHeight: ($baseLineHeight / 2);
-$borderWidth: 2px;
-$baseLineWidth: ($baseLineHeight / 2);
-$halfSpace: ($baseWidth / 2);
-$lhsNB: ($baseWidth / 2 + 1);
-$rhsNB: ($baseWidth / 2 - 1);
-$lhs: ($lhsNB - ($borderWidth));
-$rhs: ($rhsNB - ($borderWidth / 2));
-$tsNB: ($baseLineHeight / 2);
-$bsNB: $tsNB;
-$ts: ($tsNB - ($borderWidth / 2));
-$bs: $ts;
-$tsMargin: 3px;
-
-//== Iconography
-//
-//## Specify custom location and filename of the included Glyphicons icon font. Useful for those including Bootstrap via Bower.
-
-//** Load fonts from this directory.
-$icon-font-path: "../fonts/";
-//** File name for all font files.
-$icon-font-name: "glyphicons-halflings-regular";
-//** Element ID within SVG icon file.
-$icon-font-svg-id: "glyphicons_halflingsregular";
-
-//== Components
-//
-//## Define common padding and border radius sizes and more. Values based on 14px text and 1.428 line-height (~20px to start).
-
-$padding-base-vertical: 0px;
-$padding-base-horizontal: 0px;
-
-$padding-large-vertical: 0px;
-$padding-large-horizontal: $halfSpace;
-
-$padding-small-vertical: 0px;
-$padding-small-horizontal: 0px;
-
-$padding-xs-vertical: 0px;
-$padding-xs-horizontal: 0px;
-
-$line-height-large: $baseLineHeight;
-$line-height-small: $baseLineHeight;
-
-$border-radius-base: 0;
-$border-radius-large: 0;
-$border-radius-small: 0;
-
-//** Global color for active items (e.g., navs or dropdowns).
-$component-active-color: $white;
-//** Global background color for active items (e.g., navs or dropdowns).
-$component-active-bg: $black;
-
-//** Width of the `border` for generating carets that indicator dropdowns.
-$caret-width-base: 4px;
-//** Carets increase slightly in size for larger components.
-$caret-width-large: 5px;
-
-//== Tables
-//
-//## Customizes the `.table` component with basic values, each used across all table variations.
-
-//** Padding for `
`s and `
`s.
-$table-cell-padding: $ts $rhs $bs $lhs;
-//** Padding for cells in `.table-condensed`.
-$table-condensed-cell-padding: $ts $rhs $bs $lhs;
-
-//** Default background color used for all tables.
-$table-bg: transparent;
-//** Background color used for `.table-striped`.
-$table-bg-accent: $black;
-//** Background color used for `.table-hover`.
-$table-bg-hover: #f5f5f5;
-$table-bg-active: $table-bg-hover;
-
-//** Border color for table and cell borders.
-$table-border-color: $gray;
-
-//== Buttons
-//
-//## For each of Bootstrap's buttons, define text, background and border color.
-
-$btn-font-weight: normal;
-
-$btn-default-color: $black;
-$btn-default-bg: $grayLight;
-$btn-default-border: $grayLight;
-
-$btn-primary-color: $black;
-$btn-primary-bg: $cyanDark;
-$btn-primary-border: $grayLight;
-
-$btn-success-color: #fff;
-$btn-success-bg: $brand-success;
-$btn-success-border: $btn-success-bg;
-
-$btn-info-color: #fff;
-$btn-info-bg: $brand-info;
-$btn-info-border: $btn-info-bg;
-
-$btn-warning-color: #fff;
-$btn-warning-bg: $brand-warning;
-$btn-warning-border: $btn-warning-bg;
-
-$btn-danger-color: #fff;
-$btn-danger-bg: $brand-danger;
-$btn-danger-border: $btn-danger-bg;
-
-$btn-link-disabled-color: $gray-light;
-
-//== Forms
-//
-//##
-
-//** `` background color
-$input-bg: $cyanDark;
-//** `` background color
-$input-bg-disabled: $gray-lighter;
-
-//** Text color for ``s
-$input-color: $white;
-//** `` border color
-$input-border: #ccc;
-
-// TODO: Rename `$input-border-radius` to `$input-border-radius-base` in v4
-//** Default `.form-control` border radius
-// This has no effect on `