zebra-day 0.0.37__py3-none-any.whl → 2.0.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- zebra_day/__init__.py +35 -0
- zebra_day/bin/__init__.py +0 -0
- zebra_day/cli/__init__.py +240 -0
- zebra_day/cli/cognito.py +121 -0
- zebra_day/cli/gui.py +338 -0
- zebra_day/cli/printer.py +168 -0
- zebra_day/cli/template.py +176 -0
- zebra_day/cmd_mgr.py +35 -0
- zebra_day/etc/Monoid-Regular-HalfTight-Dollar-0-1-l.ttf +0 -0
- zebra_day/etc/label_styles/blank.zpl +0 -0
- zebra_day/etc/label_styles/cornersStripOf4Squares_1inX1in.zpl +55 -0
- zebra_day/etc/label_styles/corners_1inX2in.zpl +28 -0
- zebra_day/etc/label_styles/corners_20cmX30cm.zpl +6 -0
- zebra_day/etc/label_styles/corners_smallTube.zpl +7 -0
- zebra_day/etc/label_styles/corners_unspecifiedDimensions.zpl +15 -0
- zebra_day/etc/label_styles/generic_2inX1in.zpl +21 -0
- zebra_day/etc/label_styles/plate_1inX0.25in.zpl +9 -0
- zebra_day/etc/label_styles/plate_1inX0.25inHD.zpl +9 -0
- zebra_day/etc/label_styles/smallTubeWdotHD_prod.zpl +8 -0
- zebra_day/etc/label_styles/smallTubeWdot_corners.zpl +7 -0
- zebra_day/etc/label_styles/smallTubeWdot_prod.zpl +8 -0
- zebra_day/etc/label_styles/smallTubeWdot_prodAlt1.zpl +6 -0
- zebra_day/etc/label_styles/smallTubeWdot_prodAlt1b.zpl +3 -0
- zebra_day/etc/label_styles/smallTubeWdot_prodV2.zpl +8 -0
- zebra_day/etc/label_styles/smallTubeWdot_reagent.zpl +29 -0
- zebra_day/etc/label_styles/stripOf4Squares_1inX1in.zpl +32 -0
- zebra_day/etc/label_styles/test_800dX800dCoordinateArray.zpl +1 -0
- zebra_day/etc/label_styles/tmps/.hold +0 -0
- zebra_day/etc/label_styles/tmps/tmp_zpl_templates.here +0 -0
- zebra_day/etc/label_styles/tube_20mmX30mmA.zpl +7 -0
- zebra_day/etc/label_styles/tube_2inX0.3in.zpl +15 -0
- zebra_day/etc/label_styles/tube_2inX0.5in.zpl +15 -0
- zebra_day/etc/label_styles/tube_2inX0.5inHD.zpl +15 -0
- zebra_day/etc/label_styles/tube_2inX1in.zpl +25 -0
- zebra_day/etc/label_styles/tube_2inX1inHD.zpl +22 -0
- zebra_day/etc/label_styles/tube_2inX1inHDv3.zpl +21 -0
- zebra_day/etc/old_printer_config/.hold +0 -0
- zebra_day/etc/old_printer_config/2026-02-01_01:50:25.022846_printer_config.json +1 -0
- zebra_day/etc/old_printer_config/2026-02-01_01:50:25.033657_printer_config.json +1 -0
- zebra_day/etc/old_printer_config/2026-02-01_01:50:25.039597_printer_config.json +3 -0
- zebra_day/etc/old_printer_config/2026-02-01_01:50:25.047295_printer_config.json +1 -0
- zebra_day/etc/old_printer_config/2026-02-01_01:50:25.055804_printer_config.json +1 -0
- zebra_day/etc/old_printer_config/2026-02-01_01:50:25.061337_printer_config.json +3 -0
- zebra_day/etc/old_printer_config/2026-02-01_01:51:24.073326_printer_config.json +1 -0
- zebra_day/etc/old_printer_config/2026-02-01_01:51:24.081950_printer_config.json +1 -0
- zebra_day/etc/old_printer_config/2026-02-01_01:51:24.088251_printer_config.json +3 -0
- zebra_day/etc/old_printer_config/2026-02-01_01:51:24.096501_printer_config.json +1 -0
- zebra_day/etc/old_printer_config/2026-02-01_01:51:24.104767_printer_config.json +1 -0
- zebra_day/etc/old_printer_config/2026-02-01_01:51:24.110364_printer_config.json +3 -0
- zebra_day/etc/old_printer_config/2026-02-01_01:51:24.118239_printer_config.json +1 -0
- zebra_day/etc/old_printer_config/2026-02-01_01:51:24.125950_printer_config.json +1 -0
- zebra_day/etc/old_printer_config/2026-02-01_01:51:24.349866_printer_config.json +1 -0
- zebra_day/etc/old_printer_config/2026-02-01_01:51:24.361085_printer_config.json +3 -0
- zebra_day/etc/old_printer_config/2026-02-01_01:51:24.558323_printer_config.json +1 -0
- zebra_day/etc/old_printer_config/2026-02-01_01:51:24.565756_printer_config.json +3 -0
- zebra_day/etc/old_printer_config/2026-02-01_01:51:29.739070_printer_config.json +16 -0
- zebra_day/etc/old_printer_config/2026-02-01_01:51:29.753796_printer_config.json +1 -0
- zebra_day/etc/old_printer_config/2026-02-01_01:51:29.760201_printer_config.json +3 -0
- zebra_day/etc/old_printer_config/2026-02-01_01:51:29.768747_printer_config.json +1 -0
- zebra_day/etc/old_printer_config/2026-02-01_01:51:29.775312_printer_config.json +3 -0
- zebra_day/etc/old_printer_config/2026-02-01_01:51:29.782533_printer_config.json +1 -0
- zebra_day/etc/old_printer_config/2026-02-01_01:51:29.789287_printer_config.json +1 -0
- zebra_day/etc/old_printer_config/2026-02-01_01:51:29.794230_printer_config.json +3 -0
- zebra_day/etc/old_printer_config/2026-02-01_01:51:29.800021_printer_config.json +5 -0
- zebra_day/etc/printer_config.json +4 -0
- zebra_day/etc/printer_config.template.json +24 -0
- zebra_day/etc/tmp_printers0.json +5 -0
- zebra_day/etc/tmp_printers120.json +10 -0
- zebra_day/etc/tmp_printers145.json +10 -0
- zebra_day/etc/tmp_printers207.json +10 -0
- zebra_day/etc/tmp_printers374.json +5 -0
- zebra_day/etc/tmp_printers383.json +5 -0
- zebra_day/etc/tmp_printers450.json +5 -0
- zebra_day/etc/tmp_printers469.json +10 -0
- zebra_day/etc/tmp_printers485.json +10 -0
- zebra_day/etc/tmp_printers504.json +5 -0
- zebra_day/etc/tmp_printers531.json +10 -0
- zebra_day/etc/tmp_printers540.json +10 -0
- zebra_day/etc/tmp_printers542.json +10 -0
- zebra_day/etc/tmp_printers552.json +10 -0
- zebra_day/etc/tmp_printers608.json +5 -0
- zebra_day/etc/tmp_printers657.json +5 -0
- zebra_day/etc/tmp_printers715.json +10 -0
- zebra_day/etc/tmp_printers838.json +5 -0
- zebra_day/etc/tmp_printers839.json +5 -0
- zebra_day/etc/tmp_printers933.json +5 -0
- zebra_day/etc/tmp_printers957.json +5 -0
- zebra_day/etc/tmp_printers972.json +10 -0
- zebra_day/exceptions.py +88 -0
- zebra_day/files/.hold +0 -0
- zebra_day/files/blank_preview.png +0 -0
- zebra_day/files/corners_20cmX30cm_preview.png +0 -0
- zebra_day/files/generic_2inX1in_preview.png +0 -0
- zebra_day/files/hold +0 -0
- zebra_day/files/test_png_12020.png +0 -0
- zebra_day/files/test_png_12352.png +0 -0
- zebra_day/files/test_png_15472.png +0 -0
- zebra_day/files/test_png_17696.png +0 -0
- zebra_day/files/test_png_23477.png +0 -0
- zebra_day/files/test_png_24493.png +0 -0
- zebra_day/files/test_png_28157.png +0 -0
- zebra_day/files/test_png_30069.png +0 -0
- zebra_day/files/test_png_35832.png +0 -0
- zebra_day/files/test_png_36400.png +0 -0
- zebra_day/files/test_png_40816.png +0 -0
- zebra_day/files/test_png_47791.png +0 -0
- zebra_day/files/test_png_47799.png +0 -0
- zebra_day/files/test_png_49564.png +0 -0
- zebra_day/files/test_png_53848.png +0 -0
- zebra_day/files/test_png_55588.png +0 -0
- zebra_day/files/test_png_58809.png +0 -0
- zebra_day/files/test_png_62542.png +0 -0
- zebra_day/files/test_png_67242.png +0 -0
- zebra_day/files/test_png_89893.png +0 -0
- zebra_day/files/test_png_91597.png +0 -0
- zebra_day/files/test_png_93633.png +0 -0
- zebra_day/files/tmpbjo3k7q1.png +0 -0
- zebra_day/files/tmpigtr4pwy.png +0 -0
- zebra_day/files/tube_20mmX30mmA_preview.png +0 -0
- zebra_day/files/zpl_label_tube_2inX1in_2026-02-01_01:51:24.370964.png +0 -0
- zebra_day/logging_config.py +74 -0
- zebra_day/logs/.hold +0 -0
- zebra_day/logs/print_requests.log +2 -0
- zebra_day/paths.py +143 -0
- zebra_day/print_mgr.py +557 -117
- zebra_day/static/datschund.css +140 -0
- zebra_day/static/datschund.png +0 -0
- zebra_day/static/daylily.png +0 -0
- zebra_day/static/favicon.svg +20 -0
- zebra_day/static/general.css +99 -0
- zebra_day/static/js/zebra_modern.js +172 -0
- zebra_day/static/lsmc.css +354 -0
- zebra_day/static/moon.jpeg +0 -0
- zebra_day/static/oakland.css +197 -0
- zebra_day/static/petrichor.css +150 -0
- zebra_day/static/popday_daylily.css +140 -0
- zebra_day/static/style.css +183 -0
- zebra_day/static/triangles.css +122 -0
- zebra_day/static/tron.css +277 -0
- zebra_day/static/zebra_modern.css +771 -0
- zebra_day/static/zebras.css +176 -0
- zebra_day/templates/modern/base.html +98 -0
- zebra_day/templates/modern/config.html +141 -0
- zebra_day/templates/modern/config_backups.html +59 -0
- zebra_day/templates/modern/config_editor.html +95 -0
- zebra_day/templates/modern/config_new.html +93 -0
- zebra_day/templates/modern/dashboard.html +160 -0
- zebra_day/templates/modern/print_request.html +145 -0
- zebra_day/templates/modern/print_result.html +88 -0
- zebra_day/templates/modern/printer_detail.html +244 -0
- zebra_day/templates/modern/printers.html +144 -0
- zebra_day/templates/modern/save_result.html +46 -0
- zebra_day/templates/modern/template_editor.html +175 -0
- zebra_day/templates/modern/templates.html +122 -0
- zebra_day/web/__init__.py +9 -0
- zebra_day/web/app.py +248 -0
- zebra_day/web/auth.py +172 -0
- zebra_day/web/middleware.py +159 -0
- zebra_day/web/routers/__init__.py +2 -0
- zebra_day/web/routers/api.py +313 -0
- zebra_day/web/routers/ui.py +636 -0
- zebra_day/zpl_renderer.py +273 -0
- zebra_day-2.0.0.dist-info/METADATA +847 -0
- zebra_day-2.0.0.dist-info/RECORD +168 -0
- {zebra_day-0.0.37.dist-info → zebra_day-2.0.0.dist-info}/WHEEL +1 -1
- zebra_day-2.0.0.dist-info/entry_points.txt +4 -0
- zebra_day/bin/scan_for_networed_zebra_printers.py +0 -23
- zebra_day/bin/te.py +0 -905
- zebra_day/bin/zserve.py +0 -620
- zebra_day-0.0.37.dist-info/METADATA +0 -1177
- zebra_day-0.0.37.dist-info/RECORD +0 -10
- {zebra_day-0.0.37.dist-info → zebra_day-2.0.0.dist-info/licenses}/LICENSE +0 -0
- {zebra_day-0.0.37.dist-info → zebra_day-2.0.0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
@font-face {
|
|
2
|
+
font-family: 'Monoid';
|
|
3
|
+
src: url('/etc/Monoid-Regular-HalfTight-Dollar-0-1-l.ttf') format('truetype');
|
|
4
|
+
font-weight: normal;
|
|
5
|
+
font-style: normal;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
body {
|
|
9
|
+
font-family: 'Monoid', monospace;
|
|
10
|
+
background-color: #FFD700; /* Bold golden background reminiscent of Warhol's color palette */
|
|
11
|
+
color: #D91E63; /* Bold Pink text, Warhol-esque */
|
|
12
|
+
margin: 0;
|
|
13
|
+
padding: 20px;
|
|
14
|
+
background-image: linear-gradient(rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 2.9)), url('./daylily.png');
|
|
15
|
+
background-repeat: repeat;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
h1, h2 {
|
|
19
|
+
color: #2E86C1; /* Vibrant blue for headers */
|
|
20
|
+
border-bottom: 3px solid #2E86C1;
|
|
21
|
+
padding-bottom: 5px;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
ul {
|
|
25
|
+
list-style-type: none;
|
|
26
|
+
padding: 0;
|
|
27
|
+
margin-left: 21px;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
li::before {
|
|
31
|
+
content: '';
|
|
32
|
+
display: inline-block;
|
|
33
|
+
width: 5px;
|
|
34
|
+
height: 5px;
|
|
35
|
+
border-radius: 50%;
|
|
36
|
+
background-color: #D91E63; /* Reusing bold pink color */
|
|
37
|
+
margin-right: 10px;
|
|
38
|
+
vertical-align: middle;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
a {
|
|
42
|
+
color: #196F3D; /* A deep green for links, contrast with the daylily theme */
|
|
43
|
+
text-decoration: none;
|
|
44
|
+
transition: color 0.3s ease;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
a:hover {
|
|
48
|
+
color: #2E86C1; /* Vibrant blue on hover */
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
small {
|
|
52
|
+
color: #7D3C98; /* Purple tint for smaller text, keeping with the vibrant palette */
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.spinner-hidden {
|
|
56
|
+
display: none;
|
|
57
|
+
position: fixed;
|
|
58
|
+
top: 0; left: 0; right: 0; bottom: 0;
|
|
59
|
+
background: rgba(255,215,0,0.7); /* Transparent golden background, keeping in theme */
|
|
60
|
+
z-index: 1000;
|
|
61
|
+
align-items: center;
|
|
62
|
+
justify-content: center;
|
|
63
|
+
display: flex;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
#spinner {
|
|
67
|
+
position: fixed;
|
|
68
|
+
top: 50%;
|
|
69
|
+
left: 50%;
|
|
70
|
+
transform: translate(-50%, -50%);
|
|
71
|
+
z-index: 9999;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.loader, .cloader {
|
|
75
|
+
border: 8px solid #7D3C98; /* Purple borders */
|
|
76
|
+
border-top: 8px solid #2E86C1; /* Blue on top to keep the spinning noticeable */
|
|
77
|
+
border-radius: 50%;
|
|
78
|
+
width: 50px;
|
|
79
|
+
height: 50px;
|
|
80
|
+
animation: spin 1s linear infinite;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
@keyframes spin {
|
|
84
|
+
0% { transform: rotate(0deg); }
|
|
85
|
+
100% { transform: rotate(360deg); }
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
hr {
|
|
89
|
+
border: 0;
|
|
90
|
+
height: 2px;
|
|
91
|
+
background-image: linear-gradient(to right, #D91E63, #FFD700, #2E86C1);
|
|
92
|
+
margin: 20px 0;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
input[type=text], textarea, select {
|
|
96
|
+
background-color: #FFFFFF; /* White background for input fields */
|
|
97
|
+
color: #D91E63; /* Pink text */
|
|
98
|
+
border: 2px solid #196F3D; /* Green border */
|
|
99
|
+
border-radius: 5px;
|
|
100
|
+
padding: 5px 10px;
|
|
101
|
+
outline: none;
|
|
102
|
+
transition: background-color 0.3s ease;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
input[type=text]:hover, textarea:hover, select:hover {
|
|
106
|
+
background-color: #FFFAE5; /* A very light yellow for hover */
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
input[type=submit], button, input[type="button"] {
|
|
110
|
+
background-color: #D91E63; /* Pink buttons */
|
|
111
|
+
color: #FFFFFF; /* White text on buttons */
|
|
112
|
+
border: none;
|
|
113
|
+
border-radius: 5px;
|
|
114
|
+
padding: 8px 15px;
|
|
115
|
+
cursor: pointer;
|
|
116
|
+
outline: none;
|
|
117
|
+
transition: background-color 0.3s ease;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
input[type=submit]:hover, button:hover, input[type="button"]:hover {
|
|
121
|
+
background-color: #E74C3C; /* Reddish hover effect */
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
textarea::-webkit-scrollbar {
|
|
125
|
+
width: 10px;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
textarea::-webkit-scrollbar-thumb {
|
|
129
|
+
background-color: #2E86C1;
|
|
130
|
+
border-radius: 5px;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
textarea::-webkit-scrollbar-track {
|
|
134
|
+
background-color: #FFD700; /* Golden background to keep in theme */
|
|
135
|
+
border-radius: 5px;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
#spinner.spinner-hidden {
|
|
139
|
+
display: none;
|
|
140
|
+
}
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
/* Fonts and Base */
|
|
2
|
+
|
|
3
|
+
:root {
|
|
4
|
+
--hrColor: #C400DB;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.hrTiny {
|
|
8
|
+
height: 1px;
|
|
9
|
+
background-color: var(--hrColor);
|
|
10
|
+
width:100%;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.hrSmall {
|
|
14
|
+
height: 2px;
|
|
15
|
+
background-color: var(--hrColor);
|
|
16
|
+
width:100%;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.hrMed {
|
|
20
|
+
height: 3px;
|
|
21
|
+
width: 100%;
|
|
22
|
+
background-color: var(--hrColor);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.hrLarge {
|
|
26
|
+
height: 4px;
|
|
27
|
+
background-color: var(--hrColor);
|
|
28
|
+
width:100%;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.hrVLarge {
|
|
32
|
+
height: 5px;
|
|
33
|
+
background-color: var(--hrColor);
|
|
34
|
+
width:100%;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
h3 {
|
|
38
|
+
margin-bottom: auto;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
@import url('https://fonts.googleapis.com/css2?family=DejaVu+Sans+Mono&display=swap');
|
|
42
|
+
|
|
43
|
+
.spinner-hidden {
|
|
44
|
+
display: none;
|
|
45
|
+
position: fixed;
|
|
46
|
+
top: 0; left: 0; right: 0; bottom: 0;
|
|
47
|
+
background: rgba(0,0,0,0.6);
|
|
48
|
+
z-index: 1000;
|
|
49
|
+
align-items: center;
|
|
50
|
+
justify-content: center;
|
|
51
|
+
display: flex;
|
|
52
|
+
}
|
|
53
|
+
#spinner.spinner-hidden {
|
|
54
|
+
display: none;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
#spinner {
|
|
59
|
+
position: fixed;
|
|
60
|
+
top: 50%;
|
|
61
|
+
left: 50%;
|
|
62
|
+
transform: translate(-50%, -50%);
|
|
63
|
+
z-index: 9999;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.loader {
|
|
67
|
+
border: 8px solid #f3f3f3;
|
|
68
|
+
border-top: 8px solid #00FFFF; /* Spinner color */
|
|
69
|
+
border-radius: 50%;
|
|
70
|
+
width: 50px;
|
|
71
|
+
height: 50px;
|
|
72
|
+
animation: spin 1s linear infinite;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.cloader {
|
|
76
|
+
border: 16px solid #f3f3f3;
|
|
77
|
+
border-top: 16px solid #3498db;
|
|
78
|
+
border-radius: 50%;
|
|
79
|
+
width: 50px;
|
|
80
|
+
height: 50px;
|
|
81
|
+
animation: spin 2s linear infinite;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
@keyframes spin {
|
|
85
|
+
0% { transform: rotate(0deg); }
|
|
86
|
+
100% { transform: rotate(360deg); }
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
body {
|
|
91
|
+
font-family: 'DejaVu Sans Mono', monospace;
|
|
92
|
+
background-color: #f5f7fa; /* Very light blue background, reminiscent of clinical settings */
|
|
93
|
+
color: #333;
|
|
94
|
+
margin: 0;
|
|
95
|
+
padding: 20px;
|
|
96
|
+
line-height: 1.6;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/* Headers: Using deep blue for a professional and medical feel */
|
|
100
|
+
h1, h2, h3, h4, h5, h6 {
|
|
101
|
+
color: #0052cc;
|
|
102
|
+
margin-top: 0;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/* Links */
|
|
106
|
+
a {
|
|
107
|
+
color: #007bff; /* Modern blue */
|
|
108
|
+
text-decoration: none;
|
|
109
|
+
transition: color 0.3s ease;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
a:hover {
|
|
113
|
+
color: #0052cc; /* Darker blue for hover effect */
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/* Lists */
|
|
117
|
+
ul, ol {
|
|
118
|
+
padding-left: 20px;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
li {
|
|
122
|
+
margin-bottom: 10px;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
/* Buttons and Interactive Elements */
|
|
126
|
+
button, input[type="submit"], input[type="button"] {
|
|
127
|
+
background-color: #007bff; /* Consistent modern blue */
|
|
128
|
+
color: #fff;
|
|
129
|
+
border: none;
|
|
130
|
+
border-radius: 4px;
|
|
131
|
+
padding: 10px 15px;
|
|
132
|
+
cursor: pointer;
|
|
133
|
+
transition: background-color 0.3s ease;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
button:hover, input[type="submit"]:hover, input[type="button"]:hover {
|
|
137
|
+
background-color: #0052cc; /* Darker blue for hover */
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
/* Forms */
|
|
141
|
+
input[type="text"], input[type="email"], input[type="password"], textarea, select {
|
|
142
|
+
background-color: rgba(11,92,133,.4);
|
|
143
|
+
padding: 10px;
|
|
144
|
+
margin-bottom: 10px;
|
|
145
|
+
border: 1px solid #ccc;
|
|
146
|
+
border-radius: 4px;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
/* Divider */
|
|
150
|
+
hr {
|
|
151
|
+
border: 0;
|
|
152
|
+
height: 1px;
|
|
153
|
+
background-color: #e1e1e1; /* Light gray divider */
|
|
154
|
+
margin: 20px 0;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
/* Callouts for Important Info (think of alerts or side notes) */
|
|
158
|
+
.callout {
|
|
159
|
+
padding: 15px;
|
|
160
|
+
border-left: 4px solid #00cc99; /* Green to signify life/growth */
|
|
161
|
+
background-color: #e6f9f5; /* Light green background */
|
|
162
|
+
margin-bottom: 20px;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
/* Dark Mode Toggle (for modernity) */
|
|
166
|
+
.dark-mode-toggle {
|
|
167
|
+
position: fixed;
|
|
168
|
+
top: 20px;
|
|
169
|
+
right: 20px;
|
|
170
|
+
background: none;
|
|
171
|
+
border: none;
|
|
172
|
+
color: #0052cc;
|
|
173
|
+
font-size: 24px;
|
|
174
|
+
cursor: pointer;
|
|
175
|
+
transition: color 0.3s ease;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
.dark-mode-toggle:hover {
|
|
179
|
+
color: #007bff;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
/* If you implement dark mode, you'll need styles for it here */
|
|
183
|
+
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
@font-face {
|
|
2
|
+
font-family: 'Monoid';
|
|
3
|
+
src: url('/etc/Monoid-Regular-HalfTight-Dollar-0-1-l.ttf') format('truetype');
|
|
4
|
+
font-weight: normal;
|
|
5
|
+
font-style: normal;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
body {
|
|
9
|
+
font-family: 'Monoid', monospace;
|
|
10
|
+
background: repeating-linear-gradient(
|
|
11
|
+
60deg,
|
|
12
|
+
rgba(211,44,201,0.1),
|
|
13
|
+
rgba(211,44,201,0.1) 15px,
|
|
14
|
+
rgba(52,152,219,0.1) 15px,
|
|
15
|
+
rgba(52,152,219,0.1) 30px
|
|
16
|
+
); /* Triangular pattern using gradient */
|
|
17
|
+
color: rgba(111, 97, 232,1);
|
|
18
|
+
margin: 0;
|
|
19
|
+
padding: 20px;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
h1, h2 {
|
|
23
|
+
color: #F0E442; /* Electric Yellow */
|
|
24
|
+
border-bottom: 3px solid #8D4DE8; /* Vibrant Purple Border */
|
|
25
|
+
padding-bottom: 5px;
|
|
26
|
+
background: linear-gradient(90deg, rgba(241,39,17,1) 0%, rgba(245,175,25,1) 50%, rgba(45,191,73,1) 100%); /* Psychedelic gradient */
|
|
27
|
+
text-shadow: 2px 2px #00FFFF;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
ul {
|
|
31
|
+
list-style-type: none;
|
|
32
|
+
padding: 0;
|
|
33
|
+
margin-left: 21px;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
li::before {
|
|
37
|
+
content: '\25B2'; /* Unicode triangle symbol */
|
|
38
|
+
color: #F0E442; /* Electric Yellow */
|
|
39
|
+
margin-right: 7px;
|
|
40
|
+
font-size: 1rem;
|
|
41
|
+
vertical-align: middle;
|
|
42
|
+
animation: pulsate 15s infinite alternate;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
@keyframes spin {
|
|
46
|
+
0% { transform: rotate(0deg); }
|
|
47
|
+
100% { transform: rotate(360deg); }
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
@keyframes pulsate {
|
|
51
|
+
0% { color: #D32CC9; }
|
|
52
|
+
50% { color: #3498db; }
|
|
53
|
+
100% { color: #F0E442; }
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
a {
|
|
57
|
+
color: #8D4DE8;
|
|
58
|
+
text-decoration: none;
|
|
59
|
+
transition: color 0.3s ease;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
a:hover {
|
|
63
|
+
color: #E62EFA; /* Electric Pink for Hover */
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
small {
|
|
67
|
+
color: #B0B0B0;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.spinner-hidden {
|
|
71
|
+
display: none;
|
|
72
|
+
position: fixed;
|
|
73
|
+
top: 0; left: 0; right: 0; bottom: 0;
|
|
74
|
+
background: rgba(241,39,17,0.6);
|
|
75
|
+
z-index: 1000;
|
|
76
|
+
align-items: center;
|
|
77
|
+
justify-content: center;
|
|
78
|
+
display: flex;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
#spinner.spinner-hidden {
|
|
82
|
+
display: none;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
#spinner {
|
|
86
|
+
position: fixed;
|
|
87
|
+
top: 50%;
|
|
88
|
+
left: 50%;
|
|
89
|
+
transform: translate(-50%, -50%);
|
|
90
|
+
z-index: 9999;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.loader {
|
|
94
|
+
border: 8px solid #f3f3f3;
|
|
95
|
+
border-top: 8px solid #E62EFA; /* Electric Yellow Spinner */
|
|
96
|
+
border-radius: 50%;
|
|
97
|
+
width: 50px;
|
|
98
|
+
height: 50px;
|
|
99
|
+
animation: spin 1s linear infinite;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.cloader {
|
|
103
|
+
border: 16px solid #f3f3f3;
|
|
104
|
+
border-top: 16px solid #8D4DE8; /* Vibrant Purple Spinner */
|
|
105
|
+
border-radius: 50%;
|
|
106
|
+
width: 50px;
|
|
107
|
+
height: 50px;
|
|
108
|
+
animation: spin 2s linear infinite;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
hr {
|
|
112
|
+
border: 0;
|
|
113
|
+
height: 1px;
|
|
114
|
+
background-image: linear-gradient(to right, #E62EFA, #D32CC9, #8D4DE8);
|
|
115
|
+
margin: 20px 0;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/* ... Keep the form styles, just switch out colors to match the new theme ... */
|
|
119
|
+
/* E.g., input[type=text] styles, button styles, etc. */
|
|
120
|
+
|
|
121
|
+
/* Use the psychedelic colors like #D32CC9 (Pink Purple), #8D4DE8 (Vibrant Purple),
|
|
122
|
+
#F0E442 (Electric Yellow), etc. in the form element styling. */
|
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
@font-face {
|
|
2
|
+
font-family: 'Monoid';
|
|
3
|
+
src: url('/etc/Monoid-Regular-HalfTight-Dollar-0-1-l.ttf') format('truetype');
|
|
4
|
+
font-weight: normal;
|
|
5
|
+
font-style: normal;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
body {
|
|
9
|
+
font-family: 'Monoid', monospace;
|
|
10
|
+
background-color: #121212; /* Dark gray background for the body */
|
|
11
|
+
color: #EFEFEF;
|
|
12
|
+
margin: 0;
|
|
13
|
+
padding: 20px;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
h1, h2 {
|
|
18
|
+
color: #00FFFF; /* Bright cyan for headers */
|
|
19
|
+
border-bottom: 3px solid #00FFFF; /* Border color matches headers */
|
|
20
|
+
padding-bottom: 5px;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
ul {
|
|
24
|
+
list-style-type: none; /* Remove default bullets */
|
|
25
|
+
padding: 0;
|
|
26
|
+
margin-left: 21px; /* Provide spacing for our custom bullet */
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
li::before {
|
|
30
|
+
content: ''; /* No actual content */
|
|
31
|
+
display: inline-block;
|
|
32
|
+
width: 3px; /* Width of the ring */
|
|
33
|
+
height: 3px; /* Height of the ring */
|
|
34
|
+
border-radius: 50%; /* Make it circular */
|
|
35
|
+
border: 0.6px solid #00FFFF; /* Neon blue border for the ring */
|
|
36
|
+
background-color: #121212; /* Match the background color */
|
|
37
|
+
margin-right: 7px; /* Spacing between the bullet and text */
|
|
38
|
+
box-shadow: 0 0 3px #00FFFF, /* Outer glow */
|
|
39
|
+
0 0 5px #00FFFF, /* More outer glow */
|
|
40
|
+
inset 0 0 3px #00FFFF; /* Inner glow */
|
|
41
|
+
vertical-align: middle; /* Center the bullet vertically in line with the text */
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
@keyframes pulsate {
|
|
45
|
+
0% {
|
|
46
|
+
box-shadow: 0 0 3px #00FFFF, 0 0 4px #00FFFF, inset 0 0 3px #00FFFF;
|
|
47
|
+
}
|
|
48
|
+
50% {
|
|
49
|
+
box-shadow: 0 0 4px #1AFFD8, 0 0 7px #1AFFD8, inset 0 0 4px #1AFFD8;
|
|
50
|
+
}
|
|
51
|
+
100% {
|
|
52
|
+
box-shadow: 0 0 3px #00FFFF, 0 0 5px #00FFFF, inset 0 0 3px #00FFFF;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
li::before {
|
|
57
|
+
/* ... (all the previous styles from above) ... */
|
|
58
|
+
animation: pulsate 15s infinite alternate;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
a {
|
|
63
|
+
color: #00FFFF; /* Links have the same bright cyan color */
|
|
64
|
+
text-decoration: none; /* Removes the underline from links */
|
|
65
|
+
transition: color 0.3s ease; /* Smooth color transition for hover effect */
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
a:hover {
|
|
69
|
+
color: #1AFFD8; /* Slightly different shade of cyan for hover */
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
small {
|
|
73
|
+
color: #B0B0B0; /* Slightly dimmed color for smaller text */
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.spinner-hidden {
|
|
77
|
+
display: none;
|
|
78
|
+
position: fixed;
|
|
79
|
+
top: 0; left: 0; right: 0; bottom: 0;
|
|
80
|
+
background: rgba(0,0,0,0.6);
|
|
81
|
+
z-index: 1000;
|
|
82
|
+
align-items: center;
|
|
83
|
+
justify-content: center;
|
|
84
|
+
display: flex;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
#spinner.spinner-hidden {
|
|
88
|
+
display: none;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
#spinner {
|
|
93
|
+
position: fixed;
|
|
94
|
+
top: 50%;
|
|
95
|
+
left: 50%;
|
|
96
|
+
transform: translate(-50%, -50%);
|
|
97
|
+
z-index: 9999;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.loader {
|
|
101
|
+
border: 8px solid #f3f3f3;
|
|
102
|
+
border-top: 8px solid #00FFFF; /* Spinner color */
|
|
103
|
+
border-radius: 50%;
|
|
104
|
+
width: 50px;
|
|
105
|
+
height: 50px;
|
|
106
|
+
animation: spin 1s linear infinite;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.cloader {
|
|
110
|
+
border: 16px solid #f3f3f3;
|
|
111
|
+
border-top: 16px solid #3498db;
|
|
112
|
+
border-radius: 50%;
|
|
113
|
+
width: 50px;
|
|
114
|
+
height: 50px;
|
|
115
|
+
animation: spin 2s linear infinite;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
@keyframes spin {
|
|
119
|
+
0% { transform: rotate(0deg); }
|
|
120
|
+
100% { transform: rotate(360deg); }
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
hr {
|
|
124
|
+
border: 0;
|
|
125
|
+
height: 1px;
|
|
126
|
+
background-image: linear-gradient(to right, #00FFFF, #121212, #00FFFF); /* Gradient line effect */
|
|
127
|
+
margin: 20px 0;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
input[type=text] {
|
|
131
|
+
background-color: #202020; /* Slightly lighter than body background */
|
|
132
|
+
color: #EFEFEF; /* Text color inside the input box */
|
|
133
|
+
border: 2px solid #00FFFF; /* Border color */
|
|
134
|
+
border-radius: 5px; /* Rounded corners */
|
|
135
|
+
padding: 5px 10px;
|
|
136
|
+
outline: none;
|
|
137
|
+
transition: background-color 0.3s ease; /* Smooth transition effect for hover and focus */
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
input[type=text]:hover,
|
|
141
|
+
input[type=text]:focus {
|
|
142
|
+
background-color: #2A2A2A; /* A shade brighter on hover and focus */
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
input[type=submit] {
|
|
146
|
+
background-color: #00FFFF; /* Matching the primary theme color */
|
|
147
|
+
color: #121212; /* Text color inside the button */
|
|
148
|
+
border: none;
|
|
149
|
+
border-radius: 5px; /* Rounded corners */
|
|
150
|
+
padding: 5px 10px;
|
|
151
|
+
cursor: pointer; /* Hand pointer on hover */
|
|
152
|
+
transition: background-color 0.3s ease; /* Smooth transition effect for hover */
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
input[type=submit]:hover {
|
|
156
|
+
background-color: #1AFFD8; /* Slightly different shade of cyan for hover */
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
textarea {
|
|
160
|
+
background-color: #202020; /* Slightly lighter than the body background for visibility */
|
|
161
|
+
color: #EFEFEF; /* Text color inside the textarea */
|
|
162
|
+
border: 2px solid #00FFFF; /* Neon blue border for the TRON-like feel */
|
|
163
|
+
border-radius: 5px; /* Rounded corners */
|
|
164
|
+
padding: 10px; /* Padding inside the textarea */
|
|
165
|
+
font-family: 'Arial', sans-serif; /* Maintain font consistency */
|
|
166
|
+
font-size: 1rem; /* Font size inside the textarea. Adjust as needed. */
|
|
167
|
+
outline: none; /* Remove default focus outline */
|
|
168
|
+
transition: background-color 0.3s ease, border-color 0.3s ease; /* Smooth transition effect for hover and focus */
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
textarea:hover {
|
|
172
|
+
background-color: #2A2A2A; /* A shade brighter on hover */
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
textarea:focus {
|
|
176
|
+
background-color: #333333; /* Even brighter when focused */
|
|
177
|
+
border-color: #1AFFD8; /* Change border color on focus for added emphasis */
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
/* Optional: Add a glowing effect on focus */
|
|
181
|
+
textarea:focus {
|
|
182
|
+
box-shadow: 0 0 5px #1AFFD8, 0 0 10px #1AFFD8;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
/* Base button style */
|
|
186
|
+
input[type=submit], button {
|
|
187
|
+
background-color: #202020; /* Button background, matching our theme */
|
|
188
|
+
color: #EFEFEF; /* Text color */
|
|
189
|
+
border: 2px solid #00FFFF; /* Neon blue border */
|
|
190
|
+
border-radius: 5px; /* Rounded corners */
|
|
191
|
+
padding: 8px 15px; /* Some padding for the button content */
|
|
192
|
+
font-family: 'Arial', sans-serif; /* Consistent font */
|
|
193
|
+
font-size: 1rem; /* Font size. Adjust as needed */
|
|
194
|
+
cursor: pointer; /* Hand pointer on hover */
|
|
195
|
+
outline: none; /* Remove default focus outline */
|
|
196
|
+
transition: background-color 0.3s ease, border-color 0.3s ease; /* Smooth transition effects */
|
|
197
|
+
position: relative; /* For potential pseudo-element styling or effects */
|
|
198
|
+
overflow: hidden; /* Ensure any child elements don't overflow */
|
|
199
|
+
text-align: center; /* Ensure text is centered */
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
/* Hover state */
|
|
203
|
+
input[type=submit]:hover, button:hover {
|
|
204
|
+
background-color: #2A2A2A; /* Slightly different shade when hovered */
|
|
205
|
+
border-color: #1AFFD8; /* Brighter border on hover */
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
/* Focus & Active state (e.g., when the button is clicked) */
|
|
209
|
+
input[type=submit]:focus, input[type=submit]:active, button:focus, button:active {
|
|
210
|
+
background-color: #333333; /* Darker background when focused or active */
|
|
211
|
+
border-color: #1AFFD8; /* Consistent brighter border color */
|
|
212
|
+
box-shadow: 0 0 5px #1AFFD8, 0 0 10px #1AFFD8; /* Neon glow effect */
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
/* Optional: Add a slight "pressed" effect on active state */
|
|
216
|
+
input[type=submit]:active, button:active {
|
|
217
|
+
transform: translateY(2px); /* Shift the button down a bit */
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
select {
|
|
221
|
+
background-color: #141414;
|
|
222
|
+
color: #33C3F0;
|
|
223
|
+
border: 2px solid #33C3F0;
|
|
224
|
+
padding: 5px 10px;
|
|
225
|
+
border-radius: 5px;
|
|
226
|
+
appearance: none; /* Remove default appearance */
|
|
227
|
+
cursor: pointer;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
/* For the dropdown arrow in Firefox */
|
|
231
|
+
select:-moz-focusring {
|
|
232
|
+
color: transparent;
|
|
233
|
+
text-shadow: 0 0 0 #33C3F0;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
textarea::-webkit-scrollbar {
|
|
237
|
+
width: 10px;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
textarea::-webkit-scrollbar-thumb {
|
|
241
|
+
background-color: #33C3F0;
|
|
242
|
+
border-radius: 5px;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
textarea::-webkit-scrollbar-track {
|
|
246
|
+
background-color: #141414;
|
|
247
|
+
border-radius: 5px;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
input[type="button"] {
|
|
251
|
+
background-color: #141414; /* Dark background */
|
|
252
|
+
border: 2px solid #33C3F0; /* Glowing blue border */
|
|
253
|
+
color: #33C3F0; /* Glowing blue text */
|
|
254
|
+
padding: 10px 20px; /* Button padding */
|
|
255
|
+
font-size: 16px; /* Text size */
|
|
256
|
+
border-radius: 5px; /* Rounded corners */
|
|
257
|
+
transition: all 0.3s ease; /* Transition for hover effect */
|
|
258
|
+
cursor: pointer; /* Pointer cursor on hover */
|
|
259
|
+
outline: none; /* Remove focus outline */
|
|
260
|
+
font-family: 'Source Code Pro', monospace; /* Font from earlier */
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
input[type="button"]:hover {
|
|
264
|
+
background-color: #33C3F0; /* Glowing blue background on hover */
|
|
265
|
+
color: #141414; /* Dark text on hover */
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
input[type="button"]:active {
|
|
269
|
+
background-color: #288FB6; /* Darker blue background when pressed */
|
|
270
|
+
border-color: #288FB6; /* Border color when pressed */
|
|
271
|
+
color: #0D0D0D; /* Darker text when pressed */
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
/* Optional: glow effect when focused (for accessibility) */
|
|
275
|
+
input[type="button"]:focus {
|
|
276
|
+
box-shadow: 0 0 10px #33C3F0; /* Glowing blue shadow */
|
|
277
|
+
}
|