mirror of
https://github.com/ae-utbm/sith.git
synced 2025-10-28 07:33:53 +00:00
Compare commits
5 Commits
dependabot
...
feature/im
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
46fa14ed12 | ||
|
|
18dffb0053 | ||
|
|
6e47d1471e | ||
|
|
b5146569e1 | ||
|
|
acde993352 |
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
Before Width: | Height: | Size: 434 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
1232
core/static/core/font-awesome/js/fontawesome.min.js
vendored
1232
core/static/core/font-awesome/js/fontawesome.min.js
vendored
File diff suppressed because one or more lines are too long
165
core/static/core/fontawesome/LICENSE.txt
Normal file
165
core/static/core/fontawesome/LICENSE.txt
Normal file
@@ -0,0 +1,165 @@
|
|||||||
|
Fonticons, Inc. (https://fontawesome.com)
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Font Awesome Free License
|
||||||
|
|
||||||
|
Font Awesome Free is free, open source, and GPL friendly. You can use it for
|
||||||
|
commercial projects, open source projects, or really almost whatever you want.
|
||||||
|
Full Font Awesome Free license: https://fontawesome.com/license/free.
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Icons: CC BY 4.0 License (https://creativecommons.org/licenses/by/4.0/)
|
||||||
|
|
||||||
|
The Font Awesome Free download is licensed under a Creative Commons
|
||||||
|
Attribution 4.0 International License and applies to all icons packaged
|
||||||
|
as SVG and JS file types.
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Fonts: SIL OFL 1.1 License
|
||||||
|
|
||||||
|
In the Font Awesome Free download, the SIL OFL license applies to all icons
|
||||||
|
packaged as web and desktop font files.
|
||||||
|
|
||||||
|
Copyright (c) 2023 Fonticons, Inc. (https://fontawesome.com)
|
||||||
|
with Reserved Font Name: "Font Awesome".
|
||||||
|
|
||||||
|
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||||
|
This license is copied below, and is also available with a FAQ at:
|
||||||
|
http://scripts.sil.org/OFL
|
||||||
|
|
||||||
|
SIL OPEN FONT LICENSE
|
||||||
|
Version 1.1 - 26 February 2007
|
||||||
|
|
||||||
|
PREAMBLE
|
||||||
|
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||||
|
development of collaborative font projects, to support the font creation
|
||||||
|
efforts of academic and linguistic communities, and to provide a free and
|
||||||
|
open framework in which fonts may be shared and improved in partnership
|
||||||
|
with others.
|
||||||
|
|
||||||
|
The OFL allows the licensed fonts to be used, studied, modified and
|
||||||
|
redistributed freely as long as they are not sold by themselves. The
|
||||||
|
fonts, including any derivative works, can be bundled, embedded,
|
||||||
|
redistributed and/or sold with any software provided that any reserved
|
||||||
|
names are not used by derivative works. The fonts and derivatives,
|
||||||
|
however, cannot be released under any other type of license. The
|
||||||
|
requirement for fonts to remain under this license does not apply
|
||||||
|
to any document created using the fonts or their derivatives.
|
||||||
|
|
||||||
|
DEFINITIONS
|
||||||
|
"Font Software" refers to the set of files released by the Copyright
|
||||||
|
Holder(s) under this license and clearly marked as such. This may
|
||||||
|
include source files, build scripts and documentation.
|
||||||
|
|
||||||
|
"Reserved Font Name" refers to any names specified as such after the
|
||||||
|
copyright statement(s).
|
||||||
|
|
||||||
|
"Original Version" refers to the collection of Font Software components as
|
||||||
|
distributed by the Copyright Holder(s).
|
||||||
|
|
||||||
|
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||||
|
or substituting — in part or in whole — any of the components of the
|
||||||
|
Original Version, by changing formats or by porting the Font Software to a
|
||||||
|
new environment.
|
||||||
|
|
||||||
|
"Author" refers to any designer, engineer, programmer, technical
|
||||||
|
writer or other person who contributed to the Font Software.
|
||||||
|
|
||||||
|
PERMISSION & CONDITIONS
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||||
|
redistribute, and sell modified and unmodified copies of the Font
|
||||||
|
Software, subject to the following conditions:
|
||||||
|
|
||||||
|
1) Neither the Font Software nor any of its individual components,
|
||||||
|
in Original or Modified Versions, may be sold by itself.
|
||||||
|
|
||||||
|
2) Original or Modified Versions of the Font Software may be bundled,
|
||||||
|
redistributed and/or sold with any software, provided that each copy
|
||||||
|
contains the above copyright notice and this license. These can be
|
||||||
|
included either as stand-alone text files, human-readable headers or
|
||||||
|
in the appropriate machine-readable metadata fields within text or
|
||||||
|
binary files as long as those fields can be easily viewed by the user.
|
||||||
|
|
||||||
|
3) No Modified Version of the Font Software may use the Reserved Font
|
||||||
|
Name(s) unless explicit written permission is granted by the corresponding
|
||||||
|
Copyright Holder. This restriction only applies to the primary font name as
|
||||||
|
presented to the users.
|
||||||
|
|
||||||
|
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||||
|
Software shall not be used to promote, endorse or advertise any
|
||||||
|
Modified Version, except to acknowledge the contribution(s) of the
|
||||||
|
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||||
|
permission.
|
||||||
|
|
||||||
|
5) The Font Software, modified or unmodified, in part or in whole,
|
||||||
|
must be distributed entirely under this license, and must not be
|
||||||
|
distributed under any other license. The requirement for fonts to
|
||||||
|
remain under this license does not apply to any document created
|
||||||
|
using the Font Software.
|
||||||
|
|
||||||
|
TERMINATION
|
||||||
|
This license becomes null and void if any of the above conditions are
|
||||||
|
not met.
|
||||||
|
|
||||||
|
DISCLAIMER
|
||||||
|
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||||
|
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||||
|
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||||
|
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||||
|
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||||
|
OTHER DEALINGS IN THE FONT SOFTWARE.
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Code: MIT License (https://opensource.org/licenses/MIT)
|
||||||
|
|
||||||
|
In the Font Awesome Free download, the MIT license applies to all non-font and
|
||||||
|
non-icon files.
|
||||||
|
|
||||||
|
Copyright 2023 Fonticons, Inc.
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||||
|
this software and associated documentation files (the "Software"), to deal in the
|
||||||
|
Software without restriction, including without limitation the rights to use, copy,
|
||||||
|
modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
|
||||||
|
and to permit persons to whom the Software is furnished to do so, subject to the
|
||||||
|
following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
||||||
|
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||||
|
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||||
|
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Attribution
|
||||||
|
|
||||||
|
Attribution is required by MIT, SIL OFL, and CC BY licenses. Downloaded Font
|
||||||
|
Awesome Free files already contain embedded comments with sufficient
|
||||||
|
attribution, so you shouldn't need to do anything additional when using these
|
||||||
|
files normally.
|
||||||
|
|
||||||
|
We've kept attribution comments terse, so we ask that you do not actively work
|
||||||
|
to remove them from files, especially code. They're a great way for folks to
|
||||||
|
learn about Font Awesome.
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Brand Icons
|
||||||
|
|
||||||
|
All brand icons are trademarks of their respective owners. The use of these
|
||||||
|
trademarks does not indicate endorsement of the trademark holder by Font
|
||||||
|
Awesome, nor vice versa. **Please do not use brand logos for any purpose except
|
||||||
|
to represent the company, product, or service to which they refer.**
|
||||||
9
core/static/core/fontawesome/css/all.min.css
vendored
Normal file
9
core/static/core/fontawesome/css/all.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
6
core/static/core/fontawesome/css/brands.min.css
vendored
Normal file
6
core/static/core/fontawesome/css/brands.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
9
core/static/core/fontawesome/css/fontawesome.min.css
vendored
Normal file
9
core/static/core/fontawesome/css/fontawesome.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
6
core/static/core/fontawesome/css/regular.min.css
vendored
Normal file
6
core/static/core/fontawesome/css/regular.min.css
vendored
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
/*!
|
||||||
|
* Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com
|
||||||
|
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
||||||
|
* Copyright 2023 Fonticons, Inc.
|
||||||
|
*/
|
||||||
|
:host,:root{--fa-style-family-classic:"Font Awesome 6 Free";--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype")}.fa-regular,.far{font-weight:400}
|
||||||
6
core/static/core/fontawesome/css/solid.min.css
vendored
Normal file
6
core/static/core/fontawesome/css/solid.min.css
vendored
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
/*!
|
||||||
|
* Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com
|
||||||
|
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
||||||
|
* Copyright 2023 Fonticons, Inc.
|
||||||
|
*/
|
||||||
|
:host,:root{--fa-style-family-classic:"Font Awesome 6 Free";--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}.fa-solid,.fas{font-weight:900}
|
||||||
6
core/static/core/fontawesome/css/svg-with-js.min.css
vendored
Normal file
6
core/static/core/fontawesome/css/svg-with-js.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
6
core/static/core/fontawesome/css/v4-font-face.min.css
vendored
Normal file
6
core/static/core/fontawesome/css/v4-font-face.min.css
vendored
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
/*!
|
||||||
|
* Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com
|
||||||
|
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
||||||
|
* Copyright 2023 Fonticons, Inc.
|
||||||
|
*/
|
||||||
|
@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype");unicode-range:u+f003,u+f006,u+f014,u+f016-f017,u+f01a-f01b,u+f01d,u+f022,u+f03e,u+f044,u+f046,u+f05c-f05d,u+f06e,u+f070,u+f087-f088,u+f08a,u+f094,u+f096-f097,u+f09d,u+f0a0,u+f0a2,u+f0a4-f0a7,u+f0c5,u+f0c7,u+f0e5-f0e6,u+f0eb,u+f0f6-f0f8,u+f10c,u+f114-f115,u+f118-f11a,u+f11c-f11d,u+f133,u+f147,u+f14e,u+f150-f152,u+f185-f186,u+f18e,u+f190-f192,u+f196,u+f1c1-f1c9,u+f1d9,u+f1db,u+f1e3,u+f1ea,u+f1f7,u+f1f9,u+f20a,u+f247-f248,u+f24a,u+f24d,u+f255-f25b,u+f25d,u+f271-f274,u+f278,u+f27b,u+f28c,u+f28e,u+f29c,u+f2b5,u+f2b7,u+f2ba,u+f2bc,u+f2be,u+f2c0-f2c1,u+f2c3,u+f2d0,u+f2d2,u+f2d4,u+f2dc}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-v4compatibility.woff2) format("woff2"),url(../webfonts/fa-v4compatibility.ttf) format("truetype");unicode-range:u+f041,u+f047,u+f065-f066,u+f07d-f07e,u+f080,u+f08b,u+f08e,u+f090,u+f09a,u+f0ac,u+f0ae,u+f0b2,u+f0d0,u+f0d6,u+f0e4,u+f0ec,u+f10a-f10b,u+f123,u+f13e,u+f148-f149,u+f14c,u+f156,u+f15e,u+f160-f161,u+f163,u+f175-f178,u+f195,u+f1f8,u+f219,u+f27a}
|
||||||
6
core/static/core/fontawesome/css/v4-shims.min.css
vendored
Normal file
6
core/static/core/fontawesome/css/v4-shims.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
6
core/static/core/fontawesome/css/v5-font-face.min.css
vendored
Normal file
6
core/static/core/fontawesome/css/v5-font-face.min.css
vendored
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
/*!
|
||||||
|
* Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com
|
||||||
|
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
||||||
|
* Copyright 2023 Fonticons, Inc.
|
||||||
|
*/
|
||||||
|
@font-face{font-family:"Font Awesome 5 Brands";font-display:block;font-weight:400;src:url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:900;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:400;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype")}
|
||||||
6
core/static/core/fontawesome/js/all.min.js
vendored
Normal file
6
core/static/core/fontawesome/js/all.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
6
core/static/core/fontawesome/js/brands.min.js
vendored
Normal file
6
core/static/core/fontawesome/js/brands.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
6
core/static/core/fontawesome/js/conflict-detection.min.js
vendored
Normal file
6
core/static/core/fontawesome/js/conflict-detection.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
6
core/static/core/fontawesome/js/fontawesome.min.js
vendored
Normal file
6
core/static/core/fontawesome/js/fontawesome.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
6
core/static/core/fontawesome/js/regular.min.js
vendored
Normal file
6
core/static/core/fontawesome/js/regular.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
6
core/static/core/fontawesome/js/solid.min.js
vendored
Normal file
6
core/static/core/fontawesome/js/solid.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
6
core/static/core/fontawesome/js/v4-shims.min.js
vendored
Normal file
6
core/static/core/fontawesome/js/v4-shims.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
BIN
core/static/core/fontawesome/webfonts/fa-brands-400.ttf
Normal file
BIN
core/static/core/fontawesome/webfonts/fa-brands-400.ttf
Normal file
Binary file not shown.
BIN
core/static/core/fontawesome/webfonts/fa-brands-400.woff2
Normal file
BIN
core/static/core/fontawesome/webfonts/fa-brands-400.woff2
Normal file
Binary file not shown.
BIN
core/static/core/fontawesome/webfonts/fa-regular-400.ttf
Normal file
BIN
core/static/core/fontawesome/webfonts/fa-regular-400.ttf
Normal file
Binary file not shown.
BIN
core/static/core/fontawesome/webfonts/fa-regular-400.woff2
Normal file
BIN
core/static/core/fontawesome/webfonts/fa-regular-400.woff2
Normal file
Binary file not shown.
BIN
core/static/core/fontawesome/webfonts/fa-solid-900.ttf
Normal file
BIN
core/static/core/fontawesome/webfonts/fa-solid-900.ttf
Normal file
Binary file not shown.
BIN
core/static/core/fontawesome/webfonts/fa-solid-900.woff2
Normal file
BIN
core/static/core/fontawesome/webfonts/fa-solid-900.woff2
Normal file
Binary file not shown.
BIN
core/static/core/fontawesome/webfonts/fa-v4compatibility.ttf
Normal file
BIN
core/static/core/fontawesome/webfonts/fa-v4compatibility.ttf
Normal file
Binary file not shown.
BIN
core/static/core/fontawesome/webfonts/fa-v4compatibility.woff2
Normal file
BIN
core/static/core/fontawesome/webfonts/fa-v4compatibility.woff2
Normal file
Binary file not shown.
@@ -191,13 +191,157 @@ $hovered-red-text-color: #ff4d4d;
|
|||||||
>.right {
|
>.right {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
justify-content: flex-end;
|
justify-content: flex-end;
|
||||||
|
gap: 10px;
|
||||||
|
|
||||||
|
>.links {
|
||||||
|
display: flex;
|
||||||
|
justify-content: flex-end;
|
||||||
|
align-items: center;
|
||||||
|
height: 40px;
|
||||||
|
gap: 10px;
|
||||||
|
|
||||||
|
@media (max-width: 1200px) {
|
||||||
|
justify-content: flex-start;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 375px) {
|
||||||
|
height: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
> * {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
width: 30px;
|
||||||
|
height: 30px;
|
||||||
|
font-size: 20px;
|
||||||
|
|
||||||
|
> * {
|
||||||
|
font-size: 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
>.notification {
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
>a {
|
||||||
|
color: $text-color;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
color: $hovered-text-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
>span {
|
||||||
|
color: $text-color;
|
||||||
|
font-size: 14px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
width: 10px;
|
||||||
|
height: 10px;
|
||||||
|
padding: 5px;
|
||||||
|
background-color: $red-text-color;
|
||||||
|
border-radius: 50%;
|
||||||
|
position: absolute;
|
||||||
|
top: -50%;
|
||||||
|
right: -50%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
>#header_notif {
|
||||||
|
box-sizing: border-box;
|
||||||
|
display: none;
|
||||||
|
position: absolute;
|
||||||
|
margin: 0;
|
||||||
|
background-color: whitesmoke;
|
||||||
|
top: calc(100% + 10px);
|
||||||
|
right: calc(50% - 30px);
|
||||||
|
width: 400px;
|
||||||
|
max-width: calc(100vw - 30px);
|
||||||
|
padding: 10px;
|
||||||
|
z-index: 100;
|
||||||
|
border-radius: 10px;
|
||||||
|
box-shadow: 3px 3px 3px 0 #767676;
|
||||||
|
|
||||||
|
>ul {
|
||||||
|
list-style-type: none;
|
||||||
|
margin: 0;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 10px;
|
||||||
|
min-height: 20px;
|
||||||
|
max-height: 120px;
|
||||||
|
overflow-y: auto;
|
||||||
|
|
||||||
|
>li {
|
||||||
|
>a {
|
||||||
|
.datetime {
|
||||||
|
display: flex;
|
||||||
|
justify-content: flex-start;
|
||||||
|
gap: 10px;
|
||||||
|
font-style: italic;
|
||||||
|
font-size: .8em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.empty-notification {
|
||||||
|
text-align: center;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.options {
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
margin-top: 10px;
|
||||||
|
gap: 5px;
|
||||||
|
|
||||||
|
>a {
|
||||||
|
color: black;
|
||||||
|
padding: 5px;
|
||||||
|
width: 50%;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
text-align: center;
|
||||||
|
align-items: center;
|
||||||
|
border-radius: 5px;
|
||||||
|
background-color: #ddd;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background-color: rgba(0, 0, 0, .2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
>a {
|
||||||
|
text-align: right;
|
||||||
|
color: $text-color;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
color: $hovered-text-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:last-child {
|
||||||
|
color: $red-text-color;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
color: $hovered-red-text-color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
>.user {
|
>.user {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
gap: 15px;
|
gap: 10px;
|
||||||
|
|
||||||
@media (max-width: 1200px) {
|
@media (max-width: 1200px) {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@@ -215,162 +359,27 @@ $hovered-red-text-color: #ff4d4d;
|
|||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
background-color: $background-color;
|
background-color: $background-color;
|
||||||
}
|
}
|
||||||
|
|
||||||
>.options {
|
>.username {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
justify-content: flex-end;
|
||||||
gap: 5px;
|
gap: 5px;
|
||||||
|
|
||||||
>.username {
|
@media (max-width: 500px) {
|
||||||
display: flex;
|
justify-content: flex-start;
|
||||||
justify-content: flex-end;
|
|
||||||
gap: 5px;
|
|
||||||
|
|
||||||
@media (max-width: 500px) {
|
|
||||||
justify-content: flex-start;
|
|
||||||
}
|
|
||||||
|
|
||||||
>a {
|
|
||||||
color: $text-color;
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
color: $hovered-text-color;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
>.links {
|
>a {
|
||||||
width: 100%;
|
|
||||||
display: flex;
|
|
||||||
justify-content: flex-end;
|
|
||||||
gap: 15px;
|
|
||||||
|
|
||||||
@media (max-width: 1200px) {
|
|
||||||
justify-content: flex-start;
|
|
||||||
}
|
|
||||||
|
|
||||||
>a {
|
|
||||||
text-align: right;
|
|
||||||
color: $text-color;
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
color: $hovered-text-color;
|
|
||||||
}
|
|
||||||
|
|
||||||
&:last-child {
|
|
||||||
color: $red-text-color;
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
color: $hovered-red-text-color;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
>.notification {
|
|
||||||
height: 100%;
|
|
||||||
width: 55px;
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
position: relative;
|
|
||||||
|
|
||||||
>a {
|
|
||||||
color: $text-color;
|
|
||||||
position: relative;
|
|
||||||
font-size: 25px;
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
color: $hovered-text-color;
|
|
||||||
}
|
|
||||||
|
|
||||||
>span {
|
|
||||||
color: $text-color;
|
color: $text-color;
|
||||||
font-size: 14px;
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
width: 10px;
|
|
||||||
height: 10px;
|
|
||||||
padding: 5px;
|
|
||||||
background-color: $red-text-color;
|
|
||||||
border-radius: 50%;
|
|
||||||
position: absolute;
|
|
||||||
top: -50%;
|
|
||||||
right: -50%;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
>#header_notif {
|
&:hover {
|
||||||
box-sizing: border-box;
|
color: $hovered-text-color;
|
||||||
display: none;
|
|
||||||
position: absolute;
|
|
||||||
margin: 0;
|
|
||||||
background-color: whitesmoke;
|
|
||||||
top: calc(100% + 10px);
|
|
||||||
right: calc(50% - 30px);
|
|
||||||
width: 400px;
|
|
||||||
max-width: calc(100vw - 30px);
|
|
||||||
padding: 10px;
|
|
||||||
z-index: 100;
|
|
||||||
border-radius: 10px;
|
|
||||||
box-shadow: 3px 3px 3px 0 #767676;
|
|
||||||
|
|
||||||
>ul {
|
|
||||||
list-style-type: none;
|
|
||||||
margin: 0;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
gap: 10px;
|
|
||||||
min-height: 20px;
|
|
||||||
max-height: 120px;
|
|
||||||
overflow-y: auto;
|
|
||||||
|
|
||||||
>li {
|
|
||||||
>a {
|
|
||||||
.datetime {
|
|
||||||
display: flex;
|
|
||||||
justify-content: flex-start;
|
|
||||||
gap: 10px;
|
|
||||||
font-style: italic;
|
|
||||||
font-size: .8em;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&.empty-notification {
|
|
||||||
text-align: center;
|
|
||||||
font-style: italic;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.options {
|
|
||||||
width: 100%;
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
margin-top: 10px;
|
|
||||||
gap: 5px;
|
|
||||||
|
|
||||||
>a {
|
|
||||||
color: black;
|
|
||||||
padding: 5px;
|
|
||||||
width: 50%;
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
text-align: center;
|
|
||||||
align-items: center;
|
|
||||||
border-radius: 5px;
|
|
||||||
background-color: #ddd;
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
background-color: rgba(0, 0, 0, .2);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
>.left {
|
>.left {
|
||||||
|
|||||||
@@ -16,9 +16,10 @@
|
|||||||
{# Thile file is quite heavy (around 250kb), so declaring it in a block allows easy removal #}
|
{# Thile file is quite heavy (around 250kb), so declaring it in a block allows easy removal #}
|
||||||
<link rel="stylesheet" href="{{ static('core/js/ui/jquery-ui.min.css') }}">
|
<link rel="stylesheet" href="{{ static('core/js/ui/jquery-ui.min.css') }}">
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
<link rel="preload" as="style" href="{{ static('core/font-awesome/css/font-awesome.min.css') }}" onload="this.onload=null;this.rel='stylesheet'">
|
<!-- Font Awesome 6 -->
|
||||||
<noscript><link rel="stylesheet" href="{{ static('core/font-awesome/css/font-awesome.min.css') }}"></noscript>
|
<link rel="preload" as="style" href="{{ static('core/fontawesome/css/all.min.css') }}" onload="this.onload=null;this.rel='stylesheet'">
|
||||||
<script defer href="{{ static('core/font-awesome/js/fontawesone.min.js') }}"></script>
|
<noscript><link rel="stylesheet" href="{{ static('core/fontawesome/css/all.min.css') }}"></noscript>
|
||||||
|
<script defer href="{{ static('core/fontawesome/js/all.min.js') }}"></script>
|
||||||
|
|
||||||
<!-- Jquery declared here to be accessible in every django widgets -->
|
<!-- Jquery declared here to be accessible in every django widgets -->
|
||||||
<script src="{{ static('core/js/jquery-3.6.2.min.js') }}"></script>
|
<script src="{{ static('core/js/jquery-3.6.2.min.js') }}"></script>
|
||||||
@@ -72,11 +73,11 @@
|
|||||||
<a href="{{ url('counter:activity', counter_id=bar.id) }}">
|
<a href="{{ url('counter:activity', counter_id=bar.id) }}">
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if bar.is_inactive() %}
|
{% if bar.is_inactive() %}
|
||||||
<i class="fa fa-question" style="color: #f39c12"></i>
|
<i class="fa-solid fa-question" style="color: #f39c12"></i>
|
||||||
{% elif bar.is_open(): %}
|
{% elif bar.is_open(): %}
|
||||||
<i class="fa fa-check" style="color: #2ecc71"></i>
|
<i class="fa-solid fa-check" style="color: #2ecc71"></i>
|
||||||
{% else %}
|
{% else %}
|
||||||
<i class="fa fa-times" style="color: #eb2f06"></i>
|
<i class="fa-solid fa-xmark" style="color: #eb2f06"></i>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<span>{{ bar }}</span>
|
<span>{{ bar }}</span>
|
||||||
</a>
|
</a>
|
||||||
@@ -87,14 +88,8 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="right">
|
<div class="right">
|
||||||
<div class="user">
|
<div class="user">
|
||||||
<div class="options">
|
<div class="username">
|
||||||
<div class="username">
|
<a href="{{ url('core:user_profile', user_id=user.id) }}">{{ user.get_display_name() }}</a>
|
||||||
<a href="{{ url('core:user_profile', user_id=user.id) }}">{{ user.get_display_name() }}</a>
|
|
||||||
</div>
|
|
||||||
<div class="links">
|
|
||||||
<a href="{{ url('core:user_tools') }}">{% trans %}Tools{% endtrans %}</a>
|
|
||||||
<a href="{{ url('core:logout') }}">{% trans %}Logout{% endtrans %}</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<a
|
<a
|
||||||
href="{{ url('core:user_profile', user_id=user.id) }}"
|
href="{{ url('core:user_profile', user_id=user.id) }}"
|
||||||
@@ -105,54 +100,54 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
></a>
|
></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="notification">
|
|
||||||
<a href="#" onclick="display_notif()">
|
|
||||||
<i class="fa fa-bell-o"></i>
|
|
||||||
{% set notification_count = user.notifications.filter(viewed=False).count() %}
|
|
||||||
|
|
||||||
{% if notification_count > 0 %}
|
<div class="links">
|
||||||
<span>
|
<div class="notification">
|
||||||
{% if notification_count < 100 %}
|
<a href="#" onclick="display_notif()">
|
||||||
{{ notification_count }}
|
<i class="fa-solid fa-bell"></i>
|
||||||
{% else %}
|
{% set notification_count = user.notifications.filter(viewed=False).count() %}
|
||||||
|
|
||||||
{% endif %}
|
{% if notification_count > 0 %}
|
||||||
</span>
|
<span>
|
||||||
{% endif %}
|
{% if notification_count < 100 %} {{ notification_count }} {% else %} {% endif %} </span>
|
||||||
</a>
|
{% endif %}
|
||||||
<div id="header_notif">
|
</a>
|
||||||
<ul>
|
<div id="header_notif">
|
||||||
{% if user.notifications.filter(viewed=False).count() > 0 %}
|
<ul>
|
||||||
|
{% if user.notifications.filter(viewed=False).count() > 0 %}
|
||||||
{% for n in user.notifications.filter(viewed=False).order_by('-date') %}
|
{% for n in user.notifications.filter(viewed=False).order_by('-date') %}
|
||||||
<li>
|
<li>
|
||||||
<a href="{{ url("core:notification", notif_id=n.id) }}">
|
<a href="{{ url('core:notification', notif_id=n.id) }}">
|
||||||
<div class="datetime">
|
<div class="datetime">
|
||||||
<span class="header_notif_date">
|
<span class="header_notif_date">
|
||||||
{{ n.date|localtime|date(DATE_FORMAT) }}
|
{{ n.date|localtime|date(DATE_FORMAT) }}
|
||||||
</span>
|
</span>
|
||||||
<span class="header_notif_time">
|
<span class="header_notif_time">
|
||||||
{{ n.date|localtime|time(DATETIME_FORMAT) }}
|
{{ n.date|localtime|time(DATETIME_FORMAT) }}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="reason">
|
<div class="reason">
|
||||||
{{ n }}
|
{{ n }}
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% else %}
|
{% else %}
|
||||||
<li class="empty-notification">{% trans %}You do not have any unread notification{% endtrans %}</li>
|
<li class="empty-notification">{% trans %}You do not have any unread notification{% endtrans %}</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</ul>
|
</ul>
|
||||||
<div class="options">
|
<div class="options">
|
||||||
<a href="{{ url('core:notification_list') }}">
|
<a href="{{ url('core:notification_list') }}">
|
||||||
{% trans %}View more{% endtrans %}
|
{% trans %}View more{% endtrans %}
|
||||||
</a>
|
</a>
|
||||||
<a href="{{ url('core:notification_list') }}?see_all">
|
<a href="{{ url('core:notification_list') }}?see_all">
|
||||||
{% trans %}Mark all as read{% endtrans %}
|
{% trans %}Mark all as read{% endtrans %}
|
||||||
</a>
|
</a>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<a href="{{ url('core:user_tools') }}"><i class="fa-solid fa-wrench"></i></a>
|
||||||
|
<a href="{{ url('core:logout') }}"><i class="fa-solid fa-right-from-bracket"></i></a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -195,7 +190,7 @@
|
|||||||
{% block nav %}
|
{% block nav %}
|
||||||
{% if not popup %}
|
{% if not popup %}
|
||||||
<nav class="navbar">
|
<nav class="navbar">
|
||||||
<button class="expand-button" onclick="showMenu()"><i class="fa fa-bars"></i></button>
|
<button class="expand-button" onclick="showMenu()"><i class="fa-solid fa-bars"></i></button>
|
||||||
<div id="navbar-content" class="content" style="display: none;">
|
<div id="navbar-content" class="content" style="display: none;">
|
||||||
<a class="link" href="{{ url('core:index') }}">{% trans %}Main{% endtrans %}</a>
|
<a class="link" href="{{ url('core:index') }}">{% trans %}Main{% endtrans %}</a>
|
||||||
<div class="menu">
|
<div class="menu">
|
||||||
|
|||||||
@@ -4,9 +4,9 @@
|
|||||||
{% block file %}
|
{% block file %}
|
||||||
<h3>
|
<h3>
|
||||||
{% if file.is_folder %}
|
{% if file.is_folder %}
|
||||||
<i class="fa fa-folder fa-3x" aria-hidden="true"></i>
|
<i class="fa-solid fa-folder-open"></i>
|
||||||
{% else %}
|
{% else %}
|
||||||
<i class="fa fa-file fa-3x" aria-hidden="true"></i>
|
<i class="fa-solid fa-file"></i>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{{ file.get_display_name() }}
|
{{ file.get_display_name() }}
|
||||||
</h3>
|
</h3>
|
||||||
@@ -41,9 +41,9 @@
|
|||||||
<li style="list-style-type: none;">
|
<li style="list-style-type: none;">
|
||||||
<input type="checkbox" name="file_list" value="{{ f.id }}">
|
<input type="checkbox" name="file_list" value="{{ f.id }}">
|
||||||
{% if f.is_folder %}
|
{% if f.is_folder %}
|
||||||
<i class="fa fa-folder" aria-hidden="true"></i>
|
<i class="fa-solid fa-folder"></i>
|
||||||
{% else %}
|
{% else %}
|
||||||
<i class="fa fa-file" aria-hidden="true"></i>
|
<i class="fa-solid fa-file"></i>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<a href="{{ url('core:file_detail', file_id=f.id, popup=popup) }}">{{ f.get_display_name() }}</a></li>
|
<a href="{{ url('core:file_detail', file_id=f.id, popup=popup) }}">{{ f.get_display_name() }}</a></li>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|||||||
@@ -8,9 +8,9 @@
|
|||||||
{% for f in file_list %}
|
{% for f in file_list %}
|
||||||
<li style="list-style-type: none;">
|
<li style="list-style-type: none;">
|
||||||
{% if f.is_folder %}
|
{% if f.is_folder %}
|
||||||
<i class="fa fa-folder" aria-hidden="true"></i>
|
<i class="fa-solid fa-folder"></i>
|
||||||
{% else %}
|
{% else %}
|
||||||
<i class="fa fa-file" aria-hidden="true"></i>
|
<i class="fa-solid fa-file"></i>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<a href="{{ url('core:file_detail', file_id=f.id, popup=popup) }}">{{ f.name }}</a></li>
|
<a href="{{ url('core:file_detail', file_id=f.id, popup=popup) }}">{{ f.name }}</a></li>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|||||||
@@ -40,11 +40,11 @@
|
|||||||
{%- endmacro %}
|
{%- endmacro %}
|
||||||
|
|
||||||
{% macro fb_quick(news) -%}
|
{% macro fb_quick(news) -%}
|
||||||
<a rel="nofollow" target="#" href="https://www.facebook.com/sharer/sharer.php?u={{ news.get_full_url() }}" class="fb fa fa-facebook-square fa-2x"></a>
|
<a rel="nofollow" target="#" href="https://www.facebook.com/sharer/sharer.php?u={{ news.get_full_url() }}" class="fb fa-brands fa-facebook fa-2x"></a>
|
||||||
{%- endmacro %}
|
{%- endmacro %}
|
||||||
|
|
||||||
{% macro tweet_quick(news) -%}
|
{% macro tweet_quick(news) -%}
|
||||||
<a rel="nofollow" target="#" href="https://twitter.com/intent/tweet?text={{ news.get_full_url() }}" class="twitter fa fa-twitter-square fa-2x"></a>
|
<a rel="nofollow" target="#" href="https://twitter.com/intent/tweet?text={{ news.get_full_url() }}" class="twitter fa-brands fa-twitter fa-2x"></a>
|
||||||
{%- endmacro %}
|
{%- endmacro %}
|
||||||
|
|
||||||
{% macro user_mini_profile(user) %}
|
{% macro user_mini_profile(user) %}
|
||||||
|
|||||||
@@ -40,25 +40,25 @@
|
|||||||
{
|
{
|
||||||
name: "heading-smaller",
|
name: "heading-smaller",
|
||||||
action: EasyMDE.toggleHeadingSmaller,
|
action: EasyMDE.toggleHeadingSmaller,
|
||||||
className: "fa fa-header",
|
className: "fa-solid fa-heading",
|
||||||
title: "{{ translations.heading_smaller }}"
|
title: "{{ translations.heading_smaller }}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "italic",
|
name: "italic",
|
||||||
action: EasyMDE.toggleItalic,
|
action: EasyMDE.toggleItalic,
|
||||||
className: "fa fa-italic",
|
className: "fa-solid fa-italic",
|
||||||
title: "{{ translations.italic }}"
|
title: "{{ translations.italic }}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "bold",
|
name: "bold",
|
||||||
action: EasyMDE.toggleBold,
|
action: EasyMDE.toggleBold,
|
||||||
className: "fa fa-bold",
|
className: "fa-solid fa-bold",
|
||||||
title: "{{ translations.bold }}"
|
title: "{{ translations.bold }}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "strikethrough",
|
name: "strikethrough",
|
||||||
action: EasyMDE.toggleStrikethrough,
|
action: EasyMDE.toggleStrikethrough,
|
||||||
className: "fa fa-strikethrough",
|
className: "fa-solid fa-strikethrough",
|
||||||
title: "{{ translations.strikethrough }}"
|
title: "{{ translations.strikethrough }}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -67,7 +67,7 @@
|
|||||||
let cm = editor.codemirror;
|
let cm = editor.codemirror;
|
||||||
cm.replaceSelection('__' + cm.getSelection() + '__');
|
cm.replaceSelection('__' + cm.getSelection() + '__');
|
||||||
},
|
},
|
||||||
className: "fa fa-underline",
|
className: "fa-solid fa-underline",
|
||||||
title: "{{ translations.underline }}"
|
title: "{{ translations.underline }}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -76,7 +76,7 @@
|
|||||||
let cm = editor.codemirror;
|
let cm = editor.codemirror;
|
||||||
cm.replaceSelection('<sup>' + cm.getSelection() + '</sup>');
|
cm.replaceSelection('<sup>' + cm.getSelection() + '</sup>');
|
||||||
},
|
},
|
||||||
className: "fa fa-superscript",
|
className: "fa-solid fa-superscript",
|
||||||
title: "{{ translations.superscript }}"
|
title: "{{ translations.superscript }}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -85,84 +85,84 @@
|
|||||||
let cm = editor.codemirror;
|
let cm = editor.codemirror;
|
||||||
cm.replaceSelection('<sub>' + cm.getSelection() + '</sub>');
|
cm.replaceSelection('<sub>' + cm.getSelection() + '</sub>');
|
||||||
},
|
},
|
||||||
className: "fa fa-subscript",
|
className: "fa-solid fa-subscript",
|
||||||
title: "{{ translations.subscript }}"
|
title: "{{ translations.subscript }}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "code",
|
name: "code",
|
||||||
action: EasyMDE.toggleCodeBlock,
|
action: EasyMDE.toggleCodeBlock,
|
||||||
className: "fa fa-code",
|
className: "fa-solid fa-code",
|
||||||
title: "{{ translations.code }}"
|
title: "{{ translations.code }}"
|
||||||
},
|
},
|
||||||
"|",
|
"|",
|
||||||
{
|
{
|
||||||
name: "quote",
|
name: "quote",
|
||||||
action: EasyMDE.toggleBlockquote,
|
action: EasyMDE.toggleBlockquote,
|
||||||
className: "fa fa-quote-left",
|
className: "fa-solid fa-quote-left",
|
||||||
title: "{{ translations.quote }}"
|
title: "{{ translations.quote }}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "unordered-list",
|
name: "unordered-list",
|
||||||
action: EasyMDE.toggleUnorderedList,
|
action: EasyMDE.toggleUnorderedList,
|
||||||
className: "fa fa-list-ul",
|
className: "fa-solid fa-list-ul",
|
||||||
title: "{{ translations.unordered_list }}"
|
title: "{{ translations.unordered_list }}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "ordered-list",
|
name: "ordered-list",
|
||||||
action: EasyMDE.toggleOrderedList,
|
action: EasyMDE.toggleOrderedList,
|
||||||
className: "fa fa-list-ol",
|
className: "fa-solid fa-list-ol",
|
||||||
title: "{{ translations.ordered_list }}"
|
title: "{{ translations.ordered_list }}"
|
||||||
},
|
},
|
||||||
"|",
|
"|",
|
||||||
{
|
{
|
||||||
name: "link",
|
name: "link",
|
||||||
action: EasyMDE.drawLink,
|
action: EasyMDE.drawLink,
|
||||||
className: "fa fa-link",
|
className: "fa-solid fa-link",
|
||||||
title: "{{ translations.link }}"
|
title: "{{ translations.link }}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "image",
|
name: "image",
|
||||||
action: EasyMDE.drawImage,
|
action: EasyMDE.drawImage,
|
||||||
className: "fa fa-picture-o",
|
className: "fa-solid fa-image",
|
||||||
title: "{{ translations.image }}"
|
title: "{{ translations.image }}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "table",
|
name: "table",
|
||||||
action: EasyMDE.drawTable,
|
action: EasyMDE.drawTable,
|
||||||
className: "fa fa-table",
|
className: "fa-solid fa-table",
|
||||||
title: "{{ translations.table }}"
|
title: "{{ translations.table }}"
|
||||||
},
|
},
|
||||||
"|",
|
"|",
|
||||||
{
|
{
|
||||||
name: "clean-block",
|
name: "clean-block",
|
||||||
action: EasyMDE.cleanBlock,
|
action: EasyMDE.cleanBlock,
|
||||||
className: "fa fa-eraser fa-clean-block",
|
className: "fa-solid fa-eraser",
|
||||||
title: "{{ translations.clean_block }}"
|
title: "{{ translations.clean_block }}"
|
||||||
},
|
},
|
||||||
"|",
|
"|",
|
||||||
{
|
{
|
||||||
name: "preview",
|
name: "preview",
|
||||||
action: EasyMDE.togglePreview,
|
action: EasyMDE.togglePreview,
|
||||||
className: "fa fa-eye no-disable",
|
className: "fa-solid fa-eye no-disable",
|
||||||
title: "{{ translations.preview }}"
|
title: "{{ translations.preview }}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "side-by-side",
|
name: "side-by-side",
|
||||||
action: EasyMDE.toggleSideBySide,
|
action: EasyMDE.toggleSideBySide,
|
||||||
className: "fa fa-columns no-disable no-mobile",
|
className: "fa-solid fa-columns no-disable no-mobile",
|
||||||
title: "{{ translations.side_by_side }}"
|
title: "{{ translations.side_by_side }}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "fullscreen",
|
name: "fullscreen",
|
||||||
action: EasyMDE.toggleFullScreen,
|
action: EasyMDE.toggleFullScreen,
|
||||||
className: "fa fa-arrows-alt no-disable no-mobile",
|
className: "fa-solid fa-arrows-alt no-disable no-mobile",
|
||||||
title: "{{ translations.fullscreen }}"
|
title: "{{ translations.fullscreen }}"
|
||||||
},
|
},
|
||||||
"|",
|
"|",
|
||||||
{
|
{
|
||||||
name: "guide",
|
name: "guide",
|
||||||
action: "/page/Aide_sur_la_syntaxe",
|
action: "/page/Aide_sur_la_syntaxe",
|
||||||
className: "fa fa-question-circle",
|
className: "fa-solid fa-question-circle",
|
||||||
title: "{{ translations.guide }}"
|
title: "{{ translations.guide }}"
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -165,18 +165,62 @@
|
|||||||
<a href="{{ url('subscription:subscription') }}?member={{ profile.id }}">{% trans %}New subscription{% endtrans
|
<a href="{{ url('subscription:subscription') }}?member={{ profile.id }}">{% trans %}New subscription{% endtrans
|
||||||
%}</a>
|
%}</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<br>
|
{% endif %}
|
||||||
{% if profile.was_subscribed and (user == profile or user.can_read_subscription_history)%}
|
<br>
|
||||||
|
{% if profile.was_subscribed and (user == profile or user.can_read_subscription_history)%}
|
||||||
|
<div class="collapse" :class="{'shadow': collapsed}" x-data="{collapsed: false}" x-cloak>
|
||||||
|
<div class="collapse-header clickable" @click="collapsed = !collapsed">
|
||||||
|
<span class="collapse-header-text">
|
||||||
|
{% trans %}Subscription history{% endtrans %}
|
||||||
|
</span>
|
||||||
|
<span class="collapse-header-icon" :class="{'reverse': collapsed}">
|
||||||
|
<i class="fa-sharp fa-solid fa-caret-down"></i>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<div class="collapse-body" x-show="collapsed" x-transition.scale.origin.top>
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>{% trans %}Subscription start{% endtrans %}</th>
|
||||||
|
<th>{% trans %}Subscription end{% endtrans %}</th>
|
||||||
|
<th>{% trans %}Subscription type{% endtrans %}</th>
|
||||||
|
<th>{% trans %}Payment method{% endtrans %}</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
{% for sub in profile.subscriptions.all() %}
|
||||||
|
<tr>
|
||||||
|
<td>{{ sub.subscription_start }}</td>
|
||||||
|
<td>{{ sub.subscription_end }}</td>
|
||||||
|
<td>{{ sub.subscription_type }}</td>
|
||||||
|
<td>{{ sub.get_payment_method_display() }}</td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
<hr>
|
||||||
|
<div>
|
||||||
|
{% if user.is_root or user.is_board_member %}
|
||||||
|
<form class="form-gifts" action="{{ url('core:user_gift_create', user_id=profile.id) }}" method="post">
|
||||||
|
{% csrf_token %}
|
||||||
|
{{ gift_form.label }}
|
||||||
|
{{ gift_form.user }}
|
||||||
|
<input type="submit" value="{% trans %}Give gift{% endtrans %}">
|
||||||
|
</form>
|
||||||
|
{% if profile.gifts.exists() %}
|
||||||
|
{% set gifts = profile.gifts.order_by("-date")|list %}
|
||||||
|
<br>
|
||||||
|
|
||||||
<div class="collapse" :class="{'shadow': collapsed}" x-data="{collapsed: false}" x-cloak>
|
<div class="collapse" :class="{'shadow': collapsed}" x-data="{collapsed: false}" x-cloak>
|
||||||
<div class="collapse-header clickable" @click="collapsed = !collapsed">
|
<div class="collapse-header clickable" @click="collapsed = !collapsed">
|
||||||
<span class="collapse-header-text">
|
<span class="collapse-header-text">
|
||||||
{% trans %}Subscription history{% endtrans %}
|
{% trans %}Last given gift :{% endtrans %} {{ gifts[0] }}
|
||||||
</span>
|
</span>
|
||||||
<span class="collapse-header-icon" :class="{'reverse': collapsed}">
|
<span class="collapse-header-icon" :class="{'reverse': collapsed}">
|
||||||
<i class="fa fa-caret-down"></i>
|
<i class="fa-solid fa-caret-down"></i>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="collapse-body" x-show="collapsed" x-transition.scale.origin.top>
|
<div class="collapse-body" x-show="collapsed" x-transition.scale.origin.top>
|
||||||
@@ -190,54 +234,20 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
{% for sub in profile.subscriptions.all() %}
|
{% for sub in profile.subscriptions.all() %}
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{ sub.subscription_start }}</td>
|
<td>{{ sub.subscription_start }}</td>
|
||||||
<td>{{ sub.subscription_end }}</td>
|
<td>{{ sub.subscription_end }}</td>
|
||||||
<td>{{ sub.subscription_type }}</td>
|
<td>{{ sub.subscription_type }}</td>
|
||||||
<td>{{ sub.get_payment_method_display() }}</td>
|
<td>{{ sub.get_payment_method_display() }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<hr>
|
|
||||||
<div>
|
|
||||||
{% if user.is_root or user.is_board_member %}
|
|
||||||
<form class="form-gifts" action="{{ url('core:user_gift_create', user_id=profile.id) }}" method="post">
|
|
||||||
{% csrf_token %}
|
|
||||||
{{ gift_form.label }}
|
|
||||||
{{ gift_form.user }}
|
|
||||||
<input type="submit" value="{% trans %}Give gift{% endtrans %}">
|
|
||||||
</form>
|
|
||||||
{% if profile.gifts.exists() %}
|
|
||||||
{% set gifts = profile.gifts.order_by("-date")|list %}
|
|
||||||
<br>
|
|
||||||
<div class="collapse" :class="{'shadow': collapsed}" x-data="{collapsed: false}" x-cloak>
|
|
||||||
<div class="collapse-header clickable" @click="collapsed = !collapsed">
|
|
||||||
<span class="collapse-header-text">
|
|
||||||
{% trans %}Last given gift :{% endtrans %} {{ gifts[0] }}
|
|
||||||
</span>
|
|
||||||
<span class="collapse-header-icon" :class="{'reverse': collapsed}">
|
|
||||||
<i class="fa fa-caret-down"></i>
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
<div class="collapse-body" x-show="collapsed" x-transition.scale.origin.top>
|
|
||||||
<ul>
|
|
||||||
{% for gift in gifts %}
|
|
||||||
<li>{{ gift }}
|
|
||||||
<a href="{{ url('core:user_gift_delete', user_id=profile.id, gift_id=gift.id) }}">
|
|
||||||
<i class="fa fa-trash"></i>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
{% else %}
|
{% else %}
|
||||||
<em>{% trans %}No gift given yet{% endtrans %}</em>
|
<em>{% trans %}No gift given yet{% endtrans %}</em>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -28,15 +28,15 @@
|
|||||||
<h5>{% trans %}Legend{% endtrans %}</h5>
|
<h5>{% trans %}Legend{% endtrans %}</h5>
|
||||||
<div class="activity-description">
|
<div class="activity-description">
|
||||||
<div>
|
<div>
|
||||||
<i class="fa fa-check" style="color: #2ecc71"></i>
|
<i class="fa-solid fa-check" style="color: #2ecc71"></i>
|
||||||
<span>{% trans %}counter is open, there's at least one barman connected{% endtrans %}</span>
|
<span>{% trans %}counter is open, there's at least one barman connected{% endtrans %}</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<i class="fa fa-question" style="color: #f39c12"></i>
|
<i class="fa-solid fa-question" style="color: #f39c12"></i>
|
||||||
<span>{% trans minutes=settings.SITH_COUNTER_MINUTE_INACTIVE %}counter is open but not active, the last sale was done at least {{ minutes }} minutes ago {% endtrans %}</span>
|
<span>{% trans minutes=settings.SITH_COUNTER_MINUTE_INACTIVE %}counter is open but not active, the last sale was done at least {{ minutes }} minutes ago {% endtrans %}</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<i class="fa fa-times" style="color: #eb2f06"></i>
|
<i class="fa-solid fa-xmark" style="color: #eb2f06"></i>
|
||||||
<span>{% trans %}counter is not open : no one is connected{% endtrans %}</span>
|
<span>{% trans %}counter is not open : no one is connected{% endtrans %}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -47,9 +47,9 @@
|
|||||||
<template x-for="item in items" :key="item.id">
|
<template x-for="item in items" :key="item.id">
|
||||||
<li class="item-row" x-show="item.quantity > 0">
|
<li class="item-row" x-show="item.quantity > 0">
|
||||||
<div class="item-quantity">
|
<div class="item-quantity">
|
||||||
<i class="fa fa-minus fa-xs" @click="remove(item.id)"></i>
|
<i class="fa-solid fa-minus"></i>
|
||||||
<span x-text="item.quantity"></span>
|
<span x-text="item.quantity"></span>
|
||||||
<i class="fa fa-plus" @click="add(item)"></i>
|
<i class="fa-solid fa-plus"></i>
|
||||||
</div>
|
</div>
|
||||||
<span class="item-name" x-text="item.name"></span>
|
<span class="item-name" x-text="item.name"></span>
|
||||||
<span class="item-price" x-text="(item.unit_price * item.quantity).toFixed(2) + ' €'"></span>
|
<span class="item-price" x-text="(item.unit_price * item.quantity).toFixed(2) + ' €'"></span>
|
||||||
@@ -63,13 +63,13 @@
|
|||||||
</ul>
|
</ul>
|
||||||
<div class="catalog-buttons">
|
<div class="catalog-buttons">
|
||||||
<button @click="clear_basket()" class="clear">
|
<button @click="clear_basket()" class="clear">
|
||||||
<i class="fa fa-trash"></i>
|
<i class="fa-solid fa-trash"></i>
|
||||||
{% trans %}Clear{% endtrans %}
|
{% trans %}Clear{% endtrans %}
|
||||||
</button>
|
</button>
|
||||||
<form method="get" action="{{ url('eboutic:command') }}">
|
<form method="get" action="{{ url('eboutic:command') }}">
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<button class="validate">
|
<button class="validate">
|
||||||
<i class="fa fa-check"></i>
|
<i class="fa-solid fa-check"></i>
|
||||||
<input type="submit" value="{% trans %}Validate{% endtrans %}"/>
|
<input type="submit" value="{% trans %}Validate{% endtrans %}"/>
|
||||||
</button>
|
</button>
|
||||||
</form>
|
</form>
|
||||||
@@ -85,7 +85,7 @@
|
|||||||
</a>
|
</a>
|
||||||
</span>
|
</span>
|
||||||
<span class="clickable" @click="show_alert = false">
|
<span class="clickable" @click="show_alert = false">
|
||||||
<i class="fa fa-close"></i>
|
<i class="fa-solid fa-xmark"></i>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@@ -108,7 +108,7 @@
|
|||||||
{% if p.icon %}
|
{% if p.icon %}
|
||||||
<img class="product-image" src="{{ p.icon.url }}" alt="image de {{ p.name }}">
|
<img class="product-image" src="{{ p.icon.url }}" alt="image de {{ p.name }}">
|
||||||
{% else %}
|
{% else %}
|
||||||
<i class="fa fa-2x fa-picture-o product-image" ></i>
|
<i class="fa-solid fa-image product-image"></i>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<div class="product-description">
|
<div class="product-description">
|
||||||
<h4>{{ p.name }}</h4>
|
<h4>{{ p.name }}</h4>
|
||||||
|
|||||||
@@ -60,7 +60,7 @@
|
|||||||
{% trans %}Edit billing information{% endtrans %}
|
{% trans %}Edit billing information{% endtrans %}
|
||||||
</span>
|
</span>
|
||||||
<span class="collapse-header-icon" :class="{'reverse': collapsed}">
|
<span class="collapse-header-icon" :class="{'reverse': collapsed}">
|
||||||
<i class="fa fa-caret-down"></i>
|
<i class="fa-sharp fa-solid fa-caret-down"></i>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<form class="collapse-body" id="billing_info_form" method="post"
|
<form class="collapse-body" id="billing_info_form" method="post"
|
||||||
@@ -78,7 +78,7 @@
|
|||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
<div class="clickable" @click="errors = []">
|
<div class="clickable" @click="errors = []">
|
||||||
<i class="fa fa-close"></i>
|
<i class="fa-solid fa-xmark"></i>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div x-show="successful" class="alert alert-green" x-transition>
|
<div x-show="successful" class="alert alert-green" x-transition>
|
||||||
@@ -86,7 +86,7 @@
|
|||||||
Informations de facturation enregistrées
|
Informations de facturation enregistrées
|
||||||
</div>
|
</div>
|
||||||
<div class="clickable" @click="successful = false">
|
<div class="clickable" @click="successful = false">
|
||||||
<i class="fa fa-close"></i>
|
<i class="fa-solid fa-xmark"></i>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<input type="submit" class="btn btn-blue clickable"
|
<input type="submit" class="btn btn-blue clickable"
|
||||||
|
|||||||
@@ -82,18 +82,18 @@
|
|||||||
<a href="{{url('election:update_role', role_id=role.id)}}">✏️</a>
|
<a href="{{url('election:update_role', role_id=role.id)}}">✏️</a>
|
||||||
<a href="{{url('election:delete_role', role_id=role.id)}}">❌</a>
|
<a href="{{url('election:delete_role', role_id=role.id)}}">❌</a>
|
||||||
{%- if role == role_list.last() %}
|
{%- if role == role_list.last() %}
|
||||||
<button disabled><i class="fa fa-arrow-down"></i></button>
|
<button disabled><i class="fa-solid fa-arrow-down"></i></button>
|
||||||
<button disabled><i class="fa fa-caret-down"></i></button>
|
<button disabled><i class="fa-sharp fa-solid fa-caret-down"></i></button>
|
||||||
{%- else %}
|
{%- else %}
|
||||||
<button type="button" onclick="window.location.replace('?role={{ role.id }}&action=bottom');"><i class="fa fa-arrow-down"></i></button>
|
<button type="button" onclick="window.location.replace('?role={{ role.id }}&action=bottom');"><i class="fa-solid fa-arrow-down"></i></button>
|
||||||
<button type="button" onclick="window.location.replace('?role={{ role.id }}&action=down');"><i class="fa fa-caret-down"></i></button>
|
<button type="button" onclick="window.location.replace('?role={{ role.id }}&action=down');"><i class="fa-sharp fa-solid fa-caret-down"></i></button>
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{% if role == role_list.first() %}
|
{% if role == role_list.first() %}
|
||||||
<button disabled><i class="fa fa-caret-up"></i></button>
|
<button disabled><i class="fa-solid fa-caret-up"></i></i></button>
|
||||||
<button disabled><i class="fa fa-arrow-up"></i></button>
|
<button disabled><i class="fa-sharp fa-solid fa-arrow-up"></i></i></button>
|
||||||
{% else %}
|
{% else %}
|
||||||
<button type="button" onclick="window.location.replace('?role={{ role.id }}&action=up');"><i class="fa fa-caret-up"></i></button>
|
<button type="button" onclick="window.location.replace('?role={{ role.id }}&action=up');"><i class="fa-solid fa-caret-up"></i></i></button>
|
||||||
<button type="button" onclick="window.location.replace('?role={{ role.id }}&action=top');"><i class="fa fa-arrow-up"></i></button>
|
<button type="button" onclick="window.location.replace('?role={{ role.id }}&action=top');"><i class="fa-sharp fa-solid fa-arrow-up"></i></i></button>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
{%- endif -%}
|
{%- endif -%}
|
||||||
|
|||||||
@@ -45,8 +45,8 @@
|
|||||||
|
|
||||||
<div class="radio-semester">
|
<div class="radio-semester">
|
||||||
<div class="radio-guide">
|
<div class="radio-guide">
|
||||||
<input type="checkbox" name="semester" id="radioAUTUMN" value="AUTUMN"><label for="radioAUTUMN"><i class="fa fa-leaf"></i></label>
|
<input type="checkbox" name="semester" id="radioAUTUMN" value="AUTUMN"><label for="radioAUTUMN"><i class="fa-solid fa-leaf"></i></label>
|
||||||
<input type="checkbox" name="semester" id="radioSPRING" value="SPRING"><label for="radioSPRING"><i class="fa fa-sun-o"></i></label>
|
<input type="checkbox" name="semester" id="radioSPRING" value="SPRING"><label for="radioSPRING"><i class="fa-solid fa-sun"></i></label>
|
||||||
<span><input type="checkbox" name="semester" id="radioAP" value="AUTUMN_AND_SPRING"><label for="radioAP">AP</label></span>
|
<span><input type="checkbox" name="semester" id="radioAP" value="AUTUMN_AND_SPRING"><label for="radioAP">AP</label></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -60,8 +60,8 @@
|
|||||||
<td>{% trans %}Title{% endtrans %}</td>
|
<td>{% trans %}Title{% endtrans %}</td>
|
||||||
<td>{% trans %}Department{% endtrans %}</td>
|
<td>{% trans %}Department{% endtrans %}</td>
|
||||||
<td>{% trans %}Credit type{% endtrans %}</td>
|
<td>{% trans %}Credit type{% endtrans %}</td>
|
||||||
<td><i class="fa fa-leaf"></i></td>
|
<td><i class="fa-solid fa-leaf"></i></td>
|
||||||
<td><i class="fa fa-sun-o"></i></td>
|
<td><i class="fa-solid fa-sun"></i></td>
|
||||||
{% if can_create_uv(user) %}
|
{% if can_create_uv(user) %}
|
||||||
<td>{% trans %}Edit{% endtrans %}</td>
|
<td>{% trans %}Edit{% endtrans %}</td>
|
||||||
<td>{% trans %}Delete{% endtrans %}</td>
|
<td>{% trans %}Delete{% endtrans %}</td>
|
||||||
@@ -77,12 +77,12 @@
|
|||||||
<td>{{ uv.credit_type }}</td>
|
<td>{{ uv.credit_type }}</td>
|
||||||
<td>
|
<td>
|
||||||
{% if uv.semester in ["AUTUMN", "AUTUMN_AND_SPRING"] %}
|
{% if uv.semester in ["AUTUMN", "AUTUMN_AND_SPRING"] %}
|
||||||
<i class="fa fa-leaf"></i>
|
<i class="fa-solid fa-leaf"></i>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
{% if uv.semester in ["SPRING", "AUTUMN_AND_SPRING"] %}
|
{% if uv.semester in ["SPRING", "AUTUMN_AND_SPRING"] %}
|
||||||
<i class="fa fa-sun-o"></i>
|
<i class="fa-solid fa-sun"></i>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</td>
|
</td>
|
||||||
{% if user.is_owner(uv) -%}
|
{% if user.is_owner(uv) -%}
|
||||||
@@ -107,9 +107,9 @@
|
|||||||
var autumn = "";
|
var autumn = "";
|
||||||
var spring = "";
|
var spring = "";
|
||||||
if (uv.semester == "AUTUMN" || uv.semester == "AUTUMN_AND_SPRING")
|
if (uv.semester == "AUTUMN" || uv.semester == "AUTUMN_AND_SPRING")
|
||||||
autumn = "<i class='fa fa-leaf'></i>";
|
autumn = "<i class='fa-solid fa-leaf'></i>";
|
||||||
if (uv.semester == "SPRING" || uv.semester == "AUTUMN_AND_SPRING")
|
if (uv.semester == "SPRING" || uv.semester == "AUTUMN_AND_SPRING")
|
||||||
spring = "<i class='fa fa-sun-o'></i>";
|
spring = "<i class='fa-solid fa-sun'></i>";
|
||||||
|
|
||||||
var html = `
|
var html = `
|
||||||
<tr onclick="window.location.href = '${uv.absolute_url}';">
|
<tr onclick="window.location.href = '${uv.absolute_url}';">
|
||||||
|
|||||||
@@ -3,9 +3,9 @@
|
|||||||
{% if grade >= 0 %}
|
{% if grade >= 0 %}
|
||||||
{% for i in range(5) %}
|
{% for i in range(5) %}
|
||||||
{% if i <= grade %}
|
{% if i <= grade %}
|
||||||
<span class="fa fa-star pedagogy star-checked grade-with-star"></span>
|
<span class="fa-solid fa-star pedagogy star-checked grade-with-star"></span>
|
||||||
{% else %}
|
{% else %}
|
||||||
<span class="fa fa-star pedagogy star-not-checked grade-with-star"></span>
|
<span class="fa-solid fa-star pedagogy star-not-checked grade-with-star"></span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
<span class="pedagogy grade-without-star">{{ grade }}/5</span>
|
<span class="pedagogy grade-without-star">{{ grade }}/5</span>
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
stars[i].setAttribute("class", attrs + " unchecked");
|
stars[i].setAttribute("class", attrs + " unchecked");
|
||||||
}
|
}
|
||||||
' checked>
|
' checked>
|
||||||
<span class="fa fa-times-circle"> {{ translations.do_not_vote }}</span>
|
<span class="fa-solid fa-xmark-circle"> {{ translations.do_not_vote }}</span>
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
{# Star widget #}
|
{# Star widget #}
|
||||||
@@ -46,7 +46,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
'>
|
'>
|
||||||
<i class="{{ widget.name }} fa fa-star unchecked"></i>
|
<i class="{{ widget.name }} fa-solid fa-star unchecked"></i>
|
||||||
</label>
|
</label>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
|
|||||||
@@ -167,7 +167,7 @@
|
|||||||
|
|
||||||
<div class="comment">
|
<div class="comment">
|
||||||
<div class="anchor">
|
<div class="anchor">
|
||||||
<a href="{{ url('pedagogy:uv_detail', uv_id=uv.id) }}#{{ comment.id }}"><i class="fa fa-paragraph"></i></a>
|
<a href="{{ url('pedagogy:uv_detail', uv_id=uv.id) }}#{{ comment.id }}"><i class="fa-solid fa-paragraph"></i></a>
|
||||||
</div>
|
</div>
|
||||||
{{ comment.comment|markdown }}
|
{{ comment.comment|markdown }}
|
||||||
</div>
|
</div>
|
||||||
@@ -206,8 +206,8 @@
|
|||||||
$("#return_noscript").hide();
|
$("#return_noscript").hide();
|
||||||
$("#return_js").show();
|
$("#return_js").show();
|
||||||
var icons = {
|
var icons = {
|
||||||
header: "fa fa-toggle-right",
|
header: "fa-solid fa-toggle-on",
|
||||||
activeHeader: "fa fa-toggle-down"
|
activeHeader: "fa-solid fa-toggle-off"
|
||||||
};
|
};
|
||||||
$(function(){
|
$(function(){
|
||||||
$("#leave_comment").accordion({
|
$("#leave_comment").accordion({
|
||||||
|
|||||||
@@ -714,7 +714,7 @@ SITH_FRONT_DEP_VERSIONS = {
|
|||||||
"https://github.com/chartjs/Chart.js/": "2.6.0",
|
"https://github.com/chartjs/Chart.js/": "2.6.0",
|
||||||
"https://github.com/xdan/datetimepicker/": "2.5.21",
|
"https://github.com/xdan/datetimepicker/": "2.5.21",
|
||||||
"https://github.com/Ionaru/easy-markdown-editor/": "2.18.0",
|
"https://github.com/Ionaru/easy-markdown-editor/": "2.18.0",
|
||||||
"https://github.com/FortAwesome/Font-Awesome/": "4.7.0",
|
"https://github.com/FortAwesome/Font-Awesome/": "6.4.0",
|
||||||
"https://github.com/jquery/jquery/": "3.6.2",
|
"https://github.com/jquery/jquery/": "3.6.2",
|
||||||
"https://github.com/sethmcl/jquery-ui/": "1.11.1",
|
"https://github.com/sethmcl/jquery-ui/": "1.11.1",
|
||||||
"https://github.com/viralpatel/jquery.shorten/": "",
|
"https://github.com/viralpatel/jquery.shorten/": "",
|
||||||
|
|||||||
Reference in New Issue
Block a user