Localized & roughly done

This commit is contained in:
2022-05-21 17:11:48 +03:00
parent 448cb46e9e
commit 42bd2af228
7 changed files with 86 additions and 23 deletions

View File

@@ -1,20 +1,27 @@
.ContactForm { .ContactForm {
position: relative; position: relative;
display: flex;
flex-direction: column;
align-items: center;
padding: var(--gap-md); padding: var(--gap-md);
margin-left: var(--gap-xl); margin-left: var(--gap-xl);
margin-right: var(--gap-xl); margin-right: var(--gap-xl);
} }
.ContactForm > * { .form {
display: flex;
flex-direction: column;
align-items: center;
}
.form > * {
width: 100%; width: 100%;
max-width: 600px; max-width: 600px;
box-sizing: border-box; box-sizing: border-box;
margin-bottom: var(--gap-sm); margin-bottom: var(--gap-sm);
} }
.submit {
cursor: pointer;
}
@media screen and (max-width: 1080px) { @media screen and (max-width: 1080px) {
.ContactForm { .ContactForm {
margin: 0; margin: 0;

View File

@@ -13,7 +13,7 @@ export default () => {
const chapterName = 'mail'; const chapterName = 'mail';
return ( return (
<form <div
use:observer={(event) => { use:observer={(event) => {
if (event.isIntersecting) { if (event.isIntersecting) {
if (!state.scrolling()) { if (!state.scrolling()) {
@@ -28,24 +28,31 @@ export default () => {
}} }}
ref={(element) => scrollHereWhenSelected(element, [state, setters], chapterName)} ref={(element) => scrollHereWhenSelected(element, [state, setters], chapterName)}
class={styles.ContactForm} class={styles.ContactForm}
action="https://send.pageclip.co/ipMETNW8CCV8ka21myU6D22bvnOAV0Ag"
method="post"
> >
<input <form
type="text" class={styles.form}
name="name" action="https://send.pageclip.co/ipMETNW8CCV8ka21myU6D22bvnOAV0Ag"
placeholder={t('name')} method="post"
></input> autocomplete='off'
>
<input
type="text"
name="name"
placeholder={t('name')}
></input>
<textarea <textarea
name="message" name="message"
placeholder="Write something.." placeholder={t('message')}
></textarea> rows='4'
></textarea>
<input <input
type="submit" class={styles.submit}
value="Submit" type="submit"
></input> value={t('submit')}
</form> ></input>
</form>
</div>
) )
} }

View File

@@ -6,18 +6,21 @@ export default () => {
<a <a
href='https://github.com/anatolykopyl' href='https://github.com/anatolykopyl'
target='_blank' target='_blank'
class='hover-grad'
> >
github github
</a> </a>
<a <a
href='https://www.linkedin.com/in/akopyl/' href='https://www.linkedin.com/in/akopyl/'
target='_blank' target='_blank'
class='hover-grad'
> >
linkedin linkedin
</a> </a>
<a <a
href='https://t.me/avkopyl' href='https://t.me/avkopyl'
target='_blank' target='_blank'
class='hover-grad'
> >
telegram telegram
</a> </a>

View File

@@ -18,6 +18,7 @@ export default (props: {project: Project}) => {
<a <a
href={props.project.link} href={props.project.link}
target="_blank" target="_blank"
class='hover-grad'
> >
<h2>{props.project.name}</h2> <h2>{props.project.name}</h2>
</a> </a>

View File

@@ -5,6 +5,7 @@
--clr-bg-secondary: hsl(260, 20%, 16%); --clr-bg-secondary: hsl(260, 20%, 16%);
--clr-bg-trietary: hsl(260, 20%, 11%); --clr-bg-trietary: hsl(260, 20%, 11%);
--clr-text: white; --clr-text: white;
--clr-text-secondary: hsl(0, 0%, 75%);
--gap-sm: 18px; --gap-sm: 18px;
--gap-md: 36px; --gap-md: 36px;
@@ -38,6 +39,7 @@ h1, h2, h3, h4, h5, h6 {
} }
a { a {
display: inline-block;
color: inherit; color: inherit;
text-decoration: none; text-decoration: none;
} }
@@ -55,3 +57,36 @@ input, textarea {
display: inline-block; display: inline-block;
color: var(--clr-text); color: var(--clr-text);
} }
textarea {
resize: none;
}
textarea:focus, input:focus{
outline: none;
}
input::placeholder, textarea::placeholder {
color: var(--clr-text-secondary);
}
.hover-grad {
background: linear-gradient(-45deg, #ee7752, #e73c7e, #23a6d5, #23d5ab, var(--clr-text), var(--clr-text), var(--clr-text));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-size: 200% auto;
}
.hover-grad:hover {
animation: gradient 1s ease forwards;
animation-iteration-count: 1;
}
@keyframes gradient {
0% {
background-position: 0% 50%;
}
100% {
background-position: 100% 50%;
}
}

View File

@@ -8,5 +8,7 @@
"worktime_desc": "A PWA that I use daily to track my time spent working. Full offline support.", "worktime_desc": "A PWA that I use daily to track my time spent working. Full offline support.",
"studybuddy_desc": "A PWA for splitting into groups or taking topics for an assignment.", "studybuddy_desc": "A PWA for splitting into groups or taking topics for an assignment.",
"vkmute_desc": "A Browser extension that allows you to mute people in group chats on VK.com.", "vkmute_desc": "A Browser extension that allows you to mute people in group chats on VK.com.",
"name": "Your name" "name": "Your name",
"message": "Write about anything",
"submit": "Submit"
} }

View File

@@ -2,5 +2,13 @@
"lang": "ru", "lang": "ru",
"my_name": "Анатолий Копыл", "my_name": "Анатолий Копыл",
"tagline": "Fullstack разработчик со стандартами", "tagline": "Fullstack разработчик со стандартами",
"flexpatrol_desc": "Лендинг для сквада геймеров, с информацией об их серверах и их статусе." "flexpatrol_desc": "Лендинг для сквада геймеров, с информацией об их серверах и их статусе.",
"games_desc": "Страница со ссылками на мои игры.",
"warframe_desc": "Сервис, который считает разницу в цене между позициями на warframe.market.",
"worktime_desc": "PWA, которую я использую ежедневно для подсчета времени. Полная поддержка оффлайн работы.",
"studybuddy_desc": "PWA для деления на бригады или варианты.",
"vkmute_desc": "Расширение, позволяющее скрывать сообщения от указанных пользователей в беседах.",
"name": "Ваше имя",
"message": "Напишите о чем угодно",
"submit": "Отправить"
} }