Bladeren bron

Merge pull request #63 from Moonlight-Panel/WebsiteManagerRedesign

domain view redesigned | fixed some masu at midnight
Daniel Balk 2 jaren geleden
bovenliggende
commit
81b522a80a

+ 70 - 69
Moonlight/Shared/Components/WebsiteControl/WebsiteDatabases.razor

@@ -6,96 +6,97 @@
 @inject SmartTranslateService SmartTranslateService
 @inject WebsiteService WebsiteService
 
-<div class="card card-flush h-xl-100">
-    <LazyLoader @ref="LazyLoader" Load="Load">
-        <div class="card-header">
-            <span class="card-toolbar">
-                <div class="mt-4">
-                    <SmartForm Model="Model" OnValidSubmit="OnValidSubmit">
-                        <div class="input-group">
-                            <InputText @bind-Value="Model.Name" type="text" class="form-control" placeholder="@(SmartTranslateService.Translate("Name"))"></InputText>
-                            <InputText @bind-Value="Model.Password" type="password" class="form-control" placeholder="@(SmartTranslateService.Translate("Password"))"></InputText>
-                            <button class="btn btn-primary" type="submit">
-                                <TL>Create</TL>
-                            </button>
-                        </div>
-                    </SmartForm>
-                </div>
-            </span>
+<LazyLoader @ref="LazyLoader" Load="Load">
+    <div class="card w-100 mb-4">
+        <div class="card-body py-2">
+            
+            <div class="my-4 w-100">
+                <SmartForm Model="Model" OnValidSubmit="OnValidSubmit">
+                    <div class="input-group">
+                        <InputText @bind-Value="Model.Name" type="text" class="form-control" placeholder="@(SmartTranslateService.Translate("Name"))"></InputText>
+                        <InputText @bind-Value="Model.Password" type="password" class="form-control" placeholder="@(SmartTranslateService.Translate("Password"))"></InputText>
+                        <button class="btn btn-primary" type="submit">
+                            <TL>Create</TL>
+                        </button>
+                    </div>
+                </SmartForm>
+            </div>
         </div>
-        <div class="card-body pt-2">
-            @if (Databases.Any())
-            {
-                <div class="accordion" id="databases">
-                    @foreach (var database in Databases)
-                    {
-                        <div class="accordion-item">
-                            <h2 class="accordion-header" id="databases_header_@(database.Id)">
-                                <button class="accordion-button fs-4 fw-semibold" type="button" data-bs-toggle="collapse" data-bs-target="#databases_body_@(database.Id)">
-                                    @(database.Name) - @(database.Type.ToUpper())
-                                </button>
-                            </h2>
-                            <div id="databases_body_@(database.Id)" class="accordion-collapse collapse" data-bs-parent="#databases">
-                                <div class="accordion-body">
-                                    <div class="mt-7 row fv-row mb-7">
-                                        <div class="col-md-3 text-md-start">
+    </div>
+    @if (Databases.Any())
+    {
+        @foreach (var databases in Databases.Chunk(2))
+        {
+            <div class="row">
+                @foreach (var database in databases)
+                {
+                    <div class="col-sm-6">
+                        <div class="card">
+                            <div class="card-header">
+                                <div class="card-title">
+                                    <span>@(database.Name) - @(database.Type.ToUpper().Replace("MYSQL", "MySQL"))</span>
+                                </div>
+                            </div>
+                            <div class="card-body me-1">
+                                <table class="w-100 table-layout-fixed">
+                                    <tr>
+                                        <td class="w-25">
                                             <label class="fs-6 fw-semibold form-label mt-3">
                                                 <TL>Host</TL>
                                             </label>
-                                        </div>
-                                        <div class="col-md-9">
+                                        </td>
+                                        <td class="pb-2">
                                             <input type="text" class="form-control form-control-solid disabled" disabled="disabled" value="@(Host)">
-                                        </div>
-                                    </div>
-                                    <div class="mt-7 row fv-row mb-7">
-                                        <div class="col-md-3 text-md-start">
+                                        </td>
+                                    </tr>
+                                    <tr>
+                                        <td>
                                             <label class="fs-6 fw-semibold form-label mt-3">
                                                 <TL>Port</TL>
                                             </label>
-                                        </div>
-                                        <div class="col-md-9">
+                                        </td>
+                                        <td class="pb-2">
                                             <input type="text" class="form-control form-control-solid disabled" disabled="disabled" value="@(DatabaseServer.Port)">
-                                        </div>
-                                    </div>
-                                    <div class="mt-7 row fv-row mb-7">
-                                        <div class="col-md-3 text-md-start">
+                                        </td>
+                                    </tr>
+                                    <tr>
+                                        <td>
                                             <label class="fs-6 fw-semibold form-label mt-3">
                                                 <TL>Username</TL>
                                             </label>
-                                        </div>
-                                        <div class="col-md-9">
+                                        </td>
+                                        <td class="pb-2">
                                             <input type="text" class="form-control form-control-solid disabled" disabled="disabled" value="@(database.Name)">
-                                        </div>
-                                    </div>
-                                    <div class="mt-7 row fv-row mb-7">
-                                        <div class="col-md-3 text-md-start">
+                                        </td>
+                                    </tr>
+                                    <tr>
+                                        <td>
                                             <label class="fs-6 fw-semibold form-label mt-3">
                                                 <TL>Database</TL>
                                             </label>
-                                        </div>
-                                        <div class="col-md-9">
+                                        </td>
+                                        <td class="pb-2">
                                             <input type="text" class="form-control form-control-solid disabled" disabled="disabled" value="@(database.Name)">
-                                        </div>
-                                    </div>
-                                    <div class="text-end">
-                                        <DeleteButton Confirm="true" OnClick="() => DeleteDatabase(database)" />
-                                    </div>
+                                        </td>
+                                    </tr>
+                                </table>
+                                <div class="text-end mt-2">
+                                    <DeleteButton Confirm="true" OnClick="() => DeleteDatabase(database)"/>
                                 </div>
                             </div>
                         </div>
-                    }
-                </div>
-            }
-            else
-            {
-                <div class="alert alert-warning">
-                    <TL>No databases found for this website</TL>
-                </div>
-            }
+                    </div>
+                }
+            </div>
+        }
+    }
+    else
+    {
+        <div class="alert alert-warning">
+            <TL>No databases found for this website</TL>
         </div>
-    </LazyLoader>
-
-</div>
+    }
+</LazyLoader>
 
 @code
 {

+ 4 - 1
Moonlight/Shared/Views/Websites/Create.razor

@@ -132,7 +132,10 @@
 
     private async Task OnValidSubmit()
     {
-        if (WebsiteRepository.Get().Count() < (await SubscriptionService.GetLimit("websites")).Amount)
+        if (WebsiteRepository
+            .Get()
+            .Include(x => x.Owner)
+            .Count(x => x.Owner.Id == User.Id) < (await SubscriptionService.GetLimit("websites")).Amount)
         {
             var website = await WebsiteService.Create(Model.BaseDomain, User, PleskServer);
 

+ 1 - 0
Moonlight/resources/lang/de_de.lang

@@ -565,3 +565,4 @@ Guest;Guest
 You need a domain;You need a domain
 New post;New post
 New entry;New entry
+You reached the maximum amount of websites in your subscription;You reached the maximum amount of websites in your subscription