feat: UI Overhaul
This commit is contained in:
83
extension/modules/ui/ui_styles.js
Normal file
83
extension/modules/ui/ui_styles.js
Normal file
@@ -0,0 +1,83 @@
|
||||
export const Styles = {
|
||||
// Colors
|
||||
colors: {
|
||||
bg: 'rgba(20, 20, 25, 0.95)',
|
||||
bgPanel: 'rgba(255, 255, 255, 0.05)',
|
||||
text: '#eee',
|
||||
textMuted: '#aaa',
|
||||
primary: '#448aff',
|
||||
success: '#66bb6a',
|
||||
danger: '#ff5252',
|
||||
warning: '#ffa726',
|
||||
accent: '#bada55',
|
||||
border: '#444'
|
||||
},
|
||||
// Common CSS strings
|
||||
sidebar: `
|
||||
position: fixed;
|
||||
top: 20px;
|
||||
right: 20px;
|
||||
width: 300px;
|
||||
background: rgba(20, 20, 25, 0.95);
|
||||
color: #eee;
|
||||
padding: 0;
|
||||
border-radius: 12px;
|
||||
z-index: 9999999;
|
||||
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
||||
box-shadow: 0 4px 15px rgba(0,0,0,0.6);
|
||||
border: 1px solid #444;
|
||||
backdrop-filter: blur(5px);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
overflow: hidden;
|
||||
transition: opacity 0.2s, transform 0.2s;
|
||||
`,
|
||||
panel: `
|
||||
background: rgba(255,255,255,0.05);
|
||||
padding: 10px;
|
||||
border-radius: 8px;
|
||||
margin-bottom: 15px;
|
||||
`,
|
||||
input: `
|
||||
width: 100%;
|
||||
padding: 6px;
|
||||
background: #333;
|
||||
border: 1px solid #555;
|
||||
color: white;
|
||||
border-radius: 4px;
|
||||
box-sizing: border-box;
|
||||
`,
|
||||
button: `
|
||||
cursor: pointer;
|
||||
border: none;
|
||||
padding: 8px 12px;
|
||||
border-radius: 4px;
|
||||
font-weight: bold;
|
||||
transition: background 0.2s;
|
||||
color: white;
|
||||
`,
|
||||
flexBetween: `
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
`,
|
||||
label: `
|
||||
font-size: 12px;
|
||||
color: #aaa;
|
||||
margin-bottom: 4px;
|
||||
display: block;
|
||||
`
|
||||
};
|
||||
|
||||
export function createElement(tag, style = '', props = {}) {
|
||||
const el = document.createElement(tag);
|
||||
el.style.cssText = style;
|
||||
for (const [k, v] of Object.entries(props)) {
|
||||
if (k === 'dataset') {
|
||||
for (const [dk, dv] of Object.entries(v)) el.dataset[dk] = dv;
|
||||
} else {
|
||||
el[k] = v;
|
||||
}
|
||||
}
|
||||
return el;
|
||||
}
|
||||
Reference in New Issue
Block a user