From 4aec0f7cf0947684ef8607260c000c9a46811a10 Mon Sep 17 00:00:00 2001 From: Albuswolvrick Date: Wed, 18 Jan 2023 14:49:53 +0100 Subject: [PATCH 1/5] hallo dies sind meine changes --- ImageBoardServerApp/App.razor | 2 ++ ImageBoardServerApp/ImageBoardServerApp.csproj | 4 ++++ .../Shared/Components/Board.razor | 12 ++++++++---- .../Shared/Components/Board.razor.css | 4 ++++ ImageBoardServerApp/wwwroot/static/1.jpeg | Bin 0 -> 55303 bytes 5 files changed, 18 insertions(+), 4 deletions(-) create mode 100644 ImageBoardServerApp/Shared/Components/Board.razor.css create mode 100644 ImageBoardServerApp/wwwroot/static/1.jpeg diff --git a/ImageBoardServerApp/App.razor b/ImageBoardServerApp/App.razor index c7730d1..9a74b62 100644 --- a/ImageBoardServerApp/App.razor +++ b/ImageBoardServerApp/App.razor @@ -6,6 +6,8 @@ Not found +

404

+ noimageFound

Sorry, there's nothing at this address.

diff --git a/ImageBoardServerApp/ImageBoardServerApp.csproj b/ImageBoardServerApp/ImageBoardServerApp.csproj index 5203031..968bf22 100644 --- a/ImageBoardServerApp/ImageBoardServerApp.csproj +++ b/ImageBoardServerApp/ImageBoardServerApp.csproj @@ -17,4 +17,8 @@ + + + + diff --git a/ImageBoardServerApp/Shared/Components/Board.razor b/ImageBoardServerApp/Shared/Components/Board.razor index b66819a..3a66240 100644 --- a/ImageBoardServerApp/Shared/Components/Board.razor +++ b/ImageBoardServerApp/Shared/Components/Board.razor @@ -2,11 +2,15 @@ @using ImageBoardServerApp.Data @using ImageBoardServerApp.Data.Repository -

@board.Topic Board

- /@board.Tag/ - @board.Topic - BulletBoard - +
+

@board.Topic Board

+ + +
+ +

@@ -23,7 +27,7 @@
} } - + diff --git a/ImageBoardServerApp/Shared/Components/Board.razor.css b/ImageBoardServerApp/Shared/Components/Board.razor.css new file mode 100644 index 0000000..62dbafd --- /dev/null +++ b/ImageBoardServerApp/Shared/Components/Board.razor.css @@ -0,0 +1,4 @@ +.boardHeader{ + text-align: center; + +} \ No newline at end of file diff --git a/ImageBoardServerApp/wwwroot/static/1.jpeg b/ImageBoardServerApp/wwwroot/static/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..a5d234770c1e30f5f3fed04f9a79483ab7bf083d GIT binary patch literal 55303 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 literal 0 HcmV?d00001 From e65022fa3b58737304a546c614551186f01d5bc9 Mon Sep 17 00:00:00 2001 From: Albuswolvrick Date: Thu, 19 Jan 2023 13:00:30 +0100 Subject: [PATCH 2/5] prog commit --- ImageBoardServerApp/App.razor | 6 +- ImageBoardServerApp/App.razor.css | 5 ++ ImageBoardServerApp/Data/AccountData.cs | 3 + .../Data/Repository/AccountsRepository.cs | 53 +++++++++++++++++ .../ImageBoardServerApp.csproj | 1 + ImageBoardServerApp/Pages/Login.razor | 58 +++++++++++++++++++ 6 files changed, 124 insertions(+), 2 deletions(-) create mode 100644 ImageBoardServerApp/App.razor.css create mode 100644 ImageBoardServerApp/Data/Repository/AccountsRepository.cs create mode 100644 ImageBoardServerApp/Pages/Login.razor diff --git a/ImageBoardServerApp/App.razor b/ImageBoardServerApp/App.razor index 9a74b62..6e090be 100644 --- a/ImageBoardServerApp/App.razor +++ b/ImageBoardServerApp/App.razor @@ -7,8 +7,10 @@ Not found

404

- noimageFound -

Sorry, there's nothing at this address.

+
+ noimageFound +

Sorry, nothing found. Please go back to the main page. Or watch the tree and find the hidden Cat..

+
\ No newline at end of file diff --git a/ImageBoardServerApp/App.razor.css b/ImageBoardServerApp/App.razor.css new file mode 100644 index 0000000..06c0239 --- /dev/null +++ b/ImageBoardServerApp/App.razor.css @@ -0,0 +1,5 @@ +.Error404{ + text-align: center; + align-items:center; + font-style: italic; +} \ No newline at end of file diff --git a/ImageBoardServerApp/Data/AccountData.cs b/ImageBoardServerApp/Data/AccountData.cs index 868a91e..c12ce39 100644 --- a/ImageBoardServerApp/Data/AccountData.cs +++ b/ImageBoardServerApp/Data/AccountData.cs @@ -15,4 +15,7 @@ public class AccountData [Required] public string Password { get; set; } + + [Required] + public int PermissionInteger { get; set; } } \ No newline at end of file diff --git a/ImageBoardServerApp/Data/Repository/AccountsRepository.cs b/ImageBoardServerApp/Data/Repository/AccountsRepository.cs new file mode 100644 index 0000000..a198f26 --- /dev/null +++ b/ImageBoardServerApp/Data/Repository/AccountsRepository.cs @@ -0,0 +1,53 @@ +using Microsoft.EntityFrameworkCore; + +namespace ImageBoardServerApp.Data.Repository; + +public static class AccountsRepository +{ + public static async Task> getAccountsAsync() + { + await using var db = new AppDBContext(); + return await db.Accounts.ToListAsync(); + } + + public static async Task> getAccountsByMailAsync(string email) + { + await using var db = new AppDBContext(); + return await db.Accounts + .Where(acc => acc.Email.Equals(email)) + .ToListAsync(); + } + + public static async Task getAccountByIdAsync(int accountId) + { + await using var db = new AppDBContext(); + return await db.Accounts.FirstOrDefaultAsync(post => post.AccountID == accountId); + } + + public static async Task createAccountAsync(AccountData accountToCreate) + { + await using var db = new AppDBContext(); + await db.Accounts.AddAsync(accountToCreate); + if (await db.SaveChangesAsync() >= 1) + { + Console.WriteLine($"Created post with ID: {accountToCreate.AccountID}"); + return accountToCreate.AccountID; + } + return -1; + } + + public static async Task updateAccountAsync(AccountData accountToUpdate) + { + await using var db = new AppDBContext(); + db.Accounts.Update(accountToUpdate); + return await db.SaveChangesAsync() >= 1; + } + + public static async Task deleteAccountAsync(int postId) + { + await using var db = new AppDBContext(); + AccountData accountToDelete = await getAccountByIdAsync(postId); + db.Remove(accountToDelete); + return await db.SaveChangesAsync() >= 1; + } +} \ No newline at end of file diff --git a/ImageBoardServerApp/ImageBoardServerApp.csproj b/ImageBoardServerApp/ImageBoardServerApp.csproj index 968bf22..ef2c7bc 100644 --- a/ImageBoardServerApp/ImageBoardServerApp.csproj +++ b/ImageBoardServerApp/ImageBoardServerApp.csproj @@ -7,6 +7,7 @@ + all diff --git a/ImageBoardServerApp/Pages/Login.razor b/ImageBoardServerApp/Pages/Login.razor new file mode 100644 index 0000000..3856758 --- /dev/null +++ b/ImageBoardServerApp/Pages/Login.razor @@ -0,0 +1,58 @@ +@page "/Login" +@using ImageBoardServerApp.Data.Repository +

Login

+
+
+
+ + +
+
+ + +
+ +
+ + @if (tried) + { + @if (verified) + { + Verifed! + } + else + { + False login + } + } + else + { + Plz login + } + +
+@code { + private string Email { get; set; } + private string Password { get; set; } + + private bool verified = false; + private bool tried = false; + + private async Task SubmitForm() + { + tried = true; + AccountData target = (await AccountsRepository.getAccountsByMailAsync(Email))[0]; + if (target == null) + { + verified = false; + return; + } + verified = BCrypt.Net.BCrypt.Verify(Password, target.Password); + if (verified) + { + verified = true; + return; + } + verified = false; + } +} \ No newline at end of file From a866fc9a503c67c9207cda3e28246e84e436f5ca Mon Sep 17 00:00:00 2001 From: Albuswolvrick Date: Thu, 19 Jan 2023 20:56:40 +0100 Subject: [PATCH 3/5] Edit the rules problemce faced the rules are not good readeble. they are in one lign and not undereach other and the text sice have to be adeded --- ImageBoardServerApp/Pages/Rules.razor | 24 ++++++++++++++++++++++- ImageBoardServerApp/Pages/Rules.razor.css | 8 ++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 ImageBoardServerApp/Pages/Rules.razor.css diff --git a/ImageBoardServerApp/Pages/Rules.razor b/ImageBoardServerApp/Pages/Rules.razor index 474a507..1d208e0 100644 --- a/ImageBoardServerApp/Pages/Rules.razor +++ b/ImageBoardServerApp/Pages/Rules.razor @@ -1,5 +1,27 @@ @page "/rules" -

Rules

+
+

Rules

+
+
+ + nudes are forbiden! + + + nacket pictures are Forbiden! + + + no political statments! + + + Trees are nice! + + + Cats are nice! + + + Be mentely Unstable!:-) + +
@code { diff --git a/ImageBoardServerApp/Pages/Rules.razor.css b/ImageBoardServerApp/Pages/Rules.razor.css new file mode 100644 index 0000000..51ee9b9 --- /dev/null +++ b/ImageBoardServerApp/Pages/Rules.razor.css @@ -0,0 +1,8 @@ +.rules_headline{ + text-align: center; + /*the text have to be in a biger Pixel number I do not know how to do it */ +} +.rules_text{ + text-align: center; + /*the text sice can stay like it is, if you do not want to change it.*/ +} \ No newline at end of file From c68f4e4e8fae3780ed756e056285ca0d9186fee4 Mon Sep 17 00:00:00 2001 From: Albuswolvrick Date: Sat, 21 Jan 2023 14:19:25 +0100 Subject: [PATCH 4/5] the rules are in a list the list is on the right nothing else in this comit --- ImageBoardServerApp/Pages/Rules.razor | 31 ++++++++--------------- ImageBoardServerApp/Pages/Rules.razor.css | 7 +++-- 2 files changed, 16 insertions(+), 22 deletions(-) diff --git a/ImageBoardServerApp/Pages/Rules.razor b/ImageBoardServerApp/Pages/Rules.razor index 1d208e0..f85929f 100644 --- a/ImageBoardServerApp/Pages/Rules.razor +++ b/ImageBoardServerApp/Pages/Rules.razor @@ -2,26 +2,17 @@

Rules

-
- - nudes are forbiden! - - - nacket pictures are Forbiden! - - - no political statments! - - - Trees are nice! - - - Cats are nice! - - - Be mentely Unstable!:-) - -
+
    +
  • nudes are forbidden!
  • +
  • nacket pictures are forbidden!
  • +
  • no political statements!
  • +
  • Trees are nice!
  • +
  • Cats are nice!
  • +
  • Be mentely Unstable!:-)
  • +
+ + + @code { diff --git a/ImageBoardServerApp/Pages/Rules.razor.css b/ImageBoardServerApp/Pages/Rules.razor.css index 51ee9b9..5635ed6 100644 --- a/ImageBoardServerApp/Pages/Rules.razor.css +++ b/ImageBoardServerApp/Pages/Rules.razor.css @@ -1,8 +1,11 @@ .rules_headline{ text-align: center; + font-weight: 1000; /*the text have to be in a biger Pixel number I do not know how to do it */ } -.rules_text{ - text-align: center; +.rules_list{ + display:block; + ont-size: 30px; + font-weight: 60 ; /*the text sice can stay like it is, if you do not want to change it.*/ } \ No newline at end of file From e152f8f30749fd6960a1530eb4d527bebf3d8297 Mon Sep 17 00:00:00 2001 From: Albuswolvrick Date: Sat, 21 Jan 2023 14:27:06 +0100 Subject: [PATCH 5/5] the rules are fixed --- ImageBoardServerApp/Pages/Rules.razor.css | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ImageBoardServerApp/Pages/Rules.razor.css b/ImageBoardServerApp/Pages/Rules.razor.css index 5635ed6..2f34911 100644 --- a/ImageBoardServerApp/Pages/Rules.razor.css +++ b/ImageBoardServerApp/Pages/Rules.razor.css @@ -4,8 +4,9 @@ /*the text have to be in a biger Pixel number I do not know how to do it */ } .rules_list{ + text-align:right; display:block; - ont-size: 30px; + font-size: 14px; font-weight: 60 ; /*the text sice can stay like it is, if you do not want to change it.*/ } \ No newline at end of file