From 45c1f400a1468f6e8b9b2bf2fb493922b31556be Mon Sep 17 00:00:00 2001 From: Phuoc Anh Kha Le <76896393+anhkha2003@users.noreply.github.com> Date: Mon, 10 Jun 2024 15:13:53 -0500 Subject: [PATCH] Design right sidebar of problem and organization home page (#117) * Design right sidebar of problem and organization home page * Change button small and message button --- locale/vi/LC_MESSAGES/django.po | 461 +++++++++--------- resources/darkmode.css | 20 +- resources/widgets.scss | 30 +- templates/actionbar/list.html | 2 +- templates/organization/home.html | 3 +- templates/organization/org-right-sidebar.html | 95 ++-- templates/problem/problem.html | 312 ++++++------ templates/submission/status.html | 30 +- templates/user/user-base.html | 2 +- 9 files changed, 510 insertions(+), 445 deletions(-) diff --git a/locale/vi/LC_MESSAGES/django.po b/locale/vi/LC_MESSAGES/django.po index f3e764a..978f23f 100644 --- a/locale/vi/LC_MESSAGES/django.po +++ b/locale/vi/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: lqdoj2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-30 14:36+0700\n" +"POT-Creation-Date: 2024-06-10 12:41+0700\n" "PO-Revision-Date: 2021-07-20 03:44\n" "Last-Translator: Icyene\n" "Language-Team: Vietnamese\n" @@ -23,7 +23,7 @@ msgid "last seen" msgstr "xem lần cuối" #: chat_box/models.py:54 chat_box/models.py:79 chat_box/models.py:95 -#: judge/admin/interface.py:150 judge/models/contest.py:693 +#: judge/admin/interface.py:151 judge/models/contest.py:693 #: judge/models/contest.py:899 judge/models/course.py:129 #: judge/models/profile.py:462 judge/models/profile.py:536 msgid "user" @@ -46,7 +46,7 @@ msgstr "" msgid "Recent" msgstr "Gần đây" -#: chat_box/views.py:448 templates/base.html:196 +#: chat_box/views.py:448 templates/base.html:197 #: templates/comments/content-list.html:72 #: templates/contest/contest-list-tabs.html:6 #: templates/contest/ranking-table.html:52 templates/course/left_sidebar.html:8 @@ -59,65 +59,65 @@ msgstr "Gần đây" msgid "Admin" msgstr "Admin" -#: dmoj/settings.py:366 +#: dmoj/settings.py:365 msgid "Vietnamese" msgstr "Tiếng Việt" -#: dmoj/settings.py:367 +#: dmoj/settings.py:366 msgid "English" msgstr "" -#: dmoj/urls.py:108 +#: dmoj/urls.py:107 msgid "Activation key invalid" msgstr "Mã kích hoạt không hợp lệ" -#: dmoj/urls.py:113 +#: dmoj/urls.py:112 msgid "Register" msgstr "Đăng ký" -#: dmoj/urls.py:120 +#: dmoj/urls.py:119 msgid "Registration Completed" msgstr "Đăng ký hoàn thành" -#: dmoj/urls.py:128 +#: dmoj/urls.py:127 msgid "Registration not allowed" msgstr "Đăng ký không thành công" -#: dmoj/urls.py:136 +#: dmoj/urls.py:135 msgid "Login" msgstr "Đăng nhập" -#: dmoj/urls.py:222 templates/base.html:118 +#: dmoj/urls.py:221 templates/base.html:119 #: templates/course/left_sidebar.html:2 #: templates/organization/org-left-sidebar.html:2 msgid "Home" msgstr "Trang chủ" -#: judge/admin/comments.py:58 +#: judge/admin/comments.py:57 #, python-format msgid "%d comment successfully hidden." msgid_plural "%d comments successfully hidden." msgstr[0] "Đã ẩn %d bình luận." -#: judge/admin/comments.py:65 +#: judge/admin/comments.py:64 msgid "Hide comments" msgstr "Ẩn bình luận" -#: judge/admin/comments.py:72 +#: judge/admin/comments.py:71 #, python-format msgid "%d comment successfully unhidden." msgid_plural "%d comments successfully unhidden." msgstr[0] "Không ẩn được %d bình luận." -#: judge/admin/comments.py:79 +#: judge/admin/comments.py:78 msgid "Unhide comments" msgstr "Hiện bình luận" -#: judge/admin/contest.py:38 +#: judge/admin/contest.py:45 msgid "Included contests" msgstr "" -#: judge/admin/contest.py:80 judge/admin/volunteer.py:54 +#: judge/admin/contest.py:87 judge/admin/volunteer.py:54 #: templates/contest/clarification.html:42 templates/contest/contest.html:116 #: templates/contest/moss.html:41 templates/internal/left-sidebar.html:2 #: templates/internal/problem/problem.html:41 templates/problem/list.html:17 @@ -126,78 +126,78 @@ msgstr "" msgid "Problem" msgstr "Bài tập" -#: judge/admin/contest.py:171 +#: judge/admin/contest.py:183 templates/base.html:212 msgid "Settings" msgstr "Cài đặt" -#: judge/admin/contest.py:186 +#: judge/admin/contest.py:198 msgid "Scheduling" msgstr "" -#: judge/admin/contest.py:190 +#: judge/admin/contest.py:202 msgid "Details" msgstr "Chi tiết" -#: judge/admin/contest.py:202 templates/contest/macros.html:83 +#: judge/admin/contest.py:214 templates/contest/macros.html:83 #: templates/contest/macros.html:93 msgid "Format" msgstr "Thể thức" -#: judge/admin/contest.py:206 templates/contest/ranking-table.html:5 -#: templates/profile-table.html:14 templates/profile-table.html:38 -#: templates/user/user-about.html:15 templates/user/user-about.html:45 +#: judge/admin/contest.py:218 templates/contest/ranking-table.html:5 +#: templates/profile-table.html:14 templates/profile-table.html:37 +#: templates/user/user-about.html:15 templates/user/user-about.html:44 msgid "Rating" msgstr "" -#: judge/admin/contest.py:218 +#: judge/admin/contest.py:230 msgid "Access" msgstr "Truy cập" -#: judge/admin/contest.py:228 judge/admin/problem.py:233 +#: judge/admin/contest.py:240 judge/admin/problem.py:233 msgid "Justice" msgstr "Xử phạt" -#: judge/admin/contest.py:356 +#: judge/admin/contest.py:368 #, python-format msgid "%d contest successfully marked as visible." msgid_plural "%d contests successfully marked as visible." msgstr[0] "%d kỳ thi đã được đánh dấu hiển thị." -#: judge/admin/contest.py:363 +#: judge/admin/contest.py:375 msgid "Mark contests as visible" msgstr "Đánh dấu hiển thị các kỳ thi" -#: judge/admin/contest.py:374 +#: judge/admin/contest.py:386 #, python-format msgid "%d contest successfully marked as hidden." msgid_plural "%d contests successfully marked as hidden." msgstr[0] "%d kỳ thi đã được đánh dấu ẩn." -#: judge/admin/contest.py:381 +#: judge/admin/contest.py:393 msgid "Mark contests as hidden" msgstr "Ẩn các kỳ thi" -#: judge/admin/contest.py:402 judge/admin/submission.py:241 +#: judge/admin/contest.py:414 judge/admin/submission.py:241 #, python-format msgid "%d submission was successfully scheduled for rejudging." msgid_plural "%d submissions were successfully scheduled for rejudging." msgstr[0] "%d bài nộp đã được lên lịch thành công để chấm lại." -#: judge/admin/contest.py:510 +#: judge/admin/contest.py:522 #, python-format msgid "%d participation recalculated." msgid_plural "%d participations recalculated." msgstr[0] "%d thí sinh đã được tính điểm lại." -#: judge/admin/contest.py:517 +#: judge/admin/contest.py:529 msgid "Recalculate results" msgstr "Tính toán lại kết quả" -#: judge/admin/contest.py:522 judge/admin/organization.py:99 +#: judge/admin/contest.py:534 judge/admin/organization.py:99 msgid "username" msgstr "tên đăng nhập" -#: judge/admin/contest.py:528 templates/base.html:251 +#: judge/admin/contest.py:540 templates/base.html:252 msgid "virtual" msgstr "ảo" @@ -205,23 +205,23 @@ msgstr "ảo" msgid "link path" msgstr "đường dẫn" -#: judge/admin/interface.py:94 templates/course/lesson.html:10 +#: judge/admin/interface.py:95 templates/course/lesson.html:10 msgid "Content" msgstr "Nội dung" -#: judge/admin/interface.py:95 +#: judge/admin/interface.py:96 msgid "Summary" msgstr "Tổng kết" -#: judge/admin/interface.py:217 +#: judge/admin/interface.py:218 msgid "object" msgstr "" -#: judge/admin/interface.py:227 +#: judge/admin/interface.py:228 msgid "Diff" msgstr "" -#: judge/admin/interface.py:232 +#: judge/admin/interface.py:233 msgid "diff" msgstr "" @@ -254,11 +254,11 @@ msgstr "" #: judge/admin/problem.py:230 judge/admin/problem.py:463 #: templates/contest/contest.html:117 -#: templates/contest/contests_summary.html:41 templates/problem/data.html:536 +#: templates/contest/contests_summary.html:41 templates/problem/data.html:535 #: templates/problem/list.html:22 templates/problem/list.html:48 -#: templates/profile-table.html:31 templates/profile-table.html:43 +#: templates/profile-table.html:31 templates/profile-table.html:41 #: templates/user/base-users-table.html:10 templates/user/user-about.html:36 -#: templates/user/user-about.html:52 templates/user/user-problems.html:58 +#: templates/user/user-about.html:50 templates/user/user-problems.html:58 msgid "Points" msgstr "Điểm" @@ -267,7 +267,7 @@ msgid "Limits" msgstr "Giới hạn" #: judge/admin/problem.py:232 judge/admin/submission.py:351 -#: templates/base.html:162 templates/stats/tab.html:4 +#: templates/base.html:163 templates/stats/tab.html:4 #: templates/submission/list.html:346 msgid "Language" msgstr "Ngôn ngữ" @@ -2667,59 +2667,59 @@ msgstr "Chỉnh sửa bài nộp" msgid "Recalculating user points" msgstr "Tính lại điểm người dùng" -#: judge/utils/problem_data.py:78 +#: judge/utils/problem_data.py:81 msgid "Empty batches not allowed." msgstr "Nhóm test trống là không hợp lệ." -#: judge/utils/problem_data.py:86 judge/utils/problem_data.py:94 -#: judge/utils/problem_data.py:109 +#: judge/utils/problem_data.py:89 judge/utils/problem_data.py:97 +#: judge/utils/problem_data.py:112 msgid "How did you corrupt the custom checker path?" msgstr "How did you corrupt the custom checker path?" -#: judge/utils/problem_data.py:137 +#: judge/utils/problem_data.py:140 #, python-format msgid "Points must be defined for non-batch case #%d." msgstr "Ô điểm số cho test #%d phải được điền." -#: judge/utils/problem_data.py:144 +#: judge/utils/problem_data.py:147 #, python-format msgid "Input file for case %d does not exist: %s" msgstr "File input cho test %d không tồn tại: %s" -#: judge/utils/problem_data.py:149 +#: judge/utils/problem_data.py:152 #, python-format msgid "Output file for case %d does not exist: %s" msgstr "File output cho test %d không tồn tại: %s" -#: judge/utils/problem_data.py:176 +#: judge/utils/problem_data.py:179 #, python-format msgid "Batch start case #%d requires points." msgstr "Nhóm test #%d cần được điền điểm số." -#: judge/utils/problem_data.py:199 +#: judge/utils/problem_data.py:202 #, python-format msgid "Attempt to end batch outside of one in case #%d" msgstr "Nhóm test #%d kết thúc không hợp lệ" -#: judge/utils/problem_data.py:218 +#: judge/utils/problem_data.py:221 msgid "How did you corrupt the zip path?" msgstr "" -#: judge/utils/problem_data.py:224 +#: judge/utils/problem_data.py:227 msgid "How did you corrupt the generator path?" msgstr "" -#: judge/utils/problem_data.py:242 +#: judge/utils/problem_data.py:245 msgid "Invalid interactor judge" msgstr "" -#: judge/utils/problem_data.py:266 +#: judge/utils/problem_data.py:269 #, fuzzy #| msgid "Invalid Return" msgid "Invalid signature handler" msgstr "Invalid Return" -#: judge/utils/problem_data.py:269 +#: judge/utils/problem_data.py:272 msgid "Invalid signature header" msgstr "" @@ -2767,14 +2767,14 @@ msgctxt "hours and minutes" msgid "%h:%m" msgstr "%h:%m" -#: judge/utils/users.py:55 +#: judge/utils/users.py:61 msgid "M j, Y" msgstr "j M, Y" #: judge/views/about.py:10 templates/course/course.html:5 -#: templates/organization/home.html:40 -#: templates/organization/org-right-sidebar.html:81 -#: templates/user/user-about.html:72 templates/user/user-tabs.html:4 +#: templates/organization/home.html:41 +#: templates/organization/org-right-sidebar.html:74 +#: templates/user/user-about.html:70 templates/user/user-tabs.html:4 #: templates/user/users-table.html:22 msgid "About" msgstr "Giới thiệu" @@ -2834,17 +2834,17 @@ msgstr "Bạn phải giải ít nhất một bài trước khi được phép b msgid "Posted comment" msgstr "Bình luận đã đăng" -#: judge/views/contests.py:125 judge/views/contests.py:453 -#: judge/views/contests.py:458 judge/views/contests.py:758 +#: judge/views/contests.py:125 judge/views/contests.py:457 +#: judge/views/contests.py:462 judge/views/contests.py:762 msgid "No such contest" msgstr "Không có contest nào như vậy" -#: judge/views/contests.py:126 judge/views/contests.py:454 +#: judge/views/contests.py:126 judge/views/contests.py:458 #, python-format msgid "Could not find a contest with the key \"%s\"." msgstr "Không tìm thấy kỳ thi với mã \"%s\"." -#: judge/views/contests.py:149 judge/views/contests.py:1529 +#: judge/views/contests.py:154 judge/views/contests.py:1549 #: judge/views/stats.py:178 templates/contest/list.html:211 #: templates/contest/list.html:253 templates/contest/list.html:290 #: templates/contest/list.html:324 @@ -2853,137 +2853,137 @@ msgstr "Không tìm thấy kỳ thi với mã \"%s\"." msgid "Contests" msgstr "Kỳ thi" -#: judge/views/contests.py:314 +#: judge/views/contests.py:318 msgid "Start time (asc.)" msgstr "Thời gian bắt đầu (tăng)" -#: judge/views/contests.py:315 +#: judge/views/contests.py:319 msgid "Start time (desc.)" msgstr "Thời gian bắt đầu (giảm)" -#: judge/views/contests.py:316 +#: judge/views/contests.py:320 msgid "Name (asc.)" msgstr "Tên (tăng)" -#: judge/views/contests.py:317 +#: judge/views/contests.py:321 msgid "Name (desc.)" msgstr "Tên (giảm)" -#: judge/views/contests.py:318 +#: judge/views/contests.py:322 msgid "User count (asc.)" msgstr "Số lượng tham gia (tăng)" -#: judge/views/contests.py:319 +#: judge/views/contests.py:323 msgid "User count (desc.)" msgstr "Số lượng tham gia (giảm)" -#: judge/views/contests.py:458 +#: judge/views/contests.py:462 msgid "Could not find such contest." msgstr "Không tìm thấy kỳ thi nào như vậy." -#: judge/views/contests.py:466 +#: judge/views/contests.py:470 #, python-format msgid "Access to contest \"%s\" denied" msgstr "Truy cập tới kỳ thi \"%s\" bị từ chối" -#: judge/views/contests.py:544 +#: judge/views/contests.py:548 msgid "Clone Contest" msgstr "Nhân bản kỳ thi" -#: judge/views/contests.py:636 +#: judge/views/contests.py:640 msgid "Contest not ongoing" msgstr "Kỳ thi đang không diễn ra" -#: judge/views/contests.py:637 +#: judge/views/contests.py:641 #, python-format msgid "\"%s\" is not currently ongoing." msgstr "\"%s\" kỳ thi đang không diễn ra." -#: judge/views/contests.py:650 +#: judge/views/contests.py:654 msgid "Banned from joining" msgstr "Bị cấm tham gia" -#: judge/views/contests.py:652 +#: judge/views/contests.py:656 msgid "" "You have been declared persona non grata for this contest. You are " "permanently barred from joining this contest." msgstr "Bạn không được phép tham gia kỳ thi này." -#: judge/views/contests.py:742 +#: judge/views/contests.py:746 #, python-format msgid "Enter access code for \"%s\"" msgstr "Nhập mật khẩu truy cập cho \"%s\"" -#: judge/views/contests.py:759 +#: judge/views/contests.py:763 #, python-format msgid "You are not in contest \"%s\"." msgstr "Bạn không ở trong kỳ thi \"%s\"." -#: judge/views/contests.py:782 +#: judge/views/contests.py:786 msgid "ContestCalendar requires integer year and month" msgstr "Lịch thi yêu cầu giá trị cho năm và tháng là số nguyên" -#: judge/views/contests.py:840 +#: judge/views/contests.py:844 #, python-format msgid "Contests in %(month)s" msgstr "Các kỳ thi trong %(month)s" -#: judge/views/contests.py:841 +#: judge/views/contests.py:845 msgid "F Y" msgstr "F Y" -#: judge/views/contests.py:901 +#: judge/views/contests.py:905 #, python-format msgid "%s Statistics" msgstr "%s Thống kê" -#: judge/views/contests.py:1210 +#: judge/views/contests.py:1231 #, python-format msgid "%s Rankings" msgstr "%s Bảng điểm" -#: judge/views/contests.py:1221 +#: judge/views/contests.py:1242 msgid "???" msgstr "???" -#: judge/views/contests.py:1248 +#: judge/views/contests.py:1269 #, python-format msgid "Your participation in %s" msgstr "Lần tham gia trong %s" -#: judge/views/contests.py:1249 +#: judge/views/contests.py:1270 #, python-format msgid "%s's participation in %s" msgstr "Lần tham gia của %s trong %s" -#: judge/views/contests.py:1263 +#: judge/views/contests.py:1284 msgid "Live" msgstr "Trực tiếp" -#: judge/views/contests.py:1282 templates/contest/contest-tabs.html:21 +#: judge/views/contests.py:1302 templates/contest/contest-tabs.html:21 msgid "Participation" msgstr "Lần tham gia" -#: judge/views/contests.py:1331 +#: judge/views/contests.py:1351 #, python-format msgid "%s MOSS Results" msgstr "%s Kết quả MOSS" -#: judge/views/contests.py:1367 +#: judge/views/contests.py:1387 #, python-format msgid "Running MOSS for %s..." msgstr "Đang chạy MOSS cho %s..." -#: judge/views/contests.py:1390 +#: judge/views/contests.py:1410 #, python-format msgid "Contest tag: %s" msgstr "Nhãn kỳ thi: %s" -#: judge/views/contests.py:1405 judge/views/ticket.py:67 +#: judge/views/contests.py:1425 judge/views/ticket.py:67 msgid "Issue description" msgstr "Mô tả vấn đề" -#: judge/views/contests.py:1448 +#: judge/views/contests.py:1468 #, python-format msgid "New clarification for %s" msgstr "Thông báo mới cho %s" @@ -3260,7 +3260,7 @@ msgid "Added from site" msgstr "Thêm từ web" #: judge/views/organization.py:868 -#: templates/organization/org-right-sidebar.html:52 +#: templates/organization/org-right-sidebar.html:47 msgid "Add contest" msgstr "Thêm kỳ thi" @@ -3517,7 +3517,7 @@ msgid "Submission of %(problem)s by %(user)s" msgstr "Bài nộp của %(user)s cho bài %(problem)s" #: judge/views/submission.py:292 judge/views/submission.py:293 -#: templates/problem/problem.html:188 +#: templates/problem/problem.html:192 msgid "All submissions" msgstr "Tất cả bài nộp" @@ -3572,8 +3572,8 @@ msgstr "Bài nộp trong {1}" #: judge/views/submission.py:899 #, python-brace-format msgid "" -"{0}'s submissions for {2} in {4}" +"{0}'s submissions for {2} in {4}" msgstr "" "Các bài nộp của {0} cho {2} trong {4}" @@ -3671,26 +3671,26 @@ msgstr "Tài khoản của tôi" msgid "User %s" msgstr "Thành viên %s" -#: judge/views/user.py:211 +#: judge/views/user.py:213 msgid "M j, Y, G:i" msgstr "j M, Y, G:i" -#: judge/views/user.py:412 +#: judge/views/user.py:414 msgid "Updated on site" msgstr "Được cập nhật trên web" -#: judge/views/user.py:429 templates/admin/auth/user/change_form.html:14 -#: templates/admin/auth/user/change_form.html:17 templates/base.html:211 +#: judge/views/user.py:431 templates/admin/auth/user/change_form.html:14 +#: templates/admin/auth/user/change_form.html:17 #: templates/user/user-tabs.html:12 msgid "Edit profile" msgstr "Chỉnh sửa thông tin" -#: judge/views/user.py:439 templates/user/user-left-sidebar.html:2 +#: judge/views/user.py:441 templates/user/user-left-sidebar.html:2 #: templates/user/user-list-tabs.html:4 msgid "Leaderboard" msgstr "Xếp hạng" -#: judge/views/user.py:539 +#: judge/views/user.py:541 msgid "Import Users" msgstr "" @@ -3707,7 +3707,7 @@ msgstr "Kinh độ / Vĩ độ không hợp lệ" msgid "Like" msgstr "Thích" -#: templates/actionbar/list.html:28 templates/blog/list.html:42 +#: templates/actionbar/list.html:28 templates/blog/list.html:46 msgid "Comment" msgstr "Bình luận" @@ -3770,64 +3770,70 @@ msgstr "Chỉnh sửa thông tin" #: templates/admin/judge/submission/change_form.html:14 #: templates/admin/judge/submission/change_form.html:17 -#: templates/submission/status.html:145 +#: templates/submission/status.html:148 msgid "Rejudge" msgstr "Chấm lại" -#: templates/base.html:144 +#: templates/base.html:145 msgid "Chat" msgstr "Chat" -#: templates/base.html:154 +#: templates/base.html:155 msgid "Notification" msgstr "Thông báo" -#: templates/base.html:181 +#: templates/base.html:182 msgid "Dark Mode" msgstr "" -#: templates/base.html:192 templates/profile-table.html:3 +#: templates/base.html:193 templates/profile-table.html:3 msgid "Profile" msgstr "Trang cá nhân" -#: templates/base.html:201 +#: templates/base.html:202 msgid "Internal" msgstr "Nội bộ" -#: templates/base.html:204 +#: templates/base.html:205 msgid "Stats" msgstr "Thống kê" -#: templates/base.html:208 templates/user/user-tabs.html:11 +#: templates/base.html:209 templates/user/user-tabs.html:11 msgid "Bookmarks" msgstr "Đã lưu" -#: templates/base.html:220 +#: templates/base.html:216 +#, fuzzy +#| msgid "Stop spectating" +msgid "Stop impersonating" +msgstr "Ngừng theo dõi" + +#: templates/base.html:221 msgid "Log out" msgstr "Đăng xuất" -#: templates/base.html:230 +#: templates/base.html:231 #: templates/registration/password_reset_complete.html:4 msgid "Log in" msgstr "Đăng nhập" -#: templates/base.html:231 +#: templates/base.html:232 msgid "Sign up" msgstr "Đăng ký" -#: templates/base.html:245 +#: templates/base.html:246 msgid "spectating" msgstr "đang theo dõi" -#: templates/base.html:257 templates/contest/list.html:151 +#: templates/base.html:258 templates/contest/list.html:151 msgid "In contest" msgstr "Trong kỳ thi" -#: templates/base.html:259 +#: templates/base.html:260 msgid "Out contest" msgstr "Ngoài kỳ thi" -#: templates/base.html:266 +#: templates/base.html:267 msgid "This site works best with JavaScript enabled." msgstr "" @@ -3862,33 +3868,33 @@ msgstr "" " vào %(time)s\n" " " -#: templates/blog/list.html:41 +#: templates/blog/list.html:45 msgid "News" msgstr "Tin tức" -#: templates/blog/list.html:43 +#: templates/blog/list.html:47 msgid "Ticket" msgstr "Báo cáo" -#: templates/blog/list.html:44 +#: templates/blog/list.html:48 msgid "Events" msgstr "Sự kiện" -#: templates/blog/list.html:56 +#: templates/blog/list.html:60 msgid "You have no ticket" msgstr "Bạn không có báo cáo" -#: templates/blog/list.html:69 templates/problem/list.html:150 -#: templates/problem/problem.html:418 +#: templates/blog/list.html:73 templates/problem/list.html:150 +#: templates/problem/problem.html:448 msgid "Clarifications" msgstr "Thông báo" -#: templates/blog/list.html:74 +#: templates/blog/list.html:78 msgid "Add" msgstr "Thêm mới" -#: templates/blog/list.html:94 templates/problem/list.html:172 -#: templates/problem/problem.html:429 +#: templates/blog/list.html:98 templates/problem/list.html:172 +#: templates/problem/problem.html:459 msgid "No clarifications have been made at this time." msgstr "Không có thông báo nào." @@ -3966,7 +3972,7 @@ msgstr "Đăng nhập để vote" msgid "edit %(edits)s" msgstr "chỉnh sửa %(edits)s" -#: templates/comments/content-list.html:38 templates/comments/media-js.html:68 +#: templates/comments/content-list.html:38 templates/comments/media-js.html:67 msgid "edited" msgstr "đã chỉnh sửa" @@ -4027,16 +4033,16 @@ msgstr "Không có bình luận nào." msgid "Comments are disabled on this page." msgstr "Bình luận bị tắt trong trang này." -#: templates/comments/media-js.html:13 +#: templates/comments/media-js.html:12 msgid "Replying to comment" msgstr "Trả lời bình luận" -#: templates/comments/media-js.html:63 +#: templates/comments/media-js.html:62 #, python-brace-format msgid "edit {edits}" msgstr "chỉnh sửa {edits}" -#: templates/comments/media-js.html:66 +#: templates/comments/media-js.html:65 msgid "original" msgstr "original" @@ -4152,8 +4158,8 @@ msgstr "G:i T, j F, Y" #: templates/contest/contest-datetime.html:32 #, python-format msgid "" -"%(time_limit)s window between %(start_time)s and " -"%(end_time)s" +"%(time_limit)s window between %(start_time)s and " +"%(end_time)s" msgstr "" "Dài %(time_limit)s từ %(start_time)s đến %(end_time)s" @@ -4171,10 +4177,11 @@ msgid "at" msgstr "lúc" #: templates/contest/contest-list-tabs.html:2 -#: templates/problem/left-sidebar.html:4 -#: templates/problem/problem-list-tabs.html:5 -msgid "List" -msgstr "Danh sách" +#: templates/problem/search-form.html:75 templates/problem/search-form.html:77 +#: templates/submission/list.html:380 +#: templates/submission/submission-list-tabs.html:4 +msgid "All" +msgstr "Tất cả" #: templates/contest/contest-list-tabs.html:3 msgid "Official" @@ -4757,7 +4764,7 @@ msgstr "Bạn phải tham gia lại để được hiển thị trong bảng x msgid "You will have to request membership in order to join again." msgstr "Bạn phải đăng ký thành viên để được tham gia lại." -#: templates/organization/home.html:27 +#: templates/organization/home.html:28 msgid "Request membership" msgstr "Đăng ký thành viên" @@ -4789,27 +4796,27 @@ msgstr "Quản lý" msgid "Edit group" msgstr "Chỉnh sửa nhóm" -#: templates/organization/org-right-sidebar.html:16 +#: templates/organization/org-right-sidebar.html:15 msgid "View requests" msgstr "Đơn đăng ký" -#: templates/organization/org-right-sidebar.html:28 +#: templates/organization/org-right-sidebar.html:26 msgid "Add members" msgstr "Thêm thành viên" -#: templates/organization/org-right-sidebar.html:35 +#: templates/organization/org-right-sidebar.html:32 msgid "Add blog" msgstr "Thêm bài đăng" -#: templates/organization/org-right-sidebar.html:41 +#: templates/organization/org-right-sidebar.html:37 msgid "Pending blogs" msgstr "Bài đăng đang chờ" -#: templates/organization/org-right-sidebar.html:60 +#: templates/organization/org-right-sidebar.html:53 msgid "Subdomain" msgstr "Site riêng cho nhóm" -#: templates/organization/org-right-sidebar.html:69 +#: templates/organization/org-right-sidebar.html:62 msgid "Leave group" msgstr "Rời nhóm" @@ -4845,7 +4852,7 @@ msgid "There are no requests to approve." msgstr "Không có đơn đăng ký." #: templates/organization/requests/pending.html:24 -#: templates/problem/data.html:539 +#: templates/problem/data.html:538 msgid "Delete?" msgstr "Xóa?" @@ -4886,32 +4893,32 @@ msgstr "Đuổi" msgid "Enter a new code for the cloned problem:" msgstr "Nhập mã bài mới cho bài tập được nhân bản:" -#: templates/problem/data.html:157 templates/problem/data.html:164 +#: templates/problem/data.html:156 templates/problem/data.html:163 msgid "Instruction" msgstr "Hướng dẫn" -#: templates/problem/data.html:488 +#: templates/problem/data.html:487 msgid "View YAML" msgstr "Xem YAML" -#: templates/problem/data.html:505 +#: templates/problem/data.html:504 msgid "Autofill testcases" msgstr "Tự động điền test" -#: templates/problem/data.html:509 templates/problem/problem.html:277 +#: templates/problem/data.html:508 templates/problem/problem.html:307 msgid "Problem type" msgid_plural "Problem types" msgstr[0] "Dạng bài" -#: templates/problem/data.html:516 +#: templates/problem/data.html:515 msgid "Fill testcases" msgstr "Điền test" -#: templates/problem/data.html:520 +#: templates/problem/data.html:519 msgid "Batch start positions" msgstr "Vị trí bắt đầu nhóm" -#: templates/problem/data.html:524 +#: templates/problem/data.html:523 msgid "" "Leave empty if not use batch. If you want to divide to three batches [1, 4], " "[5, 8], [9, 10], enter: 1, 5, 9" @@ -4919,27 +4926,27 @@ msgstr "" "Để trống nếu không dùng nhóm. Nếu muốn chia test thành các nhóm [1, 4], [5, " "8], [9, 10], nhập: 1, 5, 9" -#: templates/problem/data.html:528 templates/problem/data.html:579 +#: templates/problem/data.html:527 templates/problem/data.html:578 msgid "Apply!" msgstr "Lưu!" -#: templates/problem/data.html:533 +#: templates/problem/data.html:532 msgid "Type" msgstr "Kiểu" -#: templates/problem/data.html:534 +#: templates/problem/data.html:533 msgid "Input file" msgstr "File Input" -#: templates/problem/data.html:535 +#: templates/problem/data.html:534 msgid "Output file" msgstr "File Output" -#: templates/problem/data.html:537 +#: templates/problem/data.html:536 msgid "Pretest?" msgstr "Pretest?" -#: templates/problem/data.html:580 +#: templates/problem/data.html:579 msgid "Add new case" msgstr "Thêm test mới" @@ -5007,6 +5014,11 @@ msgstr "Lưu ý thêm cho admin" msgid "Feed" msgstr "Gợi ý" +#: templates/problem/left-sidebar.html:4 +#: templates/problem/problem-list-tabs.html:5 +msgid "List" +msgstr "Danh sách" + #: templates/problem/list-base.html:89 msgid "Filter by type..." msgstr "Lọc theo dạng..." @@ -5138,102 +5150,102 @@ msgstr[0] "Còn %(counter)s lần nộp" msgid "0 submissions left" msgstr "Còn 0 lần nộp" -#: templates/problem/problem.html:185 +#: templates/problem/problem.html:186 msgid "My submissions" msgstr "Bài nộp của tôi" -#: templates/problem/problem.html:189 +#: templates/problem/problem.html:197 msgid "Best submissions" msgstr "Các bài nộp tốt nhất" -#: templates/problem/problem.html:193 +#: templates/problem/problem.html:204 msgid "Read editorial" msgstr "Xem hướng dẫn" -#: templates/problem/problem.html:198 +#: templates/problem/problem.html:213 msgid "Manage tickets" msgstr "Xử lý báo cáo" -#: templates/problem/problem.html:202 +#: templates/problem/problem.html:220 msgid "Edit problem" msgstr "Chỉnh sửa bài" -#: templates/problem/problem.html:204 +#: templates/problem/problem.html:226 msgid "Edit test data" msgstr "Chỉnh sửa test" -#: templates/problem/problem.html:209 +#: templates/problem/problem.html:234 msgid "My tickets" msgstr "Báo cáo của tôi" -#: templates/problem/problem.html:217 +#: templates/problem/problem.html:244 msgid "Manage submissions" msgstr "Quản lý bài nộp" -#: templates/problem/problem.html:223 +#: templates/problem/problem.html:252 msgid "Clone problem" msgstr "Nhân bản bài" -#: templates/problem/problem.html:232 templates/problem/problem.html:359 +#: templates/problem/problem.html:262 templates/problem/problem.html:389 msgid "Time limit:" msgstr "Thời gian:" -#: templates/problem/problem.html:245 templates/problem/problem.html:364 +#: templates/problem/problem.html:275 templates/problem/problem.html:394 msgid "Memory limit:" msgstr "Bộ nhớ:" -#: templates/problem/problem.html:263 +#: templates/problem/problem.html:293 msgid "Author:" msgid_plural "Authors:" msgstr[0] "Tác giả:" -#: templates/problem/problem.html:290 +#: templates/problem/problem.html:320 msgid "Allowed languages" msgstr "Ngôn ngữ cho phép" -#: templates/problem/problem.html:298 +#: templates/problem/problem.html:328 #, python-format msgid "No %(lang)s judge online" msgstr "Không có máy chấm cho %(lang)s" -#: templates/problem/problem.html:310 +#: templates/problem/problem.html:340 #: templates/status/judge-status-table.html:2 msgid "Judge" msgid_plural "Judges" msgstr[0] "Máy chấm" -#: templates/problem/problem.html:328 +#: templates/problem/problem.html:358 msgid "none available" msgstr "Bài này chưa có máy chấm" -#: templates/problem/problem.html:340 +#: templates/problem/problem.html:370 #, python-format msgid "This problem has %(length)s clarification(s)" msgstr "Bài này có %(length)s thông báo" -#: templates/problem/problem.html:348 +#: templates/problem/problem.html:378 msgid "Points:" msgstr "Điểm:" -#: templates/problem/problem.html:369 templates/problem/raw.html:67 +#: templates/problem/problem.html:399 templates/problem/raw.html:67 #: templates/submission/status-testcases.html:155 msgid "Input:" msgstr "Input:" -#: templates/problem/problem.html:371 templates/problem/raw.html:67 +#: templates/problem/problem.html:401 templates/problem/raw.html:67 msgid "stdin" msgstr "bàn phím" -#: templates/problem/problem.html:376 templates/problem/raw.html:70 +#: templates/problem/problem.html:406 templates/problem/raw.html:70 #: templates/submission/status-testcases.html:159 msgid "Output:" msgstr "Output:" -#: templates/problem/problem.html:377 templates/problem/raw.html:70 +#: templates/problem/problem.html:407 templates/problem/raw.html:70 msgid "stdout" msgstr "màn hình" -#: templates/problem/problem.html:404 +#: templates/problem/problem.html:434 msgid "Request clarification" msgstr "Yêu cầu làm rõ đề" @@ -5277,12 +5289,6 @@ msgstr "Hiển thị dạng bài" msgid "Show editorial" msgstr "Hiển thị hướng dẫn" -#: templates/problem/search-form.html:75 templates/problem/search-form.html:77 -#: templates/submission/list.html:380 -#: templates/submission/submission-list-tabs.html:4 -msgid "All" -msgstr "Tất cả" - #: templates/problem/search-form.html:88 msgid "Point range" msgstr "Mốc điểm" @@ -5353,15 +5359,15 @@ msgstr[0] "Đã giải %(counter)s bài" msgid "Total points" msgstr "Tổng điểm" -#: templates/profile-table.html:38 templates/user/user-about.html:45 +#: templates/profile-table.html:37 templates/user/user-about.html:44 msgid "Rank by rating" msgstr "Rank theo rating" -#: templates/profile-table.html:43 templates/user/user-about.html:52 +#: templates/profile-table.html:41 templates/user/user-about.html:50 msgid "Rank by points" msgstr "Rank theo điểm" -#: templates/profile-table.html:49 templates/user/user-about.html:88 +#: templates/profile-table.html:47 templates/user/user-about.html:86 msgid "Awards" msgstr "Thành tích" @@ -5790,15 +5796,15 @@ msgstr "AC pretest không đồng nghĩa AC cả bài nhé :))" msgid "Submission aborted!" msgstr "Đã hủy chấm bài nộp!" -#: templates/submission/status.html:139 +#: templates/submission/status.html:141 msgid "Resubmit" msgstr "Nộp lại" -#: templates/submission/status.html:153 +#: templates/submission/status.html:157 msgid "Source code" msgstr "Mã nguồn" -#: templates/submission/status.html:167 +#: templates/submission/status.html:171 msgid "Abort" msgstr "Hủy chấm" @@ -5892,11 +5898,11 @@ msgstr "Tải lên" msgid "replied" msgstr "phản hồi" -#: templates/ticket/list.html:135 templates/ticket/ticket.html:97 +#: templates/ticket/list.html:135 templates/ticket/ticket.html:96 msgid "Reopened: " msgstr "Mở lại: " -#: templates/ticket/list.html:138 templates/ticket/ticket.html:98 +#: templates/ticket/list.html:138 templates/ticket/ticket.html:97 msgid "Closed: " msgstr "Đóng: " @@ -5920,7 +5926,7 @@ msgstr "Người định uỷ thác" msgid "Title" msgstr "Tiêu đề" -#: templates/ticket/list.html:266 templates/ticket/ticket.html:193 +#: templates/ticket/list.html:266 templates/ticket/ticket.html:192 msgid "Assignees" msgstr "Người được ủy thác" @@ -5937,31 +5943,31 @@ msgstr "" "Lưu ý rằng đây là đơn báo cáo các vấn đề trong đề bài, không phải nơi để hỏi " "bài hay nộp bài." -#: templates/ticket/ticket.html:179 +#: templates/ticket/ticket.html:178 msgid "Post" msgstr "Đăng" -#: templates/ticket/ticket.html:187 +#: templates/ticket/ticket.html:186 msgid "Associated object" msgstr "" -#: templates/ticket/ticket.html:198 +#: templates/ticket/ticket.html:197 msgid "No one is assigned." msgstr "Không ai được ủy thác." -#: templates/ticket/ticket.html:204 +#: templates/ticket/ticket.html:203 msgid "Close ticket" msgstr "Đóng báo cáo" -#: templates/ticket/ticket.html:206 +#: templates/ticket/ticket.html:205 msgid "Reopen ticket" msgstr "Mở lại báo cáo" -#: templates/ticket/ticket.html:210 +#: templates/ticket/ticket.html:209 msgid "Assignee notes" msgstr "Lưu ý cho người ủy thác" -#: templates/ticket/ticket.html:217 templates/widgets/select_all.html:4 +#: templates/ticket/ticket.html:216 templates/widgets/select_all.html:4 msgid "Nothing here." msgstr "Không có gì." @@ -6072,72 +6078,72 @@ msgstr "%(pp).1fpp" msgid "%(pp).0fpp" msgstr "%(pp).0fpp" -#: templates/user/user-about.html:65 +#: templates/user/user-about.html:63 msgid "Admin Notes" msgstr "Lưu ý của admin" -#: templates/user/user-about.html:77 +#: templates/user/user-about.html:75 msgid "You have not shared any information." msgstr "Bạn chưa chia sẻ thông tin nào." -#: templates/user/user-about.html:79 +#: templates/user/user-about.html:77 msgid "This user has not shared any information." msgstr "Người dùng này chưa chia sẻ thông tin nào." -#: templates/user/user-about.html:99 +#: templates/user/user-about.html:97 #, python-format msgid "%(label)s (%(date)s)" msgstr "%(label)s (%(date)s)" -#: templates/user/user-about.html:117 +#: templates/user/user-about.html:115 msgid "Mon" msgstr "Thứ 2" -#: templates/user/user-about.html:122 +#: templates/user/user-about.html:120 msgid "Tues" msgstr "Thứ 3" -#: templates/user/user-about.html:127 +#: templates/user/user-about.html:125 msgid "Wed" msgstr "Thứ 4" -#: templates/user/user-about.html:132 +#: templates/user/user-about.html:130 msgid "Thurs" msgstr "Thứ 5" -#: templates/user/user-about.html:137 +#: templates/user/user-about.html:135 msgid "Fri" msgstr "Thứ 6" -#: templates/user/user-about.html:142 +#: templates/user/user-about.html:140 msgid "Sat" msgstr "Thứ 7" -#: templates/user/user-about.html:147 +#: templates/user/user-about.html:145 msgid "Sun" msgstr "CN" -#: templates/user/user-about.html:156 +#: templates/user/user-about.html:154 msgid "Less" msgstr "Ít" -#: templates/user/user-about.html:162 +#: templates/user/user-about.html:160 msgid "More" msgstr "Nhiều" -#: templates/user/user-about.html:171 +#: templates/user/user-about.html:169 msgid "Rating History" msgstr "Các lần thi" -#: templates/user/user-about.html:238 +#: templates/user/user-about.html:236 msgid "past year" msgstr "năm ngoái" -#: templates/user/user-about.html:255 +#: templates/user/user-about.html:253 msgid "total submission(s)" msgstr "bài nộp" -#: templates/user/user-about.html:259 +#: templates/user/user-about.html:257 msgid "submissions in the last year" msgstr "bài nộp trong năm qua" @@ -6150,7 +6156,7 @@ msgid "Follow" msgstr "Theo dõi" #: templates/user/user-base.html:115 -msgid "Send message" +msgid "Message" msgstr "Nhắn tin" #: templates/user/user-base.html:123 @@ -6235,6 +6241,9 @@ msgstr "Thông tin" msgid "Check all" msgstr "Chọn tất cả" +#~ msgid "Send message" +#~ msgstr "Nhắn tin" + #~ msgid "Wrong" #~ msgstr "Sai" @@ -6369,8 +6378,8 @@ msgstr "Chọn tất cả" #~ msgstr "bình luận nữa" #~ msgid "" -#~ "This comment is hidden due to too much negative feedback. Click here to view it." +#~ "This comment is hidden due to too much negative feedback. Click here to view it." #~ msgstr "" #~ "Bình luận bị ẩn vì nhiều phản hồi tiêu cực. Nhấp vào đây để mở." diff --git a/resources/darkmode.css b/resources/darkmode.css index e83f07b..e7bd834 100644 --- a/resources/darkmode.css +++ b/resources/darkmode.css @@ -11,10 +11,10 @@ html { iframe { color-scheme: initial; } -html, body { +html, body, input, textarea, select, button, dialog { background-color: #181a1b; } -html, body { +html, body, input, textarea, select, button { border-color: #736b5e; color: #e8e6e3; } @@ -2769,6 +2769,10 @@ ul.errorlist { color: rgb(209, 205, 199); text-decoration-color: initial; } +.link-row:hover { + background-color: rgb(31, 31, 17); + color: rgb(249, 146, 97); +} button:hover, button:focus { box-shadow: none; @@ -3253,10 +3257,10 @@ a.voted { background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNjQiIGhlaWdodD0iNjQiPjxkZWZzPjxmaWx0ZXIgaWQ9ImRhcmtyZWFkZXItaW1hZ2UtZmlsdGVyIj48ZmVDb2xvck1hdHJpeCB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMC4yNDkgLTAuNjE0IC0wLjY3MiAwLjAwMCAxLjAzNSAtMC42NDYgMC4yODggLTAuNjY0IDAuMDAwIDEuMDIwIC0wLjYzNiAtMC42MDkgMC4yNTAgMC4wMDAgMC45OTQgMC4wMDAgMC4wMDAgMC4wMDAgMS4wMDAgMC4wMDAiIC8+PC9maWx0ZXI+PC9kZWZzPjxpbWFnZSB3aWR0aD0iNjQiIGhlaWdodD0iNjQiIGZpbHRlcj0idXJsKCNkYXJrcmVhZGVyLWltYWdlLWZpbHRlcikiIHhsaW5rOmhyZWY9ImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QmxibUZpYkdVdFltRmphMmR5YjNWdVpEMGlibVYzSURBZ01DQTJOQ0EyTkNJZ2FHVnBaMmgwUFNJMk5IQjRJaUJwWkQwaVRHRjVaWEpmTVNJZ2RtVnljMmx2YmowaU1TNHhJaUIyYVdWM1FtOTRQU0l3SURBZ05qUWdOalFpSUhkcFpIUm9QU0kyTkhCNElpQjRiV3c2YzNCaFkyVTlJbkJ5WlhObGNuWmxJaUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGh0Ykc1ek9uaHNhVzVyUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMM2hzYVc1cklqNDhjR0YwYUNCa1BTSk5ORFV1TnpNc05qUklNelF1TnpVeVl5MHdMamN4TlN3d0xURXVNamsxTFRBdU1UY3pMVEV1TnpNNExUQXVOVEp6TFRBdU56azBMVEF1TnpVNExURXVNRFUyTFRFdU1qTTBiQzA1TGpRNE5DMHhOaTQxTmpRZ0lHTXRNQzR4TnpRc01DNDBOemd0TUM0ek5qa3NNQzQ0T0RjdE1DNDFPRFFzTVM0eU16UnNMVGd1T0RNMUxERTFMak16WXkwd0xqTXdOQ3d3TGpRek5DMHdMalkyTVN3d0xqZ3pOQzB4TGpBM01pd3hMakl3TVVNeE1TNDFOeklzTmpNdU9ERTJMREV4TGpBME1TdzJOQ3d4TUM0ek9URXNOalJJTUM0eE1qY2dJRXd4TlM0ek5pd3pPUzQyTkRGTU1DNDNNVElzTVRZdU5qYzFTREV4TGpZNVl6QXVOekUwTERBc01TNHlOQ3d3TGpBNU15d3hMalUzTml3d0xqSTNObU13TGpNek5Td3dMakU0TlN3d0xqWXpOQ3d3TGpRNU15d3dMamc1TXl3d0xqa3lObXc1TGpReUxERTFMamswT0NBZ1l6QXVNVEE0TFRBdU1qZ3NNQzR5TXpJdE1DNDFOVElzTUM0ek56UXRNQzQ0TVRKak1DNHhOQzB3TGpJMk1pd3dMakk1Tnkwd0xqVXpNU3d3TGpRM01TMHdMamd4TTJ3NExqSTFMVEUwTGpFMk1XTXdMak13TlMwd0xqUTNOeXd3TGpZeU1pMHdMamd5TXl3d0xqazFPQzB4TGpBMElDQmpNQzR6TXpZdE1DNHlNVGNzTUM0M05USXRNQzR6TWpVc01TNHlOVEV0TUM0ek1qVm9NVEF1TlRJMFRETXdMalUyTWl3ek9TNHhPRFpNTkRVdU56TXNOalI2SWk4K1BIQmhkR2dnWkQwaVRUWXhMamcwTERJekxqZzJZekF1TmpZM0xEQXNNUzR4T1RNc01DNHhPRE1zTVM0MU9Dd3dMalUxWXpBdU16ZzNMREF1TXpZMkxEQXVOVGdzTUM0NE5Td3dMalU0TERFdU5EVjJNeTQyU0RRekxqVXlNWFl0TW1Nd0xUQXVNemczTERBdU1EYzVMVEF1T0N3d0xqSXpPUzB4TGpJMElDQmpNQzR4Tmkwd0xqUXpPU3d3TGpRMExUQXVPRFFzTUM0NE5DMHhMakpzT0M0MExUZ3VORFpqTUM0M01qRXRNQzQzTWl3eExqTTBOeTB4TGpRd05pd3hMamc0TVMweUxqQTJZekF1TlRNekxUQXVOalV6TERBdU9UY3pMVEV1TWprM0xERXVNekU1TFRFdU9UTWdJR013TGpNME55MHdMall6TkN3d0xqWXdOaTB4TGpJMk55d3dMamM0TFRFdU9XTXdMakUzTXkwd0xqWXpNeXd3TGpJMkxURXVNekEwTERBdU1qWXRNaTR3TVdNd0xURXVNVFl0TUM0eU56Y3RNaTR3TlMwd0xqZ3pMVEl1TmpjZ0lHTXRNQzQxTlRNdE1DNDJNaTB4TGpNNU5pMHdMamt6TFRJdU5USTVMVEF1T1ROakxUQXVPVElzTUMweExqWTVOeXd3TGpJME15MHlMak16TERBdU56TmpMVEF1TmpNMExEQXVORGczTFRFdU1EY3NNUzR3T1MweExqTXhNU3d4TGpneElDQmpMVEF1TWpjNUxEQXVOek16TFRBdU5qUTJMREV1TWpJdE1TNHhMREV1TkRaakxUQXVORFV6TERBdU1qUXRNUzR4TERBdU1qa3pMVEV1T1RRc01DNHhObXd0TXk0eU9DMHdMalU0WXpBdU1qRXpMVEV1TkRVekxEQXVOakl6TFRJdU56SXNNUzR5TXkwekxqZ2dJR013TGpZd05pMHhMakE0TERFdU16VTVMVEV1T1Rnc01pNHlOaTB5TGpkak1DNDVMVEF1TnpJc01TNDVNeTB4TGpJMU55d3pMakE1TFRFdU5qRkROVEV1TmpZc01DNHhOemNzTlRJdU9UQTJMREFzTlRRdU1qUXNNR014TGpRek9Td3dMREl1TnpNMkxEQXVNakVzTXk0NE9URXNNQzQyTXlBZ1l6RXVNVFV5TERBdU5ESXNNaTR4TXpjc01TNHdNRE1zTWk0NU5Ea3NNUzQzTldNd0xqZ3hNeXd3TGpjME55d3hMalF6T0N3eExqWXpOeXd4TGpnM0xESXVOamRETmpNdU16Z3pMRFl1TURnekxEWXpMallzTnk0eU1pdzJNeTQyTERndU5EWWdJR013TERFdU1EWTJMVEF1TVRRNUxESXVNRFUwTFRBdU5EUTVMREl1T1RaakxUQXVNekF4TERBdU9UQTNMVEF1TnpFc01TNDNOekV0TVM0eU15d3lMalU1WXkwd0xqVXlMREF1T0RJdE1TNHhNak1zTVM0Mk1UTXRNUzQ0TVN3eUxqTTRJQ0JqTFRBdU5qZzNMREF1TnpZNExURXVOREUzTERFdU5UUTBMVEl1TVRrc01pNHpNMnd0TlM0Mk9Ua3NOUzQ0TkdNd0xqY3pNaTB3TGpJeU55d3hMalExT1Mwd0xqTTVPU3d5TGpFNExUQXVOVEpqTUM0M01pMHdMakV5TERFdU16ZzNMVEF1TVRnc01pMHdMakU0U0RZeExqZzBlaUl2UGp3dmMzWm5QZz09IiAvPjwvc3ZnPg=="); } .wmd-latex-button-display { - background-image: url("http://localhost:8000/static/pagedown/resources/latex-display.svg"); + background-image: url("http://127.0.0.1:8000/static/pagedown/resources/latex-display.svg"); } .wmd-link-button { - background-image: url("http://localhost:8000/static/pagedown/resources/link.svg"); + background-image: url("http://127.0.0.1:8000/static/pagedown/resources/link.svg"); } .wmd-user-reference-button { background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxkZWZzPjxmaWx0ZXIgaWQ9ImRhcmtyZWFkZXItaW1hZ2UtZmlsdGVyIj48ZmVDb2xvck1hdHJpeCB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMC4yNDkgLTAuNjE0IC0wLjY3MiAwLjAwMCAxLjAzNSAtMC42NDYgMC4yODggLTAuNjY0IDAuMDAwIDEuMDIwIC0wLjYzNiAtMC42MDkgMC4yNTAgMC4wMDAgMC45OTQgMC4wMDAgMC4wMDAgMC4wMDAgMS4wMDAgMC4wMDAiIC8+PC9maWx0ZXI+PC9kZWZzPjxpbWFnZSB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGZpbHRlcj0idXJsKCNkYXJrcmVhZGVyLWltYWdlLWZpbHRlcikiIHhsaW5rOmhyZWY9ImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlBL1BqeHpkbWNnYUdWcFoyaDBQU0l5TkNJZ2RtVnljMmx2YmowaU1TNHhJaUIzYVdSMGFEMGlNalFpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlnZUcxc2JuTTZZMk05SW1oMGRIQTZMeTlqY21WaGRHbDJaV052YlcxdmJuTXViM0puTDI1ekl5SWdlRzFzYm5NNlpHTTlJbWgwZEhBNkx5OXdkWEpzTG05eVp5OWtZeTlsYkdWdFpXNTBjeTh4TGpFdklpQjRiV3h1Y3pweVpHWTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MekU1T1Rrdk1ESXZNakl0Y21SbUxYTjViblJoZUMxdWN5TWlQanhuSUhSeVlXNXpabTl5YlQwaWRISmhibk5zWVhSbEtEQWdMVEV3TWpndU5Da2lQanh3WVhSb0lHUTlJbTB4TWlBd1l5MHdMalF3TlNBd0xUQXVPREExSURBdU1EWXdNekkyTFRFdU1UZzRJREF1TVRVMk1qVXRNQzR5TWpRZ01DNHdOVFkzT0Mwd0xqUTBJREF1TVRNeE16VXRNQzQyTlRZZ01DNHlNVGczTlMwd0xqQTRNeUF3TGpBek5EQXhMVEF1TVRZM09TQXdMakExTlRNMExUQXVNalE1T0NBd0xqQTVNemMxTFRBdU1ETTBJREF1TURFMU9ETXRNQzR3TmlBd0xqQTBOVGswTFRBdU1Ea3pOeUF3TGpBMk1qVXRNQzR5TURNeUlEQXVNVEF3TlRndE1DNDBNREl4SURBdU1qRTNNRFF0TUM0MU9UTTNJREF1TXpRek56VXRNQzR3TWpjZ01DNHdNVGMwTFRBdU1EWTNNU0F3TGpBeE16TTVMVEF1TURrek9DQXdMakF6TVRJMUxUQXVNRFUyTXlBd0xqQXpPRFkwTFRBdU1UQXhJREF1TURnME1Ua3RNQzR4TlRZeUlEQXVNVEkwT1RVdE1DNHhOVFk1SURBdU1URXlOaTB3TGpNeU1UWWdNQzR5TVRZdE1DNDBOamc0SURBdU16UXpPQzB3TGpFek5ESWdNQzR4TWpBM0xUQXVNalE1TkNBd0xqSTNNalF0TUM0ek56VWdNQzQwTURZeUxUQXVOREkxTVNBd0xqUXpOVGt0TUM0M09UTTJJREF1T0RrM01TMHhMakE1TXpnZ01TNDBNemMyTFRBdU5URTFOQ0F3TGprd016UXRNQzQ1TURBeUlERXVPVEl3TlMweExqQTJNalFnTWk0NU5qZzNMVEF1TURjNE15MHdMakF4TmpVdE1DNHhOVEF4TFRBdU1ESXlOQzB3TGpJeE9EZ2dNQzB3TGpVeU5URWdNQzR4TnpFdE1DNDJOVFExSURFdU1UWTROUzB3TGpNeE1qVWdNaTR5TVRnM0lEQXVNakF3TnlBd0xqWXhOak1nTUM0MU16UTJJREV1TVRBeE5TQXdMamczTlNBeExqTTNOU0F3TGpRMU56TWdNUzQzTnpjNElERXVOREkxTnlBekxqSTFPVGdnTWk0Mk9EYzFJRFF1TVRnM09IWXhMakF6TVd3dE1TQXhMVElnTVdNdE1TNDJNVGN6SURBdU9EQXhMVE11TWpJNE5DQXhMall3TlMwMExqZzBNemdnTWk0ME1EWXRNQzQ0T1RVeE15QXdMalUwTFRFdU1qUXhOU0F4TGpZdE1TNHhOVFl5SURJdU5UazBJREF1TURReE5qWTBJREF1TmpJMkxUQXVNVGcwTkRnZ01TNDBNamNnTUM0ME16YzFJREV1T0RRMElEQXVOVGt3T1NBd0xqTXdOQ0F4TGpJNU5Ua2dNQzR4TURZZ01TNDVNemMxSURBdU1UVTJJREV1T0RjMk5pMHdMakF3TVNBekxqYzBPRFFnTUNBMUxqWXlOU0F3SURJdU5qWTVJREF1TURBeElEVXVNek14SURBZ09DQXdJREl1TXpZM0lEQWdOQzQzTWpjZ01DNHdNRFFnTnk0d09UUWdNQ0F3TGpjMk9DMHdMakExTkNBd0xqazRNUzB3TGpnMk5TQXdMamt3TmkweExqVWdNQzR3TVRRdE1DNDVNeklnTUM0d05qa3RNUzQ1TnpZdE1DNDJOVFl0TWk0Mk9EZ3RNQzQxT1RJdE1DNDJNREl0TVM0ME16UXRNQzQ0TkMweUxqRTFOaTB4TGpJMUxURXVNRFl4TFRBdU5USTFMVEl1TVRJNExURXVNRE0zTFRNdU1UZzRMVEV1TlRZeWJDMHlMVEV0TVMweGRpMHhMakF6TVdNeExqSTJNaTB3TGpreU9DQXlMakl6TFRJdU5ERWdNaTQyT0RndE5DNHhPRGM0SURBdU16UXRNQzR5TnpNMklEQXVOamMwTFRBdU56VTRPQ0F3TGpnM05DMHhMak0zTlNBd0xqTTBNaTB4TGpBMU1ESWdNQzR5TVRNdE1pNHdORGMzTFRBdU16RXlMVEl1TWpFNE55MHdMakEyT1Mwd0xqQXlNalF0TUM0eE5DMHdMakF4TmpVdE1DNHlNVGtnTUMwd0xqRTJNaTB4TGpBME9ESXRNQzQxTkRjdE1pNHdOalV6TFRFdU1EWXlMVEl1T1RZNE55MHdMak10TUM0MU5EQTFMVEF1TmpZNUxURXVNREF4TnkweExqQTVOQzB4TGpRek56WXRNQzR4TWpZdE1DNHhNek00TFRBdU1qUXhMVEF1TWpnMU5TMHdMak0zTlMwd0xqUXdOakl0TUM0d01EWXRNQzR3TURVMUxUQXVNREkxSURBdU1EQTFOUzB3TGpBek1TQXdMVEF1TXpreUxUQXVNelE1T1Mwd0xqZ3lOeTB3TGpZeE9EazBMVEV1TWpneExUQXVPRFF6TnpVdE1DNHhNVFV0TUM0d05UWXlNaTB3TGpJeU55MHdMakV3T0RVMExUQXVNelEwTFRBdU1UVTJNalV0TUM0d09EUXRNQzR3TXpRd01TMHdMakUyTlMwd0xqQTJOREkyTFRBdU1qVXRNQzR3T1RNM05TMHdMakkxTlMwd0xqQTRPRFE0TFRBdU5URTJMVEF1TVRjek5UWXRNQzQzT0RJdE1DNHlNVGczTlMwd0xqQXlMVEF1TURBek5EQTFMVEF1TURReUlEQXVNREF6TVRRNExUQXVNRFl5SURBdE1DNHlORGt0TUM0d016a3hORFF0TUM0ME9UVXRNQzR3TmpVeU5TMHdMamMxTFRBdU1EWXlOWG9pSUdacGJHdzlJaU16TkRRNU5XVWlJSFJ5WVc1elptOXliVDBpZEhKaGJuTnNZWFJsS0RBZ01UQXlPQzQwS1NJdlBqeHdZWFJvSUdROUltMHdJREV3TlRFdU5HTXdMakF5TmpReE9TQXdMak1nTUM0eE1qWTFNU0F3TGpZZ01DNDBNemMxSURBdU9DQXdMalU1TURrZ01DNHpJREV1TWprMU9TQXdMakVnTVM0NU16YzFJREF1TW1nMUxqWXlOU0E0SURjdU1EazBZekF1TlRjMkxUQXVNU0F3TGpnME1pMHdMalVnTUM0NU1EWXRNV2d0TWpSNklpQm1hV3hzUFNJak1tTXpaVFV3SWk4K1BDOW5Qand2YzNablBnPT0iIC8+PC9zdmc+"); @@ -3265,10 +3269,10 @@ a.voted { background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNDgiIGhlaWdodD0iNDgiPjxkZWZzPjxmaWx0ZXIgaWQ9ImRhcmtyZWFkZXItaW1hZ2UtZmlsdGVyIj48ZmVDb2xvck1hdHJpeCB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMC4yNDkgLTAuNjE0IC0wLjY3MiAwLjAwMCAxLjAzNSAtMC42NDYgMC4yODggLTAuNjY0IDAuMDAwIDEuMDIwIC0wLjYzNiAtMC42MDkgMC4yNTAgMC4wMDAgMC45OTQgMC4wMDAgMC4wMDAgMC4wMDAgMS4wMDAgMC4wMDAiIC8+PC9maWx0ZXI+PC9kZWZzPjxpbWFnZSB3aWR0aD0iNDgiIGhlaWdodD0iNDgiIGZpbHRlcj0idXJsKCNkYXJrcmVhZGVyLWltYWdlLWZpbHRlcikiIHhsaW5rOmhyZWY9ImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlBL1Bqd2hSRTlEVkZsUVJTQnpkbWNnSUZCVlFreEpReUFuTFM4dlZ6TkRMeTlFVkVRZ1UxWkhJREV1TVM4dlJVNG5JQ0FuYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2UjNKaGNHaHBZM012VTFaSEx6RXVNUzlFVkVRdmMzWm5NVEV1WkhSa0p6NDhjM1puSUdWdVlXSnNaUzFpWVdOclozSnZkVzVrUFNKdVpYY2dNQ0F3SURRNElEUTRJaUJvWldsbmFIUTlJalE0Y0hnaUlHbGtQU0pNWVhsbGNsOHpJaUIyWlhKemFXOXVQU0l4TGpFaUlIWnBaWGRDYjNnOUlqQWdNQ0EwT0NBME9DSWdkMmxrZEdnOUlqUTRjSGdpSUhodGJEcHpjR0ZqWlQwaWNISmxjMlZ5ZG1VaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2VHMXNibk02ZUd4cGJtczlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MekU1T1RrdmVHeHBibXNpUGp4blBqeHdZWFJvSUdROUlrMHdMREk0TGpNM05XZ3hNaTQyTjJNdE1DNHdOaklzTXk0ek1TMHhMak16T0N3MkxqTXhNeTB6TGpRd015dzRMalpqTFRBdU9UUTFMREF1T0RreUxURXVPVGd5TERFdU5EQTRMVEl1T0RjNUxERXVOekEySUNBZ1l5MHhMakVzTUM0ek1qZ3RNaTR5Tml3d0xqTTVOaTB5TGpnNE15d3dMalF3T0Vnd2RqSXVNamcyYURndU56VjJMVEF1TURBell6Y3VNakExTFRBdU1ETXlMREV6TGpBME15MDFMamd4Tml3eE15NHhOemN0TVRJdU9UazNTREl5ZGkweU1rZ3dWakk0TGpNM05Yb2lJR1pwYkd3OUlpTXlOREZHTWpBaUx6NDhjR0YwYUNCa1BTSk5NallzTmk0ek56VjJNakpvTVRJdU56UmpNQ3d5TGprNU1TMHhMRFV1TnpReUxUSXVOamMwTERjdU9UVTJZeTB3TGpnek9Td3hMakE0T1MweExqZ3lPQ3d4TGpjNU1pMHlMamMyTVN3eUxqSXpNeUFnSUdNdE1DNHdNRGdzTUM0d01EUXRNQzR3TVRZc01DNHdNRGd0TUM0d01qTXNNQzR3TVRKakxUQXVNVE01TERBdU1EWTFMVEF1TWpjMExEQXVNVEl5TFRBdU5EQTVMREF1TVRjMll5MHhMalV4TkN3d0xqVTFOeTB6TGpreE5Td3dMalU0Tnkwekxqa3hOU3d3TGpVNE4wZ3lObll5TGpJNE5tZzRMamMxSUNBZ1l6Y3VNekUzTERBc01UTXVNalV0TlM0NU16TXNNVE11TWpVdE1UTXVNalYyTFRJeVNESTJlaUlnWm1sc2JEMGlJekkwTVVZeU1DSXZQand2Wno0OEwzTjJaejQ9IiAvPjwvc3ZnPg=="); } .wmd-code-button { - background-image: url("http://localhost:8000/static/pagedown/resources/code.svg"); + background-image: url("http://127.0.0.1:8000/static/pagedown/resources/code.svg"); } .wmd-image-button { - background-image: url("http://localhost:8000/static/pagedown/resources/image.svg"); + background-image: url("http://127.0.0.1:8000/static/pagedown/resources/image.svg"); } .wmd-olist-button { background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxkZWZzPjxmaWx0ZXIgaWQ9ImRhcmtyZWFkZXItaW1hZ2UtZmlsdGVyIj48ZmVDb2xvck1hdHJpeCB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMC4yNDkgLTAuNjE0IC0wLjY3MiAwLjAwMCAxLjAzNSAtMC42NDYgMC4yODggLTAuNjY0IDAuMDAwIDEuMDIwIC0wLjYzNiAtMC42MDkgMC4yNTAgMC4wMDAgMC45OTQgMC4wMDAgMC4wMDAgMC4wMDAgMS4wMDAgMC4wMDAiIC8+PC9maWx0ZXI+PC9kZWZzPjxpbWFnZSB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGZpbHRlcj0idXJsKCNkYXJrcmVhZGVyLWltYWdlLWZpbHRlcikiIHhsaW5rOmhyZWY9ImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlBL1BqeHpkbWNnWm1sc2JEMGlibTl1WlNJZ2FHVnBaMmgwUFNJeU5DSWdkbWxsZDBKdmVEMGlNQ0F3SURJMElESTBJaUIzYVdSMGFEMGlNalFpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUkrUEhCaGRHZ2daRDBpVFRZdU1EQXdNU0F5TGpjMVF6WXVNREF3TVNBeUxqTTVOVGMzSURVdU56VXlNamNnTWk0d09EazROQ0ExTGpRd05UYzJJREl1TURFMk16TkROUzR3TmpBeE1TQXhMamswTXlBMExqY3hNRE1nTWk0eE1qQTROaUEwTGpVMk5UZ2dNaTQwTkRNd00wdzBMalUyTkRJMklESXVORFEyTXpkRE5DNDFOakl5TmlBeUxqUTFNRFkzSURRdU5UVTRORElnTWk0ME5UZzRNU0EwTGpVMU1qYzFJREl1TkRjd05ESkROQzQxTkRFMElESXVORGt6TmpZZ05DNDFNakk0TWlBeUxqVXpNRFUxSURRdU5EazNNRFFnTWk0MU56Z3dPRU0wTGpRME5USTNJREl1Tmpjek5UWWdOQzR6TmpVNE5DQXlMamd3T1RRMUlEUXVNalU1TkNBeUxqazJNalE0UXpRdU1EUXhOellnTXk0eU56VXpOeUF6TGpjek5UTTRJRE11TmpJME9EZ2dNeTR6TlRJM05TQXpMamcyTXpreFF6TXVNREF4TkRRZ05DNHdPRE16TmlBeUxqZzVORFUySURRdU5UUTJNRFVnTXk0eE1UUXdNU0EwTGpnNU56TTFRek11TXpNek5EWWdOUzR5TkRnMk5pQXpMamM1TmpFMUlEVXVNelUxTlRRZ05DNHhORGMwTmlBMUxqRXpOakE1UXpRdU1qY3lNRFVnTlM0d05UZ3lOaUEwTGpNNE9UVTJJRFF1T1RjME56TWdOQzQxTURBeElEUXVPRGczTmpWV055NHlOVU0wTGpVd01ERWdOeTQyTmpReU1TQTBMamd6TlRnNUlEZ2dOUzR5TlRBeElEaEROUzQyTmpRek1TQTRJRFl1TURBd01TQTNMalkyTkRJeElEWXVNREF3TVNBM0xqSTFWakl1TnpWYUlpQm1hV3hzUFNJak1qRXlNVEl4SWk4K1BIQmhkR2dnWkQwaVRURTVMalE1T1RVZ01UaElNVEF1T1RrNU5Vd3hNQzQ0T0RJNUlERTRMakF3TmpkRE1UQXVNemcxTmlBeE9DNHdOalExSURrdU9UazVOVEVnTVRndU5EZzNNaUE1TGprNU9UVXhJREU1UXprdU9UazVOVEVnTVRrdU5UVXlNeUF4TUM0ME5EY3lJREl3SURFd0xqazVPVFVnTWpCSU1Ua3VORGs1TlV3eE9TNDJNVFl4SURFNUxqazVNek5ETWpBdU1URXpOU0F4T1M0NU16VTFJREl3TGpRNU9UVWdNVGt1TlRFeU9DQXlNQzQwT1RrMUlERTVRekl3TGpRNU9UVWdNVGd1TkRRM055QXlNQzR3TlRFNElERTRJREU1TGpRNU9UVWdNVGhhSWlCbWFXeHNQU0lqTWpFeU1USXhJaTgrUEhCaGRHZ2daRDBpVFRFNUxqUTVPVFVnTVRFdU5VZ3hNQzQ1T1RrMVRERXdMamc0TWprZ01URXVOVEEyTjBNeE1DNHpPRFUySURFeExqVTJORFVnT1M0NU9UazFNU0F4TVM0NU9EY3lJRGt1T1RrNU5URWdNVEl1TlVNNUxqazVPVFV4SURFekxqQTFNak1nTVRBdU5EUTNNaUF4TXk0MUlERXdMams1T1RVZ01UTXVOVWd4T1M0ME9UazFUREU1TGpZeE5qRWdNVE11TkRrek0wTXlNQzR4TVRNMUlERXpMalF6TlRVZ01qQXVORGs1TlNBeE15NHdNVEk0SURJd0xqUTVPVFVnTVRJdU5VTXlNQzQwT1RrMUlERXhMamswTnpjZ01qQXVNRFV4T0NBeE1TNDFJREU1TGpRNU9UVWdNVEV1TlZvaUlHWnBiR3c5SWlNeU1USXhNakVpTHo0OGNHRjBhQ0JrUFNKTk1Ua3VORGs1TlNBMVNERXdMams1T1RWTU1UQXVPRGd5T1NBMUxqQXdOamN6UXpFd0xqTTROVFlnTlM0d05qUTBPU0E1TGprNU9UVXhJRFV1TkRnM01UWWdPUzQ1T1RrMU1TQTJRemt1T1RrNU5URWdOaTQxTlRJeU9DQXhNQzQwTkRjeUlEY2dNVEF1T1RrNU5TQTNTREU1TGpRNU9UVk1NVGt1TmpFMk1TQTJMams1TXpJM1F6SXdMakV4TXpVZ05pNDVNelUxTVNBeU1DNDBPVGsxSURZdU5URXlPRFFnTWpBdU5EazVOU0EyUXpJd0xqUTVPVFVnTlM0ME5EYzNNaUF5TUM0d05URTRJRFVnTVRrdU5EazVOU0ExV2lJZ1ptbHNiRDBpSXpJeE1qRXlNU0l2UGp4d1lYUm9JR1E5SWswMUxqRTFNRGt6SURFd0xqVXhPVGxETkM0NE5EazFOeUF4TUM0ME5qWTNJRFF1TkRjME5EUWdNVEF1TlRnMk15QTBMakk0TURNeElERXdMamM0TURSRE15NDVPRGMwTVNBeE1TNHdOek16SURNdU5URXlOVE1nTVRFdU1EY3pNeUF6TGpJeE9UWTFJREV3TGpjNE1EUkRNaTQ1TWpZM055QXhNQzQwT0RjMElESXVPVEkyTnpnZ01UQXVNREV5TmlBekxqSXhPVFk1SURrdU56RTVOamxETXk0M056VTFOaUE1TGpFMk16ZzFJRFF1TmpVd05EUWdPQzQ1TURnMElEVXVOREV4TlRjZ09TNHdOREkzUXpVdU9EQTVJRGt1TVRFeU9ETWdOaTR5TVRjeklEa3VNamszTVNBMkxqVXlOekl5SURrdU5qUTRNelJETmk0NE5ESTJJREV3TGpBd05UZ2dOeUF4TUM0ME56STNJRGNnTVRGRE55QXhNUzQyTVRrMUlEWXVOekk0T1RVZ01USXVNRGdnTmk0ek9UUXdOaUF4TWk0ME1qQTFRell1TVRFMk15QXhNaTQzTURJNUlEVXVOell6TVRVZ01USXVPVE14SURVdU5EZzRNallnTVRNdU1UQTROa3cxTGpRd09EYzBJREV6TGpFMk1ERkROUzR5TVRNME9DQXhNeTR5T0RjZ05TNHdOVFF5T0NBeE15NHpPVGNnTkM0NU1qWTROaUF4TXk0MVNEWXVNalZETmk0Mk5qUXlNU0F4TXk0MUlEY2dNVE11T0RNMU9DQTNJREUwTGpJMVF6Y2dNVFF1TmpZME1pQTJMalkyTkRJZ01UVWdOaTR5TkRrNU9TQXhOVWd6TGpjMVF6TXVNek0xTnprZ01UVWdNeUF4TkM0Mk5qUXlJRE1nTVRRdU1qVkRNeUF4TWk0NU16WTBJRE11T1Rnek9EVWdNVEl1TWprM01TQTBMalUzTlRBMUlERXhMamt4TTB3MExqWXpOVEl5SURFeExqZzNNemxETkM0NU5USTFPU0F4TVM0Mk5qYzNJRFV1TVRZNE5ETWdNVEV1TlRJM05TQTFMak15TkRZNUlERXhMak0yT0RaRE5TNDBOVGcxTlNBeE1TNHlNekkxSURVdU5TQXhNUzR4TXpBMklEVXVOU0F4TVVNMUxqVWdNVEF1TnpjM05DQTFMalF6T0RZMUlERXdMalk0TVRnZ05TNDBNREkwTnlBeE1DNDJOREE0UXpVdU16WXdPRE1nTVRBdU5Ua3pOaUExTGpJNE5EYzFJREV3TGpVME16VWdOUzR4TlRBNU15QXhNQzQxTVRrNVdpSWdabWxzYkQwaUl6SXhNakV5TVNJdlBqeHdZWFJvSUdROUlrMHlMamsyT1RZM0lESXhMakk0TURORE1pNDVOamsyTnlBeU1TNHlPREF6SURNdU1EWXlOVEVnTWpFdU16WTBNU0F5TGprM05ESTJJREl4TGpJNE5EbE1NaTQ1TnprMk1pQXlNUzR5T1RBeFRESXVPVGt5T1NBeU1TNHpNREk0UXpNdU1EQXlPRGNnTWpFdU16RXlNU0F6TGpBeE5UQTVJREl4TGpNeU16TWdNeTR3TWprMU5pQXlNUzR6TXpVNVF6TXVNRFU0TkRnZ01qRXVNell4TWlBekxqQTVOalV6SURJeExqTTVNamNnTXk0eE5ETTNOU0F5TVM0ME1qZ3hRek11TWpNNE1TQXlNUzQwT1RnNUlETXVNelk1T1RZZ01qRXVOVGcySURNdU5UTTVOVGtnTWpFdU5qY3dPRU16TGpnNE1UTXhJREl4TGpnME1UY2dOQzR6TnpBME15QXlNaUExSURJeVF6VXVOak01TWpFZ01qSWdOaTR4T1RVNU5pQXlNUzQ0TVRnMklEWXVOakF4TXpJZ01qRXVORFl3TlVNM0xqQXdPVEl5SURJeExqRXdNREVnTnk0eU1URTJNeUF5TUM0Mk1ETXlJRGN1TVRrMU5UTWdNakF1TVRBeFF6Y3VNVGd5TVRrZ01Ua3VOamcwTmlBM0xqQXlPVEF6SURFNUxqTXdOVE1nTmk0M05qazROaUF4T1VNM0xqQXlPVEF6SURFNExqWTVORGNnTnk0eE9ESXhPU0F4T0M0ek1UVTBJRGN1TVRrMU5UTWdNVGN1T0RrNVF6Y3VNakV4TmpNZ01UY3VNemsyT0NBM0xqQXdPVEl5SURFMkxqZzVPVGtnTmk0Mk1ERXpNaUF4Tmk0MU16azFRell1TVRrMU9UWWdNVFl1TVRneE5DQTFMall6T1RJeElERTJJRFVnTVRaRE5DNHpOekEwTXlBeE5pQXpMamc0TVRNeElERTJMakUxT0RNZ015NDFNemsxT1NBeE5pNHpNamt5UXpNdU16WTVPVFlnTVRZdU5ERTBJRE11TWpNNE1TQXhOaTQxTURFeElETXVNVFF6TnpVZ01UWXVOVGN4T1VNekxqQTVOalV6SURFMkxqWXdOek1nTXk0d05UZzBPQ0F4Tmk0Mk16ZzRJRE11TURJNU5UWWdNVFl1TmpZME1VTXpMakF4TlRBNUlERTJMalkzTmpjZ015NHdNREk0TnlBeE5pNDJPRGM1SURJdU9Ua3lPU0F4Tmk0Mk9UY3lUREl1T1RjNU5qSWdNVFl1TnpBNU9Vd3lMamszTkRJeklERTJMamN4TlRGTU1pNDVOekU0T1NBeE5pNDNNVGMxVERJdU9UY3dPVEVnTVRZdU56RTROVXd5TGprMk9UWTNJREUyTGpjeE9UZERNaTQyTnpZM09DQXhOeTR3TVRJMklESXVOamMyTnpnZ01UY3VORGczTkNBeUxqazJPVFkzSURFM0xqYzRNRE5ETXk0eU5UZzJJREU0TGpBMk9UTWdNeTQzTWpRMk1pQXhPQzR3TnpNeUlEUXVNREU0TXpRZ01UY3VOemt5TVVNMExqQXlNVGNnTVRjdU56ZzVNaUEwTGpBek1ERTRJREUzTGpjNE1pQTBMakEwTXpjMUlERTNMamMzTVRsRE5DNHdOelEwSURFM0xqYzBPRGtnTkM0eE16QXdOQ0F4Tnk0M01URWdOQzR5TVRBME1TQXhOeTQyTnpBNFF6UXVNelk0TmprZ01UY3VOVGt4TnlBMExqWXlPVFUzSURFM0xqVWdOU0F4Tnk0MVF6VXVNell3TnprZ01UY3VOU0ExTGpVek5qQXhJREUzTGpVNU9Ua2dOUzQyTURneE1pQXhOeTQyTmpNMlF6VXVOamMzTmpnZ01UY3VOekkxTVNBMUxqWTVPREl6SURFM0xqYzVNRGNnTlM0Mk9UWXpJREUzTGpnMU1VTTFMalk1TkRJeklERTNMamt4TlRVZ05TNDJOalF3TXlBeE9DNHdNREkzSURVdU5UY3lOemdnTVRndU1EZ3hPRU0xTGpRNE5EVWdNVGd1TVRVNE5DQTFMak13T1RZeUlERTRMakkxSURVZ01UZ3VNalZETkM0MU9EVTNPU0F4T0M0eU5TQTBMakkxSURFNExqVTROVGdnTkM0eU5TQXhPVU0wTGpJMUlERTVMalF4TkRJZ05DNDFPRFUzT1NBeE9TNDNOU0ExSURFNUxqYzFRelV1TXpBNU5qSWdNVGt1TnpVZ05TNDBPRFExSURFNUxqZzBNVFlnTlM0MU56STNPQ0F4T1M0NU1UZ3lRelV1TmpZME1ETWdNVGt1T1RrM015QTFMalk1TkRJeklESXdMakE0TkRVZ05TNDJPVFl6SURJd0xqRTBPVU0xTGpZNU9ESXpJREl3TGpJd09UTWdOUzQyTnpjMk9DQXlNQzR5TnpRNUlEVXVOakE0TVRJZ01qQXVNek0yTkVNMUxqVXpOakF4SURJd0xqUXdNREVnTlM0ek5qQTNPU0F5TUM0MUlEVWdNakF1TlVNMExqWXlPVFUzSURJd0xqVWdOQzR6TmpnMk9TQXlNQzQwTURneklEUXVNakV3TkRFZ01qQXVNekk1TWtNMExqRXpNREEwSURJd0xqSTRPU0EwTGpBM05EUWdNakF1TWpVeE1TQTBMakEwTXpjMUlESXdMakl5T0RGRE5DNHdNekF4T0NBeU1DNHlNVGdnTkM0d01qRTNJREl3TGpJeE1EZ2dOQzR3TVRnek5DQXlNQzR5TURjNVF6TXVOekkwTmpJZ01Ua3VPVEkyT0NBekxqSTFPRFlnTVRrdU9UTXdOeUF5TGprMk9UWTNJREl3TGpJeE9UZERNaTQyTnpZM09DQXlNQzQxTVRJMklESXVOamMyTnpnZ01qQXVPVGczTkNBeUxqazJPVFkzSURJeExqSTRNRE5hVFRJdU9UY3hPRGtnTVRZdU56RTNOVXd5TGprM01Ea3hJREUyTGpjeE9EVkRNaTQ1TnpjMklERTJMamN4TWprZ015NHhOekU0TWlBeE5pNDFOVEUxSURJdU9UY3hPRGtnTVRZdU56RTNOVm9pSUdacGJHdzlJaU15TVRJeE1qRWlMejQ4TDNOMlp6ND0iIC8+PC9zdmc+"); @@ -3283,10 +3287,10 @@ a.voted { background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTUwIiBoZWlnaHQ9IjE1MCI+PGRlZnM+PGZpbHRlciBpZD0iZGFya3JlYWRlci1pbWFnZS1maWx0ZXIiPjxmZUNvbG9yTWF0cml4IHR5cGU9Im1hdHJpeCIgdmFsdWVzPSIwLjI0OSAtMC42MTQgLTAuNjcyIDAuMDAwIDEuMDM1IC0wLjY0NiAwLjI4OCAtMC42NjQgMC4wMDAgMS4wMjAgLTAuNjM2IC0wLjYwOSAwLjI1MCAwLjAwMCAwLjk5NCAwLjAwMCAwLjAwMCAwLjAwMCAxLjAwMCAwLjAwMCIgLz48L2ZpbHRlcj48L2RlZnM+PGltYWdlIHdpZHRoPSIxNTAiIGhlaWdodD0iMTUwIiBmaWx0ZXI9InVybCgjZGFya3JlYWRlci1pbWFnZS1maWx0ZXIpIiB4bGluazpocmVmPSJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQS9Qanh6ZG1jZ2RtbGxkMEp2ZUQwaU1DQXdJREl3SURJd0lpQjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaVBqeHdZWFJvSUdROUlrMHhJREZvTW5ZeVNERldNWHB0TUNBMGFESjJNa2d4VmpWNmJUQWdOR2d4T0hZeVNERldPWHB0TUNBMGFESjJNa2d4ZGkweWVtMHdJRFJvTW5ZeVNERjJMVEo2VFRVZ01XZ3lkakpJTlZZeGVtMHdJREUyYURKMk1rZzFkaTB5ZWswNUlERm9Nbll5U0RsV01YcHRNQ0EwYURKMk1rZzVWalY2YlRBZ09HZ3lkakpJT1hZdE1ucHRNQ0EwYURKMk1rZzVkaTB5ZW0wMExURTJhREoyTW1ndE1sWXhlbTB3SURFMmFESjJNbWd0TW5ZdE1ucHROQzB4Tm1neWRqSm9MVEpXTVhwdE1DQTBhREoyTW1ndE1sWTFlbTB3SURob01uWXlhQzB5ZGkweWVtMHdJRFJvTW5ZeWFDMHlkaTB5ZWlJdlBqd3ZjM1puUGc9PSIgLz48L3N2Zz4="); } .wmd-undo-button { - background-image: url("http://localhost:8000/static/pagedown/resources/undo.svg"); + background-image: url("http://127.0.0.1:8000/static/pagedown/resources/undo.svg"); } .wmd-redo-button { - background-image: url("http://localhost:8000/static/pagedown/resources/redo.svg"); + background-image: url("http://127.0.0.1:8000/static/pagedown/resources/redo.svg"); } .wmd-admonition-button { background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTUwIiBoZWlnaHQ9IjE1MCI+PGRlZnM+PGZpbHRlciBpZD0iZGFya3JlYWRlci1pbWFnZS1maWx0ZXIiPjxmZUNvbG9yTWF0cml4IHR5cGU9Im1hdHJpeCIgdmFsdWVzPSIwLjI0OSAtMC42MTQgLTAuNjcyIDAuMDAwIDEuMDM1IC0wLjY0NiAwLjI4OCAtMC42NjQgMC4wMDAgMS4wMjAgLTAuNjM2IC0wLjYwOSAwLjI1MCAwLjAwMCAwLjk5NCAwLjAwMCAwLjAwMCAwLjAwMCAxLjAwMCAwLjAwMCIgLz48L2ZpbHRlcj48L2RlZnM+PGltYWdlIHdpZHRoPSIxNTAiIGhlaWdodD0iMTUwIiBmaWx0ZXI9InVybCgjZGFya3JlYWRlci1pbWFnZS1maWx0ZXIpIiB4bGluazpocmVmPSJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQS9QandoUkU5RFZGbFFSU0J6ZG1jZ0lGQlZRa3hKUXlBbkxTOHZWek5ETHk5RVZFUWdVMVpISURFdU1TOHZSVTRuSUNBbmFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdlIzSmhjR2hwWTNNdlUxWkhMekV1TVM5RVZFUXZjM1puTVRFdVpIUmtKejQ4YzNabklHVnVZV0pzWlMxaVlXTnJaM0p2ZFc1a1BTSnVaWGNnTUNBd0lEVXhNaUExTVRJaUlHbGtQU0pNWVhsbGNsOHhJaUIyWlhKemFXOXVQU0l4TGpFaUlIWnBaWGRDYjNnOUlqQWdNQ0ExTVRJZ05URXlJaUI0Yld3NmMzQmhZMlU5SW5CeVpYTmxjblpsSWlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhodGJHNXpPbmhzYVc1clBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1TDNoc2FXNXJJajQ4Wno0OFp6NDhjR0YwYUNCa1BTSk5NelkxTERFMk55NDRTREl5T0M0eVl5MDFMamNzTUMweE1DNDBMVFF1TnkweE1DNDBMVEV3TGpSMkxUQXVPR013TFRVdU55dzBMamN0TVRBdU5Dd3hNQzQwTFRFd0xqUklNelkxWXpVdU55d3dMREV3TGpRc05DNDNMREV3TGpRc01UQXVOQ0FnSUNCMk1DNDRRek0zTlM0MUxERTJNeTR4TERNM01DNDRMREUyTnk0NExETTJOU3d4TmpjdU9Ib2lJR1pwYkd3OUlpTXpNRE5CTTBZaUx6NDhjR0YwYUNCa1BTSk5NelkxTERJeU9DNDRTREUxTXk0NVl5MDFMamNzTUMweE1DNDBMVFF1TnkweE1DNDBMVEV3TGpSMkxUQXVPR013TFRVdU55dzBMamN0TVRBdU5Dd3hNQzQwTFRFd0xqUklNelkxWXpVdU55d3dMREV3TGpRc05DNDNMREV3TGpRc01UQXVOQ0FnSUNCMk1DNDRRek0zTlM0MUxESXlOQzR4TERNM01DNDRMREl5T0M0NExETTJOU3d5TWpndU9Ib2lJR1pwYkd3OUlpTXpNRE5CTTBZaUx6NDhjR0YwYUNCa1BTSk5NelkxTERJNE9TNDRTREUxTXk0NVl5MDFMamNzTUMweE1DNDBMVFF1TnkweE1DNDBMVEV3TGpSMkxUQXVPR013TFRVdU55dzBMamN0TVRBdU5Dd3hNQzQwTFRFd0xqUklNelkxWXpVdU55d3dMREV3TGpRc05DNDNMREV3TGpRc01UQXVOQ0FnSUNCMk1DNDRRek0zTlM0MUxESTROUzR4TERNM01DNDRMREk0T1M0NExETTJOU3d5T0RrdU9Ib2lJR1pwYkd3OUlpTXpNRE5CTTBZaUx6NDhjR0YwYUNCa1BTSk5NelkxTERNMU1DNDVTREUxTXk0NVl5MDFMamNzTUMweE1DNDBMVFF1TnkweE1DNDBMVEV3TGpSMkxUQXVPR013TFRVdU55dzBMamN0TVRBdU5Dd3hNQzQwTFRFd0xqUklNelkxWXpVdU55d3dMREV3TGpRc05DNDNMREV3TGpRc01UQXVOQ0FnSUNCMk1DNDRRek0zTlM0MUxETTBOaTR5TERNM01DNDRMRE0xTUM0NUxETTJOU3d6TlRBdU9Yb2lJR1pwYkd3OUlpTXpNRE5CTTBZaUx6NDhjR0YwYUNCa1BTSk5NelkxTERReE1TNDVTREUxTXk0NVl5MDFMamNzTUMweE1DNDBMVFF1TnkweE1DNDBMVEV3TGpSMkxUQXVPR013TFRVdU55dzBMamN0TVRBdU5Dd3hNQzQwTFRFd0xqUklNelkxWXpVdU55d3dMREV3TGpRc05DNDNMREV3TGpRc01UQXVOQ0FnSUNCMk1DNDRRek0zTlM0MUxEUXdOeTR5TERNM01DNDRMRFF4TVM0NUxETTJOU3cwTVRFdU9Yb2lJR1pwYkd3OUlpTXpNRE5CTTBZaUx6NDhMMmMrUEhCaGRHZ2daRDBpVFRNNU1pdzBNeTQxU0RFM09TNHliRE00TGpZc05URXVOR2d4TkRRdU4yTXlOeTR5TERBc05Ea3VOU3d5TWk0ekxEUTVMalVzTkRrdU5YWXlOamt1TTJNd0xESTNMakl0TWpJdU15dzBPUzQxTFRRNUxqVXNORGt1TlVneE5UUXVOQ0FnSUdNdE1qY3VNaXd3TFRRNUxqVXRNakl1TXkwME9TNDFMVFE1TGpWV01UVXdMamxNTmpVdU15dzVPQzQwWXkwd0xqTXNNaTQzTFRBdU9DdzFMak10TUM0NExEaDJNelF5TGpOak1Dd3pOQzQyTERJNExqTXNOak1zTmpNc05qTklNemt5WXpNMExqWXNNQ3cyTXkweU9DNHpMRFl6TFRZelZqRXdOaTQwSUNBZ1F6UTFOQzQ1TERjeExqZ3NOREkyTGpZc05ETXVOU3d6T1RJc05ETXVOWG9pSUdacGJHdzlJaU16TUROQk0wWWlMejQ4Wno0OGNHRjBhQ0JrUFNKTk1USTFMalVzTVRRNUxqaHNOamd1TXl3eU5XTXpMallzTVM0ekxEWXVOUzB3TGpjc05pNHpMVFF1Tm13dE15NHlMVGN5TGpkakxUQXVNUzB4TGpVdE1DNDFMVEl1T1MweExqTXROQzR6YkRBdU1TMHdMakVnSUNBZ1l5MHdMakV0TUM0eUxUQXVNeTB3TGpRdE1DNDBMVEF1Tm13dE5EZ3VPQzAyTmk0MmJDMHhOaXd4TVM0M2JEUTBMakVzTmpBdU1tTXhMamdzTWk0MExERXVNaXcxTGpndE1TNHlMRGN1Tm13dE15NDRMREl1T0dNdE1pNDBMREV1T0MwMUxqZ3NNUzR5TFRjdU5pMHhMakpNTVRFNExEUTJMamtnSUNBZ2JDMHhOUzQ0TERFeExqWnNORFF1TkN3Mk1DNDNZekV1Tml3eUxqSXNNUzR4TERVdU1pMHhMakVzTmk0NGJDMDBMamNzTXk0MVl5MHlMaklzTVM0MkxUVXVNaXd4TGpFdE5pNDRMVEV1TVV3NE9TNDJMRFkzTGpaTU56SXVOaXc0TUd3ME55NHlMRFkwTGpRZ0lDQWdRekV5TVN3eE5EWXVPQ3d4TWpNc01UUTRMamtzTVRJMUxqVXNNVFE1TGpoNklFMHhNemdzTVRReExqbHNORGN1Tmkwek5DNDVZekl1T1MweUxqRXNOeTQyTERFdU15dzNMamdzTlM0NGJERXVNU3d6T1M0M1l5MHdMamNzTUM0eUxURXVOQ3d3TGpNdE1pd3dMamRzTFRFMExqSXNNVEF1TkNBZ0lDQmpMVEF1TVN3d0xqRXRNQzR6TERBdE1DNHpMREF1TVd3dE16WXVPQzB4TWk0MlF6RXpOeXd4TkRrdU5pd3hNelV1TVN3eE5EUXNNVE00TERFME1TNDVlaUlnWm1sc2JEMGlJek13TTBFelJpSXZQanh3WVhSb0lHUTlJazAyT0M0NUxEYzFMak5zTFRVdU55MDNMamRqTFRFd0xqVXRNVFF1TXkwM0xqTXRNelF1TlN3M0xUUTFiREl5TFRFMkxqRmpNVFF1TXkweE1DNDFMRE0wTGpVdE55NHpMRFExTERkc05TNDNMRGN1TjB3Mk9DNDVMRGMxTGpONklpQm1hV3hzUFNJak16QXpRVE5HSWk4K1BDOW5Qand2Wno0OEwzTjJaejQ9IiAvPjwvc3ZnPg=="); diff --git a/resources/widgets.scss b/resources/widgets.scss index 30c40b2..b694da0 100644 --- a/resources/widgets.scss +++ b/resources/widgets.scss @@ -792,10 +792,34 @@ ul.errorlist { align-self: center !important; } -.a-problem { - font-size: 15px; - line-height: 1.8; +.link-row { + display: flex; + align-items: center; + padding: 6px; font-weight: normal; + cursor: pointer; + transition: background-color 0.3s; + + a { + color: inherit; + display: flex; + align-items: center; + width: 100%; + text-decoration: none; + + i { + width: 1.5em; + } + } + + span { + flex-grow: 1; + } + + &:hover { + color: $theme_color; + background-color: #f8f8f2; + } } a { diff --git a/templates/actionbar/list.html b/templates/actionbar/list.html index 18d21a8..b02048b 100644 --- a/templates/actionbar/list.html +++ b/templates/actionbar/list.html @@ -53,7 +53,7 @@ {% if actionbar_report_url %} - + {{_("Report")}} diff --git a/templates/organization/home.html b/templates/organization/home.html index dd167be..edc95cc 100644 --- a/templates/organization/home.html +++ b/templates/organization/home.html @@ -24,7 +24,8 @@ {% else %} {{ _('Request membership') }} + class="unselectable button"> + {{ _('Request membership') }} {% endif %} {% endif %} diff --git a/templates/organization/org-right-sidebar.html b/templates/organization/org-right-sidebar.html index 0a3f5d1..2fbad57 100644 --- a/templates/organization/org-right-sidebar.html +++ b/templates/organization/org-right-sidebar.html @@ -4,71 +4,64 @@

{{ _('Controls') }}

diff --git a/templates/problem/problem.html b/templates/problem/problem.html index 13a09f0..ddb1e09 100644 --- a/templates/problem/problem.html +++ b/templates/problem/problem.html @@ -131,7 +131,7 @@ {% endif %} - + {{ _('View as PDF') }} @@ -147,7 +147,7 @@ @@ -162,7 +162,7 @@
{{ _('0 submissions left') }}
@@ -172,7 +172,7 @@ @@ -181,155 +181,185 @@
{% if request.user.is_authenticated and has_submissions %} -
- {{ _('My submissions') }} + {% endif %} -
{{ _('All submissions') }}
-
{{ _('Best submissions') }}
- {% if editorial and editorial.is_public and - not (request.user.is_authenticated and request.in_contest_mode) %} -
-
{{ _('Read editorial') }}
-{% endif %} -{% if can_edit_problem %} -
-
- {{ _('Manage tickets') }} - {% if num_open_tickets %}{{ num_open_tickets }}{% endif %} + -
{{ _('Edit problem') }}
- {% if not problem.is_manually_managed %} -
{{ _('Edit test data') }}
+ + {% if editorial and editorial.is_public and not (request.user.is_authenticated and request.in_contest_mode) %} +
+ {% endif %} -{% elif request.user.is_authenticated and has_tickets %} -
-
- {{ _('My tickets') }} - {% if num_open_tickets %}{{ num_open_tickets }}{% endif %} - -
-{% endif %} -{% if problem.is_subs_manageable_by(request.user) %} -
- {{ _('Manage submissions') }} -
-{% endif %} - -{% if perms.judge.clone_problem %} -
- {{ _('Clone problem') }} -
-{% endif %} - -{% if problem.language_time_limit or problem.language_memory_limit %} -
-{% endif %} -{% if problem.language_time_limit %} -
- {{ _('Time limit:') }} -
-
- {% for name, limit in problem.language_time_limit %} -
- {{ name }} - {{ limit }}s + {% if can_edit_problem %} +
+ + + {% if not problem.is_manually_managed %} + - {% endfor %} -
-{% endif %} -{% if problem.language_memory_limit %} -
- {{ _('Memory limit:') }} -
-
- {% for name, limit in problem.language_memory_limit %} -
- {{ name }} - {{ limit|kbsimpleformat }} -
- {% endfor %} -
-{% endif%} + {% endif %} + {% elif request.user.is_authenticated and has_tickets %} +
+ + {% endif %} -
+ {% if problem.is_subs_manageable_by(request.user) %} + + {% endif %} -{% with authors=problem.get_authors() %} - {% if authors %} + {% if perms.judge.clone_problem %} + + {% endif %} + + {% if problem.language_time_limit or problem.language_memory_limit %} +
+ {% endif %} + {% if problem.language_time_limit %}
- {% trans trimmed count=authors|length %} - Author: - {% pluralize count %} - Authors: - {% endtrans %} -
{{ link_users(authors) }}
+ {{ _('Time limit:') }} +
+
+ {% for name, limit in problem.language_time_limit %} +
+ {{ name }} + {{ limit }}s +
+ {% endfor %}
{% endif %} -{% endwith %} - -{% if not contest_problem or not contest_problem.contest.hide_problem_tags %} -
- {% with types=problem.types_list %} -
- {% trans trimmed count=problem.types_list|length %} - Problem type - {% pluralize count %} - Problem types - {% endtrans %} -
- - {% endwith %} -
-{% endif %} -{% if show_languages %} -
-
- {{ _('Allowed languages') }} + {% if problem.language_memory_limit %} +
+ {{ _('Memory limit:') }}
-
- {% with usable=problem.usable_common_names, langs=problem.languages_list() %} - {% for lang in langs %} - {%- if lang in usable -%} - {{ lang }} - {%- else -%} - {{ lang }} - {%- endif -%} - {% if not loop.last %}, {% endif -%} - {% endfor %} +
+ {% for name, limit in problem.language_memory_limit %} +
+ {{ name }} + {{ limit|kbsimpleformat }} +
+ {% endfor %} +
+ {% endif%} + +
+ + {% with authors=problem.get_authors() %} + {% if authors %} +
+ {% trans trimmed count=authors|length %} + Author: + {% pluralize count %} + Authors: + {% endtrans %} +
{{ link_users(authors) }}
+
+ {% endif %} + {% endwith %} + + {% if not contest_problem or not contest_problem.contest.hide_problem_tags %} +
+ {% with types=problem.types_list %} +
+ {% trans trimmed count=problem.types_list|length %} + Problem type + {% pluralize count %} + Problem types + {% endtrans %} +
+ {% endwith %}
-
-{% endif %} -{% if problem.is_editable_by(request.user) %} -
-
- {% trans trimmed count=available_judges|length %} - Judge - {% pluralize count %} - Judges - {% endtrans %} - -
- -{% endif %} + {% endif %} + {% if problem.is_editable_by(request.user) %} +
+
+ {% trans trimmed count=available_judges|length %} + Judge + {% pluralize count %} + Judges + {% endtrans %} + +
+ +
+ {% endif %} {% endblock %} {% block description %} @@ -345,7 +375,7 @@ {% endif %}
- {{ _('Points:') }} + {{ _('Points:') }} {% if contest_problem %} {{ contest_problem.points }} {% if contest_problem.partial %}(p){% endif %} @@ -356,24 +386,24 @@ - {{ _('Time limit:') }} + {{ _('Time limit:') }} {{ problem.time_limit }}s - {{ _('Memory limit:') }} + {{ _('Memory limit:') }} {{ problem.memory_limit|kbsimpleformat }} - {{ _('Input:') }} + {{ _('Input:') }} {{ fileio_input or _('stdin') }} - {{ _('Output:') }} + {{ _('Output:') }} {{ fileio_output or _('stdout') }}
diff --git a/templates/submission/status.html b/templates/submission/status.html index 16f773b..8f11ca2 100644 --- a/templates/submission/status.html +++ b/templates/submission/status.html @@ -135,19 +135,23 @@ {% block body %}

- {% if request.profile == submission.user or perms.judge.resubmit_other %} - - {% endif %} - {% if perms.judge.rejudge_submission %} -
-
- {% csrf_token %} - {{ _('Rejudge') }} - - -
-
- {% endif %} +
+ {% if request.profile == submission.user or perms.judge.resubmit_other %} + + {% endif %} + {% if perms.judge.rejudge_submission %} + + {% endif %} +

{{_('Source code')}}

diff --git a/templates/user/user-base.html b/templates/user/user-base.html index 654a9db..922f61a 100644 --- a/templates/user/user-base.html +++ b/templates/user/user-base.html @@ -112,7 +112,7 @@ {% if request.user.is_authenticated and request.profile != user %}
{% endif %}