From e25fe139ab66d89426843bb108d2ebe90a94d8ce Mon Sep 17 00:00:00 2001 From: Pablo Vazquez Date: Fri, 20 Jan 2023 12:23:48 +0100 Subject: [PATCH] Initial commit bthree dark theme --- .gitignore | 1 + public/css/theme-bthree-dark.css | 352 ++++++++++++++++++++++++++++++ public/img/apple-touch-icon.png | Bin 0 -> 4653 bytes public/img/avatar_default.png | Bin 0 -> 2905 bytes public/img/favicon.png | Bin 0 -> 2610 bytes public/img/favicon.svg | 1 + public/img/logo.png | Bin 0 -> 7692 bytes public/img/logo.svg | 1 + templates/custom/extra_links.tmpl | 1 + 9 files changed, 356 insertions(+) create mode 100644 .gitignore create mode 100644 public/css/theme-bthree-dark.css create mode 100644 public/img/apple-touch-icon.png create mode 100644 public/img/avatar_default.png create mode 100644 public/img/favicon.png create mode 100644 public/img/favicon.svg create mode 100644 public/img/logo.png create mode 100644 public/img/logo.svg create mode 100644 templates/custom/extra_links.tmpl diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3b7e381 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +conf/ diff --git a/public/css/theme-bthree-dark.css b/public/css/theme-bthree-dark.css new file mode 100644 index 0000000..aec6e7d --- /dev/null +++ b/public/css/theme-bthree-dark.css @@ -0,0 +1,352 @@ + +/* bthree dark theme */ +:root { + --is-dark-theme: true; + + --color-primary: hsl(198deg 90% 56%); + + --color-primary-bg: hsla(198deg, 100%, 36%, .2); + + --color-primary-contrast: #ffffff; + --color-primary-dark-1: hsl(198deg 100% 54%); + --color-primary-dark-2: hsl(198deg 100% 64%); + --color-primary-dark-3: hsl(198deg 100% 70%); + --color-primary-dark-4: hsl(198deg 100% 78%); + --color-primary-dark-5: hsl(198deg 100% 84%); + --color-primary-dark-6: hsl(198deg 100% 89%); + --color-primary-dark-7: hsl(198deg 100% 94%); + + --color-primary-light-1: hsl(198deg 100% 40%); + --color-primary-light-2: hsl(198deg 100% 36%); + --color-primary-light-3: hsl(198deg 100% 30%); + --color-primary-light-4: hsl(198deg 100% 26%); + --color-primary-light-5: hsl(198deg 100% 20%); + --color-primary-light-6: hsl(198deg 100% 16%); + --color-primary-light-7: hsl(198deg 100% 10%); + + --color-primary-alpha-10: hsla(198deg 100% 46% 10%); + --color-primary-alpha-20: hsla(198deg 100% 46% 20%); + --color-primary-alpha-30: hsla(198deg 100% 46% 30%); + --color-primary-alpha-40: hsla(198deg 100% 46% 40%); + --color-primary-alpha-50: hsla(198deg 100% 46% 50%); + --color-primary-alpha-60: hsla(198deg 100% 46% 60%); + --color-primary-alpha-70: hsla(198deg 100% 46% 70%); + --color-primary-alpha-80: hsla(198deg 100% 46% 80%); + --color-primary-alpha-90: hsla(198deg 100% 46% 90%); + + --color-secondary: #454a57; + --color-secondary-dark-1: #505665; + --color-secondary-dark-2: #5b6273; + --color-secondary-dark-3: #71798e; + --color-secondary-dark-4: #7f8699; + --color-secondary-dark-5: #8c93a4; + --color-secondary-dark-6: #9aa0af; + --color-secondary-dark-7: #a8adba; + --color-secondary-dark-8: #b6bac5; + --color-secondary-dark-9: #c4c7d0; + --color-secondary-dark-10: #d2d4db; + --color-secondary-dark-11: #dfe1e6; + --color-secondary-dark-12: #edeef1; + --color-secondary-dark-13: #fbfbfc; + --color-secondary-light-1: #373b46; + --color-secondary-light-2: #292c34; + --color-secondary-light-3: #1c1e23; + --color-secondary-light-4: #0e0f11; + --color-secondary-alpha-10: #454a5719; + --color-secondary-alpha-20: #454a5733; + --color-secondary-alpha-30: #454a574b; + --color-secondary-alpha-40: #454a5766; + --color-secondary-alpha-50: #454a5780; + --color-secondary-alpha-60: #454a5799; + --color-secondary-alpha-70: #454a57b3; + --color-secondary-alpha-80: #454a57cc; + --color-secondary-alpha-90: #454a57e1; + + /* Colors for buttons, labels, etc. */ + --color-red: #cc4848; + --color-red-light: #c23636; + --color-orange: #cc580c; + --color-orange-light: #b84f0b; + --color-yellow: #cc9903; + --color-yellow-light: #b88a03; + --color-olive: #91a313; + --color-olive-light: #839311; + --color-green: hsl(124deg 41% 35%); + --color-green-light: hsl(124deg 41% 45%); + --color-teal: #00918a; + --color-teal-light: #00837c; + --color-blue: #3a8ac6; + --color-blue-light: #347cb3; + --color-violet: #906ae1; + --color-violet-light: #7b4edb; + --color-purple: #b259d0; + --color-purple-light: #a742c9; + --color-pink: #d22e8b; + --color-pink-light: #be297d; + --color-brown: #a47252; + --color-brown-light: #94674a; + --color-grey: #9ea2aa; + --color-grey-light: #8d919b; + --color-black: #1e222e; + --color-black-light: #1b1f29; + + /* other colors */ + --color-gold: #b1983b; + --color-white: #ffffff; + --color-diff-removed-word-bg: #6f3333; + --color-diff-added-word-bg: #3c653c; + --color-diff-removed-row-bg: #3c2626; + --color-diff-moved-row-bg: #818044; + --color-diff-added-row-bg: #283e2d; + --color-diff-removed-row-border: #634343; + --color-diff-moved-row-border: #bcca6f; + --color-diff-added-row-border: #314a37; + --color-diff-inactive: #353846; + --color-error-border: #a04141; + --color-error-bg: #522; + --color-error-bg-active: #744; + --color-error-bg-hover: #633; + --color-error-text: #f9cbcb; + --color-success-border: #458a57; + --color-success-bg: #284034; + --color-success-text: #6cc664; + --color-warning-border: #bb9d00; + --color-warning-bg: #3a3a30; + --color-warning-text: #fbbd08; + --color-info-border: #306090; + --color-info-bg: #26354c; + --color-info-text: #38a8e8; + --color-red-badge: #db2828; + --color-red-badge-bg: #db28281a; + --color-red-badge-hover-bg: #db28284d; + --color-green-badge: #21ba45; + --color-green-badge-bg: #21ba451a; + --color-green-badge-hover-bg: #21ba454d; + --color-yellow-badge: #fbbd08; + --color-yellow-badge-bg: #fbbd081a; + --color-yellow-badge-hover-bg: #fbbd084d; + --color-orange-badge: #f2711c; + --color-orange-badge-bg: #f2711c1a; + --color-orange-badge-hover-bg: #f2711c4d; + --color-git: #f05133; + /* target-based colors */ + + --color-body: #383c4a; + --color-box-header: #404652; + --color-box-header: hsl(227deg 16% 24%); + + --color-box-body: #2a2e3a; + --color-box-body: hsl(227deg 16% 20%); + --color-box-body-highlight: #353945; + --color-box-body-highlight: hsl(225deg 13% 24%); + --color-text-dark: #dbe0ea; + --color-text: #bbc0ca; + --color-text-light: #a6aab5; + --color-text-light-1: #979ba6; + --color-text-light-2: #8a8e99; + --color-text-light-3: #707687; + --color-footer: #2e323e; + --color-timeline: #4c525e; + --color-input-text: #d5dbe6; + --color-input-background: #232933; + --color-input-toggle-background: #454a57; + --color-input-border: #454a57; + --color-input-border-hover: #505667; + --color-navbar: #2a2e3a; + --color-navbar-transparent: #2a2e3a00; + --color-light: #00000028; + --color-light-mimic-enabled: rgba(0, 0, 0, calc(40 / 255 * 222 / 255 / var(--opacity-disabled))); + --color-light-border: #ffffff28; + --color-hover: #ffffff10; + --color-hover: hsla(0deg, 0%, 100%, .1); + --color-active: hsla(0deg, 0%, 100%, .15); + --color-menu: #2e323e; + --color-card: #2e323e; + --color-markup-table-row: #ffffff06; + --color-markup-code-block: #ffffff0d; + --color-button: #353846; + --color-code-bg: #2a2e3a; + --color-code-sidebar-bg: #2e323e; + --color-shadow: #00000060; + --color-secondary-bg: #2a2e3a; + --color-text-focus: #fff; + --color-expand-button: #3c404d; + --color-placeholder-text: #6a737d; + --color-editor-line-highlight: var(--color-primary-light-5); + --color-project-board-bg: var(--color-secondary-light-2); + --color-caret: var(--color-text); + /* should ideally be --color-text-dark, see #15651 */ + --color-reaction-bg: #ffffff12; + --color-reaction-active-bg: var(--color-primary-alpha-40); + --color-header-bar: #2e323e; + --color-label-active-bg: #4c525e; + --color-accent: var(--color-primary-light-1); + --color-small-accent: var(--color-primary-light-5); + --color-active-line: #534d1b; + + accent-color: var(--color-accent); + color-scheme: dark; + + --transition-speed: 150ms; + + --box-shadow-float: 0px 1px 4px 0px rgba(0,0,0,0.1), 0px 5px 10px -1px rgba(0,0,0,0.05); + --box-shadow-dropdown-menu: var(--box-shadow-float); + + --border-radius-outer: .39rem; + + --spacer: 1rem; + --spacer-1: .25rem; + --spacer-2: .5rem; + --spacer-3: var(--spacer); + --spacer-4: 1.5rem; + --spacer-5: 3rem; + + /* Labels. e.g. issues count indicator in repo tabs. */ + --label-color-primary-bg: var(--color-secondary); + + /* Footer. */ + --color-footer-text: var(--color-text-light-3); + --color-footer-links: var(--color-text-light-1); +} + +/* Custom styling of individual elements. + * Using !important is bad, but unfortunately gitea does it already in _base.less. */ +.ui.primary.label { + background-color: var(--label-color-primary-bg) !important; +} + +.ui.primary.button, +.ui.primary.buttons .button { + background-color: var(--color-primary-bg) !important; + border-color: var(--color-primary-bg) !important; + color: var(--color-primary) !important; +} + +.ui.primary.button:hover, +.ui.primary.buttons .button:hover { + background-color: var(--color-primary) !important; + color: var(--color-primary-contrast) !important; +} + +/* Small buttons + * e.g. HTTP/SSH clone buttons in repo homepage. */ +.ui.basic.primary.button, +.ui.basic.primary.buttons .button { + box-shadow: none !important; +} + +/* Vertical menu. +* Used in: /issues */ +.ui.vertical.menu { + padding: var(--spacer-1); + border-radius: var(--border-radius); +} + +/* Vertical menu: active item. + * Gitea adds a "primary" class to what would be the active item. */ +.ui.vertical.menu > .item.primary { + background-color: var(--color-active) !important; + box-shadow: none !important; +} + +/* Dropdown menus. + * e.g. */ +.ui.dropdown .menu { + border-radius: var(--border-radius) !important; + box-shadow: var(--box-shadow-dropdown-menu) !important; +} + +/* Replace gitea's hardcoded border-radius with variables. */ +.ui.compact.menu { + border-radius: var(--border-radius-outer); +} + +.ui.compact.menu>.item:first-child { + border-radius: var(--border-radius) 0 0 var(--border-radius); +} + +.ui.compact.menu>.item:last-child { + border-radius: 0 var(--border-radius) var(--border-radius) 0; +} + +/* Navigation tabs. + * e.g. Code, Issues pages in a repository. */ +.ui.tabular.menu .item { + border: none; + border-bottom: 3px solid transparent; + transition: border-bottom-color var(--transition-speed) ease-in-out, color var(--transition-speed) ease-in-out; +} + +.ui.tabular.menu .item:hover { + border-bottom-color: var(--color-text-light-3); +} + +.ui.tabular.menu .active.item { + background: transparent; + border: none; + border-bottom: 3px solid currentColor; + margin-bottom: unset; +} + +.ui.tabular.menu .active.item:hover { + background: transparent; + border-color: currentColor; + color: var(--color-primary-contrast); +} + +/* Top navigation bar. + * e.g. Issues, Pull Requests, etc. */ +.ui.menu.bar { + border: none; +} + +/* Repository page. */ +.repository .ui.tabs.divider { + border: none; +} + +/* Repository folder icon. */ +.repository.file.list #repo-files-table tbody .svg.octicon-file-directory-fill { + color: currentColor; +} + +/* Repository: Activity page. */ +.stats-table { + border-radius: 999em; + margin-bottom: var(--spacer); + overflow: hidden; +} + +/* Footer. */ +footer { + color: var(--color-footer-text); +} + +footer a { + color: var(--color-footer-links); +} + +/* (from arc-green) + * invert emojis that are hard to read otherwise */ +.emoji[aria-label="check mark"], +.emoji[aria-label="currency exchange"], +.emoji[aria-label="TOP arrow"], +.emoji[aria-label="END arrow"], +.emoji[aria-label="ON! arrow"], +.emoji[aria-label="SOON arrow"], +.emoji[aria-label="heavy dollar sign"], +.emoji[aria-label="copyright"], +.emoji[aria-label="registered"], +.emoji[aria-label="trade mark"], +.emoji[aria-label="multiply"], +.emoji[aria-label="plus"], +.emoji[aria-label="minus"], +.emoji[aria-label="divide"], +.emoji[aria-label="curly loop"], +.emoji[aria-label="double curly loop"], +.emoji[aria-label="wavy dash"], +.emoji[aria-label="paw prints"], +.emoji[aria-label="musical note"], +.emoji[aria-label="musical notes"] { + filter: invert(100%) hue-rotate(180deg); +} diff --git a/public/img/apple-touch-icon.png b/public/img/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..1d335dc25aa247ce9de40584e770f114a2f56ff0 GIT binary patch literal 4653 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 literal 0 HcmV?d00001 diff --git a/public/img/avatar_default.png b/public/img/avatar_default.png new file mode 100644 index 0000000000000000000000000000000000000000..d3f170f257abfaf2c9cc0845d0d61cbf5f18e262 GIT binary patch literal 2905 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 U1 \ No newline at end of file diff --git a/public/img/logo.png b/public/img/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..6f24985525b58fafcf4f999bfc477713f6a31026 GIT binary patch literal 7692 zcmeHs<6&@df`bf45w9u1Px-3LdPAkrPuT}OkYh;$qcQW73WOM}GG4Fb|gH?P0v z^Yb6P&(6+l%zoI}+1ZSRYAE3YfB+N}6nqtBd2JLFw0|rb3J&@|(p$)Dxv`>$=_d|wV|bcK z)&-$(JYG%$gI@!*tcRfj9l4vUw=NvDgmPCFpJ~PzaSBhhs91iB|p*9l3&L&SW_yl`+Y@S zW#7wq3P*==!1_b}OKUN~56E^%7n`>D`i| ztWdOK{wo*%8zjSx%+mD|>RlGU()XXfR6lQUu{~&@KU_i2D>Wd4{UsH%*IhcMTWWUx zACw>sur!js*bvzNarsU$_ddX-6jQpPW3*ptWN3^(w)r7k_941xlOzp?gRA!$Tw5*> zTRzO*S0FmWsG{mfl%|--&-H=1Q$?q*azU7aZ>k;OK4||wg^|ky#Jyc}&Ls=S-<)Zl zVw7711s{nS$}10OC`<2hQ{YdL$KEz%D};I~75S%AN$thLF87@e;e@GLGjpvfQp_dK zD8;PkDLFDHFZrn7!k7htQ&Vc&O!eBZMiw?!`HZXRM(YtsOtm4d zZIymD@7@$y2XNaai)b$o-*#*^lgMZZeSEe?7}W5dDW`&^n8j71#5_#%Sgl?(-eIDR%2xN=@F8TR%Rf+5!y-^`g33 z=!*toVYkN`y;*%h;A=vXdIq8a^HpsTIa}y!AiMrEV9kf2ul7~vh~i^AsQeL;7sDI= zqUScZpFWw~xVwJ5EK&^W?F?-@r%cHID3^sP=k89toO@^|@O#SEtt&h8lU&;R*U99a zepzjso-ZVgq68afI1V-kS@QP?APeH9s8ezF4CL z9fFXgC?KBSvkr>tC>G}l-zL28u%cvyM9!eoGL9wp&u z|8v?QB?TYXJ0ZGx9Fi)<+SgpNJ3kOFVt*aDas4RY7v6HfdVdP{U-BWB9PwQ-XtkW{DXULzsfkMhWOEtMTQ|`8K?P z@~_|U*9njDobzd&%-M~sn)i71vg+927_hraWlyt!7-Tniz}^~k$l-HrUDuVbc*p*KoU*j|oPnOUQ0S@dD2 zOLWE_ip>1oD29{Z(2nJ8uT)&Lxzo))H(d>WUPR%XYDzvUVl21trrlOhfc`wh0aB7T zuHrd575HgI9CT4|o!gt~{&KJT$>k}7>_ODYciSNt*q`1Q7O6NQK>IF)hr9)%D@0B1 zB!|h`>caB)G+1K3F0mzeMU_tBEP1Qyl=3AmVJv8Vrgmn!9SGc*ite72k}r`~2!=rq)K9}h8MS+5&-wiT=$GK$Hg|tipNVCs^n95*2{Tv zX``JVoKZkM`u#}I(1Dm%ye2eC&@U9|wEzs2S#eQ;6WnXrG;tP6F0@#6)h$AT(mzX~ zS|jtE9JY9jaVf?1)&0gYiaAxO)Pp2*34DC>mlWN9VuAyrTuX&+bJNzdK3IZ}-=@EL zjw=>&<_@h|{i0}ZP~^mRGpcDiB}v$0&D2>?mzz|;X=JAEJf01}6R1=*LQjKwe=FB? zzI)XLaExO+=zUH0^fM2iD~6Sa=ktl2t&BVAH}CakcJ<<{N(ENjgrr z(6m`Z$=8I!9L1QodE?04@c{E0pAX>DXCV_`@t$fXEnJAxI7{~Lo3?TudaEJ zb{X=rvj>YK&;DlOAqo%GiEHBXs2lbva%?PeN%WhQ3dvCTKV- zy|-iyT*APo+{$1%STBE3x9p`s{7Z;zdFc%sT#8Y3_8iG}&me11Hc9F32|rz88^Rd_ z0scPX6I)$z?vtHk!<=rpE~&#okN_rT2pe2P^d_ihgV$_7@qNq#2heXl#}+-3Mg~?s z9qOMOKY?+T&dX`K66aS1qH&O>euf?O*VZ*a1T#M?%j~r< zcc+L-fEoFzy#xF~UN323mW=`0^E>w&gN_SilK`RfU^=-KZS1a!^`Ez7lmSTeS5GR$ z(*X0@6dq{j@$6`^l*vmCCwPoR-E1NY@&q6=IW98!*ow z*s_y#QWMeM4Rr8P5eBzqlXS$SpK6-vh)i9Z0eRiUbp8Iif^@sb$R|K?H;MPKa}*Z~ldK}um1b&6}} z_M;DP!&l=L6c1~s8^toA8Jba(zjEAIHZ_}7!Bb22}%Vm-7lzDeS!Xl4N0 zkhMki<&4vK#roW(ChRgZa1jJ&5IxyNX=pZM=cUX;;{5I(#OFc_U~kLI9gL56dwCG3 zVAj_qJaTgC4%heU-MhXmrMhaHZ94DkC?R>z*NVBk~tKRK^R$S5W!;Eu06hKkv0kR`mo5t7dTyfa1c^a3oZsB<{8&De6LXX;VTUc|yKBSVKNP|y94CQMYxIz`f0u&!30pl;Uk<=X%rv?)0QEFeUZ zj7{rOBO4!xrm!lo$cS39q=d>N8zHgxZHOHVRB`l_-V-M~Mek!VfSa;QYw;Kt3zJ## z2RbwUxRhz2E(O)_%^*{@32@qiahyH4$Sz9-_hq~NUc9TuPE7?)NWPPubTYO?)SEc+ z-~cD0DA)-Vgq7x%q%8rNbdxoN4K%;vAW#@mHZirwo>+~ornn)$LIQN-yI4ERK%9zK;l*#Y6$My2MoBrS` zJ<}b7X#MRV?ow_to!Q(*TlxCT9`jilY**!KuCda)WcQ=!YW9!n3V()wD2(-MXj;!V%Peet>j^CPO(kgtSuyGBG=}{k0T;Z~ zJvyJn+A6Sk!Ge@4KRc^fILDorM-7Q+5F!>BSj{AfVh}J=K#s00;JsBw4JbIoHC`vu z^(AEk5rF(^1O++T&8nM@z(iV>VLu=mJj{$_ze;o(Q&(?XDRrdj%a_#V^rBLw5Z8Fg zlc5L+F}mksDNNlk#F6Jp67)k1V^()P!BK_DG}=RLH26JLdZK#S$l1Hsh*@*C9RD(Q zLAC6N=j-YT`A|fh=K?--I){-voIlSb5LrE~BvL5KQXPp{4MrRUgQ?}IuX|D!e`$x@ zF+Dj-QW7{7ROLlx-G=L7>`OW*t^_N0sdO8v4vvQ+xIAYfp^dQDaTvz*@ag(aaq#1ItL8We`kG{6v_mSNK~6o&x4Yjo3T z?6}!%Goz2~H2Xrrn6`#;)KBhi1qMQ+ms$XQr)SvjZB^5$*9Z&U*JRsYoF@Y-=^&+2XSOJJ{oSz<^`2p!`FQbM ztcALmYtXiM|BX53p^Vx}Mx~5jb4V5qHlzIX0A{wmwZFV9w`+=Gv7wIiRq5MjL0>dFS9QIxz*CzC;{#z}2 zMd_78ZaWk}FS32CZ1z$q!^FiOO@y6W9C5d};}{_YGC^q2j8qN2$7PowJ7aT)lr4FY zbb-(P{~CxFrOr67j|shns@k8gg*ggt+e=20cJ)uPS@_okgI5a^~Ew#O}VkWxiIKE%WhF9w&f1)Ju2RIHujf=#`Kzmt9Z z)E2YYM2GT<4qiZS`tqUlBzex$HLaG5<{*Ga&@mtH6+ltz{`()o3MBVmHn3krI9;g6 zkQB7)i|NMTdqCV+4-clnZN-Y7u*?|o50+&>`{&zo%?Jh>m2r3h-A#!~kR9iv7S!Z= zv?+XGt6XK%O621Ev6m{XkWOca8-&`3En|GnBH18U*v zx3cO;v!Sw4z;R|Ak!M-mCWGu;(~Lt@$uw6Gah4oeGe#MZSZ>T^DH@u7u4BjnW3n8# ziK@Qaz<}8~03#v&Y>N8DHYff>S(ki_rKIE_F`&pKC$BTmZZ;;mfd708J7enB_|fNVz=WgsrkKZtN@qwKP}>n zxW@&Mzry4$(w7ir@XT{IM%-XnT{zCMMwcib+^XMN!S;dg@Yv5%cR6e>ivhj-hdPU& ztFfd@wT4>AkfY-P*C1Tk)FmA=+Z<08LH3+zUUInhYVH;>Tl+7ah?nkDulGH6onS{O zg00NB#GAj6>sqmv&Efg)WN+@YqR%B_a0V)RxkT*iW`#R3FetU7v&`f}C4%?eP&Ecs z%UJFGlK+x7`4V4cQ>xMWufq$G@TV6z)G`tT-QL?<6+d^e08?V#p=7SOm#tLZVy~i& z;h%bOS0fSA^r-m=Ph=1HF#1DeU zP)mMUaRzisJL9~ph}F?6u72p9cyA?iS#ig5_`wucP&7uzx-I{ywR36h+JT7TmMt5Y z*l+&YFBp_LL6(%+$HS0!@G*G5F9WdMU~1f<-B zs1gJ{_>`k1sA_m_rQuFdTwcTpt!tX-4+;jo-_pnJ1vZQyrcCcl@_z=ZF-;}ebi?7V z_9tWd&2pH9h)yS%Ge3Apj#1saW2ygr>qm~i7yT|Jy)xuVY4nvq$*uJeFKFJ5g8a`i z@m0c;aA)5O4mcm435#?Kd{@;jp_V0B&xKJ=zl3Y_ju4pc@A<}a_|YGPk3j8wPcG** z^=Euf-fj#nypgjN`~0<94{x5on~ILiuU+|<~g zX^J?slYXRyy0JXhhwuZ4)<|;R9$sA0hnl1sPqXlminV~H2eGzIQ{+A;IESx&o{A#K z5k}=UmZx++@K~5mTh~2<0fMro6>5tGh6uIv#?!pkE4w`noCZqorG_K3(y5oE?DI8! zj%4@3Tl%1poxj{#ovZ|n3!a=G9U-@xSI4L#4O}?rr=86Kf@1Y2RaQ0*o7MlFWfgz9 z{zoV&ely!uX^7oZVhUEGFjm+V8sR!w((Hrr#|RYt*Al1p;Fz5G2TbhE0M2qP91 zdR`5d`1oMeVxR$mNZ7RGJJZx#+=*H0DAVjsl>P1n4{NJdl`+7QV)y0%h%vuMnm6AX z<{OFRi}(93jDa6%>H<$!Xzw~h7xFJ7r4c2>(@Gd3X3Z+ygPWK^m z=`TDt)#7IK4#S76cYj?6tYqc4J3ysM5sJyv$#Llt`seIcO?+7mz2A;_IfXqV=joJ3 zmy--wE`ei#K4_%Ti52=3pgwedGmqXprzp&%X$7H86i=c~) z91R1S<*7dpjC+N%+vqW0y-PEerfmx#y>FS&hN}1r)Q12Jv72%L3|GQO9_2R4iXrd) z3i5{gmQV42bswJnz7}(Tn7L9#sZhVCt2Cih z-H)TgxOyPd);sY;;k>5R*7@M_5GTkc&koGSxoUg$pdyj|)PdS#e9bg7S_9aLnmbUm zZU}oEDOiPnT>WeQeCbT7{WHq_MrwBNrM8?pt~h{W&XDQWzVw4z=uxF~!+|!<$ND>- zlx3S&Vb<0+&Z!HdqJvlgr3^z3z2a6$+gZ{dL`Cq`DLccN^8saD7nRSURyy0fnZY|q zG3K=2y8IttV@V)C3~$+w^}C-_X-IausjEBLvJ!a4kU$L!XNTlT2x0hnrn3X(>jsbb zuD9n66~fedW4SfmZ@pO=vl75u76O?j7ZS=*#kAEJJ3=GD%$61Iw4=GB!81c59TiwR zF3r2bDSR~kbfZlDKT}S>wVs*NrHL?Q$x{%uV2los0*@+OHnoG36Fn-fMG z@Md3{gJVmsWvZxGdkK6J8Qq=i#4*hJRV6*%WXbcoJ)cwXzO&2lS7urRh@>wPjQWi0 z(y4an%u51C=NyEO6*`C-JYHl{Md?YdWVhR|?+xd6$xq$g#?=3&9bWY#ny43akV9DJtd!W#g;+?liX;lQXo$eeLjDqoTrb6y~1sv;%$T_Pa_L z-ZJiu$*j@7)8r7q)7iI0JjTVSV>%-SEH1i+OVA-UQ)q&dskr%nf{KEM{8w4?@c#$9913p$ literal 0 HcmV?d00001 diff --git a/public/img/logo.svg b/public/img/logo.svg new file mode 100644 index 0000000..548c0ba --- /dev/null +++ b/public/img/logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/templates/custom/extra_links.tmpl b/templates/custom/extra_links.tmpl new file mode 100644 index 0000000..94d839a --- /dev/null +++ b/templates/custom/extra_links.tmpl @@ -0,0 +1 @@ +{{.locale.Tr "Report a Bug"}}