mirror of
https://dev.azure.com/tstanciu94/PhantomMind/_git/Bitip
synced 2025-10-13 01:52:19 +03:00
- feat: Implement GeoIP lookup service with frontend interface - feat: Add dotenv dependency and configure environment variables; update rate limiter response handling - refactor: Remove development Dockerfile and docker-compose for streamlined setup; update GeoIP service to use new MaxMind types - chore: update dependencies and ESLint configuration - feat: Add documentation for breaking changes and package updates after major version upgrades - feat: Add environment configuration files and update module imports for ES module support - feat: Update nodemon configuration and add register script for ES module support - feat: Add .gitattributes file to enforce LF line endings and define text/binary file types - feat: Implement graceful shutdown with timeout and update nodemon configuration - feat: Update environment configuration and add detailed configuration guide - feat: add frontend origin validation and update rate limits - feat: add versioning arguments and detailed OCI image labels to Dockerfile - feat: add version and release notes endpoints, update frontend to display release notes - feat: Refactor App component to use React Router for navigation - feat: Update navigation styles and remove unused type definitions for react-router-dom - feat: Generate runtime configuration for frontend and serve env.js - feat: Update dependencies, enhance ESLint configuration, and improve Vite setup - refactor: Remove ensureTrailingSlash function and simplify basePath assignment in Vite config
138 lines
2.0 KiB
CSS
138 lines
2.0 KiB
CSS
.content-section {
|
|
margin-bottom: 30px;
|
|
padding-left: 15px;
|
|
}
|
|
|
|
.section-title {
|
|
font-size: 1.4em;
|
|
color: #333;
|
|
margin-bottom: 15px;
|
|
border-bottom: 1px solid #e0e0e0;
|
|
padding-bottom: 8px;
|
|
}
|
|
|
|
.section-content {
|
|
line-height: 1.7;
|
|
color: #555;
|
|
margin-bottom: 15px;
|
|
}
|
|
|
|
.section-content p {
|
|
margin-bottom: 15px;
|
|
}
|
|
|
|
.section-content strong {
|
|
color: #333;
|
|
font-weight: 600;
|
|
}
|
|
|
|
.section-content em {
|
|
font-style: italic;
|
|
}
|
|
|
|
.section-content code {
|
|
background: #e8edf2;
|
|
padding: 2px 6px;
|
|
border-radius: 3px;
|
|
font-family: 'Consolas', 'Monaco', monospace;
|
|
font-size: 0.9em;
|
|
color: #d63384;
|
|
}
|
|
|
|
.section-items {
|
|
list-style: none;
|
|
padding-left: 0;
|
|
margin: 0;
|
|
}
|
|
|
|
.section-item {
|
|
padding: 10px 15px;
|
|
margin-bottom: 8px;
|
|
background: #f8f9fa;
|
|
border-left: 3px solid #4a90e2;
|
|
border-radius: 4px;
|
|
line-height: 1.6;
|
|
}
|
|
|
|
.section-item strong {
|
|
color: #333;
|
|
font-weight: 600;
|
|
}
|
|
|
|
.section-item em {
|
|
font-style: italic;
|
|
}
|
|
|
|
.section-item code {
|
|
background: #e8edf2;
|
|
padding: 2px 6px;
|
|
border-radius: 3px;
|
|
font-family: 'Consolas', 'Monaco', monospace;
|
|
font-size: 0.9em;
|
|
color: #d63384;
|
|
}
|
|
|
|
.section-subsections {
|
|
margin-top: 20px;
|
|
padding-left: 20px;
|
|
}
|
|
|
|
.subsection {
|
|
margin-bottom: 20px;
|
|
}
|
|
|
|
.subsection-title {
|
|
font-size: 1.2em;
|
|
color: #555;
|
|
margin-bottom: 10px;
|
|
font-weight: 600;
|
|
}
|
|
|
|
.subsection-items {
|
|
list-style: none;
|
|
padding-left: 0;
|
|
margin: 0;
|
|
}
|
|
|
|
.subsection-item {
|
|
padding: 8px 12px;
|
|
margin-bottom: 6px;
|
|
background: #fafbfc;
|
|
border-left: 2px solid #6c757d;
|
|
border-radius: 3px;
|
|
line-height: 1.5;
|
|
font-size: 0.95em;
|
|
}
|
|
|
|
.subsection-item strong {
|
|
color: #333;
|
|
font-weight: 600;
|
|
}
|
|
|
|
.subsection-item em {
|
|
font-style: italic;
|
|
}
|
|
|
|
.subsection-item code {
|
|
background: #e8edf2;
|
|
padding: 2px 5px;
|
|
border-radius: 3px;
|
|
font-family: 'Consolas', 'Monaco', monospace;
|
|
font-size: 0.85em;
|
|
color: #d63384;
|
|
}
|
|
|
|
@media (max-width: 768px) {
|
|
.section-title {
|
|
font-size: 1.2em;
|
|
}
|
|
|
|
.subsection-title {
|
|
font-size: 1.1em;
|
|
}
|
|
|
|
.section-subsections {
|
|
padding-left: 10px;
|
|
}
|
|
}
|