diff --git a/.gitignore b/.gitignore index 4de40fd..a822b7c 100644 --- a/.gitignore +++ b/.gitignore @@ -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/ \ No newline at end of file diff --git a/public/._favicon.png b/public/._favicon.png deleted file mode 100644 index 4a00e3d..0000000 Binary files a/public/._favicon.png and /dev/null differ diff --git a/public/favicon.png b/public/favicon.png deleted file mode 100644 index 5c1bf98..0000000 Binary files a/public/favicon.png and /dev/null differ diff --git a/public/icon-192x192.png b/public/icon-192x192.png new file mode 100644 index 0000000..b6b7b56 Binary files /dev/null and b/public/icon-192x192.png differ diff --git a/public/icon-256x256.png b/public/icon-256x256.png new file mode 100644 index 0000000..99a29ee Binary files /dev/null and b/public/icon-256x256.png differ diff --git a/public/icon-384x384.png b/public/icon-384x384.png new file mode 100644 index 0000000..51188d2 Binary files /dev/null and b/public/icon-384x384.png differ diff --git a/public/icon-512x512.png b/public/icon-512x512.png new file mode 100644 index 0000000..052eead Binary files /dev/null and b/public/icon-512x512.png differ diff --git a/public/index.html b/public/index.html index 6ba7ceb..cb867b6 100644 --- a/public/index.html +++ b/public/index.html @@ -2,16 +2,20 @@ - + - - + - + - + + + + + + diff --git a/public/manifest.webmanifest b/public/manifest.webmanifest index 8d921b7..1333fa2 100644 --- a/public/manifest.webmanifest +++ b/public/manifest.webmanifest @@ -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" + }] } \ No newline at end of file diff --git a/src/components/App/App.tsx b/src/components/App/App.tsx index bb309f9..b9df3f3 100644 --- a/src/components/App/App.tsx +++ b/src/components/App/App.tsx @@ -9,11 +9,11 @@ const App: FC = () => (
-
+
-
+
); diff --git a/src/components/Navbar/Navbar.tsx b/src/components/Navbar/Navbar.tsx index 78efc4e..a269aa2 100644 --- a/src/components/Navbar/Navbar.tsx +++ b/src/components/Navbar/Navbar.tsx @@ -1,13 +1,13 @@ import './Navbas.scss'; const Navbar = () => ( -
+
+ ); export default Navbar; \ No newline at end of file diff --git a/src/components/Navbar/Navbas.scss b/src/components/Navbar/Navbas.scss index 27ccb9d..1ac765d 100644 --- a/src/components/Navbar/Navbas.scss +++ b/src/components/Navbar/Navbas.scss @@ -24,6 +24,10 @@ &_Link { font-size: 20px; + &:hover { + text-decoration: underline var(--accent-color); + } + &:not(:last-child) { margin-right: 8px; } diff --git a/src/index.tsx b/src/index.tsx index 499e156..872851c 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -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( - - - -); \ No newline at end of file +createRoot(container).render(); \ No newline at end of file diff --git a/src/pages/GenshinDownloads/GenshinDownloads.scss b/src/pages/GenshinDownloads/GenshinDownloads.scss index 1e79152..0ef1e1a 100644 --- a/src/pages/GenshinDownloads/GenshinDownloads.scss +++ b/src/pages/GenshinDownloads/GenshinDownloads.scss @@ -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; diff --git a/src/pages/GenshinDownloads/GenshinDownloads.tsx b/src/pages/GenshinDownloads/GenshinDownloads.tsx index c244b76..335502c 100644 --- a/src/pages/GenshinDownloads/GenshinDownloads.tsx +++ b/src/pages/GenshinDownloads/GenshinDownloads.tsx @@ -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([]); @@ -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 ; return (
-

Актуальная версия

+
Genshin Impact
+ + Актуальная версия {genshinDL.filter(dl => !dl.outdated && !dl.beta).map(dl => (

{dl.name}

@@ -40,7 +39,7 @@ const GenshinDownloads = () => {
))} -

setOutdatedCollapse(!outdatedCollapse)}>Устаревшие версии

+ setOutdatedCollapse(!outdatedCollapse)}>Устаревшие версии {!outdatedCollapse && genshinDL.filter(dl => dl.outdated && !dl.beta).map(dl => (

{dl.name}

@@ -58,7 +57,7 @@ const GenshinDownloads = () => {
))} -

setBetaCollapse(!betaCollapse)}>Бета версии

+ setBetaCollapse(!betaCollapse)}>Бета версии {!betaCollapse && genshinDL.filter(dl => dl.beta).map(dl => (

{dl.name}

diff --git a/src/pages/Main/Main.scss b/src/pages/Main/Main.scss index db820da..1005c4a 100644 --- a/src/pages/Main/Main.scss +++ b/src/pages/Main/Main.scss @@ -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; } } } diff --git a/src/pages/Main/Main.tsx b/src/pages/Main/Main.tsx index 9fffbdb..e13185c 100644 --- a/src/pages/Main/Main.tsx +++ b/src/pages/Main/Main.tsx @@ -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 = () => { - - {/*
*/} - {/* */} - {/* */} - {/* */} - {/*
*/}
); } diff --git a/src/pages/Projects/Projects.scss b/src/pages/Projects/Projects.scss index 0b00ff1..565193d 100644 --- a/src/pages/Projects/Projects.scss +++ b/src/pages/Projects/Projects.scss @@ -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; } diff --git a/src/pages/Projects/Projects.tsx b/src/pages/Projects/Projects.tsx index 330a291..f1534e6 100644 --- a/src/pages/Projects/Projects.tsx +++ b/src/pages/Projects/Projects.tsx @@ -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
Грузится, бля...
+ if(loading) return ; return (
-

Завершенные и в разработке

+
Проекты
+ + Завершенные и в разработке
{projects.done.map(project => ( { ))}
-

Замороженные и брошенные

+ Замороженные и брошенные
{projects.dropped.map(project => ( { + +} + +export default StarRailDownloads; \ No newline at end of file diff --git a/src/ui/Loading/Loading.tsx b/src/ui/Loading/Loading.tsx index 858fb46..0f63219 100644 --- a/src/ui/Loading/Loading.tsx +++ b/src/ui/Loading/Loading.tsx @@ -1,5 +1,5 @@ const Loading = () => ( -
Грузится бля!
+
Загрузка...
); export default Loading; \ No newline at end of file diff --git a/src/ui/ProjectBadge/ProjectLinkBadge.sass b/src/ui/ProjectBadge/ProjectLinkBadge.sass deleted file mode 100644 index 122f49b..0000000 --- a/src/ui/ProjectBadge/ProjectLinkBadge.sass +++ /dev/null @@ -1,3 +0,0 @@ -.ProjectLinkBadge - &:not(:last-child) - margin-right: 8px \ No newline at end of file diff --git a/src/ui/ProjectBadge/ProjectLinkBadge.scss b/src/ui/ProjectBadge/ProjectLinkBadge.scss new file mode 100644 index 0000000..5d53dd9 --- /dev/null +++ b/src/ui/ProjectBadge/ProjectLinkBadge.scss @@ -0,0 +1,5 @@ +.ProjectLinkBadge { + &:not(:last-child) { + margin-right: 8px; + } +} \ No newline at end of file diff --git a/src/ui/ProjectBadge/ProjectLinkBadge.tsx b/src/ui/ProjectBadge/ProjectLinkBadge.tsx index f760abb..1a729aa 100644 --- a/src/ui/ProjectBadge/ProjectLinkBadge.tsx +++ b/src/ui/ProjectBadge/ProjectLinkBadge.tsx @@ -1,4 +1,4 @@ -import './ProjectLinkBadge.sass'; +import './ProjectLinkBadge.scss'; type Props = { linkImage: ProjectLink diff --git a/src/ui/ProjectBadge/ProjectStackBadge.sass b/src/ui/ProjectBadge/ProjectStackBadge.sass deleted file mode 100644 index 45a38ce..0000000 --- a/src/ui/ProjectBadge/ProjectStackBadge.sass +++ /dev/null @@ -1,3 +0,0 @@ -.ProjectStackBadge - &:not(:last-child) - margin-right: 8px \ No newline at end of file diff --git a/src/ui/ProjectBadge/ProjectStackBadge.scss b/src/ui/ProjectBadge/ProjectStackBadge.scss new file mode 100644 index 0000000..6c3a259 --- /dev/null +++ b/src/ui/ProjectBadge/ProjectStackBadge.scss @@ -0,0 +1,5 @@ +.ProjectStackBadge { + &:not(:last-child) { + margin-right: 8px + } +} \ No newline at end of file diff --git a/src/ui/ProjectBadge/ProjectStackBadge.tsx b/src/ui/ProjectBadge/ProjectStackBadge.tsx index c516822..b239f05 100644 --- a/src/ui/ProjectBadge/ProjectStackBadge.tsx +++ b/src/ui/ProjectBadge/ProjectStackBadge.tsx @@ -1,4 +1,4 @@ -import './ProjectStackBadge.sass'; +import './ProjectStackBadge.scss'; type Props = { stack: ProjectStack diff --git a/src/ui/ProjectBadge/ProjectStatusBadge.sass b/src/ui/ProjectBadge/ProjectStatusBadge.sass deleted file mode 100644 index 56645f2..0000000 --- a/src/ui/ProjectBadge/ProjectStatusBadge.sass +++ /dev/null @@ -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 \ No newline at end of file diff --git a/src/ui/ProjectBadge/ProjectStatusBadge.scss b/src/ui/ProjectBadge/ProjectStatusBadge.scss new file mode 100644 index 0000000..bb2e236 --- /dev/null +++ b/src/ui/ProjectBadge/ProjectStatusBadge.scss @@ -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; + } +} \ No newline at end of file diff --git a/src/ui/ProjectBadge/ProjectStatusBadge.tsx b/src/ui/ProjectBadge/ProjectStatusBadge.tsx index 477afde..be9e2af 100644 --- a/src/ui/ProjectBadge/ProjectStatusBadge.tsx +++ b/src/ui/ProjectBadge/ProjectStatusBadge.tsx @@ -1,5 +1,5 @@ import { capitalize } from "../../utils"; -import './ProjectStatusBadge.sass'; +import './ProjectStatusBadge.scss'; type Props = { status: ProjectStatus diff --git a/src/ui/ProjectCard/ProjectCard.sass b/src/ui/ProjectCard/ProjectCard.sass deleted file mode 100644 index 81100e6..0000000 --- a/src/ui/ProjectCard/ProjectCard.sass +++ /dev/null @@ -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 \ No newline at end of file diff --git a/src/ui/ProjectCard/ProjectCard.scss b/src/ui/ProjectCard/ProjectCard.scss new file mode 100644 index 0000000..b6739dd --- /dev/null +++ b/src/ui/ProjectCard/ProjectCard.scss @@ -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; + } + } +} \ No newline at end of file diff --git a/src/ui/ProjectCard/ProjectCard.tsx b/src/ui/ProjectCard/ProjectCard.tsx index 018a50e..4ef08f2 100644 --- a/src/ui/ProjectCard/ProjectCard.tsx +++ b/src/ui/ProjectCard/ProjectCard.tsx @@ -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