Skip to content

Commit 7981cb8

Browse files
committed
feat: more and improved commands in about me terminal
1 parent d043d9a commit 7981cb8

File tree

1 file changed

+54
-1
lines changed

1 file changed

+54
-1
lines changed

src/pages/about-views/NeuromancerHUD.js

Lines changed: 54 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,12 @@ const MiniTerminal = ({ theme, setTheme }) => {
118118
{ cmd: 'history', desc: 'View command log' },
119119
{ cmd: 'htop', desc: 'Process monitor' },
120120
{ cmd: 'clear', desc: 'Clear display' },
121+
{ cmd: 'sudo', desc: 'Run with the security privileges' },
122+
{ cmd: 'date', desc: 'Display current date and time' },
123+
{ cmd: 'motd', desc: 'Display Message Of The Day' },
124+
{ cmd: 'ping', desc: 'Check terminal responsiveness' },
125+
{ cmd: 'os', desc: 'Display operating system info' },
126+
{ cmd: 'neofetch', desc: 'Display system information with ASCII art' },
121127
];
122128
commands.forEach(c => {
123129
newHistory.push({ type: 'output', content: (
@@ -264,6 +270,53 @@ const MiniTerminal = ({ theme, setTheme }) => {
264270
newHistory.push({ type: 'output', text: `Access Granted...`, className: THEMES[theme].textDim });
265271
unlockAchievement('su-done');
266272
break;
273+
case 'bsod':
274+
newHistory.push({ type: 'output', text: 'FEZ.OS cannot be crashed. Sorry, not sorry.', className: `${THEMES[theme].text} font-bold` });
275+
break;
276+
case 'date':
277+
newHistory.push({ type: 'output', text: new Date().toLocaleString(), className: THEMES[theme].text });
278+
break;
279+
case 'motd':
280+
newHistory.push({ type: 'output', text: 'WELCOME, OPERATOR. SYSTEM STATUS: OPTIMAL. ACCESS GRANTED.', className: `${THEMES[theme].accent} ` });
281+
break;
282+
case 'ping':
283+
newHistory.push({ type: 'output', text: 'pong', className: THEMES[theme].text });
284+
break;
285+
case 'os':
286+
newHistory.push({ type: 'output', text: 'OPERATING SYSTEM INFORMATION:', className: `${THEMES[theme].accent} font-bold mt-2` });
287+
newHistory.push({ type: 'output', text: ` OS Name: FEZ.OS Galactic Edition`, className: THEMES[theme].textDim });
288+
newHistory.push({ type: 'output', text: ` Architecture: x64`, className: THEMES[theme].textDim });
289+
newHistory.push({ type: 'output', text: ` Kernel Version: 3.5.0-2077-generic-cigdem-edition`, className: THEMES[theme].textDim });
290+
newHistory.push({ type: 'output', text: ` Build Date: ${new Date().toISOString().slice(0, 10)}`, className: THEMES[theme].textDim });
291+
newHistory.push({ type: 'output', text: ` Hostname: FEZ-GH_PAGES_SERVER-ALPHA-01`, className: THEMES[theme].textDim });
292+
newHistory.push({ type: 'output', text: ` GUI: FEZ.OS React Shell`, className: THEMES[theme].textDim });
293+
break;
294+
case 'neofetch':
295+
const uptimeSeconds = Math.floor(Math.random() * (24 * 3600 * 7)) + 3600; // Up to 7 days + 1 hour
296+
const days = Math.floor(uptimeSeconds / (3600 * 24));
297+
const hours = Math.floor((uptimeSeconds % (3600 * 24)) / 3600);
298+
const minutes = Math.floor((uptimeSeconds % 3600) / 60);
299+
300+
const neofetchOutput = [
301+
`\n`,
302+
` _.-^-._ ${THEMES[theme].accent}FEZ.OS${THEMES[theme].textDim}`,
303+
` /_______\\ ------------------`,
304+
` | .-. | Host: FEZ-GH_PAGES_SERVER-ALPHA-01`,
305+
` | '-' | OS: FEZ.OS Galactic Edition`,
306+
` \`---------' Kernel: 3.5.0-2077-generic-cigdem-edition`,
307+
` Uptime: ${days} days, ${hours} hours, ${minutes} minutes`,
308+
` Shell: fesh`,
309+
` Resolution: 1920x1080`,
310+
` Terminal: FEZ.OS React Shell`,
311+
` CPU: iMDtel Coreyzhen XX-1000Z (8) @ 5.00GHz`,
312+
` GPU: Generic PnP Graphics Card 90960`,
313+
` Memory: 8GB / 32GB`,
314+
`\n`
315+
];
316+
neofetchOutput.forEach(line => {
317+
newHistory.push({ type: 'output', text: line, className: THEMES[theme].text });
318+
});
319+
break;
267320
default:
268321
newHistory.push({ type: 'error', text: `Command not found: ${trimmed}`, className: 'text-red-500 font-bold' });
269322
}
@@ -301,7 +354,7 @@ const MiniTerminal = ({ theme, setTheme }) => {
301354
onClick={() => document.getElementById('terminal-input')?.focus()}>
302355
<div className="flex-grow overflow-y-auto custom-scrollbar">
303356
{history.map((line, i) => (
304-
<div key={i} className={line.className || (line.type === 'input' ? `${THEMES[theme].text} mt-1` : THEMES[theme].textDim)}>
357+
<div key={i} className={`whitespace-pre ${line.className || (line.type === 'input' ? `${THEMES[theme].text} mt-1` : THEMES[theme].textDim)}`}>
305358
{line.type === 'input' ? '> ' : ''}
306359
{line.content || line.text}
307360
</div>

0 commit comments

Comments
 (0)