Skip to content

Commit 4b1407d

Browse files
authored
Update styles and structure in index.html
1 parent 8822530 commit 4b1407d

1 file changed

Lines changed: 62 additions & 151 deletions

File tree

index.html

Lines changed: 62 additions & 151 deletions
Original file line numberDiff line numberDiff line change
@@ -5,56 +5,68 @@
55
<meta name="viewport" content="width=device-width, initial-scale=1.0">
66
<title>pobfus // repository</title>
77
<style>
8-
:root { --bg: #0a0a0a; --panel: #0d0d0d; --brd: #1a1a1a; --txt: #888; --main: #eee; --acc: #ffffff; }
8+
:root { --bg: #0a0a0a; --panel: #0d0d0d; --brd: #1a1a1a; --txt: #888; --main: #eee; --acc: #00ff88; --dev: #ffaa00; }
9+
10+
* { box-sizing: border-box; }
911
body {
1012
background: var(--bg); color: var(--main);
1113
font-family: "fira code", monospace; margin: 0;
1214
display: flex; height: 100vh; text-transform: lowercase;
13-
overflow: hidden;
15+
overflow: hidden;
1416
}
1517

16-
/* sidebar architecture */
1718
.sidebar {
18-
width: 280px; background: var(--panel); border-right: 1px solid var(--brd);
19-
padding: 30px; display: flex; flex-direction: column; gap: 15px;
20-
z-index: 10;
19+
width: 320px; min-width: 320px; background: var(--panel); border-right: 1px solid var(--brd);
20+
padding: 25px; display: flex; flex-direction: column; gap: 15px;
21+
height: 100vh;
2122
}
2223

23-
.brand-row { display: flex; align-items: center; gap: 12px; opacity: 0.8; margin-bottom: 10px;}
24+
.brand-row { display: flex; align-items: center; gap: 12px; opacity: 0.9; margin-bottom: 10px;}
2425
.logo { width: 22px; height: 22px; fill: var(--main); }
2526

26-
.title-block { margin-bottom: 15px; }
27+
.title-block { margin-bottom: 10px; }
2728
.title { font-size: 20px; font-weight: 800; color: #fff; letter-spacing: -1px; }
28-
.subtitle { font-size: 10px; color: var(--txt); margin-top: 4px; }
29+
.subtitle { font-size: 9px; color: var(--txt); letter-spacing: 1px; }
2930

30-
.license-box {
31-
font-size: 9px; color: #333; line-height: 1.4;
32-
padding: 12px; border: 1px solid var(--brd); border-radius: 4px; margin-bottom: 10px;
31+
.changelog-container {
32+
margin-top: 10px; flex-grow: 1; overflow-y: auto; padding-right: 5px;
3333
}
34+
.log-section { margin-bottom: 15px; }
35+
.log-ver { font-size: 10px; color: var(--acc); font-weight: 700; margin-bottom: 4px; display: block;}
36+
.log-ver.dev { color: var(--dev); }
37+
.log-item { font-size: 10px; color: #555; display: block; line-height: 1.4; border-left: 1px solid #222; padding-left: 8px; }
3438

3539
.nav-group { display: flex; flex-direction: column; gap: 8px; }
3640
.btn {
3741
background: transparent; border: 1px solid var(--brd); color: var(--txt);
3842
padding: 10px; cursor: pointer; font-family: inherit; font-size: 11px; text-align: left;
39-
transition: 0.1s;
43+
transition: 0.2s; border-radius: 4px;
44+
}
45+
.btn:hover { border-color: var(--main); color: var(--main); background: #151515; }
46+
.btn-run { background: #fff; color: #000; border: none; font-weight: 700; }
47+
48+
.creator-link {
49+
margin-top: auto; padding-top: 15px; border-top: 1px solid var(--brd);
50+
text-decoration: none; display: flex; align-items: center; gap: 10px;
4051
}
41-
.btn:hover { border-color: var(--main); color: var(--main); background: #111; }
42-
.btn-run { background: #fff; color: #000; border: none; font-weight: 700; margin-bottom: 5px;}
43-
.btn-run:hover { background: #ccc; }
52+
.creator-at { color: var(--txt); font-size: 10px; }
53+
.creator-name { color: #fff; font-size: 11px; font-weight: 700; }
4454

45-
/* workspace */
46-
.main { flex: 1; display: flex; flex-direction: column; position: relative; }
47-
.workspace { display: grid; grid-template-columns: 1fr 1fr; flex: 1; gap: 1px; background: var(--brd); }
55+
.main { flex: 1; display: flex; flex-direction: column; height: 100vh; }
56+
.workspace {
57+
display: grid; grid-template-columns: 1fr 1fr; flex: 1;
58+
gap: 1px; background: var(--brd);
59+
}
60+
61+
.editor-container { position: relative; height: 100%; background: var(--bg); }
4862
textarea {
49-
background: var(--bg); border: none; color: var(--main); padding: 25px;
50-
resize: none; outline: none; font-size: 12px; line-height: 1.6;
51-
transition: background 0.3s ease;
63+
width: 100%; height: 100%; background: transparent; border: none;
64+
color: var(--main); padding: 30px; resize: none; outline: none;
65+
font-size: 13px; line-height: 1.6; font-family: "fira code", monospace;
66+
white-space: pre; overflow: auto;
5267
}
5368

54-
textarea#in.drag-over { background: #111; outline: 1px dashed var(--txt); }
55-
56-
#log { position: fixed; bottom: 20px; right: 20px; font-size: 10px; color: #444; pointer-events: none; }
57-
input[type="file"] { display: none; }
69+
#log { position: fixed; bottom: 20px; right: 20px; font-size: 10px; color: #333; pointer-events: none; }
5870
</style>
5971
</head>
6072
<body>
@@ -67,146 +79,45 @@
6779

6880
<div class="title-block">
6981
<div class="title">pobfus</div>
70-
<div class="subtitle">v1.11.05 godly runtime</div>
71-
</div>
72-
73-
<div class="license-box">
74-
mit license<br><br>
75-
permission is granted to process logic streams as-is.
82+
<div class="subtitle">v1.11.05 repository</div>
7683
</div>
7784

7885
<div class="nav-group">
7986
<button class="btn btn-run" id="go">execute process</button>
80-
<button class="btn" onclick="document.getElementById('up').click()">upload file</button>
8187
<button class="btn" id="cp">copy output</button>
82-
<button class="btn" id="dl">download .lua</button>
8388
<button class="btn" id="cl">purge buffer</button>
84-
<input type="file" id="up" accept=".lua,.txt">
8589
</div>
8690

87-
<div style="margin-top: auto;">
88-
<label style="font-size: 10px; color: #444; cursor: pointer; display: flex; align-items: center; gap: 8px;">
89-
<input type="checkbox" id="mob"> mobile_optimization
90-
</label>
91+
<div class="history-title" style="font-size: 10px; color: #444; margin-top: 15px; border-bottom: 1px solid var(--brd); padding-bottom: 5px; text-transform: uppercase;">project logs</div>
92+
93+
<div class="changelog-container">
94+
<div class="log-section">
95+
<span class="log-ver dev">v1.11.06 (scheduled)</span>
96+
<span class="log-item">deployment date: march 11 2026</span>
97+
<span class="log-item">stable core integration</span>
98+
</div>
99+
<div class="log-section">
100+
<span class="log-ver">v1.11.05 (active)</span>
101+
<span class="log-item">full sidebar scroll fix</span>
102+
<span class="log-item">branding reconstruction</span>
103+
<span class="log-item">automated minification</span>
104+
</div>
91105
</div>
106+
107+
<a href="https://github.com/tenringsofdoom1x" class="creator-link" target="_blank">
108+
<div class="creator-at">@</div>
109+
<div class="creator-name">tenringsofdoom1x</div>
110+
</a>
92111
</div>
93112

94113
<div class="main">
95114
<div class="workspace">
96-
<textarea id="in" spellcheck="false" placeholder="-- source_stream (drag file here)"></textarea>
97-
<textarea id="out" spellcheck="false" readonly placeholder="-- void_output"></textarea>
115+
<div class="editor-container"><textarea id="in" spellcheck="false" placeholder="-- source_input"></textarea></div>
116+
<div class="editor-container"><textarea id="out" spellcheck="false" readonly placeholder="-- void_output"></textarea></div>
98117
</div>
99118
</div>
100119

101120
<div id="log"></div>
102-
103-
<script>
104-
(function() {
105-
const iel = document.getElementById('in'), oel = document.getElementById('out');
106-
const log = document.getElementById('log'), mob = document.getElementById('mob');
107-
const upInput = document.getElementById('up');
108-
109-
const push = (t) => {
110-
log.innerText = `> ${t}`;
111-
setTimeout(() => { if(log.innerText === `> ${t}`) log.innerText = ''; }, 4000);
112-
};
113-
114-
// auto-minify engine
115-
const minifyLogic = (src) => {
116-
return src
117-
.replace(/--\[\[[\s\S]*?\]\]/g, '')
118-
.replace(/--.*$/gm, '')
119-
.replace(/\s+/g, ' ')
120-
.trim();
121-
};
122-
123-
const todec = (s) => s.split('').map(c => "\\" + c.charCodeAt(0)).join('');
124-
125-
// file handler
126-
const handleFile = (file) => {
127-
if (!file) return;
128-
const ext = file.name.split('.').pop().toLowerCase();
129-
if (['lua', 'txt'].indexOf(ext) === -1) return push("err_type_refused");
130-
const reader = new FileReader();
131-
reader.onload = (f) => { iel.value = f.target.result; push("stream_imported"); };
132-
reader.readAsText(file);
133-
};
134-
135-
upInput.onchange = (e) => { handleFile(e.target.files[0]); upInput.value = ''; };
136-
137-
iel.addEventListener('dragover', (e) => { e.preventDefault(); iel.classList.add('drag-over'); });
138-
iel.addEventListener('dragleave', () => { iel.classList.remove('drag-over'); });
139-
iel.addEventListener('drop', (e) => {
140-
e.preventDefault();
141-
iel.classList.remove('drag-over');
142-
handleFile(e.dataTransfer.files[0]);
143-
});
144-
145-
// core process
146-
document.getElementById('go').onclick = () => {
147-
let src = iel.value.trim();
148-
if(!src) return push("err_buffer_null");
149-
150-
push("minifying_stream...");
151-
152-
setTimeout(() => {
153-
try {
154-
src = minifyLogic(src);
155-
push("building_void...");
156-
157-
const k = Math.floor(Math.random() * 45) + 32;
158-
const d = Array.from(src).map(x => x.charCodeAt(0) ^ k).join(',');
159-
const h = todec("pobfus: logic active");
160-
161-
let res = `--[[\n pobfus // v1.11.05\n auto-minified godly build\n]]\n\n`;
162-
res += `task.spawn(function() while task.wait(120) do print("${h}") end end);\n\n`;
163-
res += `local _0x_mem = {${d}}; \n`;
164-
res += `local _success, _error = pcall(function() \n`;
165-
166-
if (mob.checked) {
167-
res += ` local _0x_buf = {}; for _, v in pairs(_0x_mem) do table.insert(_0x_buf, string.char(bit32.bxor(v, ${k}))) end; local _0x_str = table.concat(_0x_buf); \n`;
168-
} else {
169-
res += ` local _0x_str = ""; for _, v in pairs(_0x_mem) do _0x_str = _0x_str .. string.char(bit32.bxor(v, ${k})) end; \n`;
170-
}
171-
172-
res += ` local _0x_env = setmetatable({}, { \n`;
173-
res += ` __index = function(_, k) \n`;
174-
res += ` if k == "debug" or k == "getfenv" then return function() end end; \n`;
175-
res += ` return (getgenv and getgenv()[k] or _G[k]) \n`;
176-
res += ` end, \n`;
177-
res += ` __metatable = "locked" \n`;
178-
res += ` }); \n`;
179-
180-
res += ` local _0x_vm = loadstring(_0x_str); \n`;
181-
res += ` setfenv(_0x_vm, _0x_env); \n`;
182-
res += ` (task and task.spawn or spawn)(_0x_vm); \n`;
183-
res += `end); \n`;
184-
185-
oel.value = res;
186-
push("build_complete");
187-
} catch (e) { push("build_fault"); }
188-
}, 1000);
189-
};
190-
191-
// utility handlers
192-
document.getElementById('cp').onclick = () => {
193-
if(!oel.value) return;
194-
navigator.clipboard.writeText(oel.value);
195-
push("buffer_copied");
196-
};
197-
198-
document.getElementById('dl').onclick = () => {
199-
if(!oel.value) return;
200-
const blob = new Blob([oel.value], {type: "text/plain"});
201-
const a = document.createElement('a');
202-
a.href = URL.createObjectURL(blob);
203-
a.download = "pobfus_build.lua";
204-
a.click();
205-
push("file_dispatched");
206-
};
207-
208-
document.getElementById('cl').onclick = () => { iel.value = ""; oel.value = ""; push("buffer_purged"); };
209-
})();
210-
</script>
121+
<script src="script.js"></script>
211122
</body>
212-
</html>
123+
</html>

0 commit comments

Comments
 (0)