From 941557cba8dcf2aae9b08e2f61420437f5603b0c Mon Sep 17 00:00:00 2001
From: nsfisis <nsfisis@gmail.com>
Date: Tue, 4 Mar 2025 21:22:14 +0900
Subject: change port

---
 frontend/app/components/UserIcon.tsx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'frontend/app/components/UserIcon.tsx')

diff --git a/frontend/app/components/UserIcon.tsx b/frontend/app/components/UserIcon.tsx
index 656c170..a4ee5e6 100644
--- a/frontend/app/components/UserIcon.tsx
+++ b/frontend/app/components/UserIcon.tsx
@@ -9,7 +9,7 @@ export default function UserIcon({ iconPath, displayName, className }: Props) {
 		<img
 			src={
 				process.env.NODE_ENV === "development"
-					? `http://localhost:8002/iosdc-japan/2024/code-battle${iconPath}`
+					? `http://localhost:8003/iosdc-japan/2024/code-battle${iconPath}`
 					: `/iosdc-japan/2024/code-battle${iconPath}`
 			}
 			alt={`${displayName} のアイコン`}
-- 
cgit v1.2.3-70-g09d2


From 9b1049e39b2e6e45371930832b421be21297dcb5 Mon Sep 17 00:00:00 2001
From: nsfisis <nsfisis@gmail.com>
Date: Tue, 4 Mar 2025 21:26:39 +0900
Subject: change base path

---
 README.md                                       |  2 +-
 backend/admin/handler.go                        |  2 +-
 backend/main.go                                 | 14 +++++++-------
 docs/DEV.md                                     |  2 +-
 frontend/app/.client/audio/SoundEffect.ts       |  4 ++--
 frontend/app/.server/api/client.ts              |  4 ++--
 frontend/app/components/GolfPlayApp.client.tsx  |  4 ++--
 frontend/app/components/GolfWatchApp.client.tsx |  4 ++--
 frontend/app/components/UserIcon.tsx            |  4 ++--
 frontend/app/root.tsx                           |  2 +-
 frontend/app/routes/_index.tsx                  |  2 +-
 frontend/app/routes/dashboard.tsx               |  4 ++--
 frontend/vite.config.ts                         |  4 ++--
 nginx.conf                                      | 10 +++++-----
 14 files changed, 31 insertions(+), 31 deletions(-)

(limited to 'frontend/app/components/UserIcon.tsx')

diff --git a/README.md b/README.md
index 0f168a9..d0f4c3b 100644
--- a/README.md
+++ b/README.md
@@ -5,7 +5,7 @@
 
 2024-08-22 から 2024-08-24 にかけて開催された [iOSDC Japan 2024](https://iosdc.jp/2024/) の中の企画、Swift コードバトルのシステムです。
 
-[サイトはこちら (現在は新規にプレイすることはできません)](https://t.nil.ninja/iosdc-japan/2024/code-battle/)
+[サイトはこちら (現在は新規にプレイすることはできません)](https://t.nil.ninja/phperkaigi/2025/code-battle/)
 
 
 # サンドボックス化の仕組み
diff --git a/backend/admin/handler.go b/backend/admin/handler.go
index 235e0be..c3e40e9 100644
--- a/backend/admin/handler.go
+++ b/backend/admin/handler.go
@@ -18,7 +18,7 @@ import (
 )
 
 const (
-	basePath = "/iosdc-japan/2024/code-battle"
+	basePath = "/phperkaigi/2025/code-battle"
 )
 
 var jst = time.FixedZone("Asia/Tokyo", 9*60*60)
diff --git a/backend/main.go b/backend/main.go
index f0448f1..1218b19 100644
--- a/backend/main.go
+++ b/backend/main.go
@@ -38,7 +38,7 @@ func main() {
 		log.Fatalf("Error loading env %v", err)
 	}
 
-	openAPISpec, err := api.GetSwaggerWithPrefix("/iosdc-japan/2024/code-battle/api")
+	openAPISpec, err := api.GetSwaggerWithPrefix("/phperkaigi/2025/code-battle/api")
 	if err != nil {
 		log.Fatalf("Error loading OpenAPI spec\n: %s", err)
 	}
@@ -69,7 +69,7 @@ func main() {
 		log.Fatalf("Error restoring game hubs from db %v", err)
 	}
 	defer gameHubs.Close()
-	sockGroup := e.Group("/iosdc-japan/2024/code-battle/sock")
+	sockGroup := e.Group("/phperkaigi/2025/code-battle/sock")
 	sockHandler := gameHubs.SockHandler()
 	sockGroup.GET("/golf/:gameID/play", func(c echo.Context) error {
 		return sockHandler.HandleSockGolfPlay(c)
@@ -78,19 +78,19 @@ func main() {
 		return sockHandler.HandleSockGolfWatch(c)
 	})
 
-	apiGroup := e.Group("/iosdc-japan/2024/code-battle/api")
+	apiGroup := e.Group("/phperkaigi/2025/code-battle/api")
 	apiGroup.Use(oapimiddleware.OapiRequestValidator(openAPISpec))
 	apiHandler := api.NewHandler(queries, gameHubs)
 	api.RegisterHandlers(apiGroup, api.NewStrictHandler(apiHandler, nil))
 
 	adminHandler := admin.NewHandler(queries, gameHubs)
-	adminGroup := e.Group("/iosdc-japan/2024/code-battle/admin")
+	adminGroup := e.Group("/phperkaigi/2025/code-battle/admin")
 	adminHandler.RegisterHandlers(adminGroup)
 
 	if config.isLocal {
 		// For local dev: This is never used in production because the reverse
 		// proxy directly handles /files.
-		filesGroup := e.Group("/iosdc-japan/2024/code-battle/files")
+		filesGroup := e.Group("/phperkaigi/2025/code-battle/files")
 		filesGroup.Use(middleware.StaticWithConfig(middleware.StaticConfig{
 			Root:       "/",
 			Filesystem: http.Dir("/data/files"),
@@ -99,10 +99,10 @@ func main() {
 
 		// For local dev: This is never used in production because the reverse
 		// proxy sends these paths to the app server.
-		e.GET("/iosdc-japan/2024/code-battle/*", func(c echo.Context) error {
+		e.GET("/phperkaigi/2025/code-battle/*", func(c echo.Context) error {
 			return c.Redirect(http.StatusPermanentRedirect, "http://localhost:5173"+c.Request().URL.Path)
 		})
-		e.POST("/iosdc-japan/2024/code-battle/*", func(c echo.Context) error {
+		e.POST("/phperkaigi/2025/code-battle/*", func(c echo.Context) error {
 			return c.Redirect(http.StatusPermanentRedirect, "http://localhost:5173"+c.Request().URL.Path)
 		})
 	}
diff --git a/docs/DEV.md b/docs/DEV.md
index e91c6dc..7f79840 100644
--- a/docs/DEV.md
+++ b/docs/DEV.md
@@ -20,7 +20,7 @@
 1. `cd path/to/the/repo`
 1. `make init`
 1. `make up`
-1. Access to http://localhost:5173/iosdc-japan/2024/code-battle/.
+1. Access to http://localhost:5173/phperkaigi/2025/code-battle/.
     * User `a`, `b` and `c` can log in with `pass` password.
     * User `a` and `b` are players.
     * User `c` is an administrator.
diff --git a/frontend/app/.client/audio/SoundEffect.ts b/frontend/app/.client/audio/SoundEffect.ts
index fb003fa..99eccdd 100644
--- a/frontend/app/.client/audio/SoundEffect.ts
+++ b/frontend/app/.client/audio/SoundEffect.ts
@@ -14,8 +14,8 @@ export type SoundEffect =
 
 const BASE_URL =
 	process.env.NODE_ENV === "development"
-		? `http://localhost:8003/iosdc-japan/2024/code-battle/files/audio`
-		: `/iosdc-japan/2024/code-battle/files/audio`;
+		? `http://localhost:8003/phperkaigi/2025/code-battle/files/audio`
+		: `/phperkaigi/2025/code-battle/files/audio`;
 
 export function getFileUrl(soundEffect: SoundEffect): string {
 	switch (soundEffect) {
diff --git a/frontend/app/.server/api/client.ts b/frontend/app/.server/api/client.ts
index d69b617..edcffc1 100644
--- a/frontend/app/.server/api/client.ts
+++ b/frontend/app/.server/api/client.ts
@@ -4,8 +4,8 @@ import type { paths } from "./schema";
 const apiClient = createClient<paths>({
 	baseUrl:
 		process.env.NODE_ENV === "development"
-			? "http://localhost:8003/iosdc-japan/2024/code-battle/api/"
-			: "http://api-server/iosdc-japan/2024/code-battle/api/",
+			? "http://localhost:8003/phperkaigi/2025/code-battle/api/"
+			: "http://api-server/phperkaigi/2025/code-battle/api/",
 });
 
 export async function apiPostLogin(
diff --git a/frontend/app/components/GolfPlayApp.client.tsx b/frontend/app/components/GolfPlayApp.client.tsx
index 48c2c89..c81fe7e 100644
--- a/frontend/app/components/GolfPlayApp.client.tsx
+++ b/frontend/app/components/GolfPlayApp.client.tsx
@@ -42,8 +42,8 @@ export default function GolfPlayApp({
 }: Props) {
 	const socketUrl =
 		process.env.NODE_ENV === "development"
-			? `ws://localhost:8003/iosdc-japan/2024/code-battle/sock/golf/${game.game_id}/play?token=${sockToken}`
-			: `wss://t.nil.ninja/iosdc-japan/2024/code-battle/sock/golf/${game.game_id}/play?token=${sockToken}`;
+			? `ws://localhost:8003/phperkaigi/2025/code-battle/sock/golf/${game.game_id}/play?token=${sockToken}`
+			: `wss://t.nil.ninja/phperkaigi/2025/code-battle/sock/golf/${game.game_id}/play?token=${sockToken}`;
 
 	const gameStateKind = useAtomValue(gameStateKindAtom);
 	const setCurrentTimestamp = useSetAtom(setCurrentTimestampAtom);
diff --git a/frontend/app/components/GolfWatchApp.client.tsx b/frontend/app/components/GolfWatchApp.client.tsx
index 72db9e5..e80a009 100644
--- a/frontend/app/components/GolfWatchApp.client.tsx
+++ b/frontend/app/components/GolfWatchApp.client.tsx
@@ -33,8 +33,8 @@ export type Props = {
 export default function GolfWatchApp({ game, sockToken }: Props) {
 	const socketUrl =
 		process.env.NODE_ENV === "development"
-			? `ws://localhost:8003/iosdc-japan/2024/code-battle/sock/golf/${game.game_id}/watch?token=${sockToken}`
-			: `wss://t.nil.ninja/iosdc-japan/2024/code-battle/sock/golf/${game.game_id}/watch?token=${sockToken}`;
+			? `ws://localhost:8003/phperkaigi/2025/code-battle/sock/golf/${game.game_id}/watch?token=${sockToken}`
+			: `wss://t.nil.ninja/phperkaigi/2025/code-battle/sock/golf/${game.game_id}/watch?token=${sockToken}`;
 
 	const gameStateKind = useAtomValue(gameStateKindAtom);
 	const setCurrentTimestamp = useSetAtom(setCurrentTimestampAtom);
diff --git a/frontend/app/components/UserIcon.tsx b/frontend/app/components/UserIcon.tsx
index a4ee5e6..e14a571 100644
--- a/frontend/app/components/UserIcon.tsx
+++ b/frontend/app/components/UserIcon.tsx
@@ -9,8 +9,8 @@ export default function UserIcon({ iconPath, displayName, className }: Props) {
 		<img
 			src={
 				process.env.NODE_ENV === "development"
-					? `http://localhost:8003/iosdc-japan/2024/code-battle${iconPath}`
-					: `/iosdc-japan/2024/code-battle${iconPath}`
+					? `http://localhost:8003/phperkaigi/2025/code-battle${iconPath}`
+					: `/phperkaigi/2025/code-battle${iconPath}`
 			}
 			alt={`${displayName} のアイコン`}
 			className={`rounded-full border-4 border-white ${className}`}
diff --git a/frontend/app/root.tsx b/frontend/app/root.tsx
index c05020c..e47d794 100644
--- a/frontend/app/root.tsx
+++ b/frontend/app/root.tsx
@@ -13,7 +13,7 @@ import "./tailwind.css";
 config.autoAddCss = false;
 
 export const links: LinksFunction = () => [
-	{ rel: "icon", href: "/iosdc-japan/2024/code-battle/favicon.svg" },
+	{ rel: "icon", href: "/phperkaigi/2025/code-battle/favicon.svg" },
 ];
 
 export function Layout({ children }: { children: React.ReactNode }) {
diff --git a/frontend/app/routes/_index.tsx b/frontend/app/routes/_index.tsx
index 808302d..ec4dfcb 100644
--- a/frontend/app/routes/_index.tsx
+++ b/frontend/app/routes/_index.tsx
@@ -16,7 +16,7 @@ export default function Index() {
 	return (
 		<div className="min-h-screen bg-gray-100 flex flex-col items-center justify-center gap-y-6">
 			<img
-				src="/iosdc-japan/2024/code-battle/favicon.svg"
+				src="/phperkaigi/2025/code-battle/favicon.svg"
 				alt="iOSDC Japan 2024"
 				className="w-24 h-24"
 			/>
diff --git a/frontend/app/routes/dashboard.tsx b/frontend/app/routes/dashboard.tsx
index 53b32e0..a68d5c5 100644
--- a/frontend/app/routes/dashboard.tsx
+++ b/frontend/app/routes/dashboard.tsx
@@ -86,8 +86,8 @@ export default function Dashboard() {
 				<a
 					href={
 						process.env.NODE_ENV === "development"
-							? "http://localhost:8003/iosdc-japan/2024/code-battle/admin/dashboard"
-							: "/iosdc-japan/2024/code-battle/admin/dashboard"
+							? "http://localhost:8003/phperkaigi/2025/code-battle/admin/dashboard"
+							: "/phperkaigi/2025/code-battle/admin/dashboard"
 					}
 					className="text-lg text-white bg-pink-600 px-4 py-2 rounded transition duration-300 hover:bg-pink-500 focus:ring focus:ring-pink-400 focus:outline-none"
 				>
diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts
index 983190a..004af2c 100644
--- a/frontend/vite.config.ts
+++ b/frontend/vite.config.ts
@@ -3,7 +3,7 @@ import { defineConfig } from "vite";
 import tsconfigPaths from "vite-tsconfig-paths";
 
 export default defineConfig({
-	base: "/iosdc-japan/2024/code-battle/",
+	base: "/phperkaigi/2025/code-battle/",
 	plugins: [
 		remix({
 			future: {
@@ -11,7 +11,7 @@ export default defineConfig({
 				v3_relativeSplatPath: true,
 				v3_throwAbortReason: true,
 			},
-			basename: "/iosdc-japan/2024/code-battle/",
+			basename: "/phperkaigi/2025/code-battle/",
 		}),
 		tsconfigPaths(),
 	],
diff --git a/nginx.conf b/nginx.conf
index f421647..4796bbf 100644
--- a/nginx.conf
+++ b/nginx.conf
@@ -12,11 +12,11 @@ http {
   server {
     listen 80;
 
-    location /iosdc-japan/2024/code-battle/files/ {
+    location /phperkaigi/2025/code-battle/files/ {
       alias /var/www/files/;
     }
 
-    location /iosdc-japan/2024/code-battle/api/ {
+    location /phperkaigi/2025/code-battle/api/ {
       proxy_pass http://api-server;
       proxy_set_header Host $host;
       proxy_set_header X-Real-IP $remote_addr;
@@ -24,7 +24,7 @@ http {
       proxy_set_header X-Forwarded-Proto $scheme;
     }
 
-    location /iosdc-japan/2024/code-battle/admin/ {
+    location /phperkaigi/2025/code-battle/admin/ {
       proxy_pass http://api-server;
       proxy_set_header Host $host;
       proxy_set_header X-Real-IP $remote_addr;
@@ -32,7 +32,7 @@ http {
       proxy_set_header X-Forwarded-Proto $scheme;
     }
 
-    location /iosdc-japan/2024/code-battle/sock/ {
+    location /phperkaigi/2025/code-battle/sock/ {
       proxy_pass http://api-server;
       proxy_http_version 1.1;
       proxy_set_header Upgrade $http_upgrade;
@@ -43,7 +43,7 @@ http {
       proxy_set_header X-Forwarded-Proto $scheme;
     }
 
-    location /iosdc-japan/2024/code-battle/ {
+    location /phperkaigi/2025/code-battle/ {
       proxy_pass http://app-server;
       proxy_set_header Host $host;
       proxy_set_header X-Real-IP $remote_addr;
-- 
cgit v1.2.3-70-g09d2

