Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .stylelintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"rules": {
"at-rule-no-unknown": [
true,
{
"ignoreAtRules": ["tailwind", "theme", "import"]
}
]
}
}
55 changes: 37 additions & 18 deletions frontend/assets/styles/custom.css
Original file line number Diff line number Diff line change
@@ -1,32 +1,34 @@
:root {
--toggle-icon-color: #ffffff;
--toggle-icon-color: #fff;
--toggle-icon-hover: #ffd700;
--bg-color: #000000;
--bg-overlay: rgba(48, 48, 48, 0.95);
--text-color: #ffffff;
--reverse-text-color: #111111;
--card-bg: rgba(26, 26, 26, 1);
--bg-color: #000;
--bg-overlay: rgb(48 48 48 / 95%);
--text-color: #fff;
--reverse-text-color: #111;
--card-bg: rgb(26 26 26 / 100%);
--team-role-shadow-rgb: 255, 255, 255;
}

[data-theme='light'] {
--toggle-icon-color: #111111;
--toggle-icon-color: #111;
--toggle-icon-hover: #ff8c00;
--bg-color: #ffffff;
--bg-overlay: rgba(255, 255, 255, 0.65);
--text-color: #111111;
--reverse-text-color: #ffffff;
--card-bg: rgba(255, 255, 255, 0.85);
--bg-color: #fff;
--bg-overlay: rgb(255 255 255 / 65%);
--text-color: #111;
--reverse-text-color: #fff;
--card-bg: rgb(255 255 255 / 85%);
--team-role-shadow-rgb: 0, 0, 0;
--footer-copyright-color: var(--reverse-text-color);
}

[data-theme='random'] {
--toggle-icon-color: var(--text-color);
--toggle-icon-hover: var(--bg-color);
--bg-color: #000000;
--bg-overlay: rgba(0, 0, 0, 0.65);
--text-color: #ffffff;
--reverse-text-color: #ffffff;
--card-bg: rgba(255, 255, 255, 0.1);
--bg-color: #000;
--bg-overlay: rgb(0 0 0 / 65%);
--text-color: #fff;
--reverse-text-color: #fff;
--card-bg: rgb(255 255 255 / 10%);
--team-role-shadow-rgb: 255, 255, 255;
--footer-copyright-color: var(--text-color);
}
Expand All @@ -43,10 +45,12 @@
background-color 0.3s ease,
color 0.3s ease;
}

.theme-toggle svg {
color: var(--toggle-icon-color);
transition: color 0.3s ease;
}

.theme-toggle:hover svg {
color: var(--toggle-icon-hover);
}
Expand All @@ -55,49 +59,64 @@
.team-role-admin {
--team-role-color: var(--color-team-role-admin);
}

.team-role-developer {
--team-role-color: var(--color-team-role-developer);
}

.team-role-github-triage {
--team-role-color: var(--color-team-role-github-triage);
}

.team-role-moderator {
--team-role-color: var(--color-team-role-moderator);
}

.team-role-board {
--team-role-color: var(--color-team-role-board);
}

.team-role-leader {
--team-role-color: var(--color-team-role-leader);
}

.team-role-coordinator {
--team-role-color: var(--color-team-role-coordinator);
}

.team-role-co-organizers {
--team-role-color: var(--color-team-role-co-organizers);
}

.team-role-lead-developer {
--team-role-color: var(--color-team-role-lead-developer);
}

.team-role-core-developer {
--team-role-color: var(--color-team-role-core-developer);
}

.team-role-event-organizers {
--team-role-color: var(--color-team-role-event-organizers);
}

.team-role-assistant-organizers {
--team-role-color: var(--color-team-role-assistant-organizers);
}

.team-role img {
border: var(--team-role-border) var(--team-role-color);
transition: filter 0.3s ease;
}

.team-role:hover img {
filter: drop-shadow(0 0 10px rgba(var(--team-role-shadow-rgb), 0.4)) drop-shadow(0 0 20px rgba(var(--team-role-shadow-rgb), 0.2));
filter: drop-shadow(0 0 10px rgb(var(--team-role-shadow-rgb) / 40%)) drop-shadow(0 0 20px rgb(var(--team-role-shadow-rgb) / 20%));
}

.team-role span {
color: var(--team-role-color);
}

/* Footer section */
.footer-copyright {
color: var(--footer-copyright-color);
Expand Down
69 changes: 31 additions & 38 deletions frontend/assets/styles/gh-fork-ribbon.css
Original file line number Diff line number Diff line change
Expand Up @@ -11,46 +11,38 @@
text-decoration: none;
text-indent: -999999px;
}

.github-fork-ribbon.fixed {
position: fixed;
}

.github-fork-ribbon:hover,
.github-fork-ribbon:active {
background-color: rgba(0, 0, 0, 0);
background-color: rgb(0 0 0 / 0%);
}
.github-fork-ribbon:before,
.github-fork-ribbon:after {

.github-fork-ribbon::before,
.github-fork-ribbon::after {
position: absolute;
display: block;
width: 15.38em;
height: 1.54em;
top: 3.23em;
right: -3.23em;
-webkit-box-sizing: content-box;
-moz-box-sizing: content-box;
box-sizing: content-box;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-ms-transform: rotate(45deg);
-o-transform: rotate(45deg);
transform: rotate(45deg);
}
.github-fork-ribbon:before {

.github-fork-ribbon::before {
content: '';
padding: 0.38em 0;
background-color: #a00;
background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.15)));
background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.15));
background-image: -moz-linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.15));
background-image: -ms-linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.15));
background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.15));
background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.15));
-webkit-box-shadow: 0 0.15em 0.23em 0 rgba(0, 0, 0, 0.5);
-moz-box-shadow: 0 0.15em 0.23em 0 rgba(0, 0, 0, 0.5);
box-shadow: 0 0.15em 0.23em 0 rgba(0, 0, 0, 0.5);
background-image: linear-gradient(to bottom, rgb(0 0 0 / 0%), rgb(0 0 0 / 15%));
box-shadow: 0 0.15em 0.23em 0 rgb(0 0 0 / 50%);
pointer-events: auto;
}
.github-fork-ribbon:after {

.github-fork-ribbon::after {
content: attr(data-ribbon);
color: #fff;
font:
Expand All @@ -60,47 +52,48 @@
sans-serif;
line-height: 1.54em;
text-decoration: none;
text-shadow: 0 -0.08em rgba(0, 0, 0, 0.5);
text-shadow: 0 -0.08em rgb(0 0 0 / 50%);
text-align: center;
text-indent: 0;
padding: 0.15em 0;
margin: 0.15em 0;
border-width: 0.08em 0;
border-style: dotted;
border-color: #fff;
border-color: rgba(255, 255, 255, 0.7);
border-color: rgb(255 255 255 / 70%);
}

.github-fork-ribbon.left-top,
.github-fork-ribbon.left-bottom {
right: auto;
left: 0;
}

.github-fork-ribbon.left-bottom,
.github-fork-ribbon.right-bottom {
top: auto;
bottom: 0;
}
.github-fork-ribbon.left-top:before,
.github-fork-ribbon.left-top:after,
.github-fork-ribbon.left-bottom:before,
.github-fork-ribbon.left-bottom:after {

.github-fork-ribbon.left-top::before,
.github-fork-ribbon.left-top::after,
.github-fork-ribbon.left-bottom::before,
.github-fork-ribbon.left-bottom::after {
right: auto;
left: -3.23em;
}
Comment on lines +78 to 84
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

For improved readability and maintainability, you could simplify this complex selector using the :is() pseudo-class. This would make the selector list shorter and easier to understand.

.github-fork-ribbon:is(.left-top, .left-bottom)::before,
.github-fork-ribbon:is(.left-top, .left-bottom)::after {
	right: auto;
	left: -3.23em;
}

.github-fork-ribbon.left-bottom:before,
.github-fork-ribbon.left-bottom:after,
.github-fork-ribbon.right-bottom:before,
.github-fork-ribbon.right-bottom:after {

.github-fork-ribbon.left-bottom::before,
.github-fork-ribbon.left-bottom::after,
.github-fork-ribbon.right-bottom::before,
.github-fork-ribbon.right-bottom::after {
top: auto;
bottom: 3.23em;
}
Comment on lines +86 to 92
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Similar to the previous suggestion, you can use the :is() pseudo-class here to simplify the selector list, which enhances code clarity.

.github-fork-ribbon:is(.left-bottom, .right-bottom)::before,
.github-fork-ribbon:is(.left-bottom, .right-bottom)::after {
	top: auto;
	bottom: 3.23em;
}

.github-fork-ribbon.left-top:before,
.github-fork-ribbon.left-top:after,
.github-fork-ribbon.right-bottom:before,
.github-fork-ribbon.right-bottom:after {
-webkit-transform: rotate(-45deg);
-moz-transform: rotate(-45deg);
-ms-transform: rotate(-45deg);
-o-transform: rotate(-45deg);

.github-fork-ribbon.left-top::before,
.github-fork-ribbon.left-top::after,
.github-fork-ribbon.right-bottom::before,
.github-fork-ribbon.right-bottom::after {
transform: rotate(-45deg);
}
Comment on lines +94 to 99
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Again, applying the :is() pseudo-class can make this selector more concise and easier to read.

.github-fork-ribbon:is(.left-top, .right-bottom)::before,
.github-fork-ribbon:is(.left-top, .right-bottom)::after {
	transform: rotate(-45deg);
}

3 changes: 2 additions & 1 deletion frontend/assets/tailwind.css
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
@import 'tailwindcss';
@import url('tailwindcss');

@tailwind base;
@tailwind components;
Expand All @@ -7,6 +7,7 @@
:root {
--team-role-border: 2px solid;
}

@theme {
--color-table-header: #091a52;
--color-highlight: #ff5733;
Expand Down
Loading