ai-generated junk tool for migrating atproto identities in-browser

[refactor] move around files and integrate tangled synchro for github

+38
.github/workflows/sync-tangled.yaml
··· 1 + name: sync-tangled 2 + 3 + on: 4 + push: 5 + 6 + jobs: 7 + sync: 8 + name: ${{ matrix.name }} 9 + runs-on: ubuntu-latest 10 + steps: 11 + - uses: actions/checkout@v4.1.7 12 + with: 13 + fetch-depth: 0 14 + ref: ${{ github.event.pull_request.head.sha }} 15 + - name: sync tangled 16 + env: 17 + TANGLED_SSH_KEY: ${{ secrets.TANGLED_SSH_KEY }} 18 + run: | 19 + set -euo pipefail 20 + # Turn off strict SSH key checking 21 + mkdir -p ~/.ssh 22 + echo "Host * 23 + StrictHostKeyChecking no 24 + UserKnownHostsFile=/dev/null" > ~/.ssh/config 25 + 26 + # Write SSH key to disk 27 + echo "$TANGLED_SSH_KEY" > ~/.ssh/tangled_key 28 + chmod 600 ~/.ssh/tangled_key 29 + 30 + # Configure SSH to use the key for tangled.sh 31 + echo "Host tangled.sh 32 + IdentityFile ~/.ssh/tangled_key" >> ~/.ssh/config 33 + 34 + chmod 600 ~/.ssh/config 35 + 36 + git remote add tangled git@tangled.sh:noob.quest/atproto-migrator 37 + git push -f --all tangled 38 + git push -f --tags tangled
public/cssComponents/actions.css src/css/actions.css
public/cssComponents/base.css src/css/base.css
public/cssComponents/buttons.css src/css/buttons.css
public/cssComponents/footer.css src/css/footer.css
public/cssComponents/forms.css src/css/forms.css
public/cssComponents/header.css src/css/header.css
public/cssComponents/loading.css src/css/loading.css
public/cssComponents/login.css src/css/login.css
public/cssComponents/migration.css src/css/migration.css
public/cssComponents/plc-token.css src/css/plcToken.css
-10
public/main.css
··· 1 - @import 'cssComponents/base.css'; 2 - @import 'cssComponents/header.css'; 3 - @import 'cssComponents/footer.css'; 4 - @import 'cssComponents/login.css'; 5 - @import 'cssComponents/forms.css'; 6 - @import 'cssComponents/buttons.css'; 7 - @import 'cssComponents/loading.css'; 8 - @import 'cssComponents/migration.css'; 9 - @import 'cssComponents/plc-token.css'; 10 - @import 'cssComponents/actions.css';
+1 -1
src/components/common/NetworkWarning.tsx
··· 1 - import { useNetwork } from '../../contexts/NetworkContext'; 1 + import { useNetwork } from '../../contexts/networkContext'; 2 2 3 3 export default function NetworkWarning() { 4 4 const { isOnline } = useNetwork();
+10
src/main.css
··· 1 + @import 'css/base.css'; 2 + @import 'css/header.css'; 3 + @import 'css/footer.css'; 4 + @import 'css/login.css'; 5 + @import 'css/forms.css'; 6 + @import 'css/buttons.css'; 7 + @import 'css/loading.css'; 8 + @import 'css/migration.css'; 9 + @import 'css/plcToken.css'; 10 + @import 'css/actions.css';
+4 -4
src/main.tsx
··· 2 2 import { createRoot } from 'react-dom/client' 3 3 import { BrowserRouter as Router } from 'react-router-dom' 4 4 import { AtpAgent } from '@atproto/api' 5 - import { AvatarProvider } from './contexts/avatarContext' 6 - import { NetworkProvider } from './contexts/networkContext' 7 - import { AppRoutes } from './routes' 8 - import '../public/main.css' 5 + import { AvatarProvider } from './contexts/AvatarContext' 6 + import { NetworkProvider } from './contexts/NetworkContext' 7 + import { AppRoutes } from './Routes' 8 + import './main.css' 9 9 10 10 const SESSION_KEY = 'atproto_session'; 11 11 const SESSION_EXPIRY = 60 * 60 * 1000; // 1 hour in milliseconds
+2 -2
src/pages/recoveryKey/RecoveryKeyProcess.tsx
··· 1 1 import { useNavigate } from 'react-router-dom'; 2 2 import { useEffect } from 'react'; 3 3 import { AtpAgent } from '@atproto/api'; 4 - import Footer from '../../components/common/Footer'; 5 - import Header from '../../components/common/Header'; 4 + import Footer from '../../components/common/footer'; 5 + import Header from '../../components/common/header'; 6 6 7 7 interface RecoveryKeyProcessProps { 8 8 agent: AtpAgent;
+5 -5
src/routes.tsx
··· 1 1 import { useEffect } from 'react' 2 2 import { Routes, Route, Navigate, useLocation } from 'react-router-dom' 3 3 import { AtpAgent } from '@atproto/api' 4 - import NetworkWarning from './components/common/networkWarning' 5 - import Login from './pages/login' 6 - import Actions from './pages/actions' 7 - import Migration from './pages/migration/migration' 4 + import NetworkWarning from './components/common/NetworkWarning' 5 + import Login from './pages/Login' 6 + import Actions from './pages/Actions' 7 + import Migration from './pages/migration/Migration' 8 8 import MigrationProcess from './pages/migration/MigrationProcess' 9 - import RecoveryKey from './pages/recoveryKey/recovery' 9 + import RecoveryKey from './pages/recoveryKey/Recovery' 10 10 import RecoveryKeyProcess from './pages/recoveryKey/RecoveryKeyProcess' 11 11 12 12 export function AppRoutes({ agent, onLogout, handleLogin }: {