Skip to content

Commit

Permalink
chore/#62: apk 배포
Browse files Browse the repository at this point in the history
  • Loading branch information
yh-project committed Aug 29, 2024
1 parent 78ce5c0 commit 36b9414
Show file tree
Hide file tree
Showing 63 changed files with 18,942 additions and 15 deletions.
30 changes: 15 additions & 15 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
name: SolSolHigh-FE Deploy

on:
push:
branches: develop
push:
branches: feat/#62-webview

jobs:
deploy:
runs-on: ubuntu-latest
steps:
# stage : ssh
- name: SSH
uses: appleboy/ssh-action@v1.0.3
with:
host: ${{ secrets.SSH_KRO_HOST }}
username: ${{ secrets.SSH_KRO_USERNAME }}
password: ${{ secrets.SSH_PASSWORD }}
script: |
cd ~/solsol-high
./static.sh develop
deploy:
runs-on: ubuntu-latest
steps:
# stage : ssh
- name: SSH
uses: appleboy/ssh-action@v1.0.3
with:
host: ${{ secrets.SSH_KRO_HOST }}
username: ${{ secrets.SSH_KRO_USERNAME }}
password: ${{ secrets.SSH_PASSWORD }}
script: |
cd ~/solsol-high
./static.sh feat/#62-webview
2 changes: 2 additions & 0 deletions sshMob/.bundle/config
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
BUNDLE_PATH: "vendor/bundle"
BUNDLE_FORCE_RUBY_PLATFORM: 1
4 changes: 4 additions & 0 deletions sshMob/.eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
module.exports = {
root: true,
extends: '@react-native',
};
74 changes: 74 additions & 0 deletions sshMob/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# OSX
#
.DS_Store

# Xcode
#
build/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata
*.xccheckout
*.moved-aside
DerivedData
*.hmap
*.ipa
*.xcuserstate
**/.xcode.env.local

# Android/IntelliJ
#
build/
.idea
.gradle
local.properties
*.iml
*.hprof
.cxx/
*.keystore
!debug.keystore

# node.js
#
node_modules/
npm-debug.log
yarn-error.log

# fastlane
#
# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
# screenshots whenever they are needed.
# For more information about the recommended setup visit:
# https://docs.fastlane.tools/best-practices/source-control/

**/fastlane/report.xml
**/fastlane/Preview.html
**/fastlane/screenshots
**/fastlane/test_output

# Bundle artifact
*.jsbundle

# Ruby / CocoaPods
**/Pods/
/vendor/bundle/

# Temporary files created by Metro to check the health of the file watcher
.metro-health-check*

# testing
/coverage

# Yarn
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/sdks
!.yarn/versions
7 changes: 7 additions & 0 deletions sshMob/.prettierrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
module.exports = {
arrowParens: 'avoid',
bracketSameLine: true,
bracketSpacing: false,
singleQuote: true,
trailingComma: 'all',
};
1 change: 1 addition & 0 deletions sshMob/.watchmanconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{}
874 changes: 874 additions & 0 deletions sshMob/.yarn/releases/yarn-3.6.4.cjs

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions sshMob/.yarnrc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
nodeLinker: node-modules

yarnPath: .yarn/releases/yarn-3.6.4.cjs
75 changes: 75 additions & 0 deletions sshMob/App.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
/**
* Sample React Native App
* https://github.com/facebook/react-native
*
* @format
*/

import React, {useEffect, useRef, useState} from 'react';
import {Alert, BackHandler, SafeAreaView} from 'react-native';
import WebView from 'react-native-webview';

interface INav {
url: string;
canGoBack: boolean;
}

function App(): React.JSX.Element {
const webViewRef = useRef<WebView>(null);
const [nav, setNav] = useState<INav>({
url: '',
canGoBack: false,
});

const close = () => {
Alert.alert('떠나실건가요?', '확인을 누르면 종료됩니다.', [
{
text: '취소',
onPress: () => {},
style: 'cancel',
},
{
text: '확인',
onPress: () => BackHandler.exitApp(),
},
]);
};

useEffect(() => {
const handleBack = () => {
if (nav.canGoBack) {
if (
nav.url === 'https://www.solsol-high.kro.kr' ||
nav.url === 'https://www.solsol-high.kro.kr/login'
) {
close();
} else {
webViewRef.current?.goBack();
}
} else {
close();
}
return true;
};

BackHandler.addEventListener('hardwareBackPress', handleBack);

return () => {
BackHandler.removeEventListener('hardwareBackPress', handleBack);
};
}, [nav]);

return (
<SafeAreaView style={{flex: 1}}>
<WebView
ref={webViewRef}
source={{uri: 'https://www.solsol-high.kro.kr'}}
onNavigationStateChange={(nav: INav) => {
setNav({url: nav.url, canGoBack: nav.canGoBack});
}}
/>
</SafeAreaView>
);
}

export default App;
8 changes: 8 additions & 0 deletions sshMob/Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
source 'https://rubygems.org'

# You may use http://rbenv.org/ or https://rvm.io/ to install and use this version
ruby ">= 2.6.10"

# Exclude problematic versions of cocoapods and activesupport that causes build failures.
gem 'cocoapods', '>= 1.13', '!= 1.15.0', '!= 1.15.1'
gem 'activesupport', '>= 6.1.7.5', '!= 7.1.0'
79 changes: 79 additions & 0 deletions sshMob/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
This is a new [**React Native**](https://reactnative.dev) project, bootstrapped using [`@react-native-community/cli`](https://github.com/react-native-community/cli).

# Getting Started

>**Note**: Make sure you have completed the [React Native - Environment Setup](https://reactnative.dev/docs/environment-setup) instructions till "Creating a new application" step, before proceeding.
## Step 1: Start the Metro Server

First, you will need to start **Metro**, the JavaScript _bundler_ that ships _with_ React Native.

To start Metro, run the following command from the _root_ of your React Native project:

```bash
# using npm
npm start

# OR using Yarn
yarn start
```

## Step 2: Start your Application

Let Metro Bundler run in its _own_ terminal. Open a _new_ terminal from the _root_ of your React Native project. Run the following command to start your _Android_ or _iOS_ app:

### For Android

```bash
# using npm
npm run android

# OR using Yarn
yarn android
```

### For iOS

```bash
# using npm
npm run ios

# OR using Yarn
yarn ios
```

If everything is set up _correctly_, you should see your new app running in your _Android Emulator_ or _iOS Simulator_ shortly provided you have set up your emulator/simulator correctly.

This is one way to run your app — you can also run it directly from within Android Studio and Xcode respectively.

## Step 3: Modifying your App

Now that you have successfully run the app, let's modify it.

1. Open `App.tsx` in your text editor of choice and edit some lines.
2. For **Android**: Press the <kbd>R</kbd> key twice or select **"Reload"** from the **Developer Menu** (<kbd>Ctrl</kbd> + <kbd>M</kbd> (on Window and Linux) or <kbd>Cmd ⌘</kbd> + <kbd>M</kbd> (on macOS)) to see your changes!

For **iOS**: Hit <kbd>Cmd ⌘</kbd> + <kbd>R</kbd> in your iOS Simulator to reload the app and see your changes!

## Congratulations! :tada:

You've successfully run and modified your React Native App. :partying_face:

### Now what?

- If you want to add this new React Native code to an existing application, check out the [Integration guide](https://reactnative.dev/docs/integration-with-existing-apps).
- If you're curious to learn more about React Native, check out the [Introduction to React Native](https://reactnative.dev/docs/getting-started).

# Troubleshooting

If you can't get this to work, see the [Troubleshooting](https://reactnative.dev/docs/troubleshooting) page.

# Learn More

To learn more about React Native, take a look at the following resources:

- [React Native Website](https://reactnative.dev) - learn more about React Native.
- [Getting Started](https://reactnative.dev/docs/environment-setup) - an **overview** of React Native and how setup your environment.
- [Learn the Basics](https://reactnative.dev/docs/getting-started) - a **guided tour** of the React Native **basics**.
- [Blog](https://reactnative.dev/blog) - read the latest official React Native **Blog** posts.
- [`@facebook/react-native`](https://github.com/facebook/react-native) - the Open Source; GitHub **repository** for React Native.
17 changes: 17 additions & 0 deletions sshMob/__tests__/App.test.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
/**
* @format
*/

import 'react-native';
import React from 'react';
import App from '../App';

// Note: import explicitly to use the types shipped with jest.
import {it} from '@jest/globals';

// Note: test renderer must be required after react-native.
import renderer from 'react-test-renderer';

it('renders correctly', () => {
renderer.create(<App />);
});
Loading

0 comments on commit 36b9414

Please sign in to comment.