Skip to content

Commit 4f1eab0

Browse files
authored
Merge pull request #81 from jphacks/fix/yama/fix-something
各ページのCSSを調整
2 parents 81a921c + 3ee6bb8 commit 4f1eab0

File tree

7 files changed

+60
-54
lines changed

7 files changed

+60
-54
lines changed

app/src/app/page.tsx

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -152,10 +152,10 @@ export default function Home() {
152152
}}
153153
>
154154
<div className="text-center mb-4">
155-
<h2 className="text-lg font-semibold mb-2">今日のお題</h2>
155+
<h2 className="text-lg text-[#333333] font-semibold mb-2">今日のお題</h2>
156156
<p className="text-sm text-gray-600">撮影してスコアを競おう!</p>
157157
</div>
158-
<h1 className="text-3xl font-bold text-center mb-4">
158+
<h1 className="text-4xl font-bold text-[#333333] text-center mb-4">
159159
{todayAssignment?.english}
160160
</h1>
161161
<div className="flex justify-center w-full">
@@ -207,11 +207,8 @@ export default function Home() {
207207
<Card className="flex flex-col items-center aspect-square w-full p-6 bg-white/80 backdrop-blur-sm">
208208
<h2 className="text-lg font-semibold mb-4">過去のチャレンジ</h2>
209209
{myScore.length === 0 ? (
210-
<div className="text-gray-500 text-center py-8">
211-
<p>まだチャレンジの記録がありません</p>
212-
<p className="text-sm mt-2">
213-
新しいチャレンジに挑戦してみましょう!
214-
</p>
210+
<div className="text-gray-500 text-center py-8 mt-12">
211+
<p className="font-bold">まだチャレンジの記録がありません</p>
215212
<p className="text-sm mt-2">
216213
新しいチャレンジに挑戦してみましょう!
217214
</p>

app/src/app/ranking/page.tsx

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ export default function RankingPage() {
1515
const [selectedTab, setSelectedTab] = useState<
1616
"today" | "weekly" | "allTime"
1717
>("today");
18-
const [rankingType, setRankingType] = useState<"nomal" | "image">("nomal");
18+
const [rankingType, setRankingType] = useState<"normal" | "image">("normal");
1919
const [selectedTopic, setSelectedTopic] = useState(0);
2020
const [topics, setTopics] = useState<todayAssignment[]>([]);
2121
const [isPointDialogOpen, _] = usePointDialog();
@@ -51,15 +51,15 @@ export default function RankingPage() {
5151
}
5252
return (
5353
<div className="min-h-screen bg-gradient-to-t from-gray-300 via-gray-200 to-gray-50 px-4">
54-
{rankingType === "nomal" && (
54+
{rankingType === "normal" && (
5555
<>
5656
<div className="w-full flex flex-col items-center justify-center sticky top-0 z-10 pt-4">
5757
<TabNavigation
5858
selectedTab={selectedTab}
5959
setSelectedTab={setSelectedTab}
6060
/>
6161
{selectedTab === "today" && (
62-
<div className="flex w-screen content-between p-4 justify-between">
62+
<div className="flex gap-3 w-full content-between p-4 justify-between">
6363
<TopicTabs
6464
selectedTopic={selectedTopic}
6565
setSelectedTopic={setSelectedTopic}
@@ -70,11 +70,13 @@ export default function RankingPage() {
7070
onClick={() => {
7171
setRankingType("image");
7272
}}
73-
className="bg-transparent text-[#333333] rounded-md right-0"
73+
className="bg-transparent text-[#333333] rounded-lg py-2 px-4 shadow-md"
7474
>
7575
<div className="flex flex-col justify-center items-center">
7676
<BsGrid1X2 size={"24"} />
77-
<p>みんなの写真</p>
77+
<p className="text-xs text-nowrap font-bold text-[#333333] mt-1">
78+
みんなの写真
79+
</p>
7880
</div>
7981
</button>
8082
</div>

app/src/app/user/page.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ const UserPage = () => {
173173
similarityPoint={userStatus?.similarityPoint || 0}
174174
/>
175175
</button>
176-
<Card className="flex flex-col items-center border-none p-8">
176+
<Card className="w-[21rem] flex flex-col items-center border-none p-8">
177177
<h2 className="text-2xl font-bold mb-4">過去のチャレンジ</h2>
178178
<div className="w-full overflow-y-auto">
179179
{myScore.length === 0 ? (

app/src/components/AssignmentBadge.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,10 @@ export const AssignmentBadge = ({
2626
setAssignment(selectAssignment);
2727
};
2828
return (
29-
<div className="flex flex-col items-center justify-center text-center fixed top-0 left-0 w-full h-1/4">
30-
<div className="py-2 px-4 bg-orange-500 text-white rounded-full">
29+
<div className="flex flex-col items-center justify-center text-center fixed top-0 left-0 w-full h-1/6">
30+
<div className="py-2 bg-orange-500 text-white rounded-xl">
3131
<Select value={assignment.english} onValueChange={handleSelect}>
32-
<SelectTrigger className="w-[180px]">
32+
<SelectTrigger className="w-[180px] border-none focus:ring-0 focus:outline-none">
3333
<SelectValue />
3434
</SelectTrigger>
3535
<SelectContent>

app/src/components/view/ranking/ImageList.tsx

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@ import { VscListOrdered } from "react-icons/vsc";
66
import { LoadingSpinner } from "../LoadingSpinner";
77

88
type ImageListProps = {
9-
setMode: (mode: "nomal" | "image") => void;
9+
setMode: (mode: "normal" | "image") => void;
1010
};
1111

1212
const MODE = {
13-
NOMAL: "nomal",
13+
NORMAL: "normal",
1414
IMAGE: "image",
1515
} as const;
1616

@@ -41,18 +41,18 @@ export const ImageList = ({ setMode }: ImageListProps) => {
4141
}
4242

4343
return (
44-
<div>
45-
<div className="flex justify-end">
44+
<div className="p-4">
45+
<div className="flex justify-end mb-4">
4646
<button
4747
type="button"
4848
onClick={() => {
49-
setMode(MODE.NOMAL);
49+
setMode(MODE.NORMAL);
5050
}}
51-
className="bg-transparent text-[#333333] rounded-md py-6 right-0"
51+
className="bg-transparent text-[#333333] rounded-md py-2 px-4 shadow-md"
5252
>
53-
<div className="flex flex-col justify-center items-center w-20">
53+
<div className="flex flex-col justify-center items-center">
5454
<VscListOrdered size={"30"} />
55-
<p>ランキング</p>
55+
<p className="text-[#333333] text-sm font-bold">ランキング</p>
5656
</div>
5757
</button>
5858
</div>
@@ -68,14 +68,21 @@ export const ImageList = ({ setMode }: ImageListProps) => {
6868
};
6969

7070
const ImageBox = ({ score }: { score: ScoreDetail }) => {
71+
const [imageUrl, setImageUrl] = useState(score.imageUrl);
72+
73+
const handleImageError = () => {
74+
setImageUrl("https://placehold.jp/150x150.png");
75+
};
76+
7177
return (
72-
<Card key={score.id} className="p-1 w-full">
78+
<Card key={score.id} className="p-1 w-full shadow-md">
7379
<img
74-
src={score.imageUrl}
80+
src={imageUrl}
7581
alt="画像"
76-
className="w-full object-cover rounded-md relative"
82+
className="w-full object-cover rounded-md"
83+
onError={handleImageError}
7784
/>
78-
<p className="text-gray-500 relative bg-slate-200 rounded-md p-1">
85+
<p className="text-gray-500 bg-slate-200 rounded-md p-1 mt-2">
7986
{score.assignment}
8087
</p>
8188
</Card>

app/src/components/view/ranking/RankingListAll.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@ import type { RankingScores } from "@/types";
33
import { useEffect, useState } from "react";
44
import { LoadingSpinner } from "../LoadingSpinner";
55

6-
export default function RankingListWeekly() {
6+
export default function RankingListAll() {
77
const [data, setData] = useState<RankingScores[]>([]);
88
const [isLoading, setIsLoading] = useState<boolean>(true);
99

1010
useEffect(() => {
1111
const fetchData = () => {
1212
setIsLoading(true);
13-
return fetch("/api/score/week")
13+
return fetch("/api/score/all")
1414
.then((response) => {
1515
if (!response.ok) {
1616
throw new Error("Failed to fetch data");

app/src/components/view/ranking/TopicTabs.tsx

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -3,34 +3,34 @@ import type { todayAssignment } from "@/types";
33
import type React from "react";
44

55
interface TopicTabsProps {
6-
topics: todayAssignment[];
7-
selectedTopic: number;
8-
setSelectedTopic: (topic: number) => void;
6+
topics: todayAssignment[];
7+
selectedTopic: number;
8+
setSelectedTopic: (topic: number) => void;
99
}
1010

1111
const TopicTabs: React.FC<TopicTabsProps> = ({
12-
selectedTopic,
13-
setSelectedTopic,
14-
topics,
12+
selectedTopic,
13+
setSelectedTopic,
14+
topics,
1515
}) => {
16-
return (
17-
<div className="flex overflow-x-auto space-x-4">
18-
{topics.map((topic) => (
19-
<Button
20-
variant={"primary"}
21-
key={topic.assignmentId}
22-
onClick={() => setSelectedTopic(topic.assignmentId)}
23-
className={`py-2 px-4 ${
24-
selectedTopic === topic.assignmentId
25-
? "bg-orange-200 text-[#333333]"
26-
: "bg-gray-200"
27-
} rounded-full`}
28-
>
29-
{topic.english}
30-
</Button>
31-
))}
32-
</div>
33-
);
16+
return (
17+
<div className="flex overflow-x-auto space-x-2 py-2">
18+
{topics.map((topic) => (
19+
<Button
20+
variant={"primary"}
21+
key={topic.assignmentId}
22+
onClick={() => setSelectedTopic(topic.assignmentId)}
23+
className={`py-2 px-4 ${
24+
selectedTopic === topic.assignmentId
25+
? "bg-orange-200 text-[#333333]"
26+
: "bg-gray-200"
27+
} rounded-full shadow-md`}
28+
>
29+
{topic.english}
30+
</Button>
31+
))}
32+
</div>
33+
);
3434
};
3535

3636
export default TopicTabs;

0 commit comments

Comments
 (0)