Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
b720334
Refactor search bar input event handling for improved readability and…
May 7, 2025
2ca31df
Refactor components and enhance authentication page
May 7, 2025
843621f
Refactor authentication form components and styles for improved struc…
May 7, 2025
ec31992
Enhance form field styles for user validation feedback
May 9, 2025
05f646c
Refactor password requirements styling for improved layout consistency
May 9, 2025
a690694
Update postStartCommand keys and upgrade dependencies in package-lock…
May 12, 2025
f131585
Refactor devcontainer and VSCode settings; update Prettier configurat…
May 12, 2025
7e49fd1
Refactor contact page layout and enhance form field integration for i…
May 13, 2025
c2ba5cc
Refactor devcontainer and VSCode settings for improved formatting and…
May 13, 2025
8a5488b
Refactor contact page layout and enhance form field integration; add …
May 13, 2025
34805ac
Fix spacing in CSS selectors for improved readability and maintainabi…
May 13, 2025
1a24001
Refactor Header and Authentication components; update styles for impr…
May 13, 2025
2b99fa5
Refactor contact page styles for improved layout and responsiveness; …
May 13, 2025
317720b
Enhance authentication and contact sections with glassy background st…
May 13, 2025
74bab1a
Add cursor style for links opening in new tab for better UX
May 13, 2025
3446826
Merge branch 'main' into ui-ux/fill_contact_page
Vianpyro May 19, 2025
26f91d0
Update authentication.astro
Vianpyro May 19, 2025
657cb83
Update authentication.astro
Vianpyro May 19, 2025
5bfd340
Fix CSS attribute quotes for consistency in global styles
May 19, 2025
809275c
Update package-lock.json to version 4.41.0 for multiple rollup packag…
May 19, 2025
e1508f9
Fix background color opacity in glassy section for improved visibility
May 19, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .prettierrc
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,6 @@
"semi": false,
"singleQuote": true,
"tabWidth": 4,
"trailingComma": "es5"
"trailingComma": "es5",
"useTabs": false
}
242 changes: 121 additions & 121 deletions package-lock.json

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions src/assets/icon/brand-bluesky.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
7 changes: 7 additions & 0 deletions src/assets/icon/brand-discord.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions src/assets/icon/brand-facebook.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 6 additions & 0 deletions src/assets/icon/brand-instagram.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 6 additions & 0 deletions src/assets/icon/brand-linkedin.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 6 additions & 0 deletions src/assets/icon/brand-pinterest.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 9 additions & 0 deletions src/assets/icon/brand-reddit.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions src/assets/icon/brand-x.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 6 additions & 0 deletions src/assets/icon/brand-youtube.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 0 additions & 1 deletion src/components/Header.astro
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,6 @@ const { canSearch = false } = Astro.props || {}
header > a {
display: flex;
gap: var(--spacing-small);
text-decoration: none;
}

ul {
Expand Down
4 changes: 2 additions & 2 deletions src/pages/authentication.astro
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import PasswordRequirements from '../components/PasswordRequirements.astro'

<Main title="Authentication">
<div id="authentication">
<section id="login">
<section id="login" class="glassy">
<h2>Login</h2>
<form action="#">
<FormField id="login-username" type="text" name="login-username" label="Username" />
Expand All @@ -21,7 +21,7 @@ import PasswordRequirements from '../components/PasswordRequirements.astro'
</a>
</section>

<section id="register" style="display: none;">
<section id="register" class="glassy" style="display: none;">
<h2>Register</h2>
<form action="#">
<FormField id="register-uname" type="text" name="register-uname" label="Username" />
Expand Down
182 changes: 181 additions & 1 deletion src/pages/contact.astro
Original file line number Diff line number Diff line change
@@ -1,5 +1,185 @@
---
import Main from '../layouts/Main.astro'
import FormField from '../components/FormField.astro'
import IconBlueSky from '../assets/icon/brand-bluesky.svg'
import IconDiscord from '../assets/icon/brand-discord.svg'
import IconFacebook from '../assets/icon/brand-facebook.svg'
import IconGitHub from '../assets/icon/brand-github.svg'
import IconInstagram from '../assets/icon/brand-instagram.svg'
import IconLinkedIn from '../assets/icon/brand-linkedin.svg'
import IconPinterest from '../assets/icon/brand-pinterest.svg'
import IconReddit from '../assets/icon/brand-reddit.svg'
import IconTwitterX from '../assets/icon/brand-x.svg'
import IconYouTube from '../assets/icon/brand-youtube.svg'
---

<Main title="Contact Us" />
<Main title="Contact Us">
<div id="contact-us">
<h1>How to Get in Touch</h1>
<section id="contact" class="glassy">
<h2>Work with Us</h2>
<div>
<span>
<h3>Professional cook?</h3>
<button>Let's work together!</button>
</span>
<span>
<h3>Want to promote your product?</h3>
<button>Contact us for sponsorship!</button>
</span>
<span>
<h3>Want to contribute to the code?</h3>
<button>Reach out on GitHub!</button>
</span>
<span>
<h3>Found a bug?</h3>
<button>Report a bug!</button>
</span>
</div>
</section>
<section id="social" class="glassy">
<h2>Follow Us</h2>
<div>
<a href=""><IconBlueSky /></a>
<a href=""><IconDiscord /></a>
<a href=""><IconFacebook /></a>
<a href=""><IconGitHub /></a>
<a href=""><IconInstagram /></a>
<a href=""><IconLinkedIn /></a>
<a href=""><IconPinterest /></a>
<a href=""><IconReddit /></a>
<a href=""><IconTwitterX /></a>
<a href=""><IconYouTube /></a>
</div>
</section>
<section id="feedback" class="glassy">
<h2>Feedback</h2>
<h3>Have a suggestion?</h3>
<form action="#">
<FormField id="name" type="text" name="name" label="Name" />
<FormField id="email" type="email" name="email" label="Email" />
<FormField id="message" type="textarea" name="message" label="Message" />
<button type="submit">Send</button>
</form>
</section>
</div>
</Main>

<style>
button:not([type='submit']) {
margin: 10px;
padding: 10px 20px;
background-color: #007bff;
color: white;
border: none;
border-radius: 5px;
cursor: pointer;
}

h1,
h2,
h3 {
text-align: center;
}

#contact {
grid-area: contact;
}

#contact > div {
display: grid;
grid-template-columns: repeat(2, auto);
gap: var(--spacing-small);
}

#contact > div > span {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
justify-content: space-between;
background-color: light-dark(rgb(0 0 0 / 0.1), rgb(255 255 255 / 0.05));
padding: var(--spacing-small);
}

#contact > div > span:nth-child(1) {
border-top-left-radius: var(--border-radius-medium);
}

#contact > div > span:nth-child(2) {
border-top-right-radius: var(--border-radius-medium);
}

#contact > div > span:nth-child(3) {
border-bottom-left-radius: var(--border-radius-medium);
}

#contact > div > span:nth-child(4) {
border-bottom-right-radius: var(--border-radius-medium);
}

#contact-us {
display: grid;
gap: var(--spacing-large);
grid-template-areas:
'get-in-touch get-in-touch'
'contact feedback'
'social feedback';
grid-template-columns: 1fr 1fr;
justify-self: center;
width: clamp(320px, 100%, 1000px);
}

#contact-us > h1 {
grid-area: get-in-touch;
}

#feedback {
grid-area: feedback;
}

#feedback > div,
#social > div {
display: flex;
width: 100%;
}

#social {
grid-area: social;
}

#social > div {
display: flex;
gap: var(--spacing-small);
justify-content: center;
}

/* Pseudo-classes */

button:not([type='submit']):hover {
background-color: #0056b3;
}

@media screen and (width <= 850px) {
#contact-us {
align-items: center;
display: flex;
flex-direction: column;
gap: var(--spacing-medium);
}

#contact > div {
display: flex;
flex-direction: column;
gap: var(--spacing-small);
}

#contact > div > span {
border-radius: var(--border-radius-small);
}

#social > div {
flex-wrap: wrap;
}
}
</style>
10 changes: 10 additions & 0 deletions src/styles/form_field.css
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
button[type='submit'] {
color: white;
cursor: pointer;
background-color: var(--color-secondary);
border: none;
border-radius: var(--border-radius-large);
font-size: 1rem;
padding: 1rem 2rem;
}

.form-field {
position: relative;
width: 100%;
Expand Down
24 changes: 24 additions & 0 deletions src/styles/global.css
Original file line number Diff line number Diff line change
Expand Up @@ -61,10 +61,34 @@ a {
color: var(--color-secondary);
}

a[target='_blank'] {
cursor: alias;
}

form {
align-items: center;
display: flex;
flex-direction: column;
gap: var(--spacing-medium);
height: 100%;
justify-content: center;
width: 100%;
}

h1 {
font-size: calc(1.5 * var(--spacing-medium));
}

section.glassy {
background-color: light-dark(rgb(0 0 0 / 20%), rgb(255 255 255 / 10%));
border-radius: var(--border-radius-large);
display: flex;
flex-direction: column;
gap: var(--spacing-medium);
padding: var(--spacing-medium);
width: clamp(320px, 100%, 500px);
}

svg {
width: calc(1.5 * var(--spacing-medium));
height: 100%;
Expand Down