feat(directory): update home.jsx mobile layout
This commit is contained in:
@@ -26,7 +26,7 @@
|
|||||||
transition: opacity cubic-bezier(0.65, 0.05, 0.36, 1) 0.3s;;
|
transition: opacity cubic-bezier(0.65, 0.05, 0.36, 1) 0.3s;;
|
||||||
}
|
}
|
||||||
|
|
||||||
.loader .icon {
|
.loader .icon, .loader .flasher {
|
||||||
display: block;
|
display: block;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
width: 2rem;
|
width: 2rem;
|
||||||
@@ -36,11 +36,16 @@
|
|||||||
border-right: 0.3rem solid;
|
border-right: 0.3rem solid;
|
||||||
border-top: 0.3rem solid;
|
border-top: 0.3rem solid;
|
||||||
transform: translateY(-0.3rem) rotate(-45deg);
|
transform: translateY(-0.3rem) rotate(-45deg);
|
||||||
animation: icon-flash 2s cubic-bezier(0.65, 0.05, 0.36, 1) infinite;
|
|
||||||
box-shadow: inset 0 0 16px 2px rgb(200 14 0), 0 0 18px 5px rgb(200 14 0);
|
box-shadow: inset 0 0 16px 2px rgb(200 14 0), 0 0 18px 5px rgb(200 14 0);
|
||||||
border-color: rgba(54, 0, 0, 87%);
|
border-color: rgba(54, 0, 0, 87%);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.loader .flasher {
|
||||||
|
position: absolute;
|
||||||
|
box-shadow: unset;
|
||||||
|
animation: icon-flash 1.2s cubic-bezier(0.2, 0.6, 0.2, 1) infinite;
|
||||||
|
}
|
||||||
|
|
||||||
@media (prefers-color-scheme: dark) {
|
@media (prefers-color-scheme: dark) {
|
||||||
.loader {
|
.loader {
|
||||||
background-color: #131313;
|
background-color: #131313;
|
||||||
@@ -54,8 +59,11 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@keyframes icon-flash {
|
@keyframes icon-flash {
|
||||||
50% {
|
100%{
|
||||||
opacity: 0.2;
|
opacity: 0;
|
||||||
|
width: 4rem;
|
||||||
|
height: 4rem;
|
||||||
|
border-color: rgb(0, 0, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
@@ -65,6 +73,7 @@
|
|||||||
<div id="root"></div>
|
<div id="root"></div>
|
||||||
<div class="loader">
|
<div class="loader">
|
||||||
<span class="icon"></span>
|
<span class="icon"></span>
|
||||||
|
<span class="flasher"></span>
|
||||||
</div>
|
</div>
|
||||||
<script type="module" src="/src/App.jsx"></script>
|
<script type="module" src="/src/App.jsx"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|||||||
@@ -52,6 +52,17 @@
|
|||||||
color: var(--text-color);
|
color: var(--text-color);
|
||||||
background-color: var(--root-background-color);
|
background-color: var(--root-background-color);
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
|
|
||||||
|
@media only screen and (max-width: 430px) {
|
||||||
|
& {
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media only screen and (max-width: 1600px) {
|
||||||
|
& {
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#root {
|
#root {
|
||||||
@@ -62,27 +73,6 @@
|
|||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
}
|
}
|
||||||
|
|
||||||
*::-webkit-scrollbar {
|
|
||||||
width: 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
*::-webkit-scrollbar-track {
|
|
||||||
background-color: transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
*::-webkit-scrollbar-thumb {
|
|
||||||
background-color: var(--border-color);
|
|
||||||
border-radius: 100px;
|
|
||||||
border: 5px solid transparent;
|
|
||||||
background-clip: padding-box;
|
|
||||||
transition: all 0.3s ease-in-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
*::-webkit-scrollbar-thumb:hover {
|
|
||||||
border: 4px solid transparent;
|
|
||||||
background-color: var(--text-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
a {
|
a {
|
||||||
color: var(--text-color);
|
color: var(--text-color);
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
|
|||||||
@@ -18,5 +18,11 @@
|
|||||||
}
|
}
|
||||||
&:after {
|
&:after {
|
||||||
left: 100%;
|
left: 100%;
|
||||||
|
@media only screen and (max-width: 430px) {
|
||||||
|
& {
|
||||||
|
width: 0;
|
||||||
|
height: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -90,7 +90,7 @@
|
|||||||
.date {
|
.date {
|
||||||
font-family: "Bender", 'Noto Sans SC', 'Noto Sans JP', 'Noto Sans KR', 'Noto Sans', sans-serif;
|
font-family: "Bender", 'Noto Sans SC', 'Noto Sans JP', 'Noto Sans KR', 'Noto Sans', sans-serif;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
font-size: 24px;
|
font-size: 1.5rem;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
flex-wrap: nowrap;
|
flex-wrap: nowrap;
|
||||||
|
|||||||
@@ -227,6 +227,7 @@ export default function Home() {
|
|||||||
return (
|
return (
|
||||||
<section key={v[0].date} hidden={length === 0}>
|
<section key={v[0].date} hidden={length === 0}>
|
||||||
<section className={classes.group}>
|
<section className={classes.group}>
|
||||||
|
<section className={classes['operator-group']}>
|
||||||
{v.map(item => {
|
{v.map(item => {
|
||||||
return (
|
return (
|
||||||
<OperatorElement
|
<OperatorElement
|
||||||
@@ -237,6 +238,7 @@ export default function Home() {
|
|||||||
/>
|
/>
|
||||||
)
|
)
|
||||||
})}
|
})}
|
||||||
|
</section>
|
||||||
<section className={classes.date}>{v[0].date}</section>
|
<section className={classes.date}>{v[0].date}</section>
|
||||||
</section>
|
</section>
|
||||||
<Border />
|
<Border />
|
||||||
|
|||||||
@@ -10,4 +10,11 @@
|
|||||||
max-width: 100rem;
|
max-width: 100rem;
|
||||||
padding-top: 5rem;
|
padding-top: 5rem;
|
||||||
min-height: calc(100vh - 5rem - 3rem);
|
min-height: calc(100vh - 5rem - 3rem);
|
||||||
}
|
|
||||||
|
@media only screen and (max-width: 430px) {
|
||||||
|
& {
|
||||||
|
width: calc(100vw - 2rem);
|
||||||
|
margin-left: 2rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -9,6 +9,12 @@
|
|||||||
letter-spacing: 0.1rem;
|
letter-spacing: 0.1rem;
|
||||||
flex: auto;
|
flex: auto;
|
||||||
user-select: none;
|
user-select: none;
|
||||||
|
|
||||||
|
@media only screen and (max-width: 430px) {
|
||||||
|
& {
|
||||||
|
margin: 0rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.container {
|
.container {
|
||||||
@@ -43,10 +49,25 @@
|
|||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
user-select: none;
|
user-select: none;
|
||||||
|
|
||||||
|
.operator-group {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
|
||||||
|
@media only screen and (max-width: 430px) {
|
||||||
|
& {
|
||||||
|
width: 100%;
|
||||||
|
padding-bottom: 1rem;
|
||||||
|
overflow-y: hidden;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.item {
|
.item {
|
||||||
position: relative;
|
position: relative;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
width: 180px;
|
width: 12rem;
|
||||||
margin: 1.25rem;
|
margin: 1.25rem;
|
||||||
background-image: repeating-linear-gradient(
|
background-image: repeating-linear-gradient(
|
||||||
90deg,
|
90deg,
|
||||||
@@ -98,9 +119,13 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.img {
|
.img {
|
||||||
height: 360px;
|
|
||||||
width: 100%;
|
|
||||||
transition: background-color cubic-bezier(0.65, 0.05, 0.36, 1) 0.3s;
|
transition: background-color cubic-bezier(0.65, 0.05, 0.36, 1) 0.3s;
|
||||||
|
|
||||||
|
& img {
|
||||||
|
height: auto;
|
||||||
|
width: 100%;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.info {
|
.info {
|
||||||
@@ -149,6 +174,27 @@
|
|||||||
visibility: visible;
|
visibility: visible;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@media only screen and (max-width: 430px) {
|
||||||
|
& {
|
||||||
|
width: 8.08rem;
|
||||||
|
margin: 1.08rem;
|
||||||
|
|
||||||
|
.outline,
|
||||||
|
.info .background {
|
||||||
|
opacity: 1;
|
||||||
|
visibility: visible;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media only screen and (max-width: 430px) {
|
||||||
|
& {
|
||||||
|
align-items: flex-start;
|
||||||
|
flex-direction: column-reverse;
|
||||||
|
padding-right: 0;
|
||||||
|
padding-bottom: 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -55,12 +55,8 @@
|
|||||||
display: inline-block;
|
display: inline-block;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
overflow: hidden;
|
|
||||||
text-overflow: ellipsis;
|
|
||||||
|
|
||||||
.text-wrapper {
|
.text-wrapper {
|
||||||
overflow: hidden;
|
|
||||||
text-overflow: ellipsis;
|
|
||||||
color: var(--text-color);
|
color: var(--text-color);
|
||||||
transition: color cubic-bezier(0.65, 0.05, 0.36, 1) 0.3s;
|
transition: color cubic-bezier(0.65, 0.05, 0.36, 1) 0.3s;
|
||||||
}
|
}
|
||||||
@@ -78,13 +74,23 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@media only screen and (max-width: 430px) {
|
||||||
|
& {
|
||||||
|
padding-right: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.fast-navigate {
|
.fast-navigate {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: -2em;
|
right: -2em;
|
||||||
bottom: calc(-1em - 2px);
|
bottom: calc(-1em - 2px);
|
||||||
font-size: 32px;
|
font-size: 32px;
|
||||||
|
|
||||||
|
@media only screen and (max-width: 430px) {
|
||||||
|
& {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.return-button {
|
.return-button {
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
left: -15rem;
|
left: -15rem;
|
||||||
width: 15rem;
|
width: 15rem;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
z-index: 2;
|
z-index: 3;
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
transition: left cubic-bezier(0.65, 0.05, 0.36, 1) 0.3s;
|
transition: left cubic-bezier(0.65, 0.05, 0.36, 1) 0.3s;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
.overlay {
|
.overlay {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
flex-grow: 1;
|
flex-grow: 1;
|
||||||
z-index: 2;
|
z-index: 3;
|
||||||
}
|
}
|
||||||
&.active {
|
&.active {
|
||||||
pointer-events: all;
|
pointer-events: all;
|
||||||
|
|||||||
@@ -12,8 +12,10 @@
|
|||||||
.links {
|
.links {
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
height: 2rem;
|
height: 2rem;
|
||||||
|
overflow-y: hidden;
|
||||||
|
|
||||||
.item {
|
.item {
|
||||||
|
text-align: center;
|
||||||
padding: 0 1rem;
|
padding: 0 1rem;
|
||||||
border-left: 2px solid var(--border-color);
|
border-left: 2px solid var(--border-color);
|
||||||
height: inherit;
|
height: inherit;
|
||||||
|
|||||||
@@ -14,10 +14,6 @@
|
|||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
|
|
||||||
.spacer {
|
|
||||||
flex-grow: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dropdown {
|
.dropdown {
|
||||||
margin-left: auto;
|
margin-left: auto;
|
||||||
}
|
}
|
||||||
@@ -71,4 +67,8 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.spacer {
|
||||||
|
flex-grow: 1;
|
||||||
}
|
}
|
||||||
16
package.json
16
package.json
@@ -23,21 +23,21 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@perfsee/rollup": "^1.8.4",
|
"@perfsee/rollup": "^1.8.4",
|
||||||
"@types/react": "^18.2.25",
|
"@types/react": "^18.2.31",
|
||||||
"@types/react-dom": "^18.2.11",
|
"@types/react-dom": "^18.2.14",
|
||||||
"@vitejs/plugin-react-swc": "^3.4.0",
|
"@vitejs/plugin-react-swc": "^3.4.0",
|
||||||
"autoprefixer": "^10.4.16",
|
"autoprefixer": "^10.4.16",
|
||||||
"eslint": "^8.51.0",
|
"eslint": "^8.52.0",
|
||||||
"eslint-plugin-react": "^7.33.2",
|
"eslint-plugin-react": "^7.33.2",
|
||||||
"eslint-plugin-react-hooks": "^4.6.0",
|
"eslint-plugin-react-hooks": "^4.6.0",
|
||||||
"postcss": "^8.4.31",
|
"postcss": "^8.4.31",
|
||||||
"prop-types": "^15.8.1",
|
"prop-types": "^15.8.1",
|
||||||
"rollup": "^3.29.4",
|
"rollup": "^3.29.4",
|
||||||
"sass": "^1.69.0",
|
"sass": "^1.69.4",
|
||||||
"stylelint": "^15.10.3",
|
"stylelint": "^15.11.0",
|
||||||
"stylelint-config-standard": "^30.0.1",
|
"stylelint-config-standard": "^30.0.1",
|
||||||
"stylelint-config-standard-scss": "^7.0.1",
|
"stylelint-config-standard-scss": "^7.0.1",
|
||||||
"vite": "^4.4.11"
|
"vite": "^4.5.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@parcellab/react-use-umami": "^2.0.1",
|
"@parcellab/react-use-umami": "^2.0.1",
|
||||||
@@ -48,10 +48,10 @@
|
|||||||
"react": "^18.2.0",
|
"react": "^18.2.0",
|
||||||
"react-dom": "^18.2.0",
|
"react-dom": "^18.2.0",
|
||||||
"react-refresh": "^0.14.0",
|
"react-refresh": "^0.14.0",
|
||||||
"react-router-dom": "^6.16.0",
|
"react-router-dom": "^6.17.0",
|
||||||
"react-simple-typewriter": "^5.0.1",
|
"react-simple-typewriter": "^5.0.1",
|
||||||
"reset-css": "^5.0.2",
|
"reset-css": "^5.0.2",
|
||||||
"sharp": "^0.31.3",
|
"sharp": "^0.31.3",
|
||||||
"yaml": "^2.3.2"
|
"yaml": "^2.3.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
589
pnpm-lock.yaml
generated
589
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user