Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Preparing Beta Branch #4137

Open
wants to merge 28 commits into
base: beta
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
58062f6
docs(journal): updating nightly entry.
h0lybyte Feb 27, 2025
a53e780
chore(nx): updating the tsconfig ignores.
h0lybyte Feb 27, 2025
f53ac91
refactor(expo-hqplan): adjusting the layout to use nativewind.
h0lybyte Feb 27, 2025
4d0a16b
fix(expo-hqplan): adjusted the nativewind build path.
h0lybyte Feb 27, 2025
4690f9a
Merge pull request #4126 from KBVE/patch-atomic-nativewind-background…
h0lybyte Feb 27, 2025
b729b0d
fix(expo): more experimental changes with expo.
h0lybyte Feb 27, 2025
eebbd8d
Merge pull request #4128 from KBVE/patch-atomic-nativewind-deployment…
h0lybyte Feb 27, 2025
0866964
chore(tamagui): updated to the latest.
h0lybyte Feb 27, 2025
c0d9a46
Merge pull request #4129 from KBVE/patch-atomic-patching-babel-again-…
h0lybyte Feb 27, 2025
1664ee0
fix(expo-hqplan): removed the withNxMetro until it gets patched.
h0lybyte Feb 27, 2025
2786983
Merge pull request #4130 from KBVE/patch-atomic-fixing-the-nativewind…
h0lybyte Feb 27, 2025
1e9c6c4
fix(expo-hqplan): placed the withNxMetro back without needing a node …
h0lybyte Feb 27, 2025
5f3d935
Merge pull request #4131 from KBVE/patch-atomic-testing-nativewind-im…
h0lybyte Feb 27, 2025
6300a6f
docs(javascript): adding notes for expo.
h0lybyte Feb 28, 2025
ff22ef1
docs(javascript): updated the expo metro notes.
h0lybyte Feb 28, 2025
a1cc4be
Merge pull request #4132 from KBVE/patch-atomic-adding-new-package-su…
h0lybyte Feb 28, 2025
de299da
docs(journal): nightly entry sync
h0lybyte Feb 28, 2025
42ffb68
Merge pull request #4133 from KBVE/patch-atomic-expo-package-rewrite-…
h0lybyte Feb 28, 2025
6f777fc
feat(expo-hqplan): added a base navigation layout.
h0lybyte Feb 28, 2025
c790ad5
feat(windy): added the windy expo library, to replace the expo-bbq.
h0lybyte Feb 28, 2025
2563459
Merge pull request #4134 from KBVE/patch-atomic-rnr-test-case-02-28-2…
h0lybyte Feb 28, 2025
92f684f
Merge pull request #4135 from KBVE/patch-atomic-new-expo-library-02-2…
h0lybyte Feb 28, 2025
f96c967
fix(expo-hqplan): added the windy library and loaded the first compon…
h0lybyte Feb 28, 2025
3a9f564
feat(windy): testing the windy hero component.
h0lybyte Feb 28, 2025
6c60349
fix(windy): the hero background image loads on iOS and web but needs …
h0lybyte Feb 28, 2025
344624f
refactor(expo-hqplan): readjusting the base application.
h0lybyte Feb 28, 2025
d164fe0
Merge pull request #4136 from KBVE/patch-atomic-windy-first-component…
h0lybyte Feb 28, 2025
cd2d494
Merge pull request #4127 from KBVE/dev
h0lybyte Feb 28, 2025
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
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -108,4 +108,4 @@ vite.config.*.timestamp*
# Python
.venv
vitest.config.*.timestamp*
.vscode/settings.json
.vscode/settings.json
49 changes: 23 additions & 26 deletions apps/cityvote/expo-cityvote/metro.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,46 +6,43 @@ const {
wrapWithReanimatedMetroConfig,
} = require('react-native-reanimated/metro-config');

// Get the default config from Expo
// Get Expo's default Metro config
const defaultConfig = getDefaultConfig(__dirname);

// Extract relevant properties for easier manipulation
const { assetExts, sourceExts } = defaultConfig.resolver;
// Extract properties for modification
const { assetExts, sourceExts, resolveRequest } = defaultConfig.resolver;

// Custom configuration for handling SVGs and adding new file extensions
const svgAndExtensionConfig = {
// 🔹 Step 1: Customize SVG and File Extensions
const fileConfig = {
transformer: {
babelTransformerPath: require.resolve('react-native-svg-transformer'),
},
resolver: {
assetExts: [
...assetExts.filter((ext) => ext !== 'svg'),
'json',
'png',
],
assetExts: [...assetExts.filter((ext) => ext !== 'svg'), 'json', 'png'],
sourceExts: [...sourceExts, 'cjs', 'mjs', 'svg', 'jsx', 'js', 'ts', 'tsx'],
resolveRequest: resolveRequest ?? require('metro-resolver').resolve, // Preserve Metro's resolver
},
};

// Merge the SVG and extension customization into the default config
let mergedConfig = mergeConfig(defaultConfig, svgAndExtensionConfig);
// 🔹 Step 2: Merge File Config with Default Metro Config
let mergedConfig = mergeConfig(defaultConfig, fileConfig);

// Enable CSS support and configure for Tamagui (only if needed for web)
const tamaguiBaseConfig = getDefaultConfig(__dirname, {
isCSSEnabled: true, // Enable CSS only for web
});
mergedConfig = mergeConfig(mergedConfig, tamaguiBaseConfig);

// Apply Tamagui plugin with native-aware settings
const tamaguiConfig = withTamagui(mergedConfig, {
// 🔹 Step 3: Apply Tamagui Plugin (Now Includes `isCSSEnabled`)
mergedConfig = withTamagui(mergedConfig, {
components: ['tamagui'],
config: './tamagui.config.ts',
outputCSS: './tamagui-web.css',
isCSSEnabled: true, // Enable CSS support directly inside Tamagui
});

// Export with Reanimated wrapper
module.exports = withNxMetro(wrapWithReanimatedMetroConfig(tamaguiConfig), {
debug: true, // Change this to true to see debugging info.
extensions: [], // All the file extensions used for imports other than 'ts', 'tsx', 'js', 'jsx', 'json'
watchFolders: [], // Specify folders to watch, in addition to Nx defaults (workspace libraries and node_modules)
});
// 🔹 Step 4: Apply Nx & Reanimated Enhancements
const finalConfig = withNxMetro(
wrapWithReanimatedMetroConfig(mergedConfig),
{
debug: false, // Change to true for more logging
extensions: [],
watchFolders: [], // Keep empty unless additional folders are needed
}
);

module.exports = finalConfig;
250 changes: 125 additions & 125 deletions apps/cityvote/expo-cityvote/src/app/(tabs)/index.tsx
Original file line number Diff line number Diff line change
@@ -1,138 +1,138 @@
import { View, XStack, Separator, ScrollView, Button } from 'tamagui';
import { View, XStack, Separator, ScrollView, Button } from 'tamagui';

import {
BadgePoundSterling,
} from '@tamagui/lucide-icons';
import {
BadgePoundSterling,
} from '@tamagui/lucide-icons';

import { TamaHero, TamaCard, LottieHero, useBBQ } from '@kbve/expo-bbq';
import { TamaHero, TamaCard, LottieHero, useBBQ } from '@kbve/expo-bbq';


function HomeCards() {
return (
<XStack $sm={{ flexDirection: 'column' }} paddingHorizontal="$4" space>
<TamaCard
title="Consulting"
paragraph="Discover innovative solutions with LaMorte Consults, a versatile consulting firm specializing in groundbreaking construction projects and cutting-edge website design."
buttonText="Read More!"
animation="bouncy"
size="$2"
width={300}
height={300}
scale={0.9}
hoverStyle={{ scale: 0.925 }}
pressStyle={{ scale: 0.875 }}
linker="/services"
image="https://images.unsplash.com/photo-1493612276216-ee3925520721?q=80&w=300&auto=format&fit=crop"
/>
function HomeCards() {
return (
<XStack $sm={{ flexDirection: 'column' }} paddingHorizontal="$4" space>
<TamaCard
title="Consulting"
paragraph="Discover innovative solutions with LaMorte Consults, a versatile consulting firm specializing in groundbreaking construction projects and cutting-edge website design."
buttonText="Read More!"
animation="bouncy"
size="$2"
width={300}
height={300}
scale={0.9}
hoverStyle={{ scale: 0.925 }}
pressStyle={{ scale: 0.875 }}
linker="/services"
image="https://images.unsplash.com/photo-1493612276216-ee3925520721?q=80&w=300&auto=format&fit=crop"
/>

<TamaCard
title="About Us"
paragraph="Check out our cool projects"
buttonText="Read More!"
animation="bouncy"
size="$4"
width={300}
height={300}
scale={0.9}
hoverStyle={{ scale: 0.925 }}
pressStyle={{ scale: 0.875 }}
linker="/about"
image="https://images.unsplash.com/photo-1509391366360-2e959784a276?q=80&w=300&auto=format&fit=crop"
/>
<TamaCard
title="About Us"
paragraph="Check out our cool projects"
buttonText="Read More!"
animation="bouncy"
size="$4"
width={300}
height={300}
scale={0.9}
hoverStyle={{ scale: 0.925 }}
pressStyle={{ scale: 0.875 }}
linker="/about"
image="https://images.unsplash.com/photo-1509391366360-2e959784a276?q=80&w=300&auto=format&fit=crop"
/>

<TamaCard
title="Support"
paragraph="First in Class Support! Skill issue?"
buttonText="Read More!"
animation="bouncy"
size="$4"
width={300}
height={300}
scale={0.9}
hoverStyle={{ scale: 0.925 }}
pressStyle={{ scale: 0.875 }}
linker="/support"
image="https://images.unsplash.com/photo-1711117479774-5102ba0eee19?q=80&w=300&auto=format&fit=crop"
/>
<TamaCard
title="Support"
paragraph="First in Class Support! Skill issue?"
buttonText="Read More!"
animation="bouncy"
size="$4"
width={300}
height={300}
scale={0.9}
hoverStyle={{ scale: 0.925 }}
pressStyle={{ scale: 0.875 }}
linker="/support"
image="https://images.unsplash.com/photo-1711117479774-5102ba0eee19?q=80&w=300&auto=format&fit=crop"
/>

<TamaCard
title="Projects"
paragraph="Check out our cool projects"
buttonText="Read More!"
animation="bouncy"
size="$4"
width={300}
height={300}
scale={0.9}
hoverStyle={{ scale: 0.925 }}
pressStyle={{ scale: 0.875 }}
linker="/projects"
image="https://images.unsplash.com/photo-1541976844346-f18aeac57b06?q=80&w=300&auto=format&fit=crop"
/>
</XStack>
);
}
<TamaCard
title="Projects"
paragraph="Check out our cool projects"
buttonText="Read More!"
animation="bouncy"
size="$4"
width={300}
height={300}
scale={0.9}
hoverStyle={{ scale: 0.925 }}
pressStyle={{ scale: 0.875 }}
linker="/projects"
image="https://images.unsplash.com/photo-1541976844346-f18aeac57b06?q=80&w=300&auto=format&fit=crop"
/>
</XStack>
);
}

export default function IndexScreen() {
const bbq = useBBQ();
export default function IndexScreen() {
const bbq = useBBQ();

const handlePress = async (route: string, params?: Record<string, any>) => {
bbq.go(route, params);
};
const handlePress = async (route: string, params?: Record<string, any>) => {
bbq.go(route, params);
};

return (
<ScrollView>
<View flex={1} flexGrow={1} alignItems="center">
<LottieHero
lottieJSON={require('../../../assets/json/360-vr.json')}
backgroundImage={require('../../../assets/mask/unsplash_anime.jpg')}
title="Welcome to LC Agents!"
description="Yessir"
opacity={0.9}>

<Button
iconAfter={BadgePoundSterling}
size="$3"
onPress={() => handlePress('/register')}>
Register
</Button>
return (
<ScrollView>
<View flex={1} flexGrow={1} alignItems="center">
<LottieHero
lottieJSON={require('../../../assets/json/360-vr.json')}
backgroundImage={require('../../../assets/mask/unsplash_anime.jpg')}
title="Welcome to LC Agents!"
description="Yessir"
opacity={0.9}>
<Button
iconAfter={BadgePoundSterling}
size="$3"
onPress={() => handlePress('/register')}>
Register
</Button>

<Button
iconAfter={BadgePoundSterling}
size="$3"
onPress={() => handlePress('/login')}>
Login
</Button>
<Button
iconAfter={BadgePoundSterling}
size="$3"
onPress={() => handlePress('/login')}>
Login
</Button>

<Button
iconAfter={BadgePoundSterling}
size="$3"
onPress={() => handlePress('/consulting')}>
Consulting
</Button>


</LottieHero>
</View>
<Separator marginVertical={15} />
<View flex={1} alignItems="center">
<TamaHero
backgroundImageUri="https://images.unsplash.com/photo-1711029028695-6db032f5c476?q=80&w=2056&auto=format&fit=crop"
title="LaMorte Consults LLC"
description="L & C Agency"
buttonOneText="Contact"
buttonTwoText="Support"
onButtonOnePress={() => handlePress('/contact')}
onButtonTwoPress={() =>
handlePress('https://kbve.com/support', {
discord: 'discord',
})
}
/>
<Button
iconAfter={BadgePoundSterling}
size="$3"
onPress={() => handlePress('/consulting')}>
Consulting
</Button>


</LottieHero>
</View>
<Separator marginVertical={15} />
<View flex={1} alignItems="center">
<TamaHero
backgroundImageUri="https://images.unsplash.com/photo-1711029028695-6db032f5c476?q=80&w=2056&auto=format&fit=crop"
title="LaMorte Consults LLC"
description="L & C Agency"
buttonOneText="Contact"
buttonTwoText="Support"
onButtonOnePress={() => handlePress('/contact')}
onButtonTwoPress={() =>
handlePress('https://kbve.com/support', {
discord: 'discord',
})
}
/>
<Separator marginVertical={15} />
<HomeCards />
</View>
<Separator marginVertical={15} />
<HomeCards />
</View>
<Separator marginVertical={15} />
</ScrollView>
);
}
</ScrollView>
);
}
1 change: 1 addition & 0 deletions apps/cityvote/expo-cityvote/src/app/_layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ export default function RootLayout() {
return null;
}


return (
<TamaguiProvider
config={tamaguiConfig}
Expand Down
6 changes: 0 additions & 6 deletions apps/experimental/expo-hqplan/.babelrc.js

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
package com.kbve.hqplan
import expo.modules.splashscreen.SplashScreenManager

import android.os.Build
import android.os.Bundle
Expand All @@ -15,7 +16,10 @@ class MainActivity : ReactActivity() {
// Set the theme to AppTheme BEFORE onCreate to support
// coloring the background, status bar, and navigation bar.
// This is required for expo-splash-screen.
setTheme(R.style.AppTheme);
// setTheme(R.style.AppTheme);
// @generated begin expo-splashscreen - expo prebuild (DO NOT MODIFY) sync-f3ff59a738c56c9a6119210cb55f0b613eb8b6af
SplashScreenManager.registerOnActivity(this)
// @generated end expo-splashscreen
super.onCreate(null)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,9 @@
<item name="android:textColorHint">#c8c8c8</item>
<item name="android:textColor">@android:color/black</item>
</style>
<style name="Theme.App.SplashScreen" parent="AppTheme">
<item name="android:windowBackground">@drawable/ic_launcher_background</item>
<style name="Theme.App.SplashScreen" parent="Theme.SplashScreen">
<item name="windowSplashScreenBackground">@color/splashscreen_background</item>
<item name="windowSplashScreenAnimatedIcon">@drawable/splashscreen_logo</item>
<item name="postSplashScreenTheme">@style/AppTheme</item>
</style>
</resources>
Loading
Loading