Herping the derp

This commit is contained in:
ScuroNeko 2023-05-19 02:28:46 +03:00
parent 6f43e6265a
commit 3ea75d83d2
33 changed files with 187 additions and 105 deletions

30
.gitignore vendored
View File

@ -219,3 +219,33 @@ fabric.properties
# Android studio 3.1+ serialized cache file
.idea/caches/build_file_checksums.ser
# General
.DS_Store
.AppleDouble
.LSOverride
# Icon must end with two \r
Icon
# Thumbnails
._*
# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
build/

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

BIN
public/icon-192x192.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
public/icon-256x256.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
public/icon-384x384.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

BIN
public/icon-512x512.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -2,16 +2,20 @@
<html lang="ru">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="viewport" content="viewport-fit=cover, width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-title" content="Nix13">
<link rel="apple-touch-icon" href="./favicon.png">
<meta name="apple-mobile-web-app-title" content="nix13.pw">
<meta name="application-name" content="Nix13">
<meta name="theme-color" content="#ff00ff">
<meta name="theme-color" content="#222222">
<link sizes="512x512" href="./favicon.png">
<link sizes="192x192" href="./icon-192x192.png">
<link sizes="256x256" href="./icon-256x256.png">
<link sizes="384x384" href="./icon-384x384.png">
<link sizes="512x512" href="./icon-512x512.png">
<link rel="shortcut icon" href="./icon-512x512.png" type="image/png">
<link rel="apple-touch-icon" href="./icon-192x192.png">
<link rel="manifest" href="./manifest.webmanifest">
<!-- FontAwesome -->

View File

@ -1,11 +1,26 @@
{
"short_name": "Nix13",
"name": "Nix13",
"theme_color": "#222222",
"background_color": "#222222",
"display": "browser",
"scope": "/",
"start_url": "/",
"name": "Nix13 website",
"short_name": "Nix13 website",
"icons": [{
"src": "favicon.png",
"sizes": "512x512",
"type": "image/png"
}],
"display": "fullscreen",
"start_url": "/"
"src": "/icon-192x192.png",
"sizes": "192x192",
"type": "image/png"
},{
"src": "/icon-256x256.png",
"sizes": "256x256",
"type": "image/png"
}, {
"src": "/icon-384x384.png",
"sizes": "384x384",
"type": "image/png"
}, {
"src": "/icon-512x512.png",
"sizes": "512x512",
"type": "image/png"
}]
}

View File

@ -9,11 +9,11 @@ const App: FC = () => (
<div className="App">
<Navbar/>
<div className="Container">
<main className="Container">
<Main/>
<Projects/>
<GenshinDownloads/>
</div>
</main>
</div>
);

View File

@ -1,13 +1,13 @@
import './Navbas.scss';
const Navbar = () => (
<div className="Navbar">
<nav className="Navbar">
<div className="Navbar__Container">
<a href="#Main" className='Navbar__Container_Link'>Основное</a>
<a href="#Projects" className='Navbar__Container_Link'>Проекты</a>
<a href="#GenshinDownloads" className='Navbar__Container_Link'>Genshin</a>
</div>
</div>
</nav>
);
export default Navbar;

View File

@ -24,6 +24,10 @@
&_Link {
font-size: 20px;
&:hover {
text-decoration: underline var(--accent-color);
}
&:not(:last-child) {
margin-right: 8px;
}

View File

@ -1,11 +1,6 @@
import { createRoot } from 'react-dom/client';
import { BrowserRouter } from "react-router-dom";
import App from './components/App/App';
const container = document.getElementById('root') as HTMLElement;
createRoot(container).render(
<BrowserRouter>
<App/>
</BrowserRouter>
);
createRoot(container).render(<App/>);

View File

@ -2,6 +2,15 @@
.GenshinDownloads {
padding-top: var(--navbar-height);
display: flex;
flex-direction: column;
&__Title {
font-size: 3rem;
text-align: center;
font-weight: 200;
text-decoration: underline var(--accent-color);
}
&__Item {
&_Title {
@ -35,6 +44,7 @@
&__Actual, &__Outdated, &__Beta {
text-align: center;
font-size: 2rem;
border-bottom: 1px solid #fff;
margin-bottom: 4px;
padding-bottom: 4px;

View File

@ -1,7 +1,6 @@
import {useEffect, useState} from "react";
import './GenshinDownloads.scss';
import Loading from "../../ui/Loading/Loading";
import * as url from "url";
const GenshinDownloads = () => {
const [genshinDL, setGenshinDL] = useState<GenshinDLType[]>([]);
@ -10,9 +9,7 @@ const GenshinDownloads = () => {
const [betaCollapse, setBetaCollapse] = useState(true);
useEffect(() => {
// const url = 'https://baka.nix13.pw/genshin';
const url = 'http://localhost:8099/genshin'
fetch(url)
fetch('https://baka.nix13.pw/genshin')
.then(r => r.json())
.then(r => setGenshinDL(r.genshin))
.then(_ => setLoading(false));
@ -21,7 +18,9 @@ const GenshinDownloads = () => {
if(loading || !genshinDL) return <Loading/>;
return (
<div className={'GenshinDownloads'} id='GenshinDownloads'>
<h1 className={'GenshinDownloads__Actual'}>Актуальная версия</h1>
<div className="GenshinDownloads__Title">Genshin Impact</div>
<span className={'GenshinDownloads__Actual'}>Актуальная версия</span>
{genshinDL.filter(dl => !dl.outdated && !dl.beta).map(dl => (
<div className={'GenshinDownloads__Item'} key={dl.name}>
<h2 className={'GenshinDownloads__Item_Title'}>{dl.name}</h2>
@ -40,7 +39,7 @@ const GenshinDownloads = () => {
</div>
))}
<h1 className={`GenshinDownloads__Outdated ${outdatedCollapse && 'GenshinDownloads__Outdated--NotCollapsed'}`} onClick={() => setOutdatedCollapse(!outdatedCollapse)}>Устаревшие версии</h1>
<span className={`GenshinDownloads__Outdated ${outdatedCollapse && 'GenshinDownloads__Outdated--NotCollapsed'}`} onClick={() => setOutdatedCollapse(!outdatedCollapse)}>Устаревшие версии</span>
{!outdatedCollapse && genshinDL.filter(dl => dl.outdated && !dl.beta).map(dl => (
<div className={'GenshinDownloads__Item'} key={dl.name}>
<h2 className={'GenshinDownloads__Item_Title'}>{dl.name}</h2>
@ -58,7 +57,7 @@ const GenshinDownloads = () => {
</div>
))}
<h1 className={`GenshinDownloads__Beta ${betaCollapse && 'GenshinDownloads__Beta--NotCollapsed'}`} onClick={() => setBetaCollapse(!betaCollapse)}>Бета версии</h1>
<span className={`GenshinDownloads__Beta ${betaCollapse && 'GenshinDownloads__Beta--NotCollapsed'}`} onClick={() => setBetaCollapse(!betaCollapse)}>Бета версии</span>
{!betaCollapse && genshinDL.filter(dl => dl.beta).map(dl => (
<div className={'GenshinDownloads__Item'} key={dl.name}>
<h2 className={'GenshinDownloads__Item_Title'}>{dl.name}</h2>

View File

@ -2,8 +2,9 @@
.Main {
width: 100%;
height: calc(100vh - var(--navbar-height));
height: calc(100vh - var(--navbar-height) - env(safe-area-inset-top));
box-sizing: border-box;
padding-bottom: calc(8px + env(safe-area-inset-bottom));
&__Center {
height: calc(100% - var(--navbar-height));
@ -33,15 +34,10 @@
&_Link {
display: flex;
align-items: center;
& > :first-child {
margin-right: 4px;
}
font-size: 2rem;
&:not(:last-child) {
margin-right: 4px;
padding-right: 4px;
border-right: 1px solid white;
margin-right: 12px;
}
}
}

View File

@ -12,6 +12,10 @@ const Main = () => {
'Golang fullstack',
1000,
'Python fullstack',
1000,
'Kotlin developer',
1000,
'Web developer',
1000
]}
repeat={Infinity}
@ -22,36 +26,23 @@ const Main = () => {
<div className="Main__Links">
<a className="Main__Links_Link" href='https://t.me/DarkShinigani' target='_blank' rel='noopener noreferrer'>
<i className="fa-brands fa-telegram"/>
<span>Телеграм</span>
</a>
<a className="Main__Links_Link" href='https://vk.com/scur0nek0' target='_blank' rel='noopener noreferrer'>
<i className="fa-brands fa-vk"/>
ВК
</a>
<a className="Main__Links_Link" href='https://github.com/Nix1304' target='_blank' rel='noopener noreferrer'>
<i className="fa-brands fa-github"/>
GitHub
</a>
<a className="Main__Links_Link" href='https://git.nix13.pw/' target='_blank' rel='noopener noreferrer'>
<i className="fa-brands fa-git"/>
Git
</a>
<a className="Main__Links_Link" href='https://mvn.nix13.pw/' target='_blank' rel='noopener noreferrer'>
<i className="fa-brands fa-readme"></i>
Maven
</a>
<a className="Main__Links_Link" href='https://files.nix13.pw/' target='_blank' rel='noopener noreferrer'>
<i className="fa-light fa-files"/>
Files
</a>
</div>
{/*<div className="Buttons">*/}
{/* <button className="Button_Outline--Glow">Aboba</button>*/}
{/* <button className="Button_Outline--Glow">Aboba</button>*/}
{/* <button className="Button_Outline--Glow">Aboba</button>*/}
{/*</div>*/}
</div>
);
}

View File

@ -1,7 +1,24 @@
.Projects {
padding-top: var(--navbar-height);
width: 100%;
display: flex;
flex-direction: column;
&_Title {
font-size: 3rem;
text-align: center;
font-weight: 200;
text-decoration: underline var(--accent-color);
}
&__Title {
text-align: center;
font-size: 2rem;
border-bottom: 1px solid #fff;
margin-bottom: 4px;
padding-bottom: 4px;
}
&__List {
margin-top: 8px;
}

View File

@ -1,6 +1,7 @@
import React, {useEffect, useState} from "react";
import ProjectCard from "../../ui/ProjectCard/ProjectCard";
import './Projects.scss';
import Loading from "../../ui/Loading/Loading";
type ProjectsState = {
done: ProjectType[]
@ -18,10 +19,12 @@ const Projects = () => {
.then(_ => setLoading(false));
}, []);
if(loading) return <div>Грузится, бля...</div>
if(loading) return <Loading/>;
return (
<div className="Projects" id='Projects'>
<h2>Завершенные и в разработке</h2>
<div className="Projects_Title">Проекты</div>
<span className='Projects__Title' style={{ borderColor: '#ab1bff', color: '#ab1bff' }}>Завершенные и в разработке</span>
<div className="Projects__List">
{projects.done.map(project => (
<ProjectCard
@ -32,7 +35,7 @@ const Projects = () => {
))}
</div>
<h2>Замороженные и брошенные</h2>
<span className='Projects__Title' style={{ borderColor: '#19b3a6', color: '#19b3a6' }}>Замороженные и брошенные</span>
<div className="Projects__List">
{projects.dropped.map(project => (
<ProjectCard

View File

@ -0,0 +1,5 @@
const StarRailDownloads = () => {
}
export default StarRailDownloads;

View File

@ -1,5 +1,5 @@
const Loading = () => (
<div>Грузится бля!</div>
<div>Загрузка...</div>
);
export default Loading;

View File

@ -1,3 +0,0 @@
.ProjectLinkBadge
&:not(:last-child)
margin-right: 8px

View File

@ -0,0 +1,5 @@
.ProjectLinkBadge {
&:not(:last-child) {
margin-right: 8px;
}
}

View File

@ -1,4 +1,4 @@
import './ProjectLinkBadge.sass';
import './ProjectLinkBadge.scss';
type Props = {
linkImage: ProjectLink

View File

@ -1,3 +0,0 @@
.ProjectStackBadge
&:not(:last-child)
margin-right: 8px

View File

@ -0,0 +1,5 @@
.ProjectStackBadge {
&:not(:last-child) {
margin-right: 8px
}
}

View File

@ -1,4 +1,4 @@
import './ProjectStackBadge.sass';
import './ProjectStackBadge.scss';
type Props = {
stack: ProjectStack

View File

@ -1,17 +0,0 @@
.ProjectStatus
font-size: 16px
font-weight: 300
height: fit-content
padding: 2px 6px
&__Development
background-color: #ff9c1b
&__Release
background-color: #ab1bff
&__Freeze
background-color: #19b3a6
&__Dropped
background-color: #ff1b1b

View File

@ -0,0 +1,19 @@
.ProjectStatus {
font-size: 16px;
font-weight: 300;
height: fit-content;
padding: 2px 6px;
&__Development {
background-color: #ff9c1b;
}
&__Release {
background-color: #ab1bff;
}
&__Freeze {
background-color: #19b3a6;
}
&__Dropped {
background-color: #ff1b1b;
}
}

View File

@ -1,5 +1,5 @@
import { capitalize } from "../../utils";
import './ProjectStatusBadge.sass';
import './ProjectStatusBadge.scss';
type Props = {
status: ProjectStatus

View File

@ -1,23 +0,0 @@
.ProjectCard
background-color: #333
padding: 8px
margin: 0 8px 8px 0
box-sizing: border-box
border: 2px solid var(--accent-color)
&__Title
display: flex
justify-content: space-between
margin-bottom: 4px
&__Content, &__Links, &__Stack
border-top: 1px solid #d8858d
padding-top: 4px
&__Content, &__Stack
margin-bottom: 4px
&__Links
font-weight: 500
&_Link:not(:first-child)
margin-left: 4px

View File

@ -0,0 +1,30 @@
.ProjectCard {
background-color: #333;
padding: 8px;
box-sizing: border-box;
border: 2px solid var(--accent-color);
margin-bottom: 8px;
&__Title {
display: flex;
justify-content: space-between;
margin-bottom: 4px;
}
&__Content, &__Links, &__Stack {
border-top: 1px solid #d8858d;
padding-top: 4px;
}
&__Content, &__Stack {
margin-bottom: 4px;
}
&__Links {
font-weight: 500;
&_Link:not(:first-child) {
margin-left: 4px;
}
}
}

View File

@ -2,7 +2,7 @@ import React from "react";
import ProjectLinkBadge from "../ProjectBadge/ProjectLinkBadge";
import ProjectStackBadge from "../ProjectBadge/ProjectStackBadge";
import ProjectStatusBadge from "../ProjectBadge/ProjectStatusBadge";
import './ProjectCard.sass';
import './ProjectCard.scss';
type Props = {
title: string