Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
79 commits
Select commit Hold shift + click to select a range
df0899d
remove ionic
Xavier-Charles Nov 18, 2025
5af6766
clean up
Xavier-Charles Nov 18, 2025
0b1d3e5
clean up
Xavier-Charles Nov 18, 2025
90ec40f
refactor: Comment out mobile app logic for future implementation
Xavier-Charles Nov 26, 2025
c444074
feat: Add mobile profile dropdown container and wrapper components
Xavier-Charles Nov 26, 2025
7b64e50
feat: Refactor profile dropdown components into a unified profile men…
Xavier-Charles Nov 26, 2025
9c0c987
feat: Update ProfileMenuWrapper and DropdownAvatar styles for improve…
Xavier-Charles Nov 26, 2025
8b3b437
feat: Enhance mobile layout styles for ProfileMenuWrapper and MainLayout
Xavier-Charles Nov 26, 2025
6316495
feat: Add navigation to boards in ProfileMenuWrapper and clean up Lay…
Xavier-Charles Nov 26, 2025
f2167c2
feat: Implement Boards feature with mobile layout and navigation
Xavier-Charles Nov 26, 2025
d83d150
feat: Add BoardsLibrary route and update view route logic for improve…
Xavier-Charles Nov 26, 2025
54b1009
refactor: Clean up import statements and streamline logging in Boards…
Xavier-Charles Dec 1, 2025
5de8246
feat: Refactor ProfileMenuWrapper to separate mobile and desktop comp…
Xavier-Charles Dec 1, 2025
ace376f
feat: Integrate i18next for internationalization and update language …
Xavier-Charles Dec 1, 2025
debcbdb
feat: Add MobileNavigation component for improved mobile layout and n…
Xavier-Charles Dec 1, 2025
999b2d5
feat: Enhance error handling and UI in GeneralError and ErrorContaine…
Xavier-Charles Dec 1, 2025
b6b46c7
feat: Improve i18next initialization with error logging; clean up imp…
Xavier-Charles Dec 2, 2025
b6f20fb
feat: Comment out unused BoardsSVG import and Link component for clea…
Xavier-Charles Dec 2, 2025
139d7ee
feat: Remove unused isFetching prop from BoardsContainer for cleaner …
Xavier-Charles Dec 2, 2025
45175df
feat: Update CustomNavTab styling for improved layout and accessibility
Xavier-Charles Dec 2, 2025
ac028d5
feat: Update layout of custom boards display using grid for better re…
Xavier-Charles Dec 3, 2025
33f098d
feat: Add Widgets feature with routing, container, and mobile components
Xavier-Charles Dec 4, 2025
6aa1570
feat: Implement responsive layout handling for mobile widgets and ref…
Xavier-Charles Dec 4, 2025
d8e21f2
feat: Fix return statement for MobileWidgetsList rendering in Widgets…
Xavier-Charles Dec 4, 2025
96b0a64
feat: Add MobileWidgetsView component for tabbed widget display on mo…
Xavier-Charles Dec 8, 2025
8816fbd
feat: Add DesktopWidgetsView component for improved widget layout man…
Xavier-Charles Dec 8, 2025
6f331ef
feat: Integrate useHeaderScroll hook for improved widget scrolling an…
Xavier-Charles Dec 8, 2025
556faab
rebase
Xavier-Charles Dec 8, 2025
c84ece6
feat: Update padding in MainLayout and adjust height calculation in M…
Xavier-Charles Dec 8, 2025
4968686
feat: Refactor mutation hooks in ItemsContainer to ensure consistent …
Xavier-Charles Dec 8, 2025
7d1a9c7
feat: Refactor calendar styles for improved responsiveness and layout…
Xavier-Charles Dec 8, 2025
44026ed
feat: Adjust minimum width and margin for improved layout in AgendaIt…
Xavier-Charles Dec 10, 2025
51c8c57
feat: Add mobileViewWidgetHeight prop to PodcastModule, PodcastContai…
Xavier-Charles Dec 10, 2025
58290a9
feat: Update CustomTableContainer to accept mobileViewWidgetHeight pr…
Xavier-Charles Dec 17, 2025
2827839
feat: Add margin top and responsive layout adjustments to CountdownMo…
Xavier-Charles Dec 17, 2025
8cf6323
feat: Wrap iframe in a div for improved layout consistency in MediaMo…
Xavier-Charles Dec 17, 2025
5c41224
feat: Add margin top adjustments for improved layout in PolymarketEve…
Xavier-Charles Dec 18, 2025
625a071
feat: Add mobileViewWidgetHeight prop to DuneContainer and DuneTableC…
Xavier-Charles Dec 18, 2025
9582af7
feat: Update layout in CountdownModule for improved responsiveness
Xavier-Charles Dec 18, 2025
24951a4
test
Xavier-Charles Dec 18, 2025
ed48238
feat: Enhance layout and responsiveness in AddressInput, PortfolioMod…
Xavier-Charles Dec 19, 2025
649847f
feat: Refactor PortfolioStats and PortfolioContainer for improved ass…
Xavier-Charles Dec 19, 2025
e5fa850
feat: Update PortfolioStats and PortfolioContainer to enhance widget …
Xavier-Charles Dec 19, 2025
1c61e2e
feat: Update CandlestickChart and LineChart for responsive height adj…
Xavier-Charles Dec 19, 2025
d9d2444
feat: Improve responsiveness and layout in Dune components for better…
Xavier-Charles Dec 22, 2025
7c296cd
feat: Add mobileViewWidgetHeight prop to TvlContainer for improved wi…
Xavier-Charles Dec 22, 2025
731e34f
feat: Add height prop to MarketHeatmap components for improved layout…
Xavier-Charles Dec 22, 2025
19e6729
feat: Enhance Select component with responsive class names for improv…
Xavier-Charles Dec 22, 2025
a7b384f
feat: Update HeatmapFilters component for improved mobile padding
Xavier-Charles Dec 22, 2025
263c7b9
feat: Update ErrorContainer to improve offline error message layout f…
Xavier-Charles Dec 26, 2025
81556a6
feat: Add height prop to MapModule and update MapContainer for mobile…
Xavier-Charles Dec 26, 2025
2aaaa9f
feat: Update ImageWidget and TwoColImageContainer for improved mobile…
Xavier-Charles Dec 29, 2025
4176a86
feat: Refactor KasandraContainer to support mobile view widget height…
Xavier-Charles Dec 30, 2025
0214c47
feat: Refactor KasandraContainer for improved readability and mobile …
Xavier-Charles Dec 30, 2025
582bf4e
feat: Remove unused styled-system packages from yarn.lock
Xavier-Charles Jan 6, 2026
dc94d44
feat: Add z-index to mobile header container for improved layering
Xavier-Charles Jan 6, 2026
26094db
feat: Add navigation option to ProfileMenu for accessing boards
Xavier-Charles Jan 6, 2026
fa4ec15
feat: Update MobileNavigation to use icon components and add Boards tab
Xavier-Charles Jan 6, 2026
5034353
feat: Simplify props passing in ProfileMenuWrapper for mobile and des…
Xavier-Charles Jan 6, 2026
93961c2
feat: Update MobileNavigation to link to Boards instead of Widgets
Xavier-Charles Jan 6, 2026
b39c0f6
feat: Rename isWidgets to isWidgetsLibrary for clarity in useViewRout…
Xavier-Charles Jan 6, 2026
5c6e24b
feat: Refactor route paths and remove unused mobile routes for clarity
Xavier-Charles Jan 6, 2026
0bad852
feat: Rename desktopRoutes to appRoutes and clean up unused mobile ro…
Xavier-Charles Jan 6, 2026
dfc9994
feat: Remove outdated comments from Modal component for clarity
Xavier-Charles Jan 6, 2026
f266dfa
refactor: remove unused mobile containers and pages
Xavier-Charles Jan 6, 2026
3b81cf0
feat: add height to header navbar for consistent layout
Xavier-Charles Jan 8, 2026
707893b
feat: add widget size tracking ID to MobileWidgetsView component
Xavier-Charles Jan 8, 2026
d936a59
feat: implement responsive wallet setup buttons in Portfolio component
Xavier-Charles Jan 8, 2026
709df81
feat: enhance layout of wallet connection buttons in Portfolio component
Xavier-Charles Jan 8, 2026
b4ee44b
hide tutorial for mobile
Xavier-Charles Jan 9, 2026
32b041e
feat: add onCloseMenu prop to ProfileMenuContainer for better mobile …
Xavier-Charles Jan 9, 2026
bb336f5
feat: improve layout for RecipeModule component in mobile view
Xavier-Charles Jan 9, 2026
878c3ad
feat: integrate useResolvedView hook for improved sync status handling
Xavier-Charles Jan 9, 2026
551b216
feat: update documentation for SyncIndicatorContainer to clarify func…
Xavier-Charles Jan 9, 2026
9771691
feat: enhance LayoutHeader with logo and sync indicator for improved …
Xavier-Charles Jan 9, 2026
9517c08
feat: add viewName prop to LayoutHeader and MainLayout for enhanced c…
Xavier-Charles Jan 9, 2026
06ad337
Implement feature X to enhance user experience and optimize performance
Xavier-Charles Jan 9, 2026
d506740
feat: add resolutions for @types/react and @types/react-dom to ensure…
Xavier-Charles Jan 9, 2026
fc30359
update yarn.lock
Xavier-Charles Jan 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -65,5 +65,9 @@
"url": "https://github.com/AlphadayHQ/alphaday/issues"
},
"homepage": "https://github.com/AlphadayHQ/alphaday#readme",
"packageManager": "yarn@1.22.19"
"packageManager": "yarn@1.22.19",
"resolutions": {
"@types/react": "18.2.25",
"@types/react-dom": "18.2.6"
}
}
14 changes: 0 additions & 14 deletions packages/frontend/capacitor.config.ts

This file was deleted.

7 changes: 0 additions & 7 deletions packages/frontend/ionic.config.json

This file was deleted.

16 changes: 0 additions & 16 deletions packages/frontend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,27 +8,15 @@
"dev": "pwa-assets-generator && VITE_COMMIT=$(git rev-parse --short HEAD) VITE_COMMIT_TS=$(git log -1 --pretty='format:%cd' --date=format:'%Y-%m-%d %H:%M:%S') vite",
"dev:ssl": "USE_SSL=true yarn dev --host --port 443",
"build": "pwa-assets-generator && VITE_COMMIT=$(git rev-parse --short HEAD) VITE_COMMIT_TS=$(git log -1 --pretty='format:%cd' --date=format:'%Y-%m-%d %H:%M:%S') vite build",
"build:android:dev": "ionic capacitor build android -- --mode development",
"build:android:prod": "node env-check.cjs && ionic capacitor build android --prod",
"platform:add": "ionic capacitor add",
"generate-pwa-assets": "pwa-assets-generator",
"preview": "vite preview",
"test.e2e": "cypress run",
"test.unit": "vitest",
"lint": "eslint --max-warnings=0 --ignore-path .gitignore . --ext ts --ext tsx",
"resources": "cordova-res ios --skip-config --copy && cordova-res android --skip-config --copy",
"typecheck": "tsc"
},
"dependencies": {
"@alphaday/ui-kit": "0.0.0",
"@capacitor/android": "5.4.1",
"@capacitor/app": "5.0.7",
"@capacitor/core": "5.7.4",
"@capacitor/haptics": "5.0.7",
"@capacitor/keyboard": "5.0.8",
"@capacitor/status-bar": "5.0.7",
"@ionic/react": "7.8.1",
"@ionic/react-router": "7.8.1",
"@react-oauth/google": "0.12.1",
"@reduxjs/toolkit": "1.8.0",
"@sentry/react": "7.109.0",
Expand All @@ -43,7 +31,6 @@
"html2canvas": "1.4.1",
"i18next": "23.16.5",
"i18next-browser-languagedetector": "8.2.0",
"ionicons": "7.3.0",
"md5": "2.3.0",
"moment": "2.30.1",
"moment-with-locales-es6": "1.0.1",
Expand Down Expand Up @@ -74,8 +61,6 @@
"web3-eth-accounts": "1.9.0"
},
"devDependencies": {
"@capacitor/cli": "5.4.1",
"@ionic/cli": "7.2.0",
"@testing-library/react": "15.0.7",
"@testing-library/react-hooks": "8.0.1",
"@testing-library/user-event": "14.4.3",
Expand All @@ -89,7 +74,6 @@
"@vite-pwa/assets-generator": "0.2.4",
"@vitejs/plugin-basic-ssl": "1.2.0",
"@vitejs/plugin-legacy": "5.3.2",
"cordova-res": "0.15.4",
"cypress": "12.17.4",
"dotenv": "16.4.5",
"happy-dom": "20.0.11",
Expand Down
55 changes: 28 additions & 27 deletions packages/frontend/src/App.tsx
Original file line number Diff line number Diff line change
@@ -1,16 +1,15 @@
import { Suspense, memo, useMemo } from "react";
import { ErrorModal } from "@alphaday/ui-kit";
import { IonApp, IonRouterOutlet } from "@ionic/react";
import { IonReactRouter } from "@ionic/react-router";
import { Web3Modal } from "@web3modal/react";
import { Redirect, Route } from "react-router-dom";
import { BrowserRouter, Route } from "react-router-dom";
import * as userStore from "src/api/store/slices/user";
import ToastContainer from "src/containers/toasts/ToastContainer";
import {
useAppInit,
useResolvedView,
useViewRoute,
useGaTracker,
useIsMobile,
} from "./api/hooks";
import { useGetRemoteStatusQuery } from "./api/services";
import { useAppDispatch } from "./api/store/hooks";
Expand All @@ -20,7 +19,7 @@ import { getRtkErrorCode } from "./api/utils/errorHandling";
import { Logger } from "./api/utils/logging";
import CONFIG from "./config/config";
import PreloaderPage from "./pages/preloader";
import { EDesktopRoutePaths, desktopRoutes, errorRoutes } from "./routes";
import { appRoutes, errorRoutes } from "./routes";
import "@alphaday/ui-kit/global.scss";

const landingPage = CONFIG.SEO.DOMAIN;
Expand All @@ -30,6 +29,7 @@ const goToLandingPage = () => {
};

const AppRoutes = () => {
const isMobile = useIsMobile();
useGaTracker();

const dispatch = useAppDispatch();
Expand All @@ -39,22 +39,33 @@ const AppRoutes = () => {
});

const resolvedView = useResolvedView();
const { pathContainsHashOrSlug, isRoot, isSuperfeed } = useViewRoute();
const {
pathContainsHashOrSlug,
isRoot,
isBoardsLibrary,
isWidgetsLibrary,
} = useViewRoute();

const errorCode = useMemo<number | undefined>(() => {
/**
* At this moment, we do not support any other routes than the root and the hash/slug routes
* If the path does not contain a hash or slug, we show the 404 error page
*/
if (!pathContainsHashOrSlug && !isRoot && !isSuperfeed) {
if (
!pathContainsHashOrSlug &&
!isRoot &&
!isBoardsLibrary &&
!isWidgetsLibrary
) {
return 404;
}
const errorInfo = error ?? resolvedView.error;
return errorInfo && getRtkErrorCode(errorInfo);
}, [
pathContainsHashOrSlug,
isRoot,
isSuperfeed,
isBoardsLibrary,
isWidgetsLibrary,
error,
resolvedView.error,
]);
Expand All @@ -63,7 +74,7 @@ const AppRoutes = () => {
if (error || errorCode) {
return errorRoutes;
}
return desktopRoutes;
return appRoutes;
}, [error, errorCode]);

/**
Expand All @@ -76,16 +87,8 @@ const AppRoutes = () => {
location.reload();
}

if (isSuperfeed) {
return (
<Redirect
key={EDesktopRoutePaths.Superfeed}
path={EDesktopRoutePaths.Superfeed}
exact
to={EDesktopRoutePaths.Base}
push
/>
);
if (!isMobile && (isBoardsLibrary || isWidgetsLibrary)) {
window.location.href = "/";
}

return (
Expand Down Expand Up @@ -117,24 +120,22 @@ const App: React.FC = () => {

if (!isCookieEnabled()) {
return (
<IonApp className="theme-dark">
<div className="theme-dark app-container">
<ErrorModal
title="Cookie Error"
onClose={goToLandingPage}
errorMessage="Cookies must be enabled to use Alphaday."
size="sm"
/>
</IonApp>
</div>
);
}

return (
<IonApp className="theme-dark">
<IonReactRouter>
<IonRouterOutlet>
<AppRoutes />
</IonRouterOutlet>
</IonReactRouter>
<div className="theme-dark app-container">
<BrowserRouter>
<AppRoutes />
</BrowserRouter>
<Web3Modal
projectId={CONFIG.WALLET_CONNECT.PROJECT_ID}
ethereumClient={walletConnectProvider}
Expand All @@ -152,7 +153,7 @@ const App: React.FC = () => {
duration={CONFIG.UI.TOAST_DURATION}
className="fontGroup-supportBold"
/>
</IonApp>
</div>
);
};

Expand Down
Loading
Loading