refactor(repo): consolidate openflare-server to root and move subprojects to internal/apps

- Merge all files inside openflare-server to the repository root directory.
- Relocate agent, relay, and flared subprojects from internal/ to internal/apps/.
- Combine docker-compose files and update build context paths to root.
- Update GitHub workflows and Dockerfiles to refer to new directories and package names.
- Rewrite Go package imports across all files.
- Resolve database renew test race condition and clean up docs.
This commit is contained in:
ryan
2026-06-19 14:23:29 +08:00
parent 19d476ed7f
commit 63cd906cfc
1064 changed files with 366 additions and 1397 deletions
@@ -0,0 +1,13 @@
"use client"
import {useUser} from "@/contexts/user-context"
/**
* Auth provider bridge hook
*
* Provides a stable interface for components that use the useAuth() pattern.
* Delegates to the canonical UserContext under the hood.
*/
export function useAuth() {
return useUser()
}
@@ -0,0 +1,23 @@
"use client"
import {QueryClient, QueryClientProvider} from "@tanstack/react-query"
import {useState} from "react"
export function AppQueryProvider({ children }: { children: React.ReactNode }) {
const [queryClient] = useState(
() =>
new QueryClient({
defaultOptions: {
queries: {
staleTime: 30_000,
refetchOnWindowFocus: false,
retry: 1,
},
},
}),
)
return (
<QueryClientProvider client={queryClient}>{children}</QueryClientProvider>
)
}
@@ -0,0 +1,34 @@
"use client"
import {useQuery} from '@tanstack/react-query'
import {useEffect} from 'react'
import {ConfigService} from '@/lib/services/config'
import {usePathname} from 'next/navigation'
export function SiteTitleUpdater() {
const pathname = usePathname()
const publicConfigQuery = useQuery({
queryKey: ["public-config"],
queryFn: () => ConfigService.getPublicConfig(),
})
useEffect(() => {
const siteName = publicConfigQuery.data?.site_name || "OpenFlare"
// Determine the page suffix based on path
let suffix = ""
if (pathname === "/login") {
suffix = " - 登录"
} else if (pathname === "/register") {
suffix = " - 注册"
} else if (pathname.startsWith("/admin")) {
suffix = " - 后台管理"
} else if (pathname === "/") {
suffix = " - 总览"
}
document.title = `${siteName}${suffix}`
}, [publicConfigQuery.data?.site_name, pathname])
return null
}