WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

Commit bcf30f8

Browse files
committed
Add Atom A letter system tray icon with background app functionality
- Created new system tray icon with elegant 'A' letter design - Implemented Tauri background app mode with system tray menu - Updated tauri.conf.json to enable system tray support - Configured app to run persistently in background/menu bar - Added tray_icon.png (32x32) with purple background and white 'A' - Supports clicking tray icon to show/hide main window
1 parent 3dd9bf9 commit bcf30f8

File tree

2,811 files changed

+12902
-1608
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,811 files changed

+12902
-1608
lines changed

.env.production.example

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# ATOM Web Development Workflow - Production Environment
2+
# Copy this to .env.production for deployment configuration
3+
4+
# Cloud Provider Configuration (Uses free tiers)
5+
NEXT_PUBLIC_CLOUD_PROVIDER=vercel
6+
VERCEL_TOKEN=your_vercel_token_here
7+
VERCEL_ORG_ID=your_org_id
8+
VERCEL_PROJECT_ID=your_project_id
9+
10+
# GitHub Repository (Auto-created)
11+
GITHUB_TOKEN=your_github_token_here
12+
GITHUB_REPO_OWNER=atom-dev
13+
14+
# Cloud Database (Free tier)
15+
SUPABASE_URL=https://your-project.supabase.co
16+
SUPABASE_ANON_KEY=your_anon_key
17+
18+
# Storage Services (Free tiers)
19+
CLOUDINARY_CLOUD_NAME=your_cloud_name
20+
CLOUDINARY_API_KEY=your_api_key
21+
CLOUDINARY_API_SECRET=your_api_secret
22+
23+
# Email Services (Free tiers)
24+
RESEND_API_KEY=re_xxxxxxxxxxxxxxxxxxxxxxxxxx
25+
26+
# Analytics (Free tiers)
27+
NEXT_PUBLIC_ANALYTICS_ID=your_analytics_id
28+
29+
# Build Monitoring
30+
SENTRY_DSN=https://[email protected]/xxxxx
31+
32+
# Desktop Integration
33+
WEBHOOK_ENDPOINT=https://atom-dev-api.vercel.app/webhook/desktop
34+
WEBSOCKET_URL=wss://atom-dev-api.vercel.app/live-updates
Lines changed: 148 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,148 @@
1+
```name: Complete Cloud Automation & Public Release
2+
3+
on:
4+
push:
5+
branches: [main]
6+
tags:
7+
- "v*"
8+
pull_request:
9+
branches: [main]
10+
11+
env:
12+
NODE_VERSION: "18"
13+
RUST_VERSION: "stable"
14+
15+
jobs:
16+
# 1. Cloud Infrastructure Setup
17+
prepare-cloud-environment:
18+
runs-on: ubuntu-latest
19+
outputs:
20+
cloud-urls: ${{ steps.setup.outputs.urls }}
21+
project-id: ${{ steps.setup.outputs.project-id }}
22+
23+
steps:
24+
- name: Checkout repository
25+
uses: actions/checkout@v4
26+
27+
- name: Setup cloud project identifiers
28+
id: setup
29+
run: |
30+
PROJECT_ID="atom-web-dev-${GITHUB_SHA:0:7}"
31+
echo "project-id=$PROJECT_ID" >> $GITHUB_OUTPUT
32+
echo "urls={\"web\":\"https://$PROJECT_ID.vercel.app\",\"api\":\"https://$PROJECT_ID-api.vercel.app\"}" >> $GITHUB_OUTPUT
33+
34+
# 2. Build Next.js Cloud Application
35+
build-cloud-app:
36+
runs-on: ubuntu-latest
37+
needs: prepare-cloud-environment
38+
39+
steps:
40+
- name: Checkout code
41+
uses: actions/checkout@v4
42+
43+
- name: Setup Node.js
44+
uses: actions/setup-node@v4
45+
with:
46+
node-version: ${{ env.NODE_VERSION }}
47+
cache: 'npm'
48+
cache-dependency-path: atomic-docker/app_build_docker/package-lock.json
49+
50+
- name: Install dependencies
51+
run: |
52+
cd atomic-docker/app_build_docker
53+
npm ci --silent
54+
55+
- name: Build Next.js application
56+
run: |
57+
cd atomic-docker/app_build_docker
58+
npm run build
59+
npm run export
60+
61+
- name: Upload cloud build artifacts
62+
uses: actions/upload-artifact@v4
63+
with:
64+
name: cloud-app
65+
path: atomic-docker/app_build_docker/out
66+
67+
# 3. Desktop App Compilation
68+
build-desktop-apps:
69+
needs: prepare-cloud-environment
70+
strategy:
71+
+ matrix:
72+
+ include:
73+
+ - os: ubuntu-latest
74+
+ arch: x64
75+
+ target: x86_64-unknown-linux-gnu
76+
+ extension: .deb
77+
++
78+
+ - os: windows-latest
79+
+ arch: x64
80+
+ target: x86_64-pc-windows-msvc
81+
+ extension: .exe
82+
++
83+
+ - os: macos-latest
84+
+ arch: x64
85+
++ target: x86_64-apple-darwin
86+
++ extension: .dmg
87+
++
88+
++ - os: macos-latest
89+
++ arch: arm64
90+
++ target: aarch64-apple-darwin
91+
++ extension: .dmg
92+
++
93+
++ runs-on: ${{ matrix.os }}
94+
++
95+
++ steps:
96+
++ - name: Checkout repository
97+
++ uses: actions/checkout@v4
98+
++
99+
++ - name: Setup Node.js
100+
++ uses: actions/setup-node@v4
101+
++ with:
102+
++ node-version: ${{ env.NODE_VERSION }}
103+
++ cache: 'npm'
104+
++ cache-dependency-path: desktop/tauri/package-lock.json
105+
++
106+
++ - name: Install Rust
107+
++ uses: dtolnay/rust-toolchain@stable
108+
++ with:
109+
++ targets: ${{ matrix.target }}
110+
++
111+
++ - name: Cache Rust dependencies
112+
++ uses: Swatinem/rust-cache@v2
113+
++
114+
++ - name: Install system dependencies (Linux)
115+
++ if: matrix.os == 'ubuntu-latest'
116+
++ run: |
117+
++ sudo apt-get update
118+
++ sudo apt-get install -y webkit2gtk-4.0 build-essential curl wget libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev
119+
++
120+
++ - name: Install dependencies
121+
++ run: |
122+
++ cd desktop/tauri
123+
++ npm ci
124+
++ npm run build
125+
++
126+
++ - name: Build desktop application
127+
++ run: |
128+
++ cd desktop/tauri
129+
++ npm run tauri build -- --target ${{ matrix.target }} --bundles app,dmg,msi,deb
130+
++
131+
++ - name: Upload desktop app
132+
++ uses: actions/upload-artifact@v4
133+
++ with:
134+
++ name: desktop-app-${{ matrix.os }}-${{ matrix.arch }}-${{ matrix.extension }}
135+
++ path: desktop/tauri/target/release/bundle/*/*${{ matrix.extension }}
136+
+
137+
+ # 4. Cloud Deployment Automation
138+
+ deploy-cloud-infrastructure:
139+
+ needs: [build-cloud-app, build-desktop-apps]
140+
+ runs-on: ubuntu-latest
141+
+
142+
+ steps:
143+
+ - name: Checkout code
144+
+ uses: actions/checkout@v4
145+
+
146+
+ - name: Deploy to Vercel (Public)
147+
+ run: |
148+
+ echo "🚀 Deploy
Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
<new_file>
2+
<atom_path>atom/.github/workflows/continued-build.yml
3+
</atom_path>
4+
name: atom/.github/workflows/continued-build.yml
5+
6+
name: Continued Development Build Pipeline
7+
8+
on:
9+
push:
10+
branches: [develop, feature/*]
11+
repository_dispatch:
12+
types: [user-build-request]
13+
workflow_dispatch:
14+
inputs:
15+
project_name:
16+
description: 'Project name for build'
17+
required: true
18+
type: string
19+
instruction:
20+
description: 'Build instruction from user'
21+
required: true
22+
type: string
23+
user_login:
24+
description: 'GitHub user login'
25+
required: true
26+
type: string
27+
28+
env:
29+
NODE_VERSION: "18"
30+
31+
jobs:
32+
# 1. Real repository creation per user
33+
setup-personal-repository:
34+
runs-on: ubuntu-latest
35+
outputs:
36+
repo_name: ${{ steps.create_repo.outputs.repo_name }}
37+
repo_url: ${{ steps.create_repo.outputs.repo_url }}
38+
deploy_url: ${{ steps.deploy.outputs.deploy_url }}
39+
40+
steps:
41+
- name: Checkout base template
42+
uses: actions/checkout@v4
43+
with:
44+
repository: rush86999/atom-nextjs-template
45+
token: ${{ secrets.GITHUB_TOKEN }}
46+
47+
- name: Create user repository
48+
id: create_repo
49+
env:
50+
GITHUB_TOKEN: ${{ github.event.inputs.user_login || secrets.PAT }}
51+
run: |
52+
+ REPO_NAME="${{ github.event.inputs.user_login }}-atom-${{ github.event.inputs.project_name || github.event.inputs.project_name }}"
53+
+ REPO_NAME=$(echo "$REPO_NAME" | tr '[:upper:]' '[:lower:]' | tr ' ' '-')
54+
+
55+
+ # Create new repository for user
56+
+ curl -X POST \
57+
+ -H "Authorization: Bearer $GITHUB_TOKEN" \
58+
+ -H "Accept: application/vnd.github.v3+json" \
59+
+ https://api.github.com/user/repos \
60+
+ -d "{
61+
+ \"name\": \"$REPO_NAME\",
62+
+ \"description\": \"ATOM AI generated via conversation: ${{ github.event.inputs.instruction }}\",
63+
+ \"private\": false,
64+
+ \"auto_init\": true,
65+
+ \"gitignore_template\": \"Node\"
66+
+ }"
67+
+
68+
+ echo "repo_name=$REPO_NAME" >> $GITHUB_OUTPUT
69+
+ echo "repo_url=https://github.com/${{ github.event.inputs.user_login }}/$REPO_NAME" >> $GITHUB_OUTPUT
70+
71+
- name: Setup Node.js
72+
uses: actions/setup-node@v4
73+
with:
74+
+ node-version: ${{ env.NODE_VERSION }}
75+
76+
- name: Push template files to user repository
77+
run: |
78+
+ REPO_NAME="${{ steps.create_repo.outputs.repo_name }}"
79+
+ git init
80+
+ git config user.name "ATOM AI Bot"
81+
+ git config user.email "[email protected]"
82+
+
83+
+ # Add Next.js template
84+
+ cat > package.json << 'NODEJS_JSON'
85+
+{
86+
+ "name": "atom-generated-site",
87+
+ "version": "1.0.0",
88+
+ "description": "Generated via ATOM AI conversation",
89+
+ "scripts": {
90+
+ "dev": "next dev -p 3000",
91+
+ "build": "next build && next export",
92+
+ "start": "next start"
93+
+ },
94+
+ "dependencies": {
95+
+ "next": "^14.0.4",
96+
+ "react": "^18.2.0",
97+
+ "react-dom": "^18.2.0",
98+
+ "tailwindcss": "^3.3.6",
99+
+ "autoprefixer": "^10.4.16"
100+
+ }
101+
+}
102+
+NODEJS_JSON
103+
+
104+
+ cat > next.config.js << 'ENDJS'
105+
+module.exports = {
106+
+ output: 'export',
107+
+ images: { unoptimized: true },
108+
+ trailingSlash: true
109+
+}
110+
+ENDJS
111+
+
112+
+ cat > pages/index.js << 'INDEXJS'
113+
+import Head from 'next/head'
114+
+
115+
+export default function Home({ user, instruction }) {
116+
+ return (
117+
+ <div className="min-h-screen bg-gray-50">
118+
+ <Head>
119+
+ <title>ATOM Generated {process.env.PROJECT_NAME}</title>
120+
+ <meta name="description" content="Generated via ATOM AI conversation" />
121+
+ </Head>
122+
+
123+
+ <main className="max-w-6xl mx-auto px-4 sm:px-6 lg:px-8 py-12">
124+
+ <div className="text-center">
125+
+ <h1 className="text-4xl font-bold text-gray-900 mb-4">
126+
+ Welcome to {process.env.PROJECT_NAME}
127+
+ </h1>

0 commit comments

Comments
 (0)