Lastest change
This commit is contained in:
295
scripts/frontend-debrand.sh
Executable file
295
scripts/frontend-debrand.sh
Executable file
@@ -0,0 +1,295 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Frontend Debranding Script for MoreMinimore
|
||||
# This script handles comprehensive frontend debranding and UI fixes
|
||||
# Usage: ./scripts/frontend-debrand.sh
|
||||
|
||||
set -e # Exit on any error
|
||||
|
||||
echo "🎨 Starting frontend debranding process..."
|
||||
|
||||
# Colors for output
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
BLUE='\033[0;34m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
# Function to print colored output
|
||||
print_status() {
|
||||
echo -e "${BLUE}[INFO]${NC} $1"
|
||||
}
|
||||
|
||||
print_success() {
|
||||
echo -e "${GREEN}[SUCCESS]${NC} $1"
|
||||
}
|
||||
|
||||
print_warning() {
|
||||
echo -e "${YELLOW}[WARNING]${NC} $1"
|
||||
}
|
||||
|
||||
print_error() {
|
||||
echo -e "${RED}[ERROR]${NC} $1"
|
||||
}
|
||||
|
||||
# Check if we're in the right directory
|
||||
if [ ! -f "package.json" ] || [ ! -d "src" ]; then
|
||||
print_error "Please run this script from the project root directory"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Function to fix TitleBar component
|
||||
fix_titlebar() {
|
||||
print_status "Fixing TitleBar component..."
|
||||
|
||||
if [ -f "src/app/TitleBar.tsx" ]; then
|
||||
# Create a backup
|
||||
cp src/app/TitleBar.tsx src/app/TitleBar.tsx.bak
|
||||
|
||||
# Remove Dyad Pro related imports and components
|
||||
sed -i '' '/import.*DyadProSuccessDialog/d' src/app/TitleBar.tsx
|
||||
sed -i '' '/import.*useUserBudgetInfo/d' src/app/TitleBar.tsx
|
||||
sed -i '' '/import.*UserBudgetInfo/d' src/app/TitleBar.tsx
|
||||
|
||||
# Remove Dyad Pro button and related logic
|
||||
sed -i '' '/const isDyadPro =/d' src/app/TitleBar.tsx
|
||||
sed -i '' '/const isDyadProEnabled =/d' src/app/TitleBar.tsx
|
||||
sed -i '' '/showDyadProSuccessDialog/d' src/app/TitleBar.tsx
|
||||
sed -i '' '/DyadProSuccessDialog/,/<\/DyadProSuccessDialog>/d' src/app/TitleBar.tsx
|
||||
sed -i '' '/{isDyadPro && <DyadProButton/d' src/app/TitleBar.tsx
|
||||
|
||||
# Update logo alt text
|
||||
sed -i '' 's/Dyad Logo/MoreMinimore Logo/g' src/app/TitleBar.tsx
|
||||
|
||||
# Remove DyadProButton component
|
||||
sed -i '' '/export function DyadProButton/,/^}/d' src/app/TitleBar.tsx
|
||||
sed -i '' '/export function AICreditStatus/,/^}/d' src/app/TitleBar.tsx
|
||||
|
||||
# Remove deep link handling for dyad-pro-return
|
||||
sed -i '' '/dyad-pro-return/d' src/app/TitleBar.tsx
|
||||
|
||||
rm src/app/TitleBar.tsx.bak
|
||||
print_success "Fixed TitleBar component"
|
||||
fi
|
||||
}
|
||||
|
||||
# Function to remove DyadProSuccessDialog component
|
||||
remove_pro_dialog() {
|
||||
print_status "Removing DyadProSuccessDialog component..."
|
||||
|
||||
if [ -f "src/components/DyadProSuccessDialog.tsx" ]; then
|
||||
mv src/components/DyadProSuccessDialog.tsx src/components/DyadProSuccessDialog.tsx.disabled
|
||||
print_success "Disabled DyadProSuccessDialog component"
|
||||
fi
|
||||
}
|
||||
|
||||
# Function to fix ContextFilesPicker
|
||||
fix_context_files_picker() {
|
||||
print_status "Fixing ContextFilesPicker component..."
|
||||
|
||||
if [ -f "src/components/ContextFilesPicker.tsx" ]; then
|
||||
# Create a backup
|
||||
cp src/components/ContextFilesPicker.tsx src/components/ContextFilesPicker.tsx.bak
|
||||
|
||||
# Update tooltip text
|
||||
sed -i '' 's/Codebase Context/Context Settings/g' src/components/ContextFilesPicker.tsx
|
||||
|
||||
# Update smart context logic to remove pro restrictions
|
||||
sed -i '' 's/settings?.enableDyadPro && settings?.enableProSmartFilesContextMode/true/g' src/components/ContextFilesPicker.tsx
|
||||
|
||||
# Update text references
|
||||
sed -i '' 's/Dyad uses/MoreMinimore uses/g' src/components/ContextFilesPicker.tsx
|
||||
sed -i '' 's/With Smart Context, Dyad uses/With Smart Context, MoreMinimore uses/g' src/components/ContextFilesPicker.tsx
|
||||
|
||||
rm src/components/ContextFilesPicker.tsx.bak
|
||||
print_success "Fixed ContextFilesPicker component"
|
||||
fi
|
||||
}
|
||||
|
||||
# Function to fix DyadTokenSavings component
|
||||
fix_token_savings() {
|
||||
print_status "Fixing DyadTokenSavings component..."
|
||||
|
||||
if [ -f "src/components/chat/DyadTokenSavings.tsx" ]; then
|
||||
# Create a backup
|
||||
cp src/components/chat/DyadTokenSavings.tsx src/components/chat/DyadTokenSavings.tsx.bak
|
||||
|
||||
# Update component name and references
|
||||
sed -i '' 's/DyadTokenSavings/TokenSavings/g' src/components/chat/DyadTokenSavings.tsx
|
||||
|
||||
rm src/components/chat/DyadTokenSavings.tsx.bak
|
||||
print_success "Fixed DyadTokenSavings component"
|
||||
fi
|
||||
}
|
||||
|
||||
# Function to fix DyadThink component
|
||||
fix_dyad_think() {
|
||||
print_status "Fixing DyadThink component..."
|
||||
|
||||
if [ -f "src/components/chat/DyadThink.tsx" ]; then
|
||||
# Create a backup
|
||||
cp src/components/chat/DyadThink.tsx src/components/chat/DyadThink.tsx.bak
|
||||
|
||||
# Update component name and references
|
||||
sed -i '' 's/DyadThink/AIThink/g' src/components/chat/DyadThink.tsx
|
||||
|
||||
rm src/components/chat/DyadThink.tsx.bak
|
||||
print_success "Fixed DyadThink component"
|
||||
fi
|
||||
}
|
||||
|
||||
# Function to update smart context settings
|
||||
update_smart_context_settings() {
|
||||
print_status "Updating smart context settings..."
|
||||
|
||||
# Update smart context store to remove pro restrictions
|
||||
if [ -f "src/ipc/utils/smart_context_store.ts" ]; then
|
||||
cp src/ipc/utils/smart_context_store.ts src/ipc/utils/smart_context_store.ts.bak
|
||||
sed -i '' 's/settings\.enableDyadPro/true/g' src/ipc/utils/smart_context_store.ts
|
||||
rm src/ipc/utils/smart_context_store.ts.bak
|
||||
print_success "Updated smart context store"
|
||||
fi
|
||||
|
||||
# Update chat stream handlers to enable smart context for all users
|
||||
if [ -f "src/ipc/handlers/chat_stream_handlers.ts" ]; then
|
||||
cp src/ipc/handlers/chat_stream_handlers.ts src/ipc/handlers/chat_stream_handlers.ts.bak
|
||||
sed -i '' 's/isDeepContextEnabled/true/g' src/ipc/handlers/chat_stream_handlers.ts
|
||||
rm src/ipc/handlers/chat_stream_handlers.ts.bak
|
||||
print_success "Updated chat stream handlers"
|
||||
fi
|
||||
}
|
||||
|
||||
# Function to fix remaining Dyad references
|
||||
fix_remaining_references() {
|
||||
print_status "Fixing remaining Dyad references..."
|
||||
|
||||
# Find and replace remaining Dyad references in components
|
||||
find src/components -name "*.tsx" -type f -exec sed -i '' 's/Dyad/MoreMinimore/g' {} \;
|
||||
find src/app -name "*.tsx" -type f -exec sed -i '' 's/Dyad/MoreMinimore/g' {} \;
|
||||
|
||||
# Fix specific cases where we don't want to replace
|
||||
find src/components -name "*.tsx" -type f -exec sed -i '' 's/MoreMinimorePro/DyadPro/g' {} \;
|
||||
find src/app -name "*.tsx" -type f -exec sed -i '' 's/MoreMinimorePro/DyadPro/g' {} \;
|
||||
|
||||
print_success "Fixed remaining Dyad references"
|
||||
}
|
||||
|
||||
# Function to add missing user budget handler
|
||||
add_missing_handlers() {
|
||||
print_status "Adding missing IPC handlers..."
|
||||
|
||||
# Create a simple user budget handler that returns default values
|
||||
if [ -f "src/ipc/ipc_host.ts" ]; then
|
||||
cp src/ipc/ipc_host.ts src/ipc/ipc_host.ts.bak
|
||||
|
||||
# Add a simple user budget handler
|
||||
if ! grep -q "get-user-budget" src/ipc/ipc_host.ts; then
|
||||
sed -i '' '/registerDebugHandlers();/a\
|
||||
\
|
||||
// Add missing user budget handler\
|
||||
ipcMain.handle("get-user-budget", async () => {\
|
||||
return {\
|
||||
totalCredits: 1000,\
|
||||
usedCredits: 0,\
|
||||
resetDate: new Date().toISOString()\
|
||||
};\
|
||||
});' src/ipc/ipc_host.ts
|
||||
fi
|
||||
|
||||
rm src/ipc/ipc_host.ts.bak
|
||||
print_success "Added missing user budget handler"
|
||||
fi
|
||||
}
|
||||
|
||||
# Function to update preload script
|
||||
update_preload() {
|
||||
print_status "Updating preload script..."
|
||||
|
||||
if [ -f "src/preload.ts" ]; then
|
||||
cp src/preload.ts src/preload.ts.bak
|
||||
|
||||
# Add get-user-budget to preload if not present
|
||||
if ! grep -q "get-user-budget" src/preload.ts; then
|
||||
sed -i '' '/"get-system-debug-info":/a\
|
||||
"get-user-budget": () => ipcRenderer.invoke("get-user-budget"),' src/preload.ts
|
||||
fi
|
||||
|
||||
rm src/preload.ts.bak
|
||||
print_success "Updated preload script"
|
||||
fi
|
||||
}
|
||||
|
||||
# Function to update IPC client
|
||||
update_ipc_client() {
|
||||
print_status "Updating IPC client..."
|
||||
|
||||
if [ -f "src/ipc/ipc_client.ts" ]; then
|
||||
cp src/ipc/ipc_client.ts src/ipc/ipc_client.ts.bak
|
||||
|
||||
# Add getUserBudget method if not present
|
||||
if ! grep -q "getUserBudget" src/ipc/ipc_client.ts; then
|
||||
sed -i '' '/async getSystemDebugInfo()/a\
|
||||
\
|
||||
async getUserBudget() {\
|
||||
return this.ipcRenderer.invoke("get-user-budget");\
|
||||
}' src/ipc/ipc_client.ts
|
||||
fi
|
||||
|
||||
rm src/ipc/ipc_client.ts.bak
|
||||
print_success "Updated IPC client"
|
||||
fi
|
||||
}
|
||||
|
||||
# Function to test compilation
|
||||
test_compilation() {
|
||||
print_status "Testing compilation..."
|
||||
|
||||
if command -v npm &> /dev/null; then
|
||||
if npm run ts 2>/dev/null; then
|
||||
print_success "TypeScript compilation successful"
|
||||
else
|
||||
print_warning "TypeScript compilation failed. Check the errors above."
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
# Main execution
|
||||
main() {
|
||||
print_status "Starting frontend debranding..."
|
||||
|
||||
fix_titlebar
|
||||
remove_pro_dialog
|
||||
fix_context_files_picker
|
||||
fix_token_savings
|
||||
fix_dyad_think
|
||||
update_smart_context_settings
|
||||
fix_remaining_references
|
||||
add_missing_handlers
|
||||
update_preload
|
||||
update_ipc_client
|
||||
test_compilation
|
||||
|
||||
print_success "🎉 Frontend debranding completed!"
|
||||
echo ""
|
||||
echo "Summary of changes:"
|
||||
echo "✅ Fixed TitleBar component (removed Pro elements)"
|
||||
echo "✅ Removed DyadProSuccessDialog component"
|
||||
echo "✅ Fixed ContextFilesPicker component"
|
||||
echo "✅ Fixed DyadTokenSavings component"
|
||||
echo "✅ Fixed DyadThink component"
|
||||
echo "✅ Updated smart context settings"
|
||||
echo "✅ Fixed remaining Dyad references"
|
||||
echo "✅ Added missing IPC handlers"
|
||||
echo "✅ Updated preload script"
|
||||
echo "✅ Updated IPC client"
|
||||
echo ""
|
||||
echo "Next steps:"
|
||||
echo "1. Test the application with 'npm start'"
|
||||
echo "2. Verify all UI elements are properly debranded"
|
||||
echo "3. Test smart context functionality"
|
||||
echo ""
|
||||
print_warning "Please test the application thoroughly before committing changes."
|
||||
}
|
||||
|
||||
# Run main function
|
||||
main "$@"
|
||||
@@ -144,18 +144,44 @@ remove_pro_features() {
|
||||
rm src/preload.ts.bak
|
||||
print_success "Removed pro IPC channels"
|
||||
fi
|
||||
|
||||
# Remove ProModeSelector from ChatInputControls
|
||||
if [ -f "src/components/ChatInputControls.tsx" ]; then
|
||||
sed -i.bak '/import { ProModeSelector } from ".\/ProModeSelector";/d' src/components/ChatInputControls.tsx
|
||||
sed -i.bak '/<ProModeSelector \/>/d' src/components/ChatInputControls.tsx
|
||||
sed -i.bak '/<div className="w-1.5"><\/div>/d' src/components/ChatInputControls.tsx
|
||||
rm src/components/ChatInputControls.tsx.bak
|
||||
print_success "Removed ProModeSelector from chat controls"
|
||||
fi
|
||||
|
||||
# Remove Pro restrictions from PreviewIframe (Annotator)
|
||||
if [ -f "src/components/preview_panel/PreviewIframe.tsx" ]; then
|
||||
sed -i.bak '/import { AnnotatorOnlyForPro } from ".\/AnnotatorOnlyForPro";/d' src/components/preview_panel/PreviewIframe.tsx
|
||||
sed -i.bak '/{userBudget ? (/,/)} : (/,/<AnnotatorOnlyForPro/,/)}\/>/c\
|
||||
<Annotator\
|
||||
screenshotUrl={screenshotDataUrl}\
|
||||
onSubmit={addAttachments}\
|
||||
handleAnnotatorClick={handleAnnotatorClick}\
|
||||
/>' src/components/preview_panel/PreviewIframe.tsx
|
||||
rm src/components/preview_panel/PreviewIframe.tsx.bak
|
||||
print_success "Removed Pro restrictions from Annotator"
|
||||
fi
|
||||
|
||||
# Comment out ProBanner in home.tsx
|
||||
if [ -f "src/pages/home.tsx" ]; then
|
||||
sed -i.bak 's|// import { ProBanner } from "@/components/ProBanner";|// import { ProBanner } from "@/components/ProBanner";|g' src/pages/home.tsx
|
||||
sed -i.bak 's|{<ProBanner />}|// {<ProBanner />}|g' src/pages/home.tsx
|
||||
rm src/pages/home.tsx.bak
|
||||
print_success "Commented out ProBanner"
|
||||
fi
|
||||
}
|
||||
|
||||
# Function to update branding
|
||||
update_branding() {
|
||||
print_status "Updating branding from Dyad to MoreMinimore..."
|
||||
|
||||
# Update package.json
|
||||
if [ -f "package.json" ]; then
|
||||
sed -i.bak 's/@dyad-sh\/supabase-management-js/@moreminimore\/supabase-management-js/g' package.json
|
||||
rm package.json.bak
|
||||
print_success "Updated package.json branding"
|
||||
fi
|
||||
# Package.json already updated - keeping original @dyad-sh/supabase-management-js
|
||||
print_success "Package.json configuration maintained"
|
||||
|
||||
# Update app name in main.ts
|
||||
if [ -f "src/main.ts" ]; then
|
||||
@@ -192,6 +218,121 @@ update_ui_text() {
|
||||
print_success "Updated UI text"
|
||||
}
|
||||
|
||||
# Function to update component names from Dyad to MoreMinimore
|
||||
update_component_names() {
|
||||
print_status "Updating component names from Dyad to MoreMinimore..."
|
||||
|
||||
# Update component imports and exports
|
||||
find src/components/chat -name "*.tsx" -type f -exec sed -i.bak 's/DyadThink/MoreMinimoreThink/g' {} \;
|
||||
find src/components/chat -name "*.tsx" -type f -exec sed -i.bak 's/DyadTokenSavings/MoreMinimoreTokenSavings/g' {} \;
|
||||
find src/components/chat -name "*.tsx" -type f -exec sed -i.bak 's/DyadCodebaseContext/MoreMinimoreCodebaseContext/g' {} \;
|
||||
find src/components/chat -name "*.tsx" -type f -exec sed -i.bak 's/DyadMarkdownParser/MoreMinimoreMarkdownParser/g' {} \;
|
||||
find src/components/chat -name "*.tsx" -type f -exec sed -i.bak 's/DyadEdit/MoreMinimoreEdit/g' {} \;
|
||||
find src/components/chat -name "*.tsx" -type f -exec sed -i.bak 's/DyadWrite/MoreMinimoreWrite/g' {} \;
|
||||
find src/components/chat -name "*.tsx" -type f -exec sed -i.bak 's/DyadRead/MoreMinimoreRead/g' {} \;
|
||||
find src/components/chat -name "*.tsx" -type f -exec sed -i.bak 's/DyadRename/MoreMinimoreRename/g' {} \;
|
||||
find src/components/chat -name "*.tsx" -type f -exec sed -i.bak 's/DyadDelete/MoreMinimoreDelete/g' {} \;
|
||||
find src/components/chat -name "*.tsx" -type f -exec sed -i.bak 's/DyadSearchReplace/MoreMinimoreSearchReplace/g' {} \;
|
||||
find src/components/chat -name "*.tsx" -type f -exec sed -i.bak 's/DyadCodeSearch/MoreMinimoreCodeSearch/g' {} \;
|
||||
find src/components/chat -name "*.tsx" -type f -exec sed -i.bak 's/DyadCodeSearchResult/MoreMinimoreCodeSearchResult/g' {} \;
|
||||
find src/components/chat -name "*.tsx" -type f -exec sed -i.bak 's/DyadWebSearch/MoreMinimoreWebSearch/g' {} \;
|
||||
find src/components/chat -name "*.tsx" -type f -exec sed -i.bak 's/DyadWebSearchResult/MoreMinimoreWebSearchResult/g' {} \;
|
||||
find src/components/chat -name "*.tsx" -type f -exec sed -i.bak 's/DyadWebCrawl/MoreMinimoreWebCrawl/g' {} \;
|
||||
find src/components/chat -name "*.tsx" -type f -exec sed -i.bak 's/DyadExecuteSql/MoreMinimoreExecuteSql/g' {} \;
|
||||
find src/components/chat -name "*.tsx" -type f -exec sed -i.bak 's/DyadOutput/MoreMinimoreOutput/g' {} \;
|
||||
find src/components/chat -name "*.tsx" -type f -exec sed -i.bak 's/DyadAddDependency/MoreMinimoreAddDependency/g' {} \;
|
||||
find src/components/chat -name "*.tsx" -type f -exec sed -i.bak 's/DyadAddIntegration/MoreMinimoreAddIntegration/g' {} \;
|
||||
find src/components/chat -name "*.tsx" -type f -exec sed -i.bak 's/DyadMcpToolCall/MoreMinimoreMcpToolCall/g' {} \;
|
||||
find src/components/chat -name "*.tsx" -type f -exec sed -i.bak 's/DyadMcpToolResult/MoreMinimoreMcpToolResult/g' {} \;
|
||||
|
||||
# Clean up backup files
|
||||
find src/components/chat -name "*.bak" -type f -delete
|
||||
|
||||
print_success "Updated component names"
|
||||
}
|
||||
|
||||
# Function to update URLs and external links
|
||||
update_urls() {
|
||||
print_status "Updating URLs and external links..."
|
||||
|
||||
# Update Dyad URLs to MoreMinimore URLs
|
||||
find src -name "*.tsx" -type f -exec sed -i.bak 's|https://dyad.sh|https://moreminimore.com|g' {} \;
|
||||
find src -name "*.tsx" -type f -exec sed -i.bak 's|https://www.dyad.sh|https://www.moreminimore.com|g' {} \;
|
||||
find src -name "*.ts" -type f -exec sed -i.bak 's|https://dyad.sh|https://moreminimore.com|g' {} \;
|
||||
find src -name "*.ts" -type f -exec sed -i.bak 's|https://www.dyad.sh|https://www.moreminimore.com|g' {} \;
|
||||
|
||||
# Clean up backup files
|
||||
find src -name "*.bak" -type f -delete
|
||||
|
||||
print_success "Updated URLs"
|
||||
}
|
||||
|
||||
# Function to update branding text
|
||||
update_branding_text() {
|
||||
print_status "Updating branding text..."
|
||||
|
||||
# Update Dyad references to MoreMinimore
|
||||
find src -name "*.tsx" -type f -exec sed -i.bak 's/Dyad Pro/MoreMinimore Pro/g' {} \;
|
||||
find src -name "*.tsx" -type f -exec sed -i.bak 's/Dyad/MoreMinimore/g' {} \;
|
||||
find src -name "*.ts" -type f -exec sed -i.bak 's/Dyad Pro/MoreMinimore Pro/g' {} \;
|
||||
find src -name "*.ts" -type f -exec sed -i.bak 's/Dyad/MoreMinimore/g' {} \;
|
||||
|
||||
# Clean up backup files
|
||||
find src -name "*.bak" -type f -delete
|
||||
|
||||
print_success "Updated branding text"
|
||||
}
|
||||
|
||||
# Function to update AI provider settings
|
||||
update_ai_providers() {
|
||||
print_status "Updating AI provider settings..."
|
||||
|
||||
# Update the auto provider in language model constants
|
||||
if [ -f "src/ipc/shared/language_model_constants.ts" ]; then
|
||||
sed -i.bak 's/displayName: "Dyad",/displayName: "MoreMinimore",/g' src/ipc/shared/language_model_constants.ts
|
||||
sed -i.bak 's|websiteUrl: "https://academy.dyad.sh/settings"|websiteUrl: "https://moreminimore.com/settings"|g' src/ipc/shared/language_model_constants.ts
|
||||
sed -i.bak 's/gatewayPrefix: "dyad\/",/gatewayPrefix: "moreminimore\/",/g' src/ipc/shared/language_model_constants.ts
|
||||
sed -i.bak '/Use the same gateway prefix as Google Gemini for Dyad Pro compatibility./c\
|
||||
// Use the same gateway prefix as Google Gemini for MoreMinimore Pro compatibility.' src/ipc/shared/language_model_constants.ts
|
||||
rm src/ipc/shared/language_model_constants.ts.bak
|
||||
print_success "Updated AI provider settings"
|
||||
fi
|
||||
}
|
||||
|
||||
# Function to remove YouTube video section
|
||||
remove_youtube_section() {
|
||||
print_status "Removing YouTube video section..."
|
||||
|
||||
# Comment out OnboardingBanner import and usage in SetupBanner
|
||||
if [ -f "src/components/SetupBanner.tsx" ]; then
|
||||
sed -i.bak 's/import { OnboardingBanner } from ".\/home\/OnboardingBanner";/\/\/ import { OnboardingBanner } from ".\/home\/OnboardingBanner";/g' src/components/SetupBanner.tsx
|
||||
sed -i.bak 's|<OnboardingBanner|{/* <OnboardingBanner|g' src/components/SetupBanner.tsx
|
||||
sed -i.bak 's|setIsVisible={setIsOnboardingVisible} />|setIsVisible={setIsOnboardingVisible} /> */}|g' src/components/SetupBanner.tsx
|
||||
sed -i.bak 's/Not sure what to do? Watch the Get Started video above ☝️/Not sure what to do? Follow the setup steps below to get started./g' src/components/SetupBanner.tsx
|
||||
rm src/components/SetupBanner.tsx.bak
|
||||
print_success "Removed YouTube video section"
|
||||
fi
|
||||
}
|
||||
|
||||
# Function to update title bar and app metadata
|
||||
update_app_metadata() {
|
||||
print_status "Updating app metadata..."
|
||||
|
||||
# Update title bar
|
||||
if [ -f "src/app/TitleBar.tsx" ]; then
|
||||
sed -i.bak 's/Dyad/MoreMinimore/g' src/app/TitleBar.tsx
|
||||
rm src/app/TitleBar.tsx.bak
|
||||
print_success "Updated title bar"
|
||||
fi
|
||||
|
||||
# Update package.json description (keep name as is for compatibility)
|
||||
if [ -f "package.json" ]; then
|
||||
sed -i.bak 's/"description": ".*"/"description": "MoreMinimore - AI-powered development environment"/g' package.json
|
||||
rm package.json.bak
|
||||
print_success "Updated package.json description"
|
||||
fi
|
||||
}
|
||||
|
||||
# Function to clean up imports
|
||||
cleanup_imports() {
|
||||
print_status "Cleaning up unused imports..."
|
||||
@@ -254,6 +395,12 @@ main() {
|
||||
update_branding
|
||||
convert_smart_context
|
||||
update_ui_text
|
||||
update_component_names
|
||||
update_urls
|
||||
update_branding_text
|
||||
update_ai_providers
|
||||
remove_youtube_section
|
||||
update_app_metadata
|
||||
cleanup_imports
|
||||
install_dependencies
|
||||
test_compilation
|
||||
@@ -264,13 +411,24 @@ main() {
|
||||
echo "✅ Applied custom remove-limit feature"
|
||||
echo "✅ Removed Dyad API dependencies"
|
||||
echo "✅ Removed Dyad Engine dependencies"
|
||||
echo "✅ Removed pro features"
|
||||
echo "✅ Removed pro features and Pro button"
|
||||
echo "✅ Updated branding to MoreMinimore"
|
||||
echo "✅ Converted smart context to standard feature"
|
||||
echo "✅ Updated UI text"
|
||||
echo "✅ Updated component names from Dyad to MoreMinimore"
|
||||
echo "✅ Updated URLs and external links"
|
||||
echo "✅ Updated branding text throughout app"
|
||||
echo "✅ Updated AI provider settings"
|
||||
echo "✅ Removed YouTube video section"
|
||||
echo "✅ Updated app metadata and title bar"
|
||||
echo "✅ Cleaned up unused imports"
|
||||
echo "✅ Installed dependencies"
|
||||
echo ""
|
||||
echo "Key features liberated:"
|
||||
echo "🔓 Smart Context now available to all users"
|
||||
echo "🔓 Annotator tool now available to all users"
|
||||
echo "🔓 Removed Pro upgrade buttons and restrictions"
|
||||
echo ""
|
||||
echo "Backup created at: $BACKUP_DIR"
|
||||
echo ""
|
||||
echo "Next steps:"
|
||||
|
||||
Reference in New Issue
Block a user