From 981ab65c540c61cc1eb2da2742262b103f29f9b2 Mon Sep 17 00:00:00 2001 From: emmanyouwell Date: Sat, 28 Jun 2025 23:41:23 +0800 Subject: [PATCH 1/4] Added retro decorations and retro preset theme --- src/OGCard.tsx | 233 ++++++++++++------------ src/decorations.tsx | 102 +++++++++-- src/theme.ts | 433 +++++++++++++++++++++++--------------------- 3 files changed, 433 insertions(+), 335 deletions(-) diff --git a/src/OGCard.tsx b/src/OGCard.tsx index 58ad9d8..f5ece0e 100644 --- a/src/OGCard.tsx +++ b/src/OGCard.tsx @@ -1,73 +1,82 @@ -import { Rating } from './rating' -import { preset, type Theme } from './theme' -import { GitRollLogo } from './logo' -import { KawaiiCatDecoration } from './decorations' - +import { Rating } from "./rating"; +import { preset, type Theme } from "./theme"; +import { GitRollLogo } from "./logo"; +import { KawaiiCatDecoration, RetroThemeDecoration } from "./decorations"; export interface OGCardProps { - user: string - avatar: string | null - devType: string | null - overallScore: string - overallScoreCDF: string - overallRating: Rating - reliabilityScore: number - securityScore: number - maintainabilityScore: number - contributor: boolean - regionalRank?: [ string | number, string ] | null - campusRank?: [ string | number, string ] | null - theme?: Theme + user: string; + avatar: string | null; + devType: string | null; + overallScore: string; + overallScoreCDF: string; + overallRating: Rating; + reliabilityScore: number; + securityScore: number; + maintainabilityScore: number; + contributor: boolean; + regionalRank?: [string | number, string] | null; + campusRank?: [string | number, string] | null; + theme?: Theme; } export function OGCard({ - user, avatar, devType, - overallScore, overallScoreCDF, overallRating, - reliabilityScore, securityScore, maintainabilityScore, + user, + avatar, + devType, + overallScore, + overallScoreCDF, + overallRating, + reliabilityScore, + securityScore, + maintainabilityScore, contributor, - regionalRank, campusRank, - theme = preset.light + regionalRank, + campusRank, + theme = preset.light, }: OGCardProps) { - const bg = theme.badgeColors[overallRating] ?? theme.badgeColors[Rating.E] + const bg = theme.badgeColors[overallRating] ?? theme.badgeColors[Rating.E]; return (
{theme === preset.kawaiiCat && ( )} + {theme === preset.retro && ( + + )}
{avatar ? ( ) : (

Above {overallScoreCDF}% @@ -186,15 +195,15 @@ export function OGCard({
@@ -219,37 +228,37 @@ export function OGCard({ Reliability
@@ -262,37 +271,37 @@ export function OGCard({ Security
@@ -305,26 +314,26 @@ export function OGCard({ Maintainability
@@ -333,23 +342,23 @@ export function OGCard({
{contributor && (
@@ -358,16 +367,16 @@ export function OGCard({ )} {regionalRank && (
Top {regionalRank[0]}% in {regionalRank[1]} @@ -375,16 +384,16 @@ export function OGCard({ )} {campusRank && (
Top {campusRank[0]}% in {campusRank[1]} @@ -392,5 +401,5 @@ export function OGCard({ )}
- ) + ); } diff --git a/src/decorations.tsx b/src/decorations.tsx index bd8b4ae..ae3007b 100644 --- a/src/decorations.tsx +++ b/src/decorations.tsx @@ -1,35 +1,37 @@ interface KawaiiCatDecorationProps { - color: string + color: string; +} +interface RetroThemeDecorationProps { + color: string; } - export function KawaiiCatDecoration({ color }: KawaiiCatDecorationProps) { return ( - + {/* Paw prints trail across bottom & top */} {[200, 400, 600, 800, 1000].map((x, i) => ( - - - + + + ))} {[200, 400, 600, 800, 1000].map((x, i) => ( - - - + + + ))} @@ -43,19 +45,79 @@ export function KawaiiCatDecoration({ color }: KawaiiCatDecorationProps) { ))} {/* Decorative borders */} + + + ); +} + +export function RetroThemeDecoration({ color }: RetroThemeDecorationProps) { + return ( + + {/* Retro-style grid background */} + + + + + + + {/* Stars */} + + {[ + // Stars on Top-left of logo + [90, 60, 0.8], + [66, 69, 0.8], + [58, 95, 0.8], + ].map(([x, y], i) => ( + + ))} + {/* Dotted border lines */} + - ) + ); } diff --git a/src/theme.ts b/src/theme.ts index 7ac5dbd..a737512 100644 --- a/src/theme.ts +++ b/src/theme.ts @@ -1,261 +1,287 @@ -import { Rating } from './rating' - +import { Rating } from "./rating"; export interface Theme { - backgroundColor: string - textColor: string - textColorSecondary: string - badgeColors: Record - badgeTextColors: Record - barBackground: string - barForeground: string - borderColor: string - avatarPlaceholderColor: string - logoColor: string + backgroundColor: string; + textColor: string; + textColorSecondary: string; + badgeColors: Record; + badgeTextColors: Record; + barBackground: string; + barForeground: string; + borderColor: string; + avatarPlaceholderColor: string; + logoColor: string; } const light = { - backgroundColor: '#fff', - textColor: '#000', - textColorSecondary: 'rgba(0, 0, 0, 0.6)', + backgroundColor: "#fff", + textColor: "#000", + textColorSecondary: "rgba(0, 0, 0, 0.6)", badgeColors: { - [Rating.S]: '#c4b5fd', - [Rating.A]: '#bbf7d0', - [Rating.B]: '#d9f99d', - [Rating.C]: '#fef08a', - [Rating.D]: '#fed7aa', - [Rating.E]: '#fecaca' + [Rating.S]: "#c4b5fd", + [Rating.A]: "#bbf7d0", + [Rating.B]: "#d9f99d", + [Rating.C]: "#fef08a", + [Rating.D]: "#fed7aa", + [Rating.E]: "#fecaca", }, badgeTextColors: { - [Rating.S]: '#000', - [Rating.A]: '#000', - [Rating.B]: '#000', - [Rating.C]: '#000', - [Rating.D]: '#000', - [Rating.E]: '#000' + [Rating.S]: "#000", + [Rating.A]: "#000", + [Rating.B]: "#000", + [Rating.C]: "#000", + [Rating.D]: "#000", + [Rating.E]: "#000", }, - barBackground: '#F4F4F5', - barForeground: '#18181B', - borderColor: '#E4E4E7', - avatarPlaceholderColor: '#9ca3af', - logoColor: '#030303', -} + barBackground: "#F4F4F5", + barForeground: "#18181B", + borderColor: "#E4E4E7", + avatarPlaceholderColor: "#9ca3af", + logoColor: "#030303", +}; const dark = { - backgroundColor: '#18181B', - textColor: '#fff', - textColorSecondary: 'rgba(255, 255, 255, 0.6)', + backgroundColor: "#18181B", + textColor: "#fff", + textColorSecondary: "rgba(255, 255, 255, 0.6)", badgeColors: { - [Rating.S]: '#7c3aed', - [Rating.A]: '#16a34a', - [Rating.B]: '#65a30d', - [Rating.C]: '#ca8a04', - [Rating.D]: '#ea580c', - [Rating.E]: '#dc2626' + [Rating.S]: "#7c3aed", + [Rating.A]: "#16a34a", + [Rating.B]: "#65a30d", + [Rating.C]: "#ca8a04", + [Rating.D]: "#ea580c", + [Rating.E]: "#dc2626", }, badgeTextColors: { - [Rating.S]: '#fff', - [Rating.A]: '#fff', - [Rating.B]: '#fff', - [Rating.C]: '#fff', - [Rating.D]: '#fff', - [Rating.E]: '#fff' + [Rating.S]: "#fff", + [Rating.A]: "#fff", + [Rating.B]: "#fff", + [Rating.C]: "#fff", + [Rating.D]: "#fff", + [Rating.E]: "#fff", }, - barBackground: '#27272A', - barForeground: '#fff', - borderColor: '#27272A', - avatarPlaceholderColor: '#52525B', - logoColor: '#fff', -} + barBackground: "#27272A", + barForeground: "#fff", + borderColor: "#27272A", + avatarPlaceholderColor: "#52525B", + logoColor: "#fff", +}; const sepia = { - backgroundColor: '#f4ecd8', - textColor: '#5b4636', - textColorSecondary: 'rgba(91, 70, 54, 0.6)', + backgroundColor: "#f4ecd8", + textColor: "#5b4636", + textColorSecondary: "rgba(91, 70, 54, 0.6)", badgeColors: { - [Rating.S]: '#d2b48c', - [Rating.A]: '#f0e68c', - [Rating.B]: '#eedd82', - [Rating.C]: '#ffd700', - [Rating.D]: '#daa520', - [Rating.E]: '#cd853f' + [Rating.S]: "#d2b48c", + [Rating.A]: "#f0e68c", + [Rating.B]: "#eedd82", + [Rating.C]: "#ffd700", + [Rating.D]: "#daa520", + [Rating.E]: "#cd853f", }, badgeTextColors: { - [Rating.S]: '#5b4636', - [Rating.A]: '#5b4636', - [Rating.B]: '#5b4636', - [Rating.C]: '#5b4636', - [Rating.D]: '#5b4636', - [Rating.E]: '#5b4636' + [Rating.S]: "#5b4636", + [Rating.A]: "#5b4636", + [Rating.B]: "#5b4636", + [Rating.C]: "#5b4636", + [Rating.D]: "#5b4636", + [Rating.E]: "#5b4636", }, - barBackground: '#e8dcc2', - barForeground: '#5b4636', - borderColor: '#c2b280', - avatarPlaceholderColor: '#b4a078', - logoColor: '#5b4636', -} + barBackground: "#e8dcc2", + barForeground: "#5b4636", + borderColor: "#c2b280", + avatarPlaceholderColor: "#b4a078", + logoColor: "#5b4636", +}; const solarizedLight = { - backgroundColor: '#fdf6e3', - textColor: '#657b83', - textColorSecondary: 'rgba(101, 123, 131, 0.6)', + backgroundColor: "#fdf6e3", + textColor: "#657b83", + textColorSecondary: "rgba(101, 123, 131, 0.6)", badgeColors: { - [Rating.S]: '#b58900', - [Rating.A]: '#859900', - [Rating.B]: '#2aa198', - [Rating.C]: '#268bd2', - [Rating.D]: '#d33682', - [Rating.E]: '#dc322f' + [Rating.S]: "#b58900", + [Rating.A]: "#859900", + [Rating.B]: "#2aa198", + [Rating.C]: "#268bd2", + [Rating.D]: "#d33682", + [Rating.E]: "#dc322f", }, badgeTextColors: { - [Rating.S]: '#002b36', - [Rating.A]: '#002b36', - [Rating.B]: '#002b36', - [Rating.C]: '#fdf6e3', - [Rating.D]: '#fdf6e3', - [Rating.E]: '#fdf6e3' + [Rating.S]: "#002b36", + [Rating.A]: "#002b36", + [Rating.B]: "#002b36", + [Rating.C]: "#fdf6e3", + [Rating.D]: "#fdf6e3", + [Rating.E]: "#fdf6e3", }, - barBackground: '#eee8d5', - barForeground: '#073642', - borderColor: '#93a1a1', - avatarPlaceholderColor: '#93a1a1', - logoColor: '#657b83', -} + barBackground: "#eee8d5", + barForeground: "#073642", + borderColor: "#93a1a1", + avatarPlaceholderColor: "#93a1a1", + logoColor: "#657b83", +}; const solarizedDark = { - backgroundColor: '#002b36', - textColor: '#839496', - textColorSecondary: 'rgba(131, 148, 150, 0.6)', + backgroundColor: "#002b36", + textColor: "#839496", + textColorSecondary: "rgba(131, 148, 150, 0.6)", badgeColors: { - [Rating.S]: '#b58900', - [Rating.A]: '#859900', - [Rating.B]: '#2aa198', - [Rating.C]: '#268bd2', - [Rating.D]: '#d33682', - [Rating.E]: '#dc322f' + [Rating.S]: "#b58900", + [Rating.A]: "#859900", + [Rating.B]: "#2aa198", + [Rating.C]: "#268bd2", + [Rating.D]: "#d33682", + [Rating.E]: "#dc322f", }, badgeTextColors: { - [Rating.S]: '#002b36', - [Rating.A]: '#002b36', - [Rating.B]: '#002b36', - [Rating.C]: '#002b36', - [Rating.D]: '#002b36', - [Rating.E]: '#002b36' + [Rating.S]: "#002b36", + [Rating.A]: "#002b36", + [Rating.B]: "#002b36", + [Rating.C]: "#002b36", + [Rating.D]: "#002b36", + [Rating.E]: "#002b36", }, - barBackground: '#073642', - barForeground: '#fdf6e3', - borderColor: '#586e75', - avatarPlaceholderColor: '#586e75', - logoColor: '#839496', -} + barBackground: "#073642", + barForeground: "#fdf6e3", + borderColor: "#586e75", + avatarPlaceholderColor: "#586e75", + logoColor: "#839496", +}; const tokyoNight = { - backgroundColor: '#1a1b26', - textColor: '#c0caf5', - textColorSecondary: 'rgba(192, 202, 245, 0.6)', + backgroundColor: "#1a1b26", + textColor: "#c0caf5", + textColorSecondary: "rgba(192, 202, 245, 0.6)", badgeColors: { - [Rating.S]: '#7aa2f7', - [Rating.A]: '#9ece6a', - [Rating.B]: '#e0af68', - [Rating.C]: '#f7768e', - [Rating.D]: '#ff9e64', - [Rating.E]: '#bb9af7' + [Rating.S]: "#7aa2f7", + [Rating.A]: "#9ece6a", + [Rating.B]: "#e0af68", + [Rating.C]: "#f7768e", + [Rating.D]: "#ff9e64", + [Rating.E]: "#bb9af7", }, badgeTextColors: { - [Rating.S]: '#1a1b26', - [Rating.A]: '#1a1b26', - [Rating.B]: '#1a1b26', - [Rating.C]: '#1a1b26', - [Rating.D]: '#1a1b26', - [Rating.E]: '#1a1b26' + [Rating.S]: "#1a1b26", + [Rating.A]: "#1a1b26", + [Rating.B]: "#1a1b26", + [Rating.C]: "#1a1b26", + [Rating.D]: "#1a1b26", + [Rating.E]: "#1a1b26", }, - barBackground: '#1f2335', - barForeground: '#c0caf5', - borderColor: '#3b4261', - avatarPlaceholderColor: '#565f89', - logoColor: '#c0caf5', -} + barBackground: "#1f2335", + barForeground: "#c0caf5", + borderColor: "#3b4261", + avatarPlaceholderColor: "#565f89", + logoColor: "#c0caf5", +}; const nord = { - backgroundColor: '#2e3440', - textColor: '#d8dee9', - textColorSecondary: 'rgba(216, 222, 233, 0.6)', + backgroundColor: "#2e3440", + textColor: "#d8dee9", + textColorSecondary: "rgba(216, 222, 233, 0.6)", badgeColors: { - [Rating.S]: '#88c0d0', - [Rating.A]: '#81a1c1', - [Rating.B]: '#5e81ac', - [Rating.C]: '#a3be8c', - [Rating.D]: '#ebcb8b', - [Rating.E]: '#bf616a' + [Rating.S]: "#88c0d0", + [Rating.A]: "#81a1c1", + [Rating.B]: "#5e81ac", + [Rating.C]: "#a3be8c", + [Rating.D]: "#ebcb8b", + [Rating.E]: "#bf616a", }, badgeTextColors: { - [Rating.S]: '#2e3440', - [Rating.A]: '#2e3440', - [Rating.B]: '#2e3440', - [Rating.C]: '#2e3440', - [Rating.D]: '#2e3440', - [Rating.E]: '#2e3440' + [Rating.S]: "#2e3440", + [Rating.A]: "#2e3440", + [Rating.B]: "#2e3440", + [Rating.C]: "#2e3440", + [Rating.D]: "#2e3440", + [Rating.E]: "#2e3440", }, - barBackground: '#3b4252', - barForeground: '#d8dee9', - borderColor: '#4c566a', - avatarPlaceholderColor: '#434c5e', - logoColor: '#d8dee9', -} + barBackground: "#3b4252", + barForeground: "#d8dee9", + borderColor: "#4c566a", + avatarPlaceholderColor: "#434c5e", + logoColor: "#d8dee9", +}; const midnight = { - backgroundColor: '#1c1e2d', - textColor: '#d3d7e1', - textColorSecondary: 'rgba(211, 215, 225, 0.7)', + backgroundColor: "#1c1e2d", + textColor: "#d3d7e1", + textColorSecondary: "rgba(211, 215, 225, 0.7)", badgeColors: { - [Rating.S]: '#3A506B', - [Rating.A]: '#4C6A92', - [Rating.B]: '#5C7A9D', - [Rating.C]: '#3D4C6D', - [Rating.D]: '#2B3A4A', - [Rating.E]: '#1D2A38' + [Rating.S]: "#3A506B", + [Rating.A]: "#4C6A92", + [Rating.B]: "#5C7A9D", + [Rating.C]: "#3D4C6D", + [Rating.D]: "#2B3A4A", + [Rating.E]: "#1D2A38", }, badgeTextColors: { - [Rating.S]: '#ffffff', - [Rating.A]: '#ffffff', - [Rating.B]: '#ffffff', - [Rating.C]: '#ffffff', - [Rating.D]: '#ffffff', - [Rating.E]: '#ffffff' + [Rating.S]: "#ffffff", + [Rating.A]: "#ffffff", + [Rating.B]: "#ffffff", + [Rating.C]: "#ffffff", + [Rating.D]: "#ffffff", + [Rating.E]: "#ffffff", }, - barBackground: '#2c3e50', - barForeground: '#ecf0f1', - borderColor: '#34495e', - avatarPlaceholderColor: '#7f8c8d', - logoColor: '#ecf0f1' -} + barBackground: "#2c3e50", + barForeground: "#ecf0f1", + borderColor: "#34495e", + avatarPlaceholderColor: "#7f8c8d", + logoColor: "#ecf0f1", +}; const kawaiiCat = { - backgroundColor: '#F9FFFE', - textColor: '#7A5C58', - textColorSecondary: 'rgba(122, 92, 88, 0.65)', + backgroundColor: "#F9FFFE", + textColor: "#7A5C58", + textColorSecondary: "rgba(122, 92, 88, 0.65)", badgeColors: { - [Rating.S]: '#FFCAD4', - [Rating.A]: '#FFD7DE', - [Rating.B]: '#66B2B2', - [Rating.C]: '#80BFBF', - [Rating.D]: '#99CCCC', - [Rating.E]: '#B3D9D9', + [Rating.S]: "#FFCAD4", + [Rating.A]: "#FFD7DE", + [Rating.B]: "#66B2B2", + [Rating.C]: "#80BFBF", + [Rating.D]: "#99CCCC", + [Rating.E]: "#B3D9D9", }, badgeTextColors: { - [Rating.S]: '#7A5C58', - [Rating.A]: '#7A5C58', - [Rating.B]: '#FFFFFF', - [Rating.C]: '#FFFFFF', - [Rating.D]: '#7A5C58', - [Rating.E]: '#7A5C58', + [Rating.S]: "#7A5C58", + [Rating.A]: "#7A5C58", + [Rating.B]: "#FFFFFF", + [Rating.C]: "#FFFFFF", + [Rating.D]: "#7A5C58", + [Rating.E]: "#7A5C58", }, - barBackground: '#FFCAD4', - barForeground: '#66B2B2', - borderColor: '#FFCAD4', - avatarPlaceholderColor: '#B3D9D9', - logoColor: '#FFCAD4', -} + barBackground: "#FFCAD4", + barForeground: "#66B2B2", + borderColor: "#FFCAD4", + avatarPlaceholderColor: "#B3D9D9", + logoColor: "#FFCAD4", +}; + +const retro = { + backgroundColor: "#240046", + textColor: "#f2ebfb", + textColorSecondary: "rgba(255, 255, 255, 0.6)", + badgeColors: { + [Rating.S]: "#fbe300", + [Rating.A]: "#9cf945", + [Rating.B]: "#4cc9f0", + [Rating.C]: "#9d4edd", + [Rating.D]: "#f72585", + [Rating.E]: "#ff6200", + }, + badgeTextColors: { + [Rating.S]: "#240046", + [Rating.A]: "#240046", + [Rating.B]: "#240046", + [Rating.C]: "#240046", + [Rating.D]: "#240046", + [Rating.E]: "#240046", + }, + barBackground: "#F4F4F5", + barForeground: "#9d4edd", + borderColor: "#E4E4E7", + avatarPlaceholderColor: "#9ca3af", + logoColor: "#ebd9fc", +}; export const preset: Record = { light, @@ -266,5 +292,6 @@ export const preset: Record = { tokyoNight, nord, midnight, - kawaiiCat -} + kawaiiCat, + retro, +}; From 724b8ae97546281054d2312b782616949bf829ef Mon Sep 17 00:00:00 2001 From: emmanyouwell Date: Sat, 28 Jun 2025 23:52:51 +0800 Subject: [PATCH 2/4] reverted to double quotes to single quotes --- src/OGCard.tsx | 182 ++++++++++---------- src/decorations.tsx | 76 ++++----- src/theme.ts | 402 ++++++++++++++++++++++---------------------- 3 files changed, 330 insertions(+), 330 deletions(-) diff --git a/src/OGCard.tsx b/src/OGCard.tsx index f5ece0e..35b5bf1 100644 --- a/src/OGCard.tsx +++ b/src/OGCard.tsx @@ -1,7 +1,7 @@ -import { Rating } from "./rating"; -import { preset, type Theme } from "./theme"; -import { GitRollLogo } from "./logo"; -import { KawaiiCatDecoration, RetroThemeDecoration } from "./decorations"; +import { Rating } from './rating'; +import { preset, type Theme } from './theme'; +import { GitRollLogo } from './logo'; +import { KawaiiCatDecoration, RetroThemeDecoration } from './decorations'; export interface OGCardProps { user: string; @@ -37,16 +37,16 @@ export function OGCard({ const bg = theme.badgeColors[overallRating] ?? theme.badgeColors[Rating.E]; return (
{theme === preset.kawaiiCat && ( @@ -58,25 +58,25 @@ export function OGCard({
{avatar ? ( ) : (

Above {overallScoreCDF}% @@ -195,15 +195,15 @@ export function OGCard({
@@ -228,37 +228,37 @@ export function OGCard({ Reliability
@@ -271,37 +271,37 @@ export function OGCard({ Security
@@ -314,26 +314,26 @@ export function OGCard({ Maintainability
@@ -342,23 +342,23 @@ export function OGCard({
{contributor && (
@@ -367,16 +367,16 @@ export function OGCard({ )} {regionalRank && (
Top {regionalRank[0]}% in {regionalRank[1]} @@ -384,16 +384,16 @@ export function OGCard({ )} {campusRank && (
Top {campusRank[0]}% in {campusRank[1]} diff --git a/src/decorations.tsx b/src/decorations.tsx index ae3007b..6ec3ee7 100644 --- a/src/decorations.tsx +++ b/src/decorations.tsx @@ -7,31 +7,31 @@ interface RetroThemeDecorationProps { export function KawaiiCatDecoration({ color }: KawaiiCatDecorationProps) { return ( - + {/* Paw prints trail across bottom & top */} {[200, 400, 600, 800, 1000].map((x, i) => ( - - - + + + ))} {[200, 400, 600, 800, 1000].map((x, i) => ( - - - + + + ))} @@ -45,17 +45,17 @@ export function KawaiiCatDecoration({ color }: KawaiiCatDecorationProps) { ))} {/* Decorative borders */} @@ -65,37 +65,37 @@ export function KawaiiCatDecoration({ color }: KawaiiCatDecorationProps) { export function RetroThemeDecoration({ color }: RetroThemeDecorationProps) { return ( {/* Retro-style grid background */} - + {/* Stars */} - + {[ // Stars on Top-left of logo [90, 60, 0.8], @@ -105,17 +105,17 @@ export function RetroThemeDecoration({ color }: RetroThemeDecorationProps) { ))} {/* Dotted border lines */} diff --git a/src/theme.ts b/src/theme.ts index a737512..3505fd9 100644 --- a/src/theme.ts +++ b/src/theme.ts @@ -1,4 +1,4 @@ -import { Rating } from "./rating"; +import { Rating } from './rating'; export interface Theme { backgroundColor: string; @@ -14,273 +14,273 @@ export interface Theme { } const light = { - backgroundColor: "#fff", - textColor: "#000", - textColorSecondary: "rgba(0, 0, 0, 0.6)", + backgroundColor: '#fff', + textColor: '#000', + textColorSecondary: 'rgba(0, 0, 0, 0.6)', badgeColors: { - [Rating.S]: "#c4b5fd", - [Rating.A]: "#bbf7d0", - [Rating.B]: "#d9f99d", - [Rating.C]: "#fef08a", - [Rating.D]: "#fed7aa", - [Rating.E]: "#fecaca", + [Rating.S]: '#c4b5fd', + [Rating.A]: '#bbf7d0', + [Rating.B]: '#d9f99d', + [Rating.C]: '#fef08a', + [Rating.D]: '#fed7aa', + [Rating.E]: '#fecaca', }, badgeTextColors: { - [Rating.S]: "#000", - [Rating.A]: "#000", - [Rating.B]: "#000", - [Rating.C]: "#000", - [Rating.D]: "#000", - [Rating.E]: "#000", + [Rating.S]: '#000', + [Rating.A]: '#000', + [Rating.B]: '#000', + [Rating.C]: '#000', + [Rating.D]: '#000', + [Rating.E]: '#000', }, - barBackground: "#F4F4F5", - barForeground: "#18181B", - borderColor: "#E4E4E7", - avatarPlaceholderColor: "#9ca3af", - logoColor: "#030303", + barBackground: '#F4F4F5', + barForeground: '#18181B', + borderColor: '#E4E4E7', + avatarPlaceholderColor: '#9ca3af', + logoColor: '#030303', }; const dark = { - backgroundColor: "#18181B", - textColor: "#fff", - textColorSecondary: "rgba(255, 255, 255, 0.6)", + backgroundColor: '#18181B', + textColor: '#fff', + textColorSecondary: 'rgba(255, 255, 255, 0.6)', badgeColors: { - [Rating.S]: "#7c3aed", - [Rating.A]: "#16a34a", - [Rating.B]: "#65a30d", - [Rating.C]: "#ca8a04", - [Rating.D]: "#ea580c", - [Rating.E]: "#dc2626", + [Rating.S]: '#7c3aed', + [Rating.A]: '#16a34a', + [Rating.B]: '#65a30d', + [Rating.C]: '#ca8a04', + [Rating.D]: '#ea580c', + [Rating.E]: '#dc2626', }, badgeTextColors: { - [Rating.S]: "#fff", - [Rating.A]: "#fff", - [Rating.B]: "#fff", - [Rating.C]: "#fff", - [Rating.D]: "#fff", - [Rating.E]: "#fff", + [Rating.S]: '#fff', + [Rating.A]: '#fff', + [Rating.B]: '#fff', + [Rating.C]: '#fff', + [Rating.D]: '#fff', + [Rating.E]: '#fff', }, - barBackground: "#27272A", - barForeground: "#fff", - borderColor: "#27272A", - avatarPlaceholderColor: "#52525B", - logoColor: "#fff", + barBackground: '#27272A', + barForeground: '#fff', + borderColor: '#27272A', + avatarPlaceholderColor: '#52525B', + logoColor: '#fff', }; const sepia = { - backgroundColor: "#f4ecd8", - textColor: "#5b4636", - textColorSecondary: "rgba(91, 70, 54, 0.6)", + backgroundColor: '#f4ecd8', + textColor: '#5b4636', + textColorSecondary: 'rgba(91, 70, 54, 0.6)', badgeColors: { - [Rating.S]: "#d2b48c", - [Rating.A]: "#f0e68c", - [Rating.B]: "#eedd82", - [Rating.C]: "#ffd700", - [Rating.D]: "#daa520", - [Rating.E]: "#cd853f", + [Rating.S]: '#d2b48c', + [Rating.A]: '#f0e68c', + [Rating.B]: '#eedd82', + [Rating.C]: '#ffd700', + [Rating.D]: '#daa520', + [Rating.E]: '#cd853f', }, badgeTextColors: { - [Rating.S]: "#5b4636", - [Rating.A]: "#5b4636", - [Rating.B]: "#5b4636", - [Rating.C]: "#5b4636", - [Rating.D]: "#5b4636", - [Rating.E]: "#5b4636", + [Rating.S]: '#5b4636', + [Rating.A]: '#5b4636', + [Rating.B]: '#5b4636', + [Rating.C]: '#5b4636', + [Rating.D]: '#5b4636', + [Rating.E]: '#5b4636', }, - barBackground: "#e8dcc2", - barForeground: "#5b4636", - borderColor: "#c2b280", - avatarPlaceholderColor: "#b4a078", - logoColor: "#5b4636", + barBackground: '#e8dcc2', + barForeground: '#5b4636', + borderColor: '#c2b280', + avatarPlaceholderColor: '#b4a078', + logoColor: '#5b4636', }; const solarizedLight = { - backgroundColor: "#fdf6e3", - textColor: "#657b83", - textColorSecondary: "rgba(101, 123, 131, 0.6)", + backgroundColor: '#fdf6e3', + textColor: '#657b83', + textColorSecondary: 'rgba(101, 123, 131, 0.6)', badgeColors: { - [Rating.S]: "#b58900", - [Rating.A]: "#859900", - [Rating.B]: "#2aa198", - [Rating.C]: "#268bd2", - [Rating.D]: "#d33682", - [Rating.E]: "#dc322f", + [Rating.S]: '#b58900', + [Rating.A]: '#859900', + [Rating.B]: '#2aa198', + [Rating.C]: '#268bd2', + [Rating.D]: '#d33682', + [Rating.E]: '#dc322f', }, badgeTextColors: { - [Rating.S]: "#002b36", - [Rating.A]: "#002b36", - [Rating.B]: "#002b36", - [Rating.C]: "#fdf6e3", - [Rating.D]: "#fdf6e3", - [Rating.E]: "#fdf6e3", + [Rating.S]: '#002b36', + [Rating.A]: '#002b36', + [Rating.B]: '#002b36', + [Rating.C]: '#fdf6e3', + [Rating.D]: '#fdf6e3', + [Rating.E]: '#fdf6e3', }, - barBackground: "#eee8d5", - barForeground: "#073642", - borderColor: "#93a1a1", - avatarPlaceholderColor: "#93a1a1", - logoColor: "#657b83", + barBackground: '#eee8d5', + barForeground: '#073642', + borderColor: '#93a1a1', + avatarPlaceholderColor: '#93a1a1', + logoColor: '#657b83', }; const solarizedDark = { - backgroundColor: "#002b36", - textColor: "#839496", - textColorSecondary: "rgba(131, 148, 150, 0.6)", + backgroundColor: '#002b36', + textColor: '#839496', + textColorSecondary: 'rgba(131, 148, 150, 0.6)', badgeColors: { - [Rating.S]: "#b58900", - [Rating.A]: "#859900", - [Rating.B]: "#2aa198", - [Rating.C]: "#268bd2", - [Rating.D]: "#d33682", - [Rating.E]: "#dc322f", + [Rating.S]: '#b58900', + [Rating.A]: '#859900', + [Rating.B]: '#2aa198', + [Rating.C]: '#268bd2', + [Rating.D]: '#d33682', + [Rating.E]: '#dc322f', }, badgeTextColors: { - [Rating.S]: "#002b36", - [Rating.A]: "#002b36", - [Rating.B]: "#002b36", - [Rating.C]: "#002b36", - [Rating.D]: "#002b36", - [Rating.E]: "#002b36", + [Rating.S]: '#002b36', + [Rating.A]: '#002b36', + [Rating.B]: '#002b36', + [Rating.C]: '#002b36', + [Rating.D]: '#002b36', + [Rating.E]: '#002b36', }, - barBackground: "#073642", - barForeground: "#fdf6e3", - borderColor: "#586e75", - avatarPlaceholderColor: "#586e75", - logoColor: "#839496", + barBackground: '#073642', + barForeground: '#fdf6e3', + borderColor: '#586e75', + avatarPlaceholderColor: '#586e75', + logoColor: '#839496', }; const tokyoNight = { - backgroundColor: "#1a1b26", - textColor: "#c0caf5", - textColorSecondary: "rgba(192, 202, 245, 0.6)", + backgroundColor: '#1a1b26', + textColor: '#c0caf5', + textColorSecondary: 'rgba(192, 202, 245, 0.6)', badgeColors: { - [Rating.S]: "#7aa2f7", - [Rating.A]: "#9ece6a", - [Rating.B]: "#e0af68", - [Rating.C]: "#f7768e", - [Rating.D]: "#ff9e64", - [Rating.E]: "#bb9af7", + [Rating.S]: '#7aa2f7', + [Rating.A]: '#9ece6a', + [Rating.B]: '#e0af68', + [Rating.C]: '#f7768e', + [Rating.D]: '#ff9e64', + [Rating.E]: '#bb9af7', }, badgeTextColors: { - [Rating.S]: "#1a1b26", - [Rating.A]: "#1a1b26", - [Rating.B]: "#1a1b26", - [Rating.C]: "#1a1b26", - [Rating.D]: "#1a1b26", - [Rating.E]: "#1a1b26", + [Rating.S]: '#1a1b26', + [Rating.A]: '#1a1b26', + [Rating.B]: '#1a1b26', + [Rating.C]: '#1a1b26', + [Rating.D]: '#1a1b26', + [Rating.E]: '#1a1b26', }, - barBackground: "#1f2335", - barForeground: "#c0caf5", - borderColor: "#3b4261", - avatarPlaceholderColor: "#565f89", - logoColor: "#c0caf5", + barBackground: '#1f2335', + barForeground: '#c0caf5', + borderColor: '#3b4261', + avatarPlaceholderColor: '#565f89', + logoColor: '#c0caf5', }; const nord = { - backgroundColor: "#2e3440", - textColor: "#d8dee9", - textColorSecondary: "rgba(216, 222, 233, 0.6)", + backgroundColor: '#2e3440', + textColor: '#d8dee9', + textColorSecondary: 'rgba(216, 222, 233, 0.6)', badgeColors: { - [Rating.S]: "#88c0d0", - [Rating.A]: "#81a1c1", - [Rating.B]: "#5e81ac", - [Rating.C]: "#a3be8c", - [Rating.D]: "#ebcb8b", - [Rating.E]: "#bf616a", + [Rating.S]: '#88c0d0', + [Rating.A]: '#81a1c1', + [Rating.B]: '#5e81ac', + [Rating.C]: '#a3be8c', + [Rating.D]: '#ebcb8b', + [Rating.E]: '#bf616a', }, badgeTextColors: { - [Rating.S]: "#2e3440", - [Rating.A]: "#2e3440", - [Rating.B]: "#2e3440", - [Rating.C]: "#2e3440", - [Rating.D]: "#2e3440", - [Rating.E]: "#2e3440", + [Rating.S]: '#2e3440', + [Rating.A]: '#2e3440', + [Rating.B]: '#2e3440', + [Rating.C]: '#2e3440', + [Rating.D]: '#2e3440', + [Rating.E]: '#2e3440', }, - barBackground: "#3b4252", - barForeground: "#d8dee9", - borderColor: "#4c566a", - avatarPlaceholderColor: "#434c5e", - logoColor: "#d8dee9", + barBackground: '#3b4252', + barForeground: '#d8dee9', + borderColor: '#4c566a', + avatarPlaceholderColor: '#434c5e', + logoColor: '#d8dee9', }; const midnight = { - backgroundColor: "#1c1e2d", - textColor: "#d3d7e1", - textColorSecondary: "rgba(211, 215, 225, 0.7)", + backgroundColor: '#1c1e2d', + textColor: '#d3d7e1', + textColorSecondary: 'rgba(211, 215, 225, 0.7)', badgeColors: { - [Rating.S]: "#3A506B", - [Rating.A]: "#4C6A92", - [Rating.B]: "#5C7A9D", - [Rating.C]: "#3D4C6D", - [Rating.D]: "#2B3A4A", - [Rating.E]: "#1D2A38", + [Rating.S]: '#3A506B', + [Rating.A]: '#4C6A92', + [Rating.B]: '#5C7A9D', + [Rating.C]: '#3D4C6D', + [Rating.D]: '#2B3A4A', + [Rating.E]: '#1D2A38', }, badgeTextColors: { - [Rating.S]: "#ffffff", - [Rating.A]: "#ffffff", - [Rating.B]: "#ffffff", - [Rating.C]: "#ffffff", - [Rating.D]: "#ffffff", - [Rating.E]: "#ffffff", + [Rating.S]: '#ffffff', + [Rating.A]: '#ffffff', + [Rating.B]: '#ffffff', + [Rating.C]: '#ffffff', + [Rating.D]: '#ffffff', + [Rating.E]: '#ffffff', }, - barBackground: "#2c3e50", - barForeground: "#ecf0f1", - borderColor: "#34495e", - avatarPlaceholderColor: "#7f8c8d", - logoColor: "#ecf0f1", + barBackground: '#2c3e50', + barForeground: '#ecf0f1', + borderColor: '#34495e', + avatarPlaceholderColor: '#7f8c8d', + logoColor: '#ecf0f1', }; const kawaiiCat = { - backgroundColor: "#F9FFFE", - textColor: "#7A5C58", - textColorSecondary: "rgba(122, 92, 88, 0.65)", + backgroundColor: '#F9FFFE', + textColor: '#7A5C58', + textColorSecondary: 'rgba(122, 92, 88, 0.65)', badgeColors: { - [Rating.S]: "#FFCAD4", - [Rating.A]: "#FFD7DE", - [Rating.B]: "#66B2B2", - [Rating.C]: "#80BFBF", - [Rating.D]: "#99CCCC", - [Rating.E]: "#B3D9D9", + [Rating.S]: '#FFCAD4', + [Rating.A]: '#FFD7DE', + [Rating.B]: '#66B2B2', + [Rating.C]: '#80BFBF', + [Rating.D]: '#99CCCC', + [Rating.E]: '#B3D9D9', }, badgeTextColors: { - [Rating.S]: "#7A5C58", - [Rating.A]: "#7A5C58", - [Rating.B]: "#FFFFFF", - [Rating.C]: "#FFFFFF", - [Rating.D]: "#7A5C58", - [Rating.E]: "#7A5C58", + [Rating.S]: '#7A5C58', + [Rating.A]: '#7A5C58', + [Rating.B]: '#FFFFFF', + [Rating.C]: '#FFFFFF', + [Rating.D]: '#7A5C58', + [Rating.E]: '#7A5C58', }, - barBackground: "#FFCAD4", - barForeground: "#66B2B2", - borderColor: "#FFCAD4", - avatarPlaceholderColor: "#B3D9D9", - logoColor: "#FFCAD4", + barBackground: '#FFCAD4', + barForeground: '#66B2B2', + borderColor: '#FFCAD4', + avatarPlaceholderColor: '#B3D9D9', + logoColor: '#FFCAD4', }; const retro = { - backgroundColor: "#240046", - textColor: "#f2ebfb", - textColorSecondary: "rgba(255, 255, 255, 0.6)", + backgroundColor: '#240046', + textColor: '#f2ebfb', + textColorSecondary: 'rgba(255, 255, 255, 0.6)', badgeColors: { - [Rating.S]: "#fbe300", - [Rating.A]: "#9cf945", - [Rating.B]: "#4cc9f0", - [Rating.C]: "#9d4edd", - [Rating.D]: "#f72585", - [Rating.E]: "#ff6200", + [Rating.S]: '#fbe300', + [Rating.A]: '#9cf945', + [Rating.B]: '#4cc9f0', + [Rating.C]: '#9d4edd', + [Rating.D]: '#f72585', + [Rating.E]: '#ff6200', }, badgeTextColors: { - [Rating.S]: "#240046", - [Rating.A]: "#240046", - [Rating.B]: "#240046", - [Rating.C]: "#240046", - [Rating.D]: "#240046", - [Rating.E]: "#240046", + [Rating.S]: '#240046', + [Rating.A]: '#240046', + [Rating.B]: '#240046', + [Rating.C]: '#240046', + [Rating.D]: '#240046', + [Rating.E]: '#240046', }, - barBackground: "#F4F4F5", - barForeground: "#9d4edd", - borderColor: "#E4E4E7", - avatarPlaceholderColor: "#9ca3af", - logoColor: "#ebd9fc", + barBackground: '#F4F4F5', + barForeground: '#9d4edd', + borderColor: '#E4E4E7', + avatarPlaceholderColor: '#9ca3af', + logoColor: '#ebd9fc', }; export const preset: Record = { From 62faa640dabe0c705ecbc5878f974f4d8f7d5c9f Mon Sep 17 00:00:00 2001 From: emmanyouwell Date: Sun, 29 Jun 2025 00:00:50 +0800 Subject: [PATCH 3/4] Applied ESLint --- src/OGCard.tsx | 13 +++++++------ src/decorations.tsx | 4 ++-- src/theme.ts | 25 +++++++++++++------------ 3 files changed, 22 insertions(+), 20 deletions(-) diff --git a/src/OGCard.tsx b/src/OGCard.tsx index 35b5bf1..9616e93 100644 --- a/src/OGCard.tsx +++ b/src/OGCard.tsx @@ -1,7 +1,8 @@ -import { Rating } from './rating'; -import { preset, type Theme } from './theme'; -import { GitRollLogo } from './logo'; -import { KawaiiCatDecoration, RetroThemeDecoration } from './decorations'; +import { Rating } from './rating' +import { preset, type Theme } from './theme' +import { GitRollLogo } from './logo' +import { KawaiiCatDecoration, RetroThemeDecoration } from './decorations' + export interface OGCardProps { user: string; @@ -34,7 +35,7 @@ export function OGCard({ campusRank, theme = preset.light, }: OGCardProps) { - const bg = theme.badgeColors[overallRating] ?? theme.badgeColors[Rating.E]; + const bg = theme.badgeColors[overallRating] ?? theme.badgeColors[Rating.E] return (
- ); + ) } diff --git a/src/decorations.tsx b/src/decorations.tsx index 6ec3ee7..9e77950 100644 --- a/src/decorations.tsx +++ b/src/decorations.tsx @@ -59,7 +59,7 @@ export function KawaiiCatDecoration({ color }: KawaiiCatDecorationProps) { /> - ); + ) } export function RetroThemeDecoration({ color }: RetroThemeDecorationProps) { @@ -119,5 +119,5 @@ export function RetroThemeDecoration({ color }: RetroThemeDecorationProps) { /> - ); + ) } diff --git a/src/theme.ts b/src/theme.ts index 3505fd9..b79e035 100644 --- a/src/theme.ts +++ b/src/theme.ts @@ -1,4 +1,5 @@ -import { Rating } from './rating'; +import { Rating } from './rating' + export interface Theme { backgroundColor: string; @@ -38,7 +39,7 @@ const light = { borderColor: '#E4E4E7', avatarPlaceholderColor: '#9ca3af', logoColor: '#030303', -}; +} const dark = { backgroundColor: '#18181B', @@ -65,7 +66,7 @@ const dark = { borderColor: '#27272A', avatarPlaceholderColor: '#52525B', logoColor: '#fff', -}; +} const sepia = { backgroundColor: '#f4ecd8', @@ -92,7 +93,7 @@ const sepia = { borderColor: '#c2b280', avatarPlaceholderColor: '#b4a078', logoColor: '#5b4636', -}; +} const solarizedLight = { backgroundColor: '#fdf6e3', @@ -119,7 +120,7 @@ const solarizedLight = { borderColor: '#93a1a1', avatarPlaceholderColor: '#93a1a1', logoColor: '#657b83', -}; +} const solarizedDark = { backgroundColor: '#002b36', @@ -146,7 +147,7 @@ const solarizedDark = { borderColor: '#586e75', avatarPlaceholderColor: '#586e75', logoColor: '#839496', -}; +} const tokyoNight = { backgroundColor: '#1a1b26', @@ -173,7 +174,7 @@ const tokyoNight = { borderColor: '#3b4261', avatarPlaceholderColor: '#565f89', logoColor: '#c0caf5', -}; +} const nord = { backgroundColor: '#2e3440', @@ -200,7 +201,7 @@ const nord = { borderColor: '#4c566a', avatarPlaceholderColor: '#434c5e', logoColor: '#d8dee9', -}; +} const midnight = { backgroundColor: '#1c1e2d', @@ -227,7 +228,7 @@ const midnight = { borderColor: '#34495e', avatarPlaceholderColor: '#7f8c8d', logoColor: '#ecf0f1', -}; +} const kawaiiCat = { backgroundColor: '#F9FFFE', @@ -254,7 +255,7 @@ const kawaiiCat = { borderColor: '#FFCAD4', avatarPlaceholderColor: '#B3D9D9', logoColor: '#FFCAD4', -}; +} const retro = { backgroundColor: '#240046', @@ -281,7 +282,7 @@ const retro = { borderColor: '#E4E4E7', avatarPlaceholderColor: '#9ca3af', logoColor: '#ebd9fc', -}; +} export const preset: Record = { light, @@ -294,4 +295,4 @@ export const preset: Record = { midnight, kawaiiCat, retro, -}; +} From feac059c5bf42b420d5134fa3c35229ab480382c Mon Sep 17 00:00:00 2001 From: emmanyouwell Date: Sun, 29 Jun 2025 00:12:19 +0800 Subject: [PATCH 4/4] Added retro theme --- src/OGCard.tsx | 41 ++++++++++-------------- src/decorations.tsx | 4 +-- src/theme.ts | 78 ++++++++++++++++++++++----------------------- 3 files changed, 58 insertions(+), 65 deletions(-) diff --git a/src/OGCard.tsx b/src/OGCard.tsx index 9616e93..2c99472 100644 --- a/src/OGCard.tsx +++ b/src/OGCard.tsx @@ -5,34 +5,27 @@ import { KawaiiCatDecoration, RetroThemeDecoration } from './decorations' export interface OGCardProps { - user: string; - avatar: string | null; - devType: string | null; - overallScore: string; - overallScoreCDF: string; - overallRating: Rating; - reliabilityScore: number; - securityScore: number; - maintainabilityScore: number; - contributor: boolean; - regionalRank?: [string | number, string] | null; - campusRank?: [string | number, string] | null; - theme?: Theme; + user: string + avatar: string | null + devType: string | null + overallScore: string + overallScoreCDF: string + overallRating: Rating + reliabilityScore: number + securityScore: number + maintainabilityScore: number + contributor: boolean + regionalRank?: [ string | number, string ] | null + campusRank?: [ string | number, string ] | null + theme?: Theme } export function OGCard({ - user, - avatar, - devType, - overallScore, - overallScoreCDF, - overallRating, - reliabilityScore, - securityScore, - maintainabilityScore, + user, avatar, devType, + overallScore, overallScoreCDF, overallRating, + reliabilityScore, securityScore, maintainabilityScore, contributor, - regionalRank, - campusRank, + regionalRank, campusRank, theme = preset.light, }: OGCardProps) { const bg = theme.badgeColors[overallRating] ?? theme.badgeColors[Rating.E] diff --git a/src/decorations.tsx b/src/decorations.tsx index 9e77950..ec02c1f 100644 --- a/src/decorations.tsx +++ b/src/decorations.tsx @@ -1,8 +1,8 @@ interface KawaiiCatDecorationProps { - color: string; + color: string } interface RetroThemeDecorationProps { - color: string; + color: string } export function KawaiiCatDecoration({ color }: KawaiiCatDecorationProps) { return ( diff --git a/src/theme.ts b/src/theme.ts index b79e035..14edf6f 100644 --- a/src/theme.ts +++ b/src/theme.ts @@ -2,16 +2,16 @@ import { Rating } from './rating' export interface Theme { - backgroundColor: string; - textColor: string; - textColorSecondary: string; - badgeColors: Record; - badgeTextColors: Record; - barBackground: string; - barForeground: string; - borderColor: string; - avatarPlaceholderColor: string; - logoColor: string; + backgroundColor: string + textColor: string + textColorSecondary: string + badgeColors: Record + badgeTextColors: Record + barBackground: string + barForeground: string + borderColor: string + avatarPlaceholderColor: string + logoColor: string } const light = { @@ -24,7 +24,7 @@ const light = { [Rating.B]: '#d9f99d', [Rating.C]: '#fef08a', [Rating.D]: '#fed7aa', - [Rating.E]: '#fecaca', + [Rating.E]: '#fecaca' }, badgeTextColors: { [Rating.S]: '#000', @@ -32,7 +32,7 @@ const light = { [Rating.B]: '#000', [Rating.C]: '#000', [Rating.D]: '#000', - [Rating.E]: '#000', + [Rating.E]: '#000' }, barBackground: '#F4F4F5', barForeground: '#18181B', @@ -51,7 +51,7 @@ const dark = { [Rating.B]: '#65a30d', [Rating.C]: '#ca8a04', [Rating.D]: '#ea580c', - [Rating.E]: '#dc2626', + [Rating.E]: '#dc2626' }, badgeTextColors: { [Rating.S]: '#fff', @@ -59,7 +59,7 @@ const dark = { [Rating.B]: '#fff', [Rating.C]: '#fff', [Rating.D]: '#fff', - [Rating.E]: '#fff', + [Rating.E]: '#fff' }, barBackground: '#27272A', barForeground: '#fff', @@ -78,7 +78,7 @@ const sepia = { [Rating.B]: '#eedd82', [Rating.C]: '#ffd700', [Rating.D]: '#daa520', - [Rating.E]: '#cd853f', + [Rating.E]: '#cd853f' }, badgeTextColors: { [Rating.S]: '#5b4636', @@ -86,7 +86,7 @@ const sepia = { [Rating.B]: '#5b4636', [Rating.C]: '#5b4636', [Rating.D]: '#5b4636', - [Rating.E]: '#5b4636', + [Rating.E]: '#5b4636' }, barBackground: '#e8dcc2', barForeground: '#5b4636', @@ -105,7 +105,7 @@ const solarizedLight = { [Rating.B]: '#2aa198', [Rating.C]: '#268bd2', [Rating.D]: '#d33682', - [Rating.E]: '#dc322f', + [Rating.E]: '#dc322f' }, badgeTextColors: { [Rating.S]: '#002b36', @@ -113,7 +113,7 @@ const solarizedLight = { [Rating.B]: '#002b36', [Rating.C]: '#fdf6e3', [Rating.D]: '#fdf6e3', - [Rating.E]: '#fdf6e3', + [Rating.E]: '#fdf6e3' }, barBackground: '#eee8d5', barForeground: '#073642', @@ -132,7 +132,7 @@ const solarizedDark = { [Rating.B]: '#2aa198', [Rating.C]: '#268bd2', [Rating.D]: '#d33682', - [Rating.E]: '#dc322f', + [Rating.E]: '#dc322f' }, badgeTextColors: { [Rating.S]: '#002b36', @@ -140,7 +140,7 @@ const solarizedDark = { [Rating.B]: '#002b36', [Rating.C]: '#002b36', [Rating.D]: '#002b36', - [Rating.E]: '#002b36', + [Rating.E]: '#002b36' }, barBackground: '#073642', barForeground: '#fdf6e3', @@ -159,7 +159,7 @@ const tokyoNight = { [Rating.B]: '#e0af68', [Rating.C]: '#f7768e', [Rating.D]: '#ff9e64', - [Rating.E]: '#bb9af7', + [Rating.E]: '#bb9af7' }, badgeTextColors: { [Rating.S]: '#1a1b26', @@ -167,7 +167,7 @@ const tokyoNight = { [Rating.B]: '#1a1b26', [Rating.C]: '#1a1b26', [Rating.D]: '#1a1b26', - [Rating.E]: '#1a1b26', + [Rating.E]: '#1a1b26' }, barBackground: '#1f2335', barForeground: '#c0caf5', @@ -186,7 +186,7 @@ const nord = { [Rating.B]: '#5e81ac', [Rating.C]: '#a3be8c', [Rating.D]: '#ebcb8b', - [Rating.E]: '#bf616a', + [Rating.E]: '#bf616a' }, badgeTextColors: { [Rating.S]: '#2e3440', @@ -194,7 +194,7 @@ const nord = { [Rating.B]: '#2e3440', [Rating.C]: '#2e3440', [Rating.D]: '#2e3440', - [Rating.E]: '#2e3440', + [Rating.E]: '#2e3440' }, barBackground: '#3b4252', barForeground: '#d8dee9', @@ -204,16 +204,16 @@ const nord = { } const midnight = { - backgroundColor: '#1c1e2d', - textColor: '#d3d7e1', - textColorSecondary: 'rgba(211, 215, 225, 0.7)', + backgroundColor: '#1c1e2d', + textColor: '#d3d7e1', + textColorSecondary: 'rgba(211, 215, 225, 0.7)', badgeColors: { [Rating.S]: '#3A506B', [Rating.A]: '#4C6A92', [Rating.B]: '#5C7A9D', [Rating.C]: '#3D4C6D', [Rating.D]: '#2B3A4A', - [Rating.E]: '#1D2A38', + [Rating.E]: '#1D2A38' }, badgeTextColors: { [Rating.S]: '#ffffff', @@ -221,7 +221,7 @@ const midnight = { [Rating.B]: '#ffffff', [Rating.C]: '#ffffff', [Rating.D]: '#ffffff', - [Rating.E]: '#ffffff', + [Rating.E]: '#ffffff' }, barBackground: '#2c3e50', barForeground: '#ecf0f1', @@ -235,20 +235,20 @@ const kawaiiCat = { textColor: '#7A5C58', textColorSecondary: 'rgba(122, 92, 88, 0.65)', badgeColors: { - [Rating.S]: '#FFCAD4', - [Rating.A]: '#FFD7DE', - [Rating.B]: '#66B2B2', - [Rating.C]: '#80BFBF', - [Rating.D]: '#99CCCC', - [Rating.E]: '#B3D9D9', + [Rating.S]: '#FFCAD4', + [Rating.A]: '#FFD7DE', + [Rating.B]: '#66B2B2', + [Rating.C]: '#80BFBF', + [Rating.D]: '#99CCCC', + [Rating.E]: '#B3D9D9' }, badgeTextColors: { - [Rating.S]: '#7A5C58', - [Rating.A]: '#7A5C58', - [Rating.B]: '#FFFFFF', + [Rating.S]: '#7A5C58', + [Rating.A]: '#7A5C58', + [Rating.B]: '#FFFFFF', [Rating.C]: '#FFFFFF', [Rating.D]: '#7A5C58', - [Rating.E]: '#7A5C58', + [Rating.E]: '#7A5C58' }, barBackground: '#FFCAD4', barForeground: '#66B2B2',