first commit

This commit is contained in:
2025-12-04 11:09:39 +01:00
commit 1c26370823
9 changed files with 2994 additions and 0 deletions

View File

@@ -0,0 +1,165 @@
<style>
/* Repository cards - clean compact design with visible descriptions */
.user.profile .flex.flex-item,
.user.profile div[class*="flex-list"] > div[class*="flex"] {
background: rgba(255, 255, 255, 0.6) !important;
border: 1px solid rgba(140, 169, 255, 0.15) !important;
border-radius: 0.75rem !important;
padding: 0.875rem 1rem !important;
margin-bottom: 0.5rem !important;
box-shadow: 0 1px 3px rgba(140, 169, 255, 0.08) !important;
transition: all 0.2s ease !important;
}
.user.profile .flex.flex-item:hover,
.user.profile div[class*="flex-list"] > div[class*="flex"]:hover {
background: rgba(255, 255, 255, 0.85) !important;
border-color: rgba(140, 169, 255, 0.3) !important;
box-shadow: 0 2px 8px rgba(140, 169, 255, 0.12) !important;
transform: translateY(-1px) !important;
}
/* Make nested divs blend seamlessly but keep their display/spacing */
.user.profile .flex.flex-item > *,
.user.profile .flex.flex-item > * > *,
.user.profile .flex.flex-item > * > * > *,
.user.profile div[class*="flex-list"] > div[class*="flex"] > *,
.user.profile div[class*="flex-list"] > div[class*="flex"] > * > *,
.user.profile div[class*="flex-list"] > div[class*="flex"] > * > * > * {
background: transparent !important;
background-color: transparent !important;
background-image: none !important;
border: none !important;
border-radius: 0 !important;
box-shadow: none !important;
outline: none !important;
}
/* Repository title styling */
.user.profile .flex.flex-item .flex-item-title a {
font-size: 1rem !important;
font-weight: 600 !important;
color: #1e293b !important;
display: inline-block !important;
}
/* Description styling - make sure it's visible! */
.user.profile .flex.flex-item .flex-item-body,
.user.profile .flex.flex-item p.desc,
.user.profile .flex.flex-item .description {
display: block !important;
margin-top: 0.375rem !important;
margin-bottom: 0.375rem !important;
font-size: 0.875rem !important;
line-height: 1.4 !important;
color: #64748b !important;
opacity: 1 !important;
visibility: visible !important;
}
/* Metadata row (language, stars, etc.) */
.user.profile .flex.flex-item .flex-item-trailing {
display: flex !important;
gap: 0.75rem !important;
font-size: 0.875rem !important;
color: #64748b !important;
}
</style>
<script>
// Force clean repository cards - strip ALL nested styling
(function() {
'use strict';
function cleanRepoCards() {
// Find all repository card containers
const repoCards = document.querySelectorAll('.user.profile .flex.flex-item, .user.profile div[class*="flex-list"] > div[class*="flex"]');
repoCards.forEach(card => {
// Get ALL nested elements (deep)
const allNested = card.querySelectorAll('*');
allNested.forEach(element => {
// Force remove inline styles that create backgrounds/borders
element.style.background = 'transparent';
element.style.backgroundColor = 'transparent';
element.style.backgroundImage = 'none';
element.style.border = 'none';
element.style.borderRadius = '0';
element.style.boxShadow = 'none';
element.style.backdropFilter = 'none';
element.style.webkitBackdropFilter = 'none';
element.style.outline = 'none';
});
});
// Also apply via CSS
const style = document.createElement('style');
style.id = 'ocean-repo-cards-clean';
style.textContent = `
.user.profile .flex.flex-item,
.user.profile div[class*="flex-list"] > div[class*="flex"] {
background: rgba(255, 255, 255, 0.95) !important;
border: 1px solid rgba(140, 169, 255, 0.25) !important;
border-radius: 1rem !important;
padding: 1rem 1.25rem !important;
margin-bottom: 0.75rem !important;
box-shadow: 0 2px 8px rgba(140, 169, 255, 0.1) !important;
}
/* Force ALL nested elements to be completely transparent */
.user.profile .flex.flex-item *,
.user.profile div[class*="flex-list"] > div[class*="flex"] * {
background: transparent !important;
background-color: transparent !important;
background-image: none !important;
border: none !important;
border-radius: 0 !important;
box-shadow: none !important;
outline: none !important;
}
`;
const oldStyle = document.getElementById('ocean-repo-cards-clean');
if (oldStyle) oldStyle.remove();
document.head.appendChild(style);
}
// Run immediately
cleanRepoCards();
// Run after DOM ready
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', cleanRepoCards);
}
// Run after everything loads
window.addEventListener('load', () => {
cleanRepoCards();
// Run again after a slight delay to catch any late-loading styles
setTimeout(cleanRepoCards, 100);
setTimeout(cleanRepoCards, 500);
});
// Watch for changes and re-clean
const observer = new MutationObserver(() => {
cleanRepoCards();
});
// Start observing once DOM is ready
if (document.body) {
observer.observe(document.body, {
childList: true,
subtree: true
});
} else {
window.addEventListener('load', () => {
observer.observe(document.body, {
childList: true,
subtree: true
});
});
}
})();
</script>

View File

@@ -0,0 +1,33 @@
<div class="custom-footer">
<div class="footer-inner">
<div>
<h3><i class="fa-solid fa-code-branch me-2"></i>Build together</h3>
<p>Deliver faster with lightweight workflows, protected branches and integrated automation. {{AppName}} keeps your DevOps stack on hardware you trust.</p>
</div>
<div>
<h3>Resources</h3>
<ul class="footer-links">
<li><a href="https://docs.gitea.com/" target="_blank" rel="noopener"><i class="fa-solid fa-book-open me-2"></i>Product documentation</a></li>
<li><a href="https://blog.gitea.com/" target="_blank" rel="noopener"><i class="fa-solid fa-newspaper me-2"></i>Release notes</a></li>
<li><a href="https://github.com/go-gitea/gitea" target="_blank" rel="noopener"><i class="fa-brands fa-github me-2"></i>Source code</a></li>
</ul>
</div>
<div>
<h3>Get help</h3>
<ul class="footer-links">
<li><a href="https://docs.gitea.com/installation" target="_blank" rel="noopener"><i class="fa-solid fa-server me-2"></i>Installation guide</a></li>
<li><a href="https://docs.gitea.com/administration" target="_blank" rel="noopener"><i class="fa-solid fa-shield-halved me-2"></i>Admin handbook</a></li>
<li><a href="https://docs.gitea.com/usage" target="_blank" rel="noopener"><i class="fa-solid fa-people-group me-2"></i>User onboarding</a></li>
</ul>
</div>
</div>
<div class="footer-divider"></div>
<div class="footer-bottom">
<span>© {{AppName}} self-hosted Git, streamlined.</span>
<div class="social-links">
<a href="https://github.com/go-gitea" target="_blank" rel="noopener" aria-label="GitHub"><i class="fa-brands fa-github"></i></a>
<a href="https://twitter.com/giteaio" target="_blank" rel="noopener" aria-label="X"><i class="fa-brands fa-x-twitter"></i></a>
<a href="https://discord.gg/gitea" target="_blank" rel="noopener" aria-label="Discord"><i class="fa-brands fa-discord"></i></a>
</div>
</div>
</div>

File diff suppressed because it is too large Load Diff

157
custom/templates/home.tmpl Normal file
View File

@@ -0,0 +1,157 @@
{{template "base/head" .}}
<div role="main" aria-label="{{if .IsSigned}}{{ctx.Locale.Tr "dashboard"}}{{else}}{{ctx.Locale.Tr "home"}}{{end}}" class="page-content p-0">
{{if .IsSigned}}
<section class="py-5 bg-soft border-bottom">
<div class="container">
<div class="row align-items-center g-4">
<div class="col-lg-8">
<span class="badge text-bg-primary text-uppercase mb-3">Welcome back</span>
<h1 class="display-5 fw-bold mb-3">Dashboard · {{.SignedUser.Name}}</h1>
<p class="lead mb-4">Quick links to jump straight into your day with {{AppName}}.</p>
<div class="d-flex flex-wrap gap-3">
<a class="btn btn-primary btn-lg" href="{{AppSubUrl}}/repo/create">
<i class="fa-solid fa-circle-plus me-2"></i>Create repository
</a>
<a class="btn btn-outline-primary btn-lg" href="{{AppSubUrl}}/explore/repos">
<i class="fa-solid fa-compass me-2"></i>Explore projects
</a>
</div>
</div>
<div class="col-lg-4">
<div class="card shadow-sm border-0">
<div class="card-body">
<h2 class="h5 fw-semibold mb-4">Quick actions</h2>
<ul class="list-group list-group-flush">
<li class="list-group-item px-0"><a class="link-primary text-decoration-none" href="{{AppSubUrl}}/{{.SignedUser.Name}}"><i class="fa-solid fa-user me-2"></i>View profile</a></li>
<li class="list-group-item px-0"><a class="link-primary text-decoration-none" href="{{AppSubUrl}}/{{.SignedUser.Name}}?tab=repositories"><i class="fa-solid fa-book me-2"></i>Manage repositories</a></li>
<li class="list-group-item px-0"><a class="link-primary text-decoration-none" href="{{AppSubUrl}}/notifications"><i class="fa-solid fa-bell me-2"></i>Check notifications</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
</section>
<section class="py-5">
<div class="container">
<div class="row g-4">
<div class="col-md-4">
<div class="card home-stat-card h-100">
<div class="card-body">
<h3 class="h5 fw-semibold mb-3"><i class="fa-solid fa-timeline me-2 text-primary"></i>Stay updated</h3>
<p class="text-muted mb-3">Jump into your activity feed to review pull requests, issues and events.</p>
<a class="btn btn-sm btn-outline-primary" href="{{AppSubUrl}}/dashboard">Open dashboard</a>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card homestat-card h-100">
<div class="card-body">
<h3 class="h5 fw-semibold mb-3"><i class="fa-solid fa-diagram-project me-2 text-primary"></i>Manage repositories</h3>
<p class="text-muted mb-3">Keep tabs on projects, branches and pull requests that matter most.</p>
<a class="btn btn-sm btn-outline-primary" href="{{AppSubUrl}}/{{.SignedUser.Name}}?tab=repositories">View repositories</a>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card home-stat-card h-100">
<div class="card-body">
<h3 class="h5 fw-semibold mb-3"><i class="fa-solid fa-gear me-2 text-primary"></i>Tune your settings</h3>
<p class="text-muted mb-3">Update SSH keys, notifications and integrations for your workflow.</p>
<a class="btn btn-sm btn-outline-primary" href="{{AppSubUrl}}/user/settings">Open settings</a>
</div>
</div>
</div>
</div>
</div>
</section>
{{else}}
<section class="home-hero">
<!-- Sun rays -->
<div class="sun-rays"></div>
<!-- Whale -->
<div class="whale-container">
<div class="whale-box">
<div class="whale-left">
<div class="whale-belly"></div>
</div>
<div class="whale-middle">
<div class="whale-belly"></div>
</div>
<div class="whale-tail"></div>
<div class="whale-fin1"></div>
<div class="whale-fin2"></div>
<div class="whale-eye"></div>
</div>
</div>
<!-- Bubbles -->
<div class="bubble bubble-1"></div>
<div class="bubble bubble-2"></div>
<div class="bubble bubble-3"></div>
<div class="bubble bubble-4"></div>
<div class="bubble bubble-5"></div>
<div class="bubble bubble-6"></div>
<div class="container py-5">
<div class="row align-items-center g-5">
<div class="col-12 col-lg-6">
<h1 class="mb-4">Build, collaborate and deliver with confidence.</h1>
<p class="lead mb-5">Lightweight, powerful and totally yours. {{AppName}} gives your team a beautiful code collaboration hub backed by open source freedom.</p>
<div class="d-flex flex-wrap gap-3">
<a class="hero-btn-primary" href="{{AppSubUrl}}/user/login">
<i class="fa-solid fa-right-to-bracket"></i>Sign in
</a>
<a class="hero-btn-secondary" href="{{AppSubUrl}}/explore/repos">
<i class="fa-solid fa-compass"></i>Explore projects
</a>
<a class="hero-btn-tertiary" href="https://docs.gitea.com/" target="_blank">
<i class="fa-solid fa-book-open"></i>Documentation
</a>
</div>
</div>
</div>
</div>
</section>
<section class="py-5 bg-white">
<div class="container">
<div class="row g-4">
<div class="col-md-4">
<div class="feature-icon mb-3"><i class="fa-solid fa-cloud-arrow-up"></i></div>
<h3 class="h5 fw-semibold mb-3">Ship faster</h3>
<p class="text-muted">Built-in CI runners and packages help your team move ideas to production faster with less friction.</p>
</div>
<div class="col-md-4">
<div class="feature-icon mb-3"><i class="fa-solid fa-lock"></i></div>
<h3 class="h5 fw-semibold mb-3">Stay secure</h3>
<p class="text-muted">Enforce branch protections, SSO, fine-grained permissions and audit logs to keep your codebase safe.</p>
</div>
<div class="col-md-4">
<div class="feature-icon mb-3"><i class="fa-solid fa-plug"></i></div>
<h3 class="h5 fw-semibold mb-3">Integrate everywhere</h3>
<p class="text-muted">Connect with runners, chatops and automation platforms using webhooks, OAuth and a RESTful API.</p>
</div>
</div>
</div>
</section>
<section class="py-5">
<div class="container">
<div class="home-footer-cta text-center text-lg-start">
<div class="row align-items-center g-4">
<div class="col-lg-8">
<h2 class="mb-3">Ready to solve real world problem?</h2>
<p class="mb-0">Sign in to your {{AppName}} instance or invite your team to collaborate securely with pull requests, packages and automation.</p>
</div>
<div class="col-lg-4 text-lg-end">
<a class="btn btn-light btn-lg text-primary" href="{{AppSubUrl}}/user/sign_up">
<i class="fa-solid fa-user-plus me-2"></i>{{ctx.Locale.Tr "sign_up"}}
</a>
</div>
</div>
</div>
</div>
</section>
{{end}}
</div>
{{template "base/footer" .}}