Compare commits
3 Commits
48bdcd798d
...
681809a2a0
| Author | SHA1 | Date | |
|---|---|---|---|
| 681809a2a0 | |||
| 4d4962f330 | |||
| 1c8a94408d |
@@ -8,36 +8,6 @@ on:
|
|||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
quality:
|
|
||||||
name: Quality and Bundle Budgets
|
|
||||||
runs-on: gitea-label
|
|
||||||
container:
|
|
||||||
image: cozsweet-act-runner-node24-docker:latest
|
|
||||||
env:
|
|
||||||
NEXT_TELEMETRY_DISABLED: "1"
|
|
||||||
SENTRY_UPLOAD_SOURCEMAPS: "0"
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Skip quality gate for test branch
|
|
||||||
if: ${{ github.ref == 'refs/heads/test' }}
|
|
||||||
run: echo "Quality gate is disabled for the test branch."
|
|
||||||
|
|
||||||
- name: Checkout
|
|
||||||
if: ${{ github.ref != 'refs/heads/test' }}
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
if: ${{ github.ref != 'refs/heads/test' }}
|
|
||||||
run: pnpm install --frozen-lockfile
|
|
||||||
|
|
||||||
- name: Run quality checks
|
|
||||||
if: ${{ github.ref != 'refs/heads/test' }}
|
|
||||||
run: pnpm quality
|
|
||||||
|
|
||||||
- name: Enforce bundle budgets
|
|
||||||
if: ${{ github.ref != 'refs/heads/test' }}
|
|
||||||
run: pnpm perf:bundle:check
|
|
||||||
|
|
||||||
publish:
|
publish:
|
||||||
name: Build and Push Docker Image
|
name: Build and Push Docker Image
|
||||||
needs: quality
|
needs: quality
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 15 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 6.7 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 8.1 KiB After Width: | Height: | Size: 19 KiB |
@@ -31,10 +31,7 @@
|
|||||||
padding:
|
padding:
|
||||||
calc(var(--page-padding-y, 20px) + var(--app-safe-top, 0px))
|
calc(var(--page-padding-y, 20px) + var(--app-safe-top, 0px))
|
||||||
calc(var(--page-padding-x, 26px) + var(--app-safe-right, 0px))
|
calc(var(--page-padding-x, 26px) + var(--app-safe-right, 0px))
|
||||||
calc(
|
calc(var(--page-padding-y, 20px) + var(--app-safe-bottom, 0px))
|
||||||
var(--spacing-md, 12px) + var(--app-safe-bottom, 0px) +
|
|
||||||
var(--app-bottom-nav-height, 64px)
|
|
||||||
)
|
|
||||||
calc(var(--page-padding-x, 26px) + var(--app-safe-left, 0px));
|
calc(var(--page-padding-x, 26px) + var(--app-safe-left, 0px));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,29 +2,31 @@
|
|||||||
|
|
||||||
import { useEffect } from "react";
|
import { useEffect } from "react";
|
||||||
|
|
||||||
import { AppBottomNav, MobileShell } from "@/app/_components/core";
|
import { MobileShell } from "@/app/_components/core";
|
||||||
|
// import { AppBottomNav } from "@/app/_components/core";
|
||||||
import { useAppNavigator } from "@/router/use-app-navigator";
|
import { useAppNavigator } from "@/router/use-app-navigator";
|
||||||
import {
|
import {
|
||||||
useActiveCharacter,
|
useActiveCharacter,
|
||||||
useActiveCharacterRoutes,
|
useActiveCharacterRoutes,
|
||||||
} from "@/providers/character-provider";
|
} from "@/providers/character-provider";
|
||||||
import { useAuthState } from "@/stores/auth/auth-context";
|
// import { useAuthState } from "@/stores/auth/auth-context";
|
||||||
import { pwaUtil } from "@/utils/pwa";
|
import { pwaUtil } from "@/utils/pwa";
|
||||||
|
|
||||||
import {
|
import {
|
||||||
SplashBackground,
|
SplashBackground,
|
||||||
SplashButton,
|
SplashButton,
|
||||||
SplashContent,
|
SplashContent,
|
||||||
SplashLatestMessage,
|
// SplashLatestMessage,
|
||||||
SplashLogo,
|
SplashLogo,
|
||||||
} from "./components";
|
} from "./components";
|
||||||
import { useSplashLatestMessage } from "./hooks/use-splash-latest-message";
|
// import { useSplashLatestMessage } from "./hooks/use-splash-latest-message";
|
||||||
import styles from "./components/splash-screen.module.css";
|
import styles from "./components/splash-screen.module.css";
|
||||||
|
|
||||||
export function SplashScreen() {
|
export function SplashScreen() {
|
||||||
const navigator = useAppNavigator();
|
const navigator = useAppNavigator();
|
||||||
const character = useActiveCharacter();
|
const character = useActiveCharacter();
|
||||||
const characterRoutes = useActiveCharacterRoutes();
|
const characterRoutes = useActiveCharacterRoutes();
|
||||||
|
/*
|
||||||
const authState = useAuthState();
|
const authState = useAuthState();
|
||||||
const latestMessage = useSplashLatestMessage({
|
const latestMessage = useSplashLatestMessage({
|
||||||
characterId: character.id,
|
characterId: character.id,
|
||||||
@@ -32,14 +34,17 @@ export function SplashScreen() {
|
|||||||
isAuthLoading: authState.isLoading,
|
isAuthLoading: authState.isLoading,
|
||||||
loginStatus: authState.loginStatus,
|
loginStatus: authState.loginStatus,
|
||||||
});
|
});
|
||||||
|
*/
|
||||||
|
|
||||||
const handleStartChat = () => {
|
const handleStartChat = () => {
|
||||||
navigator.openChat({ replace: true });
|
navigator.openChat({ replace: true });
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
const handleOpenPrivateRoom = () => {
|
const handleOpenPrivateRoom = () => {
|
||||||
navigator.push(characterRoutes.privateRoom, { scroll: false });
|
navigator.push(characterRoutes.privateRoom, { scroll: false });
|
||||||
};
|
};
|
||||||
|
*/
|
||||||
|
|
||||||
const handleOpenSplash = () => {
|
const handleOpenSplash = () => {
|
||||||
navigator.push(characterRoutes.splash, { scroll: false });
|
navigator.push(characterRoutes.splash, { scroll: false });
|
||||||
@@ -58,6 +63,7 @@ export function SplashScreen() {
|
|||||||
<div className={styles.content}>
|
<div className={styles.content}>
|
||||||
<SplashLogo />
|
<SplashLogo />
|
||||||
<div className={styles.spacer} />
|
<div className={styles.spacer} />
|
||||||
|
{/*
|
||||||
<SplashLatestMessage
|
<SplashLatestMessage
|
||||||
message={latestMessage.message}
|
message={latestMessage.message}
|
||||||
characterName={character.shortName}
|
characterName={character.shortName}
|
||||||
@@ -65,6 +71,7 @@ export function SplashScreen() {
|
|||||||
isLoading={latestMessage.isLoading}
|
isLoading={latestMessage.isLoading}
|
||||||
onOpenChat={handleStartChat}
|
onOpenChat={handleStartChat}
|
||||||
/>
|
/>
|
||||||
|
*/}
|
||||||
<SplashContent characterName={character.shortName} />
|
<SplashContent characterName={character.shortName} />
|
||||||
<div className={styles.buttonArea}>
|
<div className={styles.buttonArea}>
|
||||||
<SplashButton onStartChat={handleStartChat} />
|
<SplashButton onStartChat={handleStartChat} />
|
||||||
@@ -75,12 +82,14 @@ export function SplashScreen() {
|
|||||||
24/7 online | Chat | Companion | Heal | Sweet moments
|
24/7 online | Chat | Companion | Heal | Sweet moments
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
{/*
|
||||||
<AppBottomNav
|
<AppBottomNav
|
||||||
activeItem="chat"
|
activeItem="chat"
|
||||||
privateRoomLabel={character.copy.privateRoomTitle}
|
privateRoomLabel={character.copy.privateRoomTitle}
|
||||||
onChatClick={handleOpenSplash}
|
onChatClick={handleOpenSplash}
|
||||||
onPrivateRoomClick={handleOpenPrivateRoom}
|
onPrivateRoomClick={handleOpenPrivateRoom}
|
||||||
/>
|
/>
|
||||||
|
*/}
|
||||||
</div>
|
</div>
|
||||||
</MobileShell>
|
</MobileShell>
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user