WIP: macproblemsolver #6

Draft
Kocoder wants to merge 16 commits from macproblemsolver into master
15 changed files with 445 additions and 173 deletions
Showing only changes of commit c70d38c450 - Show all commits

BIN
.DS_Store vendored Normal file

Binary file not shown.

BIN
Client/.DS_Store vendored Normal file

Binary file not shown.

BIN
Client/Resources/.DS_Store vendored Normal file

Binary file not shown.

View File

@ -2,7 +2,7 @@
<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<Version>1.0.0</Version>
<Version>1.0.11</Version>
<Authors>SZUAbsolventenverein</Authors>
<Company>SZUAbsolventenverein</Company>
<Description>[Description]</Description>

View File

@ -1,6 +1,8 @@
@namespace SZUAbsolventenverein.Theme.Website
@inherits ThemeBase
@inject NavigationManager NavigationManager
@inject ISettingService SettingService
@implements IDisposable
<main role="main">
<nav class="navbar navbar-dark bg-primary fixed-top app-navbar">
@ -10,7 +12,7 @@
</div>
<!-- Versteckte Checkbox zum Steuern des Menüs (nur HTML, kein Blazor) -->
<input type="checkbox" id="nav-toggle" class="nav-toggle" />
<input type="checkbox" id="nav-toggle" class="nav-toggle" @bind="_navOpen" />
<!-- Burger-Icon, das die Checkbox toggelt -->
<label for="nav-toggle" class="nav-toggle-label">
@ -175,6 +177,12 @@
private bool _showDropdown = false;
private bool _login = true;
private bool _register = true;
private bool _navOpen = false;
protected override void OnInitialized()
{
NavigationManager.LocationChanged += LocationChanged;
}
protected override void OnParametersSet()
{
@ -190,5 +198,14 @@
}
}
private void LocationChanged(object sender, LocationChangedEventArgs args)
{
_navOpen = false;
StateHasChanged();
}
public void Dispose()
{
NavigationManager.LocationChanged -= LocationChanged;
}
}

View File

@ -2,9 +2,7 @@
Standard Layout
=========================== */
body {
}
body {}
/* Login-Button (Mobile + Desktop) */
.app-menu-footer .btn-login,
@ -19,17 +17,19 @@ body {
font-weight: 500 !important;
}
/* Hover-Effekt */
.app-menu-footer .btn-login:hover,
.app-menu-footer .login-btn:hover,
.app-menu-footer button:hover,
.app-menu-footer a:hover {
background-color: #f2f2f2 !important;
border-color: #bbb !important;
color: #333 !important;
}
/* Hover-Effekt */
.app-menu-footer .btn-login:hover,
.app-menu-footer .login-btn:hover,
.app-menu-footer button:hover,
.app-menu-footer a:hover {
background-color: #f2f2f2 !important;
border-color: #bbb !important;
color: #333 !important;
}
.content {
margin-top: 60px; /* ungefähr Höhe der Navbar */
margin-top: 60px;
/* ungefähr Höhe der Navbar */
}
/* App Logo */
@ -38,7 +38,7 @@ body {
padding: 0 5px 0 5px;
}
.table > :not(caption) > * > * {
.table> :not(caption)>*>* {
box-shadow: none;
}
@ -99,7 +99,8 @@ body {
/* Navbar als durchgehende Flex-Zeile */
.app-navbar {
display: flex;
flex-wrap: nowrap; /* NICHT umbrechen auf Desktop */
flex-wrap: nowrap;
/* NICHT umbrechen auf Desktop */
align-items: center;
justify-content: flex-start;
z-index: 1000;
@ -123,19 +124,20 @@ body {
/* Burger-Icon (wird nur auf Mobil eingeblendet) */
.nav-toggle-label {
display: none; /* nur auf Mobil sichtbar */
display: none;
/* nur auf Mobil sichtbar */
cursor: pointer;
padding: 0.25rem 0.5rem;
margin-left: auto;
}
.nav-toggle-label span {
display: block;
width: 22px;
height: 2px;
margin: 4px 0;
background-color: #ffffff;
}
.nav-toggle-label span {
display: block;
width: 22px;
height: 2px;
margin: 4px 0;
background-color: #ffffff;
}
/* Menü-Container */
.app-menu {
@ -174,15 +176,15 @@ body {
transition: background-color 0.2s ease, color 0.2s ease;
}
.app-menu .nav-link:hover {
background-color: #4a4a4a;
color: #ffffff !important;
}
.app-menu .nav-link:hover {
background-color: #4a4a4a;
color: #ffffff !important;
}
.app-menu .nav-link.active {
background-color: #3b3b3b;
color: #ffffff !important;
}
.app-menu .nav-link.active {
background-color: #3b3b3b;
color: #ffffff !important;
}
/* ===========================
@ -197,7 +199,8 @@ body {
align-items: center !important;
justify-content: flex-start !important;
position: relative !important;
min-height: 60px; /* optional: fixe Höhe */
min-height: 60px;
/* optional: fixe Höhe */
}
/* Menü nur als Container für den Footer */
@ -229,7 +232,8 @@ body {
.app-menu-footer {
display: flex !important;
gap: 0.75rem !important;
margin-left: auto !important; /* schiebt Footer nach rechts */
margin-left: auto !important;
/* schiebt Footer nach rechts */
padding: 0 !important;
border: none !important;
background: none !important;
@ -270,11 +274,14 @@ body {
/* Sidebar-Wrapper rechts */
.app-menu {
position: fixed;
top: 80px; /* Abstand von oben (über der Navbar + Burger) */
top: 80px;
/* Abstand von oben (über der Navbar + Burger) */
right: 0;
bottom: 0;
width: 70%;
max-width: 280px;
height: calc(100vh - 80px); /* Höhe an das neue top anpassen */
height: calc(100vh - 80px);
/* Höhe an das neue top anpassen */
background-color: #b1b0b0;
flex-direction: column;
align-items: stretch;
@ -303,14 +310,16 @@ body {
padding-top: 0.5rem;
border-top: 1px solid rgba(255, 255, 255, 0.25);
display: flex;
flex-direction: column; /* untereinander statt nebeneinander */
gap: 0.5rem; /* Abstand zwischen Host und Logout */
flex-direction: column;
/* untereinander statt nebeneinander */
gap: 0.5rem;
/* Abstand zwischen Host und Logout */
justify-content: right;
}
/* Sidebar öffnen/schließen über Checkbox */
.nav-toggle:checked ~ .app-menu {
.nav-toggle:checked~.app-menu {
transform: translateX(0);
}
@ -321,4 +330,3 @@ body {
}
}

View File

@ -4,6 +4,8 @@
<TargetFramework>net9.0</TargetFramework>
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
<AccelerateBuildsInVisualStudio>false</AccelerateBuildsInVisualStudio>
<PackageId>SZUAbsolventenverein.Theme.Website</PackageId>
<Version>1.0.11</Version>
Review

Dieser Change müsste mit dem korrekten Build Skript nicht gemacht werden

Dieser Change müsste mit dem korrekten Build Skript nicht gemacht werden
Review

Hab das halt auch geändert weil version dort steht dachte wäre schöner wenn es einheitlich bleibt.

Hab das halt auch geändert weil version dort steht dachte wäre schöner wenn es einheitlich bleibt.
</PropertyGroup>
<ItemGroup>

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>$projectname$</id>
<version>1.0.7</version>
<id>SZUAbsolventenverein.Theme.Website</id>
<version>1.0.11</version>
Review

Dieser Change müsste mit dem korrekten Build Skript nicht gemacht werden

Dieser Change müsste mit dem korrekten Build Skript nicht gemacht werden
Review

Hab das halt auch geändert weil version dort steht dachte wäre schöner wenn es einheitlich bleibt.

Hab das halt auch geändert weil version dort steht dachte wäre schöner wenn es einheitlich bleibt.
<authors>SZUAbsolventenverein</authors>
<owners>SZUAbsolventenverein</owners>
<title>Website</title>
@ -20,9 +20,9 @@
</dependencies>
</metadata>
<files>
<file src="..\Client\bin\Release\$targetframework$\$projectname$.Client.Oqtane.dll" target="lib\$targetframework$" />
<file src="..\Client\bin\Release\$targetframework$\$projectname$.Client.Oqtane.pdb" target="lib\$targetframework$" />
<file src="..\Client\wwwroot\**\*.*" target="wwwroot" />
<file src="../Client/bin/Release/$targetframework$/SZUAbsolventenverein.Theme.Website.Client.Oqtane.dll" target="lib/$targetframework$" />
<file src="../Client/bin/Release/$targetframework$/SZUAbsolventenverein.Theme.Website.Client.Oqtane.pdb" target="lib/$targetframework$" />
<file src="../Client/wwwroot/**/*.*" target="wwwroot" />
Review

Dieser Change müsste mit dem korrekten Build Skript nicht gemacht werden

Dieser Change müsste mit dem korrekten Build Skript nicht gemacht werden
Review

Hab das halt auch geändert weil version dort steht dachte wäre schöner wenn es einheitlich bleibt.

Hab das halt auch geändert weil version dort steht dachte wäre schöner wenn es einheitlich bleibt.
<file src="icon.png" target="" />
</files>
</package>

View File

@ -2,6 +2,6 @@
set TargetFramework=%1
set ProjectName=%2
del "*.nupkg"
"..\..\oqtane.framework\oqtane.package\nuget.exe" pack %ProjectName%.nuspec -Properties targetframework=%TargetFramework%;projectname=%ProjectName%
XCOPY "*.nupkg" "..\..\oqtane.framework\Oqtane.Server\wwwroot\Packages\" /Y
dotnet pack "%ProjectName%.Package.csproj" -p:NuspecFile="%ProjectName%.nuspec" -p:NuspecProperties="targetframework=%TargetFramework%;projectname=%ProjectName%" --no-build -o .
del "..\..\oqtane.framework\Oqtane.Server\Packages\%ProjectName%.*.nupkg"
xcopy /Y *.nupkg "..\..\oqtane.framework\Oqtane.Server\Packages\"
Review

Bitte bei nuget.exe vom oqtane.framework bleiben.

Bitte bei nuget.exe vom oqtane.framework bleiben.

5
Package/release.sh Normal file → Executable file
View File

@ -1,5 +1,6 @@
TargetFramework=$1
ProjectName=$2
cd "$(dirname "$0")"
"..\..\oqtane.framework\oqtane.package\nuget.exe" pack %ProjectName%.nuspec -Properties targetframework=%TargetFramework%;projectname=%ProjectName%
cp -f "*.nupkg" "..\..\oqtane.framework\Oqtane.Server\Packages\"
dotnet pack "${ProjectName}.Package.csproj" -p:NuspecFile="${ProjectName}.nuspec" -p:NuspecProperties="targetframework=${TargetFramework};projectname=${ProjectName}" --no-build -o .
cp -f *.nupkg "../../oqtane.framework/Oqtane.Server/Packages/"

58
RELEASE_GUIDE.md Normal file
View File

@ -0,0 +1,58 @@
# Release Anleitung (Mac / Linux)
> [!NOTE]
> Diese Anleitung und das verwendete Skript sind für **macOS** (und Linux) optimiert.
## 1. Release Skript
Das Skript zur Erstellung des Releases befindet sich hier:
`Theme.SZUAbsolventenverein/Package/release.sh`
## 2. Version ändern
Die Versionsnummer muss in den folgenden **3 Dateien** angepasst werden:
1. **Package Projektdatei**
* Datei: `Theme.SZUAbsolventenverein/Package/SZUAbsolventenverein.Theme.Website.Package.csproj`
* Zeile: `<Version>1.0.11</Version>`
2. **NuGet Spezifikation (Nuspec)**
* Datei: `Theme.SZUAbsolventenverein/Package/SZUAbsolventenverein.Theme.Website.nuspec`
* Zeile: `<version>1.0.11</version>`
3. **Client Projektdatei** (optional)
* Datei: `Theme.SZUAbsolventenverein/Client/SZUAbsolventenverein.Theme.Website.Client.csproj`
* Zeile: `<Version>1.0.11</Version>`
## 3. Release Build erstellen
Führe das `release.sh` Skript im Terminal aus.
```bash
# In das Verzeichnis wechseln (falls noch nicht dort)
cd /Users/adamgaiswinkler/Theme.SZUAbsolventenverein/Package
# Skript ausführen
./release.sh net9.0 SZUAbsolventenverein.Theme.Website
```
**Was passiert dabei?**
1. Der Code wird im `Release` Modus kompiliert.
2. Ein NuGet-Paket (`.nupkg`) wird erstellt.
3. Das Paket wird automatisch in den Server-Ordner kopiert:
`../../oqtane.framework/Oqtane.Server/Packages/`
### Windows
Führe die `release.cmd` in der Eingabeaufforderung (cmd) oder PowerShell aus:
```cmd
cd Theme.SZUAbsolventenverein\Package
release.cmd net9.0 SZUAbsolventenverein.Theme.Website
```
## 4. Server neustarten
Damit das neue Theme geladen wird, musst du den Oqtane Server neustarten (falls er läuft):
1. Server stoppen (`Ctrl + C` im Terminal).
2. Server neu starten: `dotnet run` (im Oqtane.Server Verzeichnis).