-
Git Status
-
- {statusError &&
{statusError}
}
- {statusData && (
-
- Status: {statusData.status}\n\n
- Detaljer:\n{statusData.details || '(ingen endringer)'}
-
- )}
+
+
+
Git Web TUI
+
Et enkelt grensesnitt for å se Git-status og aktiv branch for repoet.
-
-
Aktiv Branch
-
- {branchError &&
{branchError}
}
- {branchData && (
-
- Nåværende branch: {branchData.current_branch}
-
- )}
-
-
+
+
+
Git Status
+
+ {statusError &&
{statusError}
}
+ {statusData && (
+
+ Status: {statusData.status}
+
+ Detaljer:
+ {statusData.details || '(ingen endringer)'}
+
+ )}
+
+
+
Aktiv Branch
+
+ {branchError &&
{branchError}
}
+ {branchData && (
+
+ Nåværende branch: {branchData.current_branch}
+
+ )}
+
+
+
);
}
diff --git a/opax-web/frontend/src/style.css b/opax-web/frontend/src/style.css
index 8892bec..c8e88b2 100644
--- a/opax-web/frontend/src/style.css
+++ b/opax-web/frontend/src/style.css
@@ -1 +1,165 @@
-*{box-sizing:border-box}body{margin:0;background:#0d1117;color:#e6edf3;font:14px monospace}main{height:100vh;display:flex;flex-direction:column}header{padding:16px;background:#161b22;border-bottom:1px solid #30363d}header span{float:right;color:#8b949e}section{display:flex;flex:1;min-height:0}aside{width:260px;padding:12px;background:#161b22;border-right:1px solid #30363d}button{display:block;width:100%;margin:5px 0;background:#21262d;color:#e6edf3;border:1px solid #30363d;padding:7px;text-align:left}.term{padding:18px;display:flex;flex:1;flex-direction:column}.term pre{white-space:pre-wrap;overflow:auto;flex:1}.term form{border-top:1px solid #30363d;padding-top:10px;color:#58a6ff}.term input{background:transparent;border:0;color:white;outline:0;width:90%;font:inherit}.login{display:grid;place-content:center;gap:20px;text-align:center}.login a{color:#58a6ff}
\ No newline at end of file
+:root {
+ --font-family: monospace;
+ --background-color: #0d1117;
+ --text-color: #e6edf3;
+ --text-color-secondary: #8b949e;
+ --border-color: #30363d;
+ --container-background: #161b22;
+ --button-background: #21262d;
+ --button-background-hover: #30363d;
+ --button-primary-background: #238636;
+ --button-primary-background-hover: #2ea043;
+ --error-color: #f85149;
+ --spacing-unit: 16px;
+}
+
+*,
+*::before,
+*::after {
+ box-sizing: border-box;
+}
+
+body {
+ margin: 0;
+ background-color: var(--background-color);
+ color: var(--text-color);
+ font-family: var(--font-family);
+ font-size: 14px;
+}
+
+main {
+ height: 100vh;
+ display: flex;
+ flex-direction: column;
+}
+
+header {
+ padding: var(--spacing-unit);
+ background-color: var(--container-background);
+ border-bottom: 1px solid var(--border-color);
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ font-size: 16px;
+}
+
+header span {
+ color: var(--text-color-secondary);
+}
+
+.content-wrapper {
+ padding: calc(var(--spacing-unit) * 2);
+ max-width: 800px;
+ margin: 0 auto;
+ width: 100%;
+}
+
+.page-header {
+ margin-bottom: calc(var(--spacing-unit) * 2);
+ text-align: center;
+}
+
+.page-header h1 {
+ font-size: 24px;
+ margin-bottom: calc(var(--spacing-unit) / 2);
+}
+
+.page-header p {
+ font-size: 16px;
+ color: var(--text-color-secondary);
+ max-width: 600px;
+ margin: 0 auto;
+}
+
+.actions-container {
+ display: grid;
+ grid-template-columns: 1fr;
+ gap: calc(var(--spacing-unit) * 2);
+}
+
+@media (min-width: 768px) {
+ .actions-container {
+ grid-template-columns: 1fr 1fr;
+ }
+}
+
+.action-card {
+ background-color: var(--container-background);
+ border: 1px solid var(--border-color);
+ padding: var(--spacing-unit);
+ border-radius: 6px;
+}
+
+.action-card h2 {
+ margin-top: 0;
+ font-size: 18px;
+ border-bottom: 1px solid var(--border-color);
+ padding-bottom: var(--spacing-unit);
+ margin-bottom: var(--spacing-unit);
+}
+
+button {
+ width: 100%;
+ background: var(--button-background);
+ color: var(--text-color);
+ border: 1px solid var(--border-color);
+ padding: 10px var(--spacing-unit);
+ border-radius: 6px;
+ font-family: inherit;
+ font-size: 14px;
+ cursor: pointer;
+ transition: background-color 0.2s;
+}
+
+button:hover:not(:disabled) {
+ background-color: var(--button-background-hover);
+}
+
+button:disabled {
+ opacity: 0.6;
+ cursor: not-allowed;
+}
+
+button.primary {
+ background-color: var(--button-primary-background);
+ border-color: var(--button-primary-background-hover);
+}
+
+button.primary:hover:not(:disabled) {
+ background-color: var(--button-primary-background-hover);
+}
+
+.result-display {
+ margin-top: var(--spacing-unit);
+ padding: var(--spacing-unit);
+ background-color: var(--background-color);
+ border: 1px solid var(--border-color);
+ border-radius: 6px;
+ white-space: pre-wrap;
+ word-wrap: break-word;
+ font-size: 13px;
+ min-height: 100px;
+}
+
+.result-display strong {
+ color: var(--text-color-secondary);
+}
+
+.error {
+ color: var(--error-color);
+ margin-top: calc(var(--spacing-unit) / 2);
+ font-size: 13px;
+}
+
+.login {
+ height: 100vh;
+ display: grid;
+ place-content: center;
+ gap: 20px;
+ text-align: center;
+}
+
+.login a {
+ color: #58a6ff;
+ font-size: 18px;
+}
\ No newline at end of file