From 0cbc17b18242535e5faf3a81717e11e98899ed22 Mon Sep 17 00:00:00 2001 From: Zakaria Mansouri Date: Tue, 17 Dec 2024 22:18:49 +0100 Subject: [PATCH 1/3] removed mobile folder --- mobile/app.json | 61 --------- mobile/babel.config.js | 40 ------ mobile/eas.json | 31 ----- mobile/index.js | 8 -- mobile/jest.config.js | 7 - mobile/metro.config.js | 28 ---- mobile/package.json | 100 -------------- .../_entry/__snapshots__/app.spec.tsx.snap | 25 ---- mobile/src/_entry/app.spec.tsx | 40 ------ mobile/src/_entry/app.tsx | 55 -------- mobile/src/_test/pre-test.ts | 0 mobile/src/_test/setup.ts | 0 mobile/src/assets/png/adaptive-icon.png | Bin 18741 -> 0 bytes mobile/src/assets/png/favicon.png | Bin 1804 -> 0 bytes mobile/src/assets/png/icon.png | Bin 23265 -> 0 bytes mobile/src/assets/png/splash.png | Bin 25294 -> 0 bytes mobile/src/config/index.ts | 4 - .../redux/actions/articles-screen/index.ts | 25 ---- .../redux/actions/contribute-screen/index.ts | 47 ------- mobile/src/redux/actions/general/index.ts | 22 --- .../src/redux/actions/learn-screen/index.ts | 23 ---- .../redux/actions/projects-screen/index.ts | 12 -- mobile/src/redux/index.ts | 10 -- .../articles-screen/adapters/articles.ts | 10 -- .../articles-screen/selectors/index.ts | 6 - .../redux/reducers/articles-screen/slice.ts | 57 -------- .../adapters/contributions.ts | 9 -- .../contribute-screen/adapters/filters.ts | 6 - .../contribute-screen/selectors/index.ts | 11 -- .../redux/reducers/contribute-screen/slice.ts | 69 ---------- mobile/src/redux/reducers/faq-screen/slice.ts | 129 ------------------ mobile/src/redux/reducers/general/slice.ts | 42 ------ mobile/src/redux/reducers/index.ts | 15 -- .../learn-screen/adapters/documents.ts | 10 -- .../reducers/learn-screen/selectors/index.ts | 6 - .../src/redux/reducers/learn-screen/slice.ts | 57 -------- .../projects-screen/adapters/projects.ts | 12 -- .../projects-screen/selectors/index.ts | 6 - .../redux/reducers/projects-screen/slice.ts | 45 ------ .../articles/article-details/index.tsx | 105 -------------- .../articles/article-details/styles.ts | 36 ----- .../screens/articles/articles-list/index.tsx | 67 --------- .../screens/articles/articles-list/styles.ts | 11 -- mobile/src/screens/articles/navigation.tsx | 26 ---- mobile/src/screens/contribute/index.tsx | 124 ----------------- mobile/src/screens/contribute/styles.ts | 26 ---- mobile/src/screens/faq/index.tsx | 38 ------ mobile/src/screens/faq/styles.ts | 14 -- .../screens/learn/document-details/index.tsx | 71 ---------- .../screens/learn/document-details/styles.ts | 25 ---- .../screens/learn/documents-list/index.tsx | 61 --------- .../screens/learn/documents-list/styles.ts | 11 -- mobile/src/screens/learn/navigation.tsx | 26 ---- mobile/src/screens/navigation.tsx | 61 --------- mobile/src/screens/projects/index.tsx | 50 ------- mobile/src/styles/global.ts | 52 ------- mobile/src/types/__global.d.ts | 11 -- mobile/src/utils/env.ts | 10 -- mobile/src/utils/fetch/index.ts | 44 ------ mobile/src/utils/link/index.ts | 20 --- mobile/src/utils/shuffle/index.ts | 23 ---- mobile/tsconfig.json | 9 -- 62 files changed, 1949 deletions(-) delete mode 100644 mobile/app.json delete mode 100644 mobile/babel.config.js delete mode 100644 mobile/eas.json delete mode 100644 mobile/index.js delete mode 100644 mobile/jest.config.js delete mode 100644 mobile/metro.config.js delete mode 100644 mobile/package.json delete mode 100644 mobile/src/_entry/__snapshots__/app.spec.tsx.snap delete mode 100644 mobile/src/_entry/app.spec.tsx delete mode 100644 mobile/src/_entry/app.tsx delete mode 100644 mobile/src/_test/pre-test.ts delete mode 100644 mobile/src/_test/setup.ts delete mode 100644 mobile/src/assets/png/adaptive-icon.png delete mode 100644 mobile/src/assets/png/favicon.png delete mode 100644 mobile/src/assets/png/icon.png delete mode 100644 mobile/src/assets/png/splash.png delete mode 100644 mobile/src/config/index.ts delete mode 100644 mobile/src/redux/actions/articles-screen/index.ts delete mode 100644 mobile/src/redux/actions/contribute-screen/index.ts delete mode 100644 mobile/src/redux/actions/general/index.ts delete mode 100644 mobile/src/redux/actions/learn-screen/index.ts delete mode 100644 mobile/src/redux/actions/projects-screen/index.ts delete mode 100644 mobile/src/redux/index.ts delete mode 100644 mobile/src/redux/reducers/articles-screen/adapters/articles.ts delete mode 100644 mobile/src/redux/reducers/articles-screen/selectors/index.ts delete mode 100644 mobile/src/redux/reducers/articles-screen/slice.ts delete mode 100644 mobile/src/redux/reducers/contribute-screen/adapters/contributions.ts delete mode 100644 mobile/src/redux/reducers/contribute-screen/adapters/filters.ts delete mode 100644 mobile/src/redux/reducers/contribute-screen/selectors/index.ts delete mode 100644 mobile/src/redux/reducers/contribute-screen/slice.ts delete mode 100644 mobile/src/redux/reducers/faq-screen/slice.ts delete mode 100644 mobile/src/redux/reducers/general/slice.ts delete mode 100644 mobile/src/redux/reducers/index.ts delete mode 100644 mobile/src/redux/reducers/learn-screen/adapters/documents.ts delete mode 100644 mobile/src/redux/reducers/learn-screen/selectors/index.ts delete mode 100644 mobile/src/redux/reducers/learn-screen/slice.ts delete mode 100644 mobile/src/redux/reducers/projects-screen/adapters/projects.ts delete mode 100644 mobile/src/redux/reducers/projects-screen/selectors/index.ts delete mode 100644 mobile/src/redux/reducers/projects-screen/slice.ts delete mode 100644 mobile/src/screens/articles/article-details/index.tsx delete mode 100644 mobile/src/screens/articles/article-details/styles.ts delete mode 100644 mobile/src/screens/articles/articles-list/index.tsx delete mode 100644 mobile/src/screens/articles/articles-list/styles.ts delete mode 100644 mobile/src/screens/articles/navigation.tsx delete mode 100644 mobile/src/screens/contribute/index.tsx delete mode 100644 mobile/src/screens/contribute/styles.ts delete mode 100644 mobile/src/screens/faq/index.tsx delete mode 100644 mobile/src/screens/faq/styles.ts delete mode 100644 mobile/src/screens/learn/document-details/index.tsx delete mode 100644 mobile/src/screens/learn/document-details/styles.ts delete mode 100644 mobile/src/screens/learn/documents-list/index.tsx delete mode 100644 mobile/src/screens/learn/documents-list/styles.ts delete mode 100644 mobile/src/screens/learn/navigation.tsx delete mode 100644 mobile/src/screens/navigation.tsx delete mode 100644 mobile/src/screens/projects/index.tsx delete mode 100644 mobile/src/styles/global.ts delete mode 100644 mobile/src/types/__global.d.ts delete mode 100644 mobile/src/utils/env.ts delete mode 100644 mobile/src/utils/fetch/index.ts delete mode 100644 mobile/src/utils/link/index.ts delete mode 100644 mobile/src/utils/shuffle/index.ts delete mode 100644 mobile/tsconfig.json diff --git a/mobile/app.json b/mobile/app.json deleted file mode 100644 index 9deaa0449..000000000 --- a/mobile/app.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "expo": { - "name": "DzCode i/o", - "slug": "dzcode", - "version": "5.3.6", - "orientation": "portrait", - "icon": "./src/assets/png/icon.png", - "scheme": "dzcode", - "userInterfaceStyle": "automatic", - "splash": { - "image": "./src/assets/png/splash.png", - "resizeMode": "contain", - "backgroundColor": "#000" - }, - "updates": { - "fallbackToCacheTimeout": 0, - "url": "https://u.expo.dev/92897cc7-1f47-44ff-9a48-788b82c4d57b" - }, - "assetBundlePatterns": ["**/*"], - "ios": { - "supportsTablet": true, - "bundleIdentifier": "io.dzcode.mobile", - "buildNumber": "5.3.6", - "userInterfaceStyle": "automatic" - }, - "android": { - "adaptiveIcon": { - "foregroundImage": "./src/assets/png/adaptive-icon.png", - "backgroundColor": "#000" - }, - "permissions": [], - "package": "io.dzcode.mobile", - "versionCode": 536, - "userInterfaceStyle": "automatic" - }, - "web": { - "favicon": "./src/assets/png/favicon.png" - }, - "plugins": ["sentry-expo"], - "hooks": { - "postExport": [ - { - "file": "sentry-expo/upload-sourcemaps", - "config": { - "organization": "zakman.dev", - "project": "dzcode", - "authToken": false - } - } - ] - }, - "extra": { - "eas": { - "projectId": "92897cc7-1f47-44ff-9a48-788b82c4d57b" - } - }, - "runtimeVersion": { - "policy": "sdkVersion" - } - } -} diff --git a/mobile/babel.config.js b/mobile/babel.config.js deleted file mode 100644 index af27361c5..000000000 --- a/mobile/babel.config.js +++ /dev/null @@ -1,40 +0,0 @@ -const { readFileSync } = require("fs"); -const internalIp = require("internal-ip"); -const localIP = internalIp.v4.sync(); - -let bundleInfo = { version: require("./package.json").version, environment: "development" }; -try { - bundleInfo = JSON.parse(readFileSync(".bundle-info.json").toString()); -} catch (error) { - /**/ -} -module.exports = function (api) { - api.cache(true); - return { - presets: ["babel-preset-expo"], - plugins: [ - "react-native-reanimated/plugin", - [ - "transform-define", - { - "process.env.LOCAL_API_HOST": localIP, - "window.bundleInfo": bundleInfo, - }, - ], - [ - "module-resolver", - { - root: ["../"], - alias: { - src: "./src", - }, - }, - ], - ], - env: { - production: { - plugins: ["react-native-paper/babel"], - }, - }, - }; -}; diff --git a/mobile/eas.json b/mobile/eas.json deleted file mode 100644 index 46a0b6d00..000000000 --- a/mobile/eas.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "cli": { - "version": ">= 3.8.1" - }, - "build": { - "development": { - "channel": "development", - "developmentClient": true, - "distribution": "internal", - "ios": { - "resourceClass": "m-medium" - } - }, - "stage": { - "channel": "stage", - "distribution": "internal", - "ios": { - "resourceClass": "m-medium" - } - }, - "production": { - "channel": "production", - "ios": { - "resourceClass": "m-medium" - } - } - }, - "submit": { - "production": {} - } -} diff --git a/mobile/index.js b/mobile/index.js deleted file mode 100644 index b63547226..000000000 --- a/mobile/index.js +++ /dev/null @@ -1,8 +0,0 @@ -import { registerRootComponent } from "expo"; - -import { App } from "./src/_entry/app"; - -// registerRootComponent calls AppRegistry.registerComponent('main', () => App); -// It also ensures that whether you load the app in Expo Go or in a native build, -// the environment is set up appropriately -registerRootComponent(App); diff --git a/mobile/jest.config.js b/mobile/jest.config.js deleted file mode 100644 index 83ea699f6..000000000 --- a/mobile/jest.config.js +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - preset: "jest-expo", - transformIgnorePatterns: [ - "node_modules/(?!((jest-)?react-native|@react-native(-community)?)|expo(nent)?|@expo(nent)?/.*|@expo-google-fonts/.*|react-navigation|@react-navigation/.*|@unimodules/.*|unimodules|sentry-expo|@sentry|native-base|react-native-svg)", - ], - testEnvironment: "jsdom", -}; diff --git a/mobile/metro.config.js b/mobile/metro.config.js deleted file mode 100644 index be2616c70..000000000 --- a/mobile/metro.config.js +++ /dev/null @@ -1,28 +0,0 @@ -// Learn more https://docs.expo.dev/guides/monorepos -const { getDefaultConfig } = require("expo/metro-config"); -const exclusionList = require("metro-config/src/defaults/exclusionList"); -const path = require("path"); -const findWorkspaceRoot = require("find-yarn-workspace-root"); - -// Find the project and workspace directories -// This can be replaced with `find-yarn-workspace-root` -const workspaceRoot = findWorkspaceRoot(__dirname); -const projectRoot = __dirname; - -const config = getDefaultConfig(projectRoot); - -// 1. Watch all files within the monorepo -config.watchFolders = [workspaceRoot]; -// 2. Let Metro know where to resolve packages and in what order -config.resolver.nodeModulesPaths = [ - path.resolve(projectRoot, "node_modules"), - path.resolve(workspaceRoot, "node_modules"), -]; -// 3. Force Metro to resolve (sub)dependencies only from the `nodeModulesPaths` -config.resolver.disableHierarchicalLookup = true; -// 4. Ignore `./api` deployment artifacts -config.resolver.blacklistRE = exclusionList([ - new RegExp(`${path.resolve(workspaceRoot, "api/oracle-cloud/build").replace(/\//g, "\\/")}\\/.*`), -]); - -module.exports = config; diff --git a/mobile/package.json b/mobile/package.json deleted file mode 100644 index a2ca443b1..000000000 --- a/mobile/package.json +++ /dev/null @@ -1,100 +0,0 @@ -{ - "name": "@dzcode.io/mobile", - "version": "5.3.6", - "author": { - "email": "omarbelghaouti@gmail.com", - "name": "Omar Belghaouti", - "url": "https://omar-belghaouti.web.app" - }, - "dependencies": { - "@dzcode.io/api": "*", - "@dzcode.io/models": "*", - "@dzcode.io/ui-mobile": "*", - "@dzcode.io/utils": "*", - "@sentry/react-native": "4.13.0", - "debounce": "^1.2.1", - "expo": "~48.0.9", - "expo-application": "~5.1.1", - "expo-constants": "~14.2.1", - "expo-device": "~5.2.1", - "expo-status-bar": "~1.4.4", - "expo-updates": "~0.16.4", - "react": "18.2.0", - "react-native": "0.71.6", - "react-redux": "^7.2.6", - "redux": "^4.1.2", - "redux-thunk": "^2.4.1", - "sentry-expo": "~6.1.0" - }, - "devDependencies": { - "@babel/core": "^7.20.0", - "@dzcode.io/tooling": "*", - "@expo/ngrok": "^4.1.0", - "@types/debounce": "^1.2.0", - "@types/react": "~18.0.14", - "@types/react-test-renderer": "^18.0.0", - "babel-plugin-transform-define": "^2.0.0", - "eas-cli": "^3.8.1", - "internal-ip": "^6.2.0", - "jest-expo": "^48.0.2", - "react-test-renderer": "^18.2.0" - }, - "engines": { - "node": ">=16", - "yarn": ">=1.4.2" - }, - "license": "MIT", - "lint-staged": { - "*.*": [ - "yarn lint:eslint --fix", - "yarn lint:prettier --write" - ] - }, - "main": "index.js", - "private": true, - "repository": { - "type": "git", - "repository": "https://github.com/dzcode-io/dzcode.io.git" - }, - "scripts": { - "build": "lerna run build:alone --scope=@dzcode.io/mobile --include-dependencies --stream", - "build:alone:watch": "tsc --watch --preserveWatchOutput", - "build:android": "eas build -p android --no-wait --non-interactive", - "build:ios": "eas build -p ios --no-wait --non-interactive", - "build:production": "yarn build:ios --profile production && yarn build:android --profile production", - "build:stage": "yarn build:ios --profile stage && yarn build:android --profile stage", - "build:watch": "lerna run build:alone:watch --scope=@dzcode.io/mobile --include-dependencies --parallel", - "clean": "lerna run clean:alone --scope=@dzcode.io/mobile --include-dependencies --stream", - "clean:alone": "rimraf .expo dist", - "combine:components": "rnhc combine -c", - "combine:screens": "rnhc combine -s", - "create:component": "rnhc create -c", - "create:navigation:bottom-tabs": "rnhc create -n bottom-tabs", - "create:navigation:drawer": "rnhc create -n drawer", - "create:navigation:material-bottom-tabs": "rnhc create -n material-bottom-tabs", - "create:navigation:material-top-tabs": "rnhc create -n material-top-tabs", - "create:navigation:native-stack": "rnhc create -n native-stack", - "create:navigation:stack": "rnhc create -n stack", - "create:screen": "rnhc create -s", - "delete:component": "rnhc delete -c", - "delete:navigation": "rnhc delete -n", - "delete:screen": "rnhc delete -s", - "deploy": "eas update --channel production --message \"update\" --non-interactive", - "deploy:stg": "eas update --channel stage --message \"update\" --non-interactive", - "eas-build-post-install": "yarn build", - "generate:bundle-info": "ts-node ../packages/tooling/bundle-info.ts", - "generate:sentry-release": "ts-node ../packages/tooling/sentry-release.ts mobile dist", - "lint": "yarn build && yarn lint:alone", - "lint:alone": "yarn lint:eslint . && yarn lint:prettier --check . && yarn lint:tsc", - "lint:eslint": "eslint --config ../packages/tooling/.eslintrc.json --ignore-path ../packages/tooling/.eslintignore --report-unused-disable-directives", - "lint:fix": "yarn build && yarn lint:fix:alone", - "lint:fix:alone": "yarn lint:eslint --fix . && yarn lint:prettier --write .", - "lint:prettier": "prettier --config ../packages/tooling/.prettierrc --ignore-path ../packages/tooling/.prettierignore --log-level warn", - "lint:tsc": "tsc --noEmit", - "start:dev": "echo \" \n\\033[0;32mPlease run in a separate terminal session the following command:\n \n\\033[0;32myarn --cwd=mobile start:expo\n \n \"", - "start:expo": "rimraf .bundle-info.json && expo start --port 1010", - "test": "yarn build && yarn test:alone", - "test:alone": "jest --rootDir .", - "test:watch": "npm-run-all build --parallel build:watch \"test:alone --watch {@}\" --" - } -} diff --git a/mobile/src/_entry/__snapshots__/app.spec.tsx.snap b/mobile/src/_entry/__snapshots__/app.spec.tsx.snap deleted file mode 100644 index e5a86eb70..000000000 --- a/mobile/src/_entry/__snapshots__/app.spec.tsx.snap +++ /dev/null @@ -1,25 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`renders correctly 1`] = ` - - - -`; diff --git a/mobile/src/_entry/app.spec.tsx b/mobile/src/_entry/app.spec.tsx deleted file mode 100644 index cb014793c..000000000 --- a/mobile/src/_entry/app.spec.tsx +++ /dev/null @@ -1,40 +0,0 @@ -import React, { Component } from "react"; -import renderer from "react-test-renderer"; - -import { App } from "./app"; - -jest.useFakeTimers(); - -jest.mock("@sentry/react-native", () => ({ init: () => jest.fn() })); - -jest.mock("expo-status-bar"); - -const mock = jest.requireMock("react-native-reanimated"); -jest.mock("react-native-reanimated", () => ({ - ...mock, - useSharedValue: jest.fn().mockReturnValue(0), - useAnimatedStyle: jest.fn().mockReturnValue({}), - useAnimatedScrollHandler: jest.fn().mockReturnValue({}), - createAnimatedComponent: (component: Component) => jest.fn().mockReturnValue(component), - __reanimatedWorkletInit: jest.fn(), - ScrollView: "ScrollView", -})); - -jest.mock("@gorhom/bottom-sheet", () => { - require("react-native-reanimated/mock"); -}); - -(global as any).__reanimatedWorkletInit = jest.fn(); // eslint-disable-line @typescript-eslint/no-explicit-any - -jest.mock("@react-navigation/drawer", () => ({ - createDrawerNavigator: jest.fn().mockReturnValue({ - Navigator: jest.fn().mockReturnValue(null), - Screen: jest.fn().mockReturnValue(null), - }), -})); - -it("renders correctly", () => { - const render = renderer.create(); - - expect(render).toMatchSnapshot(); -}); diff --git a/mobile/src/_entry/app.tsx b/mobile/src/_entry/app.tsx deleted file mode 100644 index 5322b16e5..000000000 --- a/mobile/src/_entry/app.tsx +++ /dev/null @@ -1,55 +0,0 @@ -import { NavigationContainer } from "@dzcode.io/ui-mobile/dist/navigation/navigation-container"; -import { darkTheme, defaultTheme } from "@dzcode.io/ui-mobile/dist/theme"; -import { ThemeProvider } from "@dzcode.io/ui-mobile/dist/theme/theme-provider"; -import { StatusBar } from "expo-status-bar"; -import { FC, useEffect } from "react"; -import { Provider, useDispatch } from "react-redux"; -import * as Sentry from "sentry-expo"; -import { AppDispatch, store } from "src/redux"; -import { init } from "src/redux/actions/general"; -import { useGeneralSliceSelector } from "src/redux/reducers/general/slice"; -import { Navigation } from "src/screens/navigation"; -import { getEnv } from "src/utils/env"; - -const env = getEnv(); - -if (env !== "development") { - Sentry.init({ - dsn: "https://aa3f0c7f4b234747a706fb60d84a190d@o953637.ingest.sentry.io/5904343", - enableInExpoDevelopment: true, - environment: env, - debug: env !== "production", - release: `mobile@${window.bundleInfo.version}`, - }); -} - -const AssumeRedux: FC = () => { - const { theme: themeName } = useGeneralSliceSelector(); - const dispatch = useDispatch(); - - useEffect(() => { - dispatch(init(null)); - }, []); - - const themes = { - dark: darkTheme, - light: defaultTheme, - }; - const theme = themes[themeName]; - - return ( - - - - - - ); -}; - -export const App = () => ( - // @TODO-ZM: to add ErrorBoundary - - - - -); diff --git a/mobile/src/_test/pre-test.ts b/mobile/src/_test/pre-test.ts deleted file mode 100644 index e69de29bb..000000000 diff --git a/mobile/src/_test/setup.ts b/mobile/src/_test/setup.ts deleted file mode 100644 index e69de29bb..000000000 diff --git a/mobile/src/assets/png/adaptive-icon.png b/mobile/src/assets/png/adaptive-icon.png deleted file mode 100644 index 7832a54a4ecc8e76d791d35a751c8d066bb78958..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18741 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 MJ2z);bo=}N17N5lSO5S3 diff --git a/mobile/src/assets/png/favicon.png b/mobile/src/assets/png/favicon.png deleted file mode 100644 index 03bdf10473626e303a2d3f1130670a33ab9d559f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1804 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

`Q)(I2=B84go^}W;Y?o2e_1y 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 { - try { - const { articles } = await fetchV2("api:Articles", {}); - return articles; - } catch (error: any) { - return error.message; - } -}); - -export const fetchArticle = createAsyncThunk( - "articlesScreen/fetchArticle", - async (slug: string) => { - try { - const { article } = await fetchV2(`api:Articles/:slug`, { - params: { slug }, - }); - return article; - } catch (error: any) { - return error.message; - } - }, -); diff --git a/mobile/src/redux/actions/contribute-screen/index.ts b/mobile/src/redux/actions/contribute-screen/index.ts deleted file mode 100644 index 70c4ba845..000000000 --- a/mobile/src/redux/actions/contribute-screen/index.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { FilterDto } from "@dzcode.io/api/dist/contribution/types"; -import { createAsyncThunk } from "@reduxjs/toolkit"; -import { fetchV2 } from "src/utils/fetch"; - -export const fetchContributions = createAsyncThunk( - "contributeScreen/fetchContributions", - async (filtersParam: FilterDto[]) => { - try { - const query: [string, string][] = []; - filtersParam.forEach((filter) => { - filter.options.forEach((option) => { - if (option.checked) query.push([filter.name, option.name]); - }); - }); - const { contributions, filters } = await fetchV2("api:Contributions", { - query, - }); - const checkedFilters: Array<{ - filterName: string; - optionName: string; - }> = []; - filtersParam.forEach((filter) => { - filter.options.forEach((option) => { - if (option.checked) { - checkedFilters.push({ - filterName: filter.name, - optionName: option.name, - }); - } - }); - }); - const newFilters = filters.map((filter) => ({ - ...filter, - options: filter.options.map((option) => ({ - ...option, - checked: checkedFilters.some( - ({ filterName, optionName }) => - filterName === filter.name && optionName === option.name, - ), - })), - })); - return { contributions, filters: newFilters }; - } catch (error: any) { - return error.message; - } - }, -); diff --git a/mobile/src/redux/actions/general/index.ts b/mobile/src/redux/actions/general/index.ts deleted file mode 100644 index ad4b6c07a..000000000 --- a/mobile/src/redux/actions/general/index.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { createAsyncThunk } from "@reduxjs/toolkit"; -import Debounce from "debounce"; -import { Appearance } from "react-native"; -import { AppDispatch, RootState } from "src/redux"; -import { getThemeFromSystem, setTheme } from "src/redux/reducers/general/slice"; - -export const init = createAsyncThunk< - any, - any, - { - dispatch: AppDispatch; - state: RootState; - } ->("general/init", (_, { getState, dispatch }) => { - const applyThemeDebounced: Appearance.AppearanceListener = Debounce(() => { - const theme = getThemeFromSystem(); - const currentTheme = getState().general.theme; - if (theme === currentTheme) return; - dispatch(setTheme(theme)); - }, 200); - Appearance.addChangeListener(applyThemeDebounced); -}); diff --git a/mobile/src/redux/actions/learn-screen/index.ts b/mobile/src/redux/actions/learn-screen/index.ts deleted file mode 100644 index 8c11cb802..000000000 --- a/mobile/src/redux/actions/learn-screen/index.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { createAsyncThunk } from "@reduxjs/toolkit"; -import { fetchV2 } from "src/utils/fetch"; - -export const fetchDocumentationList = createAsyncThunk("learnScreen/fetchDocuments", async () => { - try { - const { documentation } = await fetchV2("api:Documentation", {}); - return documentation; - } catch (error: any) { - return error.message; - } -}); - -export const fetchDocumentation = createAsyncThunk( - "learnScreen/fetchDocument", - async (slug: string) => { - try { - const { documentation } = await fetchV2("api:Documentation/:slug", { params: { slug } }); - return documentation; - } catch (error: any) { - return error.message; - } - }, -); diff --git a/mobile/src/redux/actions/projects-screen/index.ts b/mobile/src/redux/actions/projects-screen/index.ts deleted file mode 100644 index 0b4d5091d..000000000 --- a/mobile/src/redux/actions/projects-screen/index.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { createAsyncThunk } from "@reduxjs/toolkit"; -import { fetchV2 } from "src/utils/fetch"; -import { shuffleArray } from "src/utils/shuffle"; - -export const fetchProjects = createAsyncThunk("projectsScreen/fetchProjects", async () => { - try { - const { projects } = await fetchV2("api:Projects", {}); - return shuffleArray(projects); - } catch (error: any) { - return error.message; - } -}); diff --git a/mobile/src/redux/index.ts b/mobile/src/redux/index.ts deleted file mode 100644 index d3898fb3a..000000000 --- a/mobile/src/redux/index.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { configureStore } from "@reduxjs/toolkit"; - -import { reducer } from "./reducers"; - -export const store = configureStore({ - reducer, -}); - -export type RootState = ReturnType; -export type AppDispatch = typeof store.dispatch; diff --git a/mobile/src/redux/reducers/articles-screen/adapters/articles.ts b/mobile/src/redux/reducers/articles-screen/adapters/articles.ts deleted file mode 100644 index 055c19787..000000000 --- a/mobile/src/redux/reducers/articles-screen/adapters/articles.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Endpoints } from "@dzcode.io/api/dist/app/endpoints"; -import { createEntityAdapter } from "@reduxjs/toolkit"; - -type Article = - | Endpoints["api:Articles"]["response"]["articles"][number] - | Endpoints["api:Articles/:slug"]["response"]["article"]; - -export const articlesAdapter = createEntityAdapter

({ - selectId: (article) => article.slug, -}); diff --git a/mobile/src/redux/reducers/articles-screen/selectors/index.ts b/mobile/src/redux/reducers/articles-screen/selectors/index.ts deleted file mode 100644 index e45e90db9..000000000 --- a/mobile/src/redux/reducers/articles-screen/selectors/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { RootState } from "src/redux"; -import { articlesAdapter } from "src/redux/reducers/articles-screen/adapters/articles"; - -export const { selectAll: selectArticles } = articlesAdapter.getSelectors( - (state: RootState) => state.articlesScreen, -); diff --git a/mobile/src/redux/reducers/articles-screen/slice.ts b/mobile/src/redux/reducers/articles-screen/slice.ts deleted file mode 100644 index d5fa7347e..000000000 --- a/mobile/src/redux/reducers/articles-screen/slice.ts +++ /dev/null @@ -1,57 +0,0 @@ -import { createSlice, PayloadAction } from "@reduxjs/toolkit"; -import { useSelector } from "react-redux"; -import { RootState } from "src/redux"; -import { fetchArticle, fetchArticles } from "src/redux/actions/articles-screen"; - -import { articlesAdapter } from "./adapters/articles"; -import { selectArticles } from "./selectors"; - -interface ArticlesScreenState { - status: "idle" | "loading" | "error"; - error: string | null; -} - -const initialState = articlesAdapter.getInitialState({ - status: "idle", - error: null, -}); - -const articlesScreenSlice = createSlice({ - name: "articlesScreen", - initialState, - reducers: {}, - extraReducers(builder) { - builder - .addCase(fetchArticles.pending, (state) => { - state.status = "loading"; - }) - .addCase(fetchArticles.fulfilled, (state, action) => { - state.status = "idle"; - state.error = null; - articlesAdapter.setAll(state, action.payload); - }) - .addCase(fetchArticles.rejected, (state, action: PayloadAction) => { - state.status = "error"; - state.error = action.payload.message; - }) - .addCase(fetchArticle.pending, (state) => { - state.status = "loading"; - }) - .addCase(fetchArticle.fulfilled, (state, action) => { - state.status = "idle"; - state.error = null; - articlesAdapter.upsertOne(state, action.payload); - }) - .addCase(fetchArticle.rejected, (state, action: PayloadAction) => { - state.status = "error"; - state.error = action.payload.message; - }); - }, -}); - -export const useArticlesSliceSelector = () => ({ - ...useSelector((state: RootState) => state.articlesScreen), - articles: useSelector(selectArticles), -}); - -export default articlesScreenSlice; diff --git a/mobile/src/redux/reducers/contribute-screen/adapters/contributions.ts b/mobile/src/redux/reducers/contribute-screen/adapters/contributions.ts deleted file mode 100644 index ea83a328f..000000000 --- a/mobile/src/redux/reducers/contribute-screen/adapters/contributions.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { Model } from "@dzcode.io/models/dist/_base"; -import { ContributionEntity } from "@dzcode.io/models/dist/contribution"; -import { createEntityAdapter } from "@reduxjs/toolkit"; - -type Contribution = Model; - -export const contributionsAdapter = createEntityAdapter({ - selectId: (contribution) => contribution.id, -}); diff --git a/mobile/src/redux/reducers/contribute-screen/adapters/filters.ts b/mobile/src/redux/reducers/contribute-screen/adapters/filters.ts deleted file mode 100644 index 6429f7b0d..000000000 --- a/mobile/src/redux/reducers/contribute-screen/adapters/filters.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { FilterDto } from "@dzcode.io/api/dist/contribution/types"; -import { createEntityAdapter } from "@reduxjs/toolkit"; - -export const filtersAdapter = createEntityAdapter({ - selectId: (filter) => filter.name, -}); diff --git a/mobile/src/redux/reducers/contribute-screen/selectors/index.ts b/mobile/src/redux/reducers/contribute-screen/selectors/index.ts deleted file mode 100644 index e4aac62ed..000000000 --- a/mobile/src/redux/reducers/contribute-screen/selectors/index.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { RootState } from "src/redux"; -import { contributionsAdapter } from "src/redux/reducers/contribute-screen/adapters/contributions"; -import { filtersAdapter } from "src/redux/reducers/contribute-screen/adapters/filters"; - -export const { selectAll: selectContributions } = contributionsAdapter.getSelectors( - (state: RootState) => state.contributeScreen.contributions, -); - -export const { selectAll: selectFilters } = filtersAdapter.getSelectors( - (state: RootState) => state.contributeScreen.filters, -); diff --git a/mobile/src/redux/reducers/contribute-screen/slice.ts b/mobile/src/redux/reducers/contribute-screen/slice.ts deleted file mode 100644 index 0e5955749..000000000 --- a/mobile/src/redux/reducers/contribute-screen/slice.ts +++ /dev/null @@ -1,69 +0,0 @@ -import { FilterDto } from "@dzcode.io/api/dist/contribution/types"; -import { Model } from "@dzcode.io/models/dist/_base"; -import { ContributionEntity } from "@dzcode.io/models/dist/contribution"; -import { createSlice, EntityState, PayloadAction } from "@reduxjs/toolkit"; -import { useSelector } from "react-redux"; -import { RootState } from "src/redux"; -import { fetchContributions } from "src/redux/actions/contribute-screen"; - -import { contributionsAdapter } from "./adapters/contributions"; -import { filtersAdapter } from "./adapters/filters"; -import { selectContributions, selectFilters } from "./selectors"; - -interface ContributeScreenState { - contributions: EntityState>; - filters: EntityState; - status: "idle" | "loading" | "error"; - error: string | null; -} - -const initialState: ContributeScreenState = { - contributions: contributionsAdapter.getInitialState(), - filters: filtersAdapter.getInitialState(), - status: "idle", - error: null, -}; - -const contributeScreenSlice = createSlice({ - name: "contributeScreen", - initialState: initialState, - reducers: { - updateFilterValue: ( - state, - action: PayloadAction<{ filterName: string; optionName: string }>, - ) => { - const { filterName, optionName } = action.payload; - const filter = state.filters.entities[filterName]; - if (!filter) return; - const option = filter.options.find((o) => o.name === optionName); - if (!option) return; - option.checked = !option.checked; - }, - }, - extraReducers(builder) { - builder - .addCase(fetchContributions.pending, (state) => { - state.status = "loading"; - }) - .addCase(fetchContributions.fulfilled, (state, action) => { - state.status = "idle"; - state.error = null; - contributionsAdapter.setAll(state.contributions, action.payload.contributions); - filtersAdapter.setAll(state.filters, action.payload.filters); - }) - .addCase(fetchContributions.rejected, (state, action: PayloadAction) => { - state.status = "error"; - state.error = action.payload.message; - }); - }, -}); - -export const { updateFilterValue } = contributeScreenSlice.actions; - -export const useContributeSliceSelector = () => ({ - ...useSelector((state: RootState) => state.contributeScreen), - contributions: useSelector(selectContributions), - filters: useSelector(selectFilters), -}); - -export default contributeScreenSlice; diff --git a/mobile/src/redux/reducers/faq-screen/slice.ts b/mobile/src/redux/reducers/faq-screen/slice.ts deleted file mode 100644 index 490dfdd65..000000000 --- a/mobile/src/redux/reducers/faq-screen/slice.ts +++ /dev/null @@ -1,129 +0,0 @@ -import { createSlice } from "@reduxjs/toolkit"; -import { useSelector } from "react-redux"; -import { RootState } from "src/redux"; - -export type FAQData = Array<{ - title: string; - questions: Array<{ - question: string; - answer: string; - }>; -}>; - -export const faqData: FAQData = [ - { - title: "General", - questions: [ - { - question: "What exactly is DzCode i/o ?", - answer: `An open-source online community of algerian developers, no organization or any political party is involved, only us dz developers.`, - }, - { - question: "What are the Goals of DzCode i/o ?", - answer: ` -- Share our experiences (in form of [Articles](/Articles)), there are many algerian developers that accumulated lots experiences, dzcode.io gives them the chance to share it with the right audience. -- Guide new developers to build their career (with detailed [documentation](/Learn)), and understand the software market, instead of wasting their time on other useless resources. -- Fix some common algerian software problems, in form of ready to use open-source [softwares](/Projects) (packages, libraries ...etc).`, - }, - { - question: "What benefit will i get from it ?", - answer: `There are couple of benefits, to name few: - -- You will meet other algerian developers, experienced and juniors, where you can grow your network! -- You'll get to experience a professional environment, which is completely different than the one you used to in school. -- Your contribution will be shown on your Github profile, and that is a big plus in your professional career! -`, - }, - { - question: "dzcode, dzcode.io or DzCode i/o ?", - answer: `You may get confused with the different terms, so here's the official breakdown: - -- **DzCode i/o** (with capital C) is the official name of the community. -- **dzcode.io** is the website of the DzCode i/o, this has been voted for [here](https://www.facebook.com/groups/dzdevs/permalink/3052880478141052/). -- **dzcode** is a short name, not official, but it's usually used to refer DzCode i/o. -`, - }, - ], - }, - { - title: "Participation", - questions: [ - { - question: "How to join DzCode i/o ?", - answer: `We're most active in slack, it's highly recommended to [join us there](https://join.slack.com/t/dzcode/shared_invite/zt-ek9kscb7-m8z_~cBjX79l~uchuABPFQ).`, - }, - { - question: "I want to code, where should I start ?", - answer: `Go to [/Contribute](/Contribute) page, you will see list projects with their open tasks, pick whatever you like and start coding 🔥. - -**Note** : Please make sure to inform the project maintainer to reserve the task for you, you can do that by commenting on the issue ticket.`, - }, - { - question: "I like the idea, what are the different ways i can contribute to DzCode i/o ?", - answer: `Apart from checking out the [/Contribute](/Contribute) page, you can also contribute to DzCode i/o by: - -- Adding your open-source projects to dzcode.io website, you can do that [here](/Learn/About_dzcode_io/Add_Your_Project_To_dzcode_io). -- Writing about your experience in form of articles, it's as easy as following the steps [here](/Learn/About_dzcode_io/Add_Your_Article_To_dzcode_io). -`, - }, - ], - }, - { - title: "Articles", - questions: [ - { - question: "How to write an article in dzcode.io", - answer: `See this [tutorial](/Learn/About_dzcode_io/Add_Your_Article_To_dzcode_io).`, - }, - { - question: "The Articles should they be in English ?", - answer: - "Yes, to reach a wide range of audience we will add a feature to allow article localization and multiple language articles in the future.", - }, - { - question: "Can I write about anything ?", - answer: "As long as its IT related yes you can write about anything.", - }, - ], - }, - { - title: "Projects", - questions: [ - { - question: "How to add my open-source project to dzcode.io", - answer: `See this [tutorial](/Learn/About_dzcode_io/Add_Your_Project_To_dzcode_io).`, - }, - { - question: "What makes my project eligible to be added to dzcode.io", - answer: "It has to solve an Algerian problem, or, to be written by an Algerian Developer.", - }, - { - question: "Why should i add my project to dzcode.io ?", - answer: ` -- Your project will potentially get noticed by more algerian developers. -- You will get potential contribution from other DZ developers, and eventually better shape your piece of software. -`, - }, - ], - }, -]; - -interface FAQState { - data: FAQData; -} - -const initialState: FAQState = { - data: faqData, -}; - -const faqScreenSlice = createSlice({ - name: "faqScreen", - initialState, - reducers: {}, -}); - -export const useFaqSliceSelector = () => ({ - ...useSelector((state: RootState) => state.faqScreen), -}); - -export default faqScreenSlice; diff --git a/mobile/src/redux/reducers/general/slice.ts b/mobile/src/redux/reducers/general/slice.ts deleted file mode 100644 index 3ee85de0a..000000000 --- a/mobile/src/redux/reducers/general/slice.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { createSlice } from "@reduxjs/toolkit"; -import { Appearance } from "react-native"; -import { useSelector } from "react-redux"; -import { RootState } from "src/redux"; - -interface GeneralState { - theme: "dark" | "light"; -} - -export const getThemeFromSystem = ( - colorScheme = Appearance.getColorScheme(), -): GeneralState["theme"] => { - switch (colorScheme) { - case "dark": - return "dark"; - case "light": - default: - return "light"; - } -}; - -const initialState: GeneralState = { - theme: getThemeFromSystem(), -}; - -const generalSlice = createSlice({ - name: "general", - initialState, - reducers: { - setTheme: (state, action) => { - state.theme = action.payload; - }, - }, -}); - -export const { setTheme } = generalSlice.actions; - -export const useGeneralSliceSelector = () => ({ - ...useSelector((state: RootState) => state.general), -}); - -export default generalSlice; diff --git a/mobile/src/redux/reducers/index.ts b/mobile/src/redux/reducers/index.ts deleted file mode 100644 index c8104b557..000000000 --- a/mobile/src/redux/reducers/index.ts +++ /dev/null @@ -1,15 +0,0 @@ -import articlesScreenSlice from "./articles-screen/slice"; -import contributeScreenSlice from "./contribute-screen/slice"; -import faqScreenSlice from "./faq-screen/slice"; -import generalSlice from "./general/slice"; -import learnScreenSlice from "./learn-screen/slice"; -import projectsScreenSlice from "./projects-screen/slice"; - -export const reducer = { - articlesScreen: articlesScreenSlice.reducer, - contributeScreen: contributeScreenSlice.reducer, - faqScreen: faqScreenSlice.reducer, - learnScreen: learnScreenSlice.reducer, - projectsScreen: projectsScreenSlice.reducer, - general: generalSlice.reducer, -}; diff --git a/mobile/src/redux/reducers/learn-screen/adapters/documents.ts b/mobile/src/redux/reducers/learn-screen/adapters/documents.ts deleted file mode 100644 index 6751534f0..000000000 --- a/mobile/src/redux/reducers/learn-screen/adapters/documents.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Endpoints } from "@dzcode.io/api/dist/app/endpoints"; -import { createEntityAdapter } from "@reduxjs/toolkit"; - -type Document = - | Endpoints["api:Documentation"]["response"]["documentation"][number] - | Endpoints["api:Documentation/:slug"]["response"]["documentation"]; - -export const documentsAdapter = createEntityAdapter({ - selectId: (document) => document.slug, -}); diff --git a/mobile/src/redux/reducers/learn-screen/selectors/index.ts b/mobile/src/redux/reducers/learn-screen/selectors/index.ts deleted file mode 100644 index ce8528598..000000000 --- a/mobile/src/redux/reducers/learn-screen/selectors/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { RootState } from "src/redux"; -import { documentsAdapter } from "src/redux/reducers/learn-screen/adapters/documents"; - -export const { selectAll: selectDocuments } = documentsAdapter.getSelectors( - (state: RootState) => state.learnScreen, -); diff --git a/mobile/src/redux/reducers/learn-screen/slice.ts b/mobile/src/redux/reducers/learn-screen/slice.ts deleted file mode 100644 index 6796ea8a6..000000000 --- a/mobile/src/redux/reducers/learn-screen/slice.ts +++ /dev/null @@ -1,57 +0,0 @@ -import { createSlice, PayloadAction } from "@reduxjs/toolkit"; -import { useSelector } from "react-redux"; -import { RootState } from "src/redux"; -import { fetchDocumentation, fetchDocumentationList } from "src/redux/actions/learn-screen"; - -import { documentsAdapter } from "./adapters/documents"; -import { selectDocuments } from "./selectors"; - -interface LearnScreenState { - status: "idle" | "loading" | "error"; - error: string | null; -} - -const initialState = documentsAdapter.getInitialState({ - status: "idle", - error: null, -}); - -const learnScreenSlice = createSlice({ - name: "learnScreen", - initialState, - reducers: {}, - extraReducers(builder) { - builder - .addCase(fetchDocumentationList.pending, (state) => { - state.status = "loading"; - }) - .addCase(fetchDocumentationList.fulfilled, (state, action) => { - state.status = "idle"; - state.error = null; - documentsAdapter.setAll(state, action.payload); - }) - .addCase(fetchDocumentationList.rejected, (state, action: PayloadAction) => { - state.status = "error"; - state.error = action.payload.message; - }) - .addCase(fetchDocumentation.pending, (state) => { - state.status = "loading"; - }) - .addCase(fetchDocumentation.fulfilled, (state, action) => { - state.status = "idle"; - state.error = null; - documentsAdapter.setOne(state, action.payload); - }) - .addCase(fetchDocumentation.rejected, (state, action: PayloadAction) => { - state.status = "error"; - state.error = action.payload.message; - }); - }, -}); - -export const useLearnSliceSelector = () => ({ - ...useSelector((state: RootState) => state.learnScreen), - documents: useSelector(selectDocuments), -}); - -export default learnScreenSlice; diff --git a/mobile/src/redux/reducers/projects-screen/adapters/projects.ts b/mobile/src/redux/reducers/projects-screen/adapters/projects.ts deleted file mode 100644 index dd928be27..000000000 --- a/mobile/src/redux/reducers/projects-screen/adapters/projects.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { Model } from "@dzcode.io/models/dist/_base"; -import { ProjectEntity } from "@dzcode.io/models/dist/project"; -import { RepositoryEntity } from "@dzcode.io/models/dist/repository"; -import { createEntityAdapter } from "@reduxjs/toolkit"; - -type Project = Model & { - repositories: Model[]; -}; - -export const projectsAdapter = createEntityAdapter({ - selectId: (project) => project.slug, -}); diff --git a/mobile/src/redux/reducers/projects-screen/selectors/index.ts b/mobile/src/redux/reducers/projects-screen/selectors/index.ts deleted file mode 100644 index a71c77822..000000000 --- a/mobile/src/redux/reducers/projects-screen/selectors/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { RootState } from "src/redux"; -import { projectsAdapter } from "src/redux/reducers/projects-screen/adapters/projects"; - -export const { selectAll: selectProjects } = projectsAdapter.getSelectors( - (state: RootState) => state.projectsScreen, -); diff --git a/mobile/src/redux/reducers/projects-screen/slice.ts b/mobile/src/redux/reducers/projects-screen/slice.ts deleted file mode 100644 index c7a491253..000000000 --- a/mobile/src/redux/reducers/projects-screen/slice.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { createSlice, PayloadAction } from "@reduxjs/toolkit"; -import { useSelector } from "react-redux"; -import { RootState } from "src/redux"; -import { fetchProjects } from "src/redux/actions/projects-screen"; - -import { projectsAdapter } from "./adapters/projects"; -import { selectProjects } from "./selectors"; - -interface ProjectsScreenState { - status: "idle" | "loading" | "error"; - error: string | null; -} - -const initialState = projectsAdapter.getInitialState({ - status: "idle", - error: null, -}); - -const projectsScreenSlice = createSlice({ - name: "projectsScreen", - initialState, - reducers: {}, - extraReducers(builder) { - builder - .addCase(fetchProjects.pending, (state) => { - state.status = "loading"; - }) - .addCase(fetchProjects.fulfilled, (state, action) => { - state.status = "idle"; - state.error = null; - projectsAdapter.setAll(state, action.payload); - }) - .addCase(fetchProjects.rejected, (state, action: PayloadAction) => { - state.status = "error"; - state.error = action.payload.message; - }); - }, -}); - -export const useProjectsSliceSelector = () => ({ - ...useSelector((state: RootState) => state.projectsScreen), - projects: useSelector(selectProjects), -}); - -export default projectsScreenSlice; diff --git a/mobile/src/screens/articles/article-details/index.tsx b/mobile/src/screens/articles/article-details/index.tsx deleted file mode 100644 index 82459a237..000000000 --- a/mobile/src/screens/articles/article-details/index.tsx +++ /dev/null @@ -1,105 +0,0 @@ -import { ArticleEntity } from "@dzcode.io/models/dist/article"; -import { useNavigation } from "@dzcode.io/ui-mobile/dist/_hooks/use-navigation"; -import type { RouteParam } from "@dzcode.io/ui-mobile/dist/_types/route-param"; -import { ErrorBoundary } from "@dzcode.io/ui-mobile/dist/error-boundary"; -import { DZCodeLoading } from "@dzcode.io/ui-mobile/dist/loading"; -import { Markdown } from "@dzcode.io/ui-mobile/dist/markdown"; -import { Text } from "@dzcode.io/ui-mobile/dist/text/text"; -import { TryAgain } from "@dzcode.io/ui-mobile/dist/try-again"; -import { isLoaded } from "@dzcode.io/utils/dist/loadable"; -import React, { FC, useEffect } from "react"; -import { Image, SafeAreaView, ScrollView, TouchableOpacity, View } from "react-native"; -import { useDispatch } from "react-redux"; -import { AppDispatch } from "src/redux"; -import { fetchArticle } from "src/redux/actions/articles-screen"; -import { useArticlesSliceSelector } from "src/redux/reducers/articles-screen/slice"; -import { globalStyles } from "src/styles/global"; -import { openLink } from "src/utils/link"; - -import { articleDetailsStyles } from "./styles"; - -interface ArticleDetailsScreenProps { - route: RouteParam<"article-details", RouteParams>; -} - -interface RouteParams { - article: ArticleEntity; -} - -export const ArticleDetailsScreen: FC = ({ - route, -}: ArticleDetailsScreenProps) => { - const { articles, status } = useArticlesSliceSelector(); - const loadedArticles = isLoaded(articles); - const currentArticle = ( - loadedArticles?.filter((article) => (article as ArticleEntity).content) as ArticleEntity[] - ).find((article) => article.slug === route.params.article.slug); - const dispatch = useDispatch(); - const navigation = useNavigation(); - - useEffect(() => { - dispatch(fetchArticle(route.params.article.slug)); - }, []); - - return ( - - - {status === "loading" ? ( - - - - ) : currentArticle ? ( - - - {route.params.article.title} - {currentArticle.description} - openLink(url, navigation)} - /> - {currentArticle.authors.length > 0 && - currentArticle.authors.find((a) => !a.id.includes("undefined")) && ( - <> - This article is written by - - {currentArticle.authors?.map((author) => ( - openLink(author.profileUrl)}> - - - ))} - - - )} - {currentArticle.contributors.length > 0 && ( - <> - With the help of - - {currentArticle.contributors?.map((contributor) => ( - openLink(contributor.profileUrl)} - > - - - ))} - - - )} - - ) : ( - dispatch(fetchArticle(route.params.article.slug))} - /> - )} - - - ); -}; diff --git a/mobile/src/screens/articles/article-details/styles.ts b/mobile/src/screens/articles/article-details/styles.ts deleted file mode 100644 index 5653ac671..000000000 --- a/mobile/src/screens/articles/article-details/styles.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { - LARGE_LOGO_HEIGHT, - LARGE_MARGIN_SIZE, - MEDIUM_MARGIN_SIZE, - MEDIUM_TEXT_SIZE, - SMALL_MARGIN_SIZE, -} from "@dzcode.io/ui-mobile/dist/_utils/constants"; -import { StyleSheet } from "react-native"; - -export const articleDetailsStyles = StyleSheet.create({ - image: { - width: "100%", - height: LARGE_LOGO_HEIGHT, - }, - mdBody: { - marginHorizontal: LARGE_MARGIN_SIZE, - }, - descriptionText: { - marginHorizontal: MEDIUM_MARGIN_SIZE, - }, - authorsText: { - fontWeight: "bold", - fontSize: MEDIUM_TEXT_SIZE, - marginHorizontal: MEDIUM_MARGIN_SIZE, - }, - authorAvatars: { - marginHorizontal: MEDIUM_MARGIN_SIZE, - flexDirection: "row", - alignItems: "center", - }, - avatar: { - marginLeft: SMALL_MARGIN_SIZE, - width: 50, - height: 50, - }, -}); diff --git a/mobile/src/screens/articles/articles-list/index.tsx b/mobile/src/screens/articles/articles-list/index.tsx deleted file mode 100644 index 9d8f133b3..000000000 --- a/mobile/src/screens/articles/articles-list/index.tsx +++ /dev/null @@ -1,67 +0,0 @@ -import { useNavigation } from "@dzcode.io/ui-mobile/dist/_hooks/use-navigation"; -import { Button } from "@dzcode.io/ui-mobile/dist/button"; -import { Divider } from "@dzcode.io/ui-mobile/dist/divider"; -import { ErrorBoundary } from "@dzcode.io/ui-mobile/dist/error-boundary"; -import { DZCodeLoading } from "@dzcode.io/ui-mobile/dist/loading"; -import { TryAgain } from "@dzcode.io/ui-mobile/dist/try-again"; -import React, { FC, useEffect } from "react"; -import { FlatList, SafeAreaView, View } from "react-native"; -import { useDispatch } from "react-redux"; -import { AppDispatch } from "src/redux"; -import { fetchArticles } from "src/redux/actions/articles-screen"; -import { useArticlesSliceSelector } from "src/redux/reducers/articles-screen/slice"; -import { globalStyles } from "src/styles/global"; - -import { articlesListStyles } from "./styles"; - -export const ArticlesListScreen: FC = () => { - const { articles, status } = useArticlesSliceSelector(); - - const navigation = useNavigation(); - - const dispatch = useDispatch(); - - useEffect(() => { - dispatch(fetchArticles()); - }, []); - - return ( - - - {status === "error" ? ( - dispatch(fetchArticles())} - /> - ) : articles ? ( - dispatch(fetchArticles())} - refreshing={status === "loading"} - ItemSeparatorComponent={() => } - keyExtractor={(item, index) => `item-${index}`} - renderItem={({ item }) => ( - - - - )} - /> - ) : ( - - - - )} - - - ); -}; diff --git a/mobile/src/screens/articles/articles-list/styles.ts b/mobile/src/screens/articles/articles-list/styles.ts deleted file mode 100644 index e0713d394..000000000 --- a/mobile/src/screens/articles/articles-list/styles.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { SMALL_LOGO_HEIGHT, SMALL_PADDING_SIZE } from "@dzcode.io/ui-mobile/dist/_utils/constants"; -import { StyleSheet } from "react-native"; - -export const articlesListStyles = StyleSheet.create({ - button: { - height: SMALL_LOGO_HEIGHT, - paddingVertical: SMALL_PADDING_SIZE, - justifyContent: "center", - alignSelf: "flex-start", - }, -}); diff --git a/mobile/src/screens/articles/navigation.tsx b/mobile/src/screens/articles/navigation.tsx deleted file mode 100644 index 80265ba12..000000000 --- a/mobile/src/screens/articles/navigation.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import type { Route } from "@dzcode.io/ui-mobile/dist/_types/route"; -import { ErrorBoundary } from "@dzcode.io/ui-mobile/dist/error-boundary"; -import { StackNav } from "@dzcode.io/ui-mobile/dist/navigation/stack-nav"; -import React, { FC } from "react"; - -import { ArticleDetailsScreen } from "./article-details"; -import { ArticlesListScreen } from "./articles-list"; - -const routes: Route[] = [ - { - name: "articles-list", - component: ArticlesListScreen, - }, - { - name: "article-details", - component: ArticleDetailsScreen, - }, -]; - -export const Navigation: FC = () => { - return ( - - - - ); -}; diff --git a/mobile/src/screens/contribute/index.tsx b/mobile/src/screens/contribute/index.tsx deleted file mode 100644 index 73d663af1..000000000 --- a/mobile/src/screens/contribute/index.tsx +++ /dev/null @@ -1,124 +0,0 @@ -import { BottomSheet } from "@dzcode.io/ui-mobile/dist/bottom-sheet/bottom-sheet"; -import { BottomSheetScrollView } from "@dzcode.io/ui-mobile/dist/bottom-sheet/bottom-sheet-scroll-view"; -import { ContributeCard } from "@dzcode.io/ui-mobile/dist/card/contribute-card"; -import { ErrorBoundary } from "@dzcode.io/ui-mobile/dist/error-boundary"; -import { Filters } from "@dzcode.io/ui-mobile/dist/filter"; -import { DZCodeLoading } from "@dzcode.io/ui-mobile/dist/loading"; -import { Text } from "@dzcode.io/ui-mobile/dist/text/text"; -import { TryAgain } from "@dzcode.io/ui-mobile/dist/try-again"; -import React, { FC, useEffect, useState } from "react"; -import { FlatList, Image, Linking, SafeAreaView, View } from "react-native"; -import { useDispatch } from "react-redux"; -import { AppDispatch } from "src/redux"; -import { fetchContributions } from "src/redux/actions/contribute-screen"; -import { - updateFilterValue, - useContributeSliceSelector, -} from "src/redux/reducers/contribute-screen/slice"; -import { globalStyles } from "src/styles/global"; - -import { contributeStyles } from "./styles"; - -export const ContributeScreen: FC = () => { - const { contributions, filters, status } = useContributeSliceSelector(); - const [update, setUpdate] = useState(false); - - const dispatch = useDispatch(); - useEffect(() => { - dispatch(fetchContributions(filters)); - }, []); - - useEffect(() => { - if (update) { - dispatch(fetchContributions(filters)); - setUpdate(false); - } - }, [update]); - - return ( - - - {status === "error" ? ( - dispatch(fetchContributions(filters))} - /> - ) : contributions ? ( - // Cards - contributions.length > 0 ? ( - { - dispatch(fetchContributions(filters)); - }} - refreshing={status === "loading"} - keyExtractor={(item, index) => `item-${index}`} - renderItem={({ item }) => ( - { - setUpdate(false); - const filterName = item.labels.includes(optionName) ? "labels" : "languages"; - dispatch( - updateFilterValue({ - filterName, - optionName, - }), - ); - setUpdate(true); - }} - onPress={() => { - try { - Linking.openURL(item.url); - } catch { - alert("Can't open browser"); - } - }} - /> - )} - /> - ) : ( - - - There is no contribution - - ) - ) : ( - // Loading indicator - - - - )} - {/* Filters */} - - {filters ? ( - - { - setUpdate(false); - dispatch( - updateFilterValue({ - filterName, - optionName, - }), - ); - setUpdate(true); - }} - /> - - ) : ( - - - - )} - - - - ); -}; diff --git a/mobile/src/screens/contribute/styles.ts b/mobile/src/screens/contribute/styles.ts deleted file mode 100644 index e235d9c9a..000000000 --- a/mobile/src/screens/contribute/styles.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { - MEDIUM_LOGO_HEIGHT, - MEDIUM_LOGO_WIDTH, - MEDIUM_MARGIN_SIZE, - MEDIUM_TEXT_SIZE, -} from "@dzcode.io/ui-mobile/dist/_utils/constants"; -import { StyleSheet } from "react-native"; - -export const contributeStyles = StyleSheet.create({ - dzcodeLoading: { - position: "absolute", - }, - emptyStateLogo: { - width: MEDIUM_LOGO_WIDTH, - height: MEDIUM_LOGO_HEIGHT, - }, - emptyStateText: { - marginTop: MEDIUM_MARGIN_SIZE, - marginBottom: MEDIUM_MARGIN_SIZE, - textAlign: "center", - fontSize: MEDIUM_TEXT_SIZE, - }, - listView: { - marginVertical: MEDIUM_MARGIN_SIZE, - }, -}); diff --git a/mobile/src/screens/faq/index.tsx b/mobile/src/screens/faq/index.tsx deleted file mode 100644 index 46fc60c19..000000000 --- a/mobile/src/screens/faq/index.tsx +++ /dev/null @@ -1,38 +0,0 @@ -import { useNavigation } from "@dzcode.io/ui-mobile/dist/_hooks/use-navigation"; -import { ErrorBoundary } from "@dzcode.io/ui-mobile/dist/error-boundary"; -import { List } from "@dzcode.io/ui-mobile/dist/list"; -import { Markdown } from "@dzcode.io/ui-mobile/dist/markdown"; -import { Text } from "@dzcode.io/ui-mobile/dist/text/text"; -import React, { FC } from "react"; -import { SafeAreaView, ScrollView, View } from "react-native"; -import { useFaqSliceSelector } from "src/redux/reducers/faq-screen/slice"; -import { globalStyles } from "src/styles/global"; -import { openLink } from "src/utils/link"; - -import { faqStyles } from "./styles"; - -export const FAQScreen: FC = () => { - const navigation = useNavigation(); - const { data } = useFaqSliceSelector(); - - return ( - - - - {data.map(({ title, questions }, index) => ( - - {title} - - {questions.map(({ question, answer }, index) => ( - - openLink(url, navigation)} /> - - ))} - - - ))} - - - - ); -}; diff --git a/mobile/src/screens/faq/styles.ts b/mobile/src/screens/faq/styles.ts deleted file mode 100644 index a8ae2f498..000000000 --- a/mobile/src/screens/faq/styles.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { MEDIUM_PADDING_SIZE, MEDIUM_TEXT_SIZE } from "@dzcode.io/ui-mobile/dist/_utils/constants"; -import { Colors } from "@dzcode.io/ui-mobile/dist/theme/style/color"; -import { StyleSheet } from "react-native"; - -export const faqStyles = StyleSheet.create({ - title: { - textAlign: "center", - fontSize: MEDIUM_TEXT_SIZE, - color: Colors.grey, - }, - description: { - padding: MEDIUM_PADDING_SIZE, - }, -}); diff --git a/mobile/src/screens/learn/document-details/index.tsx b/mobile/src/screens/learn/document-details/index.tsx deleted file mode 100644 index 60a95e1fb..000000000 --- a/mobile/src/screens/learn/document-details/index.tsx +++ /dev/null @@ -1,71 +0,0 @@ -import { DocumentationEntity } from "@dzcode.io/models/dist/documentation"; -import type { RouteParam } from "@dzcode.io/ui-mobile/dist/_types/route-param"; -import { ErrorBoundary } from "@dzcode.io/ui-mobile/dist/error-boundary"; -import { DZCodeLoading } from "@dzcode.io/ui-mobile/dist/loading"; -import { Markdown } from "@dzcode.io/ui-mobile/dist/markdown"; -import { Text } from "@dzcode.io/ui-mobile/dist/text/text"; -import { TryAgain } from "@dzcode.io/ui-mobile/dist/try-again"; -import { isLoaded } from "@dzcode.io/utils/dist/loadable"; -import React, { FC, useEffect } from "react"; -import { Image, SafeAreaView, ScrollView, View } from "react-native"; -import { useDispatch } from "react-redux"; -import { AppDispatch } from "src/redux"; -import { fetchDocumentation } from "src/redux/actions/learn-screen"; -import { useLearnSliceSelector } from "src/redux/reducers/learn-screen/slice"; -import { globalStyles } from "src/styles/global"; -import { openLink } from "src/utils/link"; - -import { documentDetailsStyles } from "./styles"; - -interface DocumentDetailsScreenProps { - route: RouteParam<"DocumentDetails", RouteParams>; -} - -interface RouteParams { - document: DocumentationEntity; -} - -export const DocumentDetailsScreen: FC = ({ - route, -}: DocumentDetailsScreenProps) => { - const { documents, status } = useLearnSliceSelector(); - const loadedDocuments = isLoaded(documents); - const currentDocument = ( - loadedDocuments?.filter( - (document) => (document as DocumentationEntity).content, - ) as DocumentationEntity[] - ).find((document) => document.slug === route.params.document.slug); - const dispatch = useDispatch(); - - useEffect(() => { - dispatch(fetchDocumentation(route.params.document.slug)); - }, []); - - return ( - - - {status === "loading" ? ( - - - - ) : currentDocument ? ( - - - {route.params.document.title} - {currentDocument.description} - openLink(url)} /> - - Authors: {currentDocument.authors?.map(({ name }) => name).join(", ")} - - - ) : ( - dispatch(fetchDocumentation(route.params.document.slug))} - /> - )} - - - ); -}; diff --git a/mobile/src/screens/learn/document-details/styles.ts b/mobile/src/screens/learn/document-details/styles.ts deleted file mode 100644 index dfb261ec2..000000000 --- a/mobile/src/screens/learn/document-details/styles.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { - LARGE_LOGO_HEIGHT, - LARGE_MARGIN_SIZE, - MEDIUM_MARGIN_SIZE, - MEDIUM_TEXT_SIZE, -} from "@dzcode.io/ui-mobile/dist/_utils/constants"; -import { StyleSheet } from "react-native"; - -export const documentDetailsStyles = StyleSheet.create({ - image: { - width: "100%", - height: LARGE_LOGO_HEIGHT, - }, - mdBody: { - marginHorizontal: LARGE_MARGIN_SIZE, - }, - descriptionText: { - marginHorizontal: MEDIUM_MARGIN_SIZE, - }, - authorsText: { - fontWeight: "bold", - fontSize: MEDIUM_TEXT_SIZE, - marginHorizontal: MEDIUM_MARGIN_SIZE, - }, -}); diff --git a/mobile/src/screens/learn/documents-list/index.tsx b/mobile/src/screens/learn/documents-list/index.tsx deleted file mode 100644 index ac046999c..000000000 --- a/mobile/src/screens/learn/documents-list/index.tsx +++ /dev/null @@ -1,61 +0,0 @@ -import { useNavigation } from "@dzcode.io/ui-mobile/dist/_hooks/use-navigation"; -import { Button } from "@dzcode.io/ui-mobile/dist/button"; -import { Divider } from "@dzcode.io/ui-mobile/dist/divider"; -import { ErrorBoundary } from "@dzcode.io/ui-mobile/dist/error-boundary"; -import { DZCodeLoading } from "@dzcode.io/ui-mobile/dist/loading"; -import { TryAgain } from "@dzcode.io/ui-mobile/dist/try-again"; -import React, { FC, useEffect } from "react"; -import { FlatList, SafeAreaView, View } from "react-native"; -import { useDispatch } from "react-redux"; -import { AppDispatch } from "src/redux"; -import { fetchDocumentationList } from "src/redux/actions/learn-screen"; -import { useLearnSliceSelector } from "src/redux/reducers/learn-screen/slice"; -import { globalStyles } from "src/styles/global"; - -import { documentsListStyles } from "./styles"; - -export const DocumentsListScreen: FC = () => { - const { documents, status } = useLearnSliceSelector(); - - const navigation = useNavigation(); - - const dispatch = useDispatch(); - - useEffect(() => { - dispatch(fetchDocumentationList()); - }, []); - - return ( - - - {status === "error" ? ( - dispatch(fetchDocumentationList())} - /> - ) : documents ? ( - dispatch(fetchDocumentationList())} - refreshing={status === "loading"} - ItemSeparatorComponent={() => } - keyExtractor={(_, index) => `item-${index}`} - renderItem={({ item }) => ( - - )} - /> - ) : ( - - - - )} - - - ); -}; diff --git a/mobile/src/screens/learn/documents-list/styles.ts b/mobile/src/screens/learn/documents-list/styles.ts deleted file mode 100644 index f5ff72a8d..000000000 --- a/mobile/src/screens/learn/documents-list/styles.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { SMALL_LOGO_HEIGHT, SMALL_PADDING_SIZE } from "@dzcode.io/ui-mobile/dist/_utils/constants"; -import { StyleSheet } from "react-native"; - -export const documentsListStyles = StyleSheet.create({ - button: { - height: SMALL_LOGO_HEIGHT, - paddingVertical: SMALL_PADDING_SIZE, - justifyContent: "center", - alignSelf: "flex-start", - }, -}); diff --git a/mobile/src/screens/learn/navigation.tsx b/mobile/src/screens/learn/navigation.tsx deleted file mode 100644 index 2ab69f7e4..000000000 --- a/mobile/src/screens/learn/navigation.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import type { Route } from "@dzcode.io/ui-mobile/dist/_types/route"; -import { ErrorBoundary } from "@dzcode.io/ui-mobile/dist/error-boundary"; -import { StackNav } from "@dzcode.io/ui-mobile/dist/navigation/stack-nav"; -import React, { FC } from "react"; - -import { DocumentDetailsScreen } from "./document-details"; -import { DocumentsListScreen } from "./documents-list"; - -const routes: Route[] = [ - { - name: "documents-list", - component: DocumentsListScreen, - }, - { - name: "document-details", - component: DocumentDetailsScreen, - }, -]; - -export const Navigation: FC = () => { - return ( - - - - ); -}; diff --git a/mobile/src/screens/navigation.tsx b/mobile/src/screens/navigation.tsx deleted file mode 100644 index e78c6fba4..000000000 --- a/mobile/src/screens/navigation.tsx +++ /dev/null @@ -1,61 +0,0 @@ -import type { Route } from "@dzcode.io/ui-mobile/dist/_types/route"; -import { AppBar } from "@dzcode.io/ui-mobile/dist/app-bar"; -import { DrawerActions } from "@dzcode.io/ui-mobile/dist/drawer/drawer-actions"; -import { DrawerContent } from "@dzcode.io/ui-mobile/dist/drawer/drawer-content"; -import { DrawerNav } from "@dzcode.io/ui-mobile/dist/navigation/drawer-nav"; -import React, { FC } from "react"; - -import { Navigation as ArticlesStack } from "./articles/navigation"; -import { ContributeScreen } from "./contribute"; -import { FAQScreen } from "./faq"; -import { Navigation as DocumentsStack } from "./learn/navigation"; -import { ProjectsScreen } from "./projects"; - -const routes: Route[] = [ - { - name: "contribute", - title: "Contribution Gallery", - label: "Contribute", - component: ContributeScreen, - }, - { - name: "learn", - title: "Read & Learn", - label: "Learn", - component: DocumentsStack, - }, - { - name: "projects", - title: "Projects Gallery", - label: "DZ Open-Source Projects", - component: ProjectsScreen, - }, - { - name: "articles", - title: "Articles", - label: "Read Articles", - component: ArticlesStack, - }, - { - name: "faq", - title: "Frequently Asked Questions", - label: "Have a Question?", - component: FAQScreen, - }, -]; - -export const Navigation: FC = () => { - return ( - ( - name === props.route.name)?.title || ""} - openDrawer={() => props.navigation.dispatch(DrawerActions.openDrawer())} - /> - )} - drawerContent={(props) => } - /> - ); -}; diff --git a/mobile/src/screens/projects/index.tsx b/mobile/src/screens/projects/index.tsx deleted file mode 100644 index 358409db8..000000000 --- a/mobile/src/screens/projects/index.tsx +++ /dev/null @@ -1,50 +0,0 @@ -import { ProjectCard } from "@dzcode.io/ui-mobile/dist/card/project-card"; -import { ErrorBoundary } from "@dzcode.io/ui-mobile/dist/error-boundary"; -import { DZCodeLoading } from "@dzcode.io/ui-mobile/dist/loading"; -import { TryAgain } from "@dzcode.io/ui-mobile/dist/try-again"; -import React, { FC, useEffect } from "react"; -import { FlatList, SafeAreaView, View } from "react-native"; -import { useDispatch } from "react-redux"; -import { AppDispatch } from "src/redux"; -import { fetchProjects } from "src/redux/actions/projects-screen"; -import { useProjectsSliceSelector } from "src/redux/reducers/projects-screen/slice"; -import { globalStyles } from "src/styles/global"; -import { openLink } from "src/utils/link"; - -export const ProjectsScreen: FC = () => { - const { projects, status } = useProjectsSliceSelector(); - - const dispatch = useDispatch(); - - useEffect(() => { - dispatch(fetchProjects()); - }, []); - - return ( - - - {status === "error" ? ( - dispatch(fetchProjects())} - /> - ) : projects ? ( - dispatch(fetchProjects())} - refreshing={status === "loading"} - keyExtractor={(_, index) => `item-${index}`} - renderItem={({ item }) => ( - openLink(url)} /> - )} - /> - ) : ( - - - - )} - - - ); -}; diff --git a/mobile/src/styles/global.ts b/mobile/src/styles/global.ts deleted file mode 100644 index b7073f966..000000000 --- a/mobile/src/styles/global.ts +++ /dev/null @@ -1,52 +0,0 @@ -import { LARGE_TEXT_SIZE } from "@dzcode.io/ui-mobile/dist/_utils/constants"; -import { StyleSheet } from "react-native"; - -export const globalStyles = StyleSheet.create({ - // views - mainView: { - flex: 1, - }, - centerView: { - flex: 1, - justifyContent: "center", - alignItems: "center", - }, - row: { - flex: 1, - flexDirection: "row", - justifyContent: "space-between", - alignItems: "center", - }, - flexView1: { - flex: 1, - }, - flexView2: { - flex: 2, - }, - flexView3: { - flex: 3, - }, - flexView4: { - flex: 4, - }, - flexView5: { - flex: 5, - }, - flexView6: { - flex: 6, - }, - flexView7: { - flex: 7, - }, - flexView15: { - flex: 1.5, - }, - flexView25: { - flex: 2.5, - }, - // texts - titleText: { - fontSize: LARGE_TEXT_SIZE, - fontWeight: "600", - }, -}); diff --git a/mobile/src/types/__global.d.ts b/mobile/src/types/__global.d.ts deleted file mode 100644 index 39d6ebbb5..000000000 --- a/mobile/src/types/__global.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -export {}; - -declare global { - export const bundleInfo: BundleInfo; - interface Window { - bundleInfo: { - version: string; - environment: "production" | "stage" | "development"; - }; - } -} diff --git a/mobile/src/utils/env.ts b/mobile/src/utils/env.ts deleted file mode 100644 index 540853fdd..000000000 --- a/mobile/src/utils/env.ts +++ /dev/null @@ -1,10 +0,0 @@ -export const getEnv = () => { - switch (window.bundleInfo.environment) { - case "production": - return "production"; - case "stage": - return "staging"; - default: - return "development"; - } -}; diff --git a/mobile/src/utils/fetch/index.ts b/mobile/src/utils/fetch/index.ts deleted file mode 100644 index 91e341659..000000000 --- a/mobile/src/utils/fetch/index.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { Endpoints } from "@dzcode.io/api/dist/app/endpoints"; -import { fullstackConfig } from "src/config"; - -interface Endpoint { - params?: Record; - query?: [string, string][]; - body?: never; -} - -export const fetchV2 = async < - T extends Endpoints, - E extends keyof T, - C extends T[E], - D extends keyof C, ->( - endpoint: E, - config: Pick>, -): Promise => { - const { body, params, query } = config as Endpoint; - - const queryString = query ? "?" + query.map(([key, value]) => `${key}=${value}`).join("&") : ""; - - const domain = (endpoint as string).slice(0, (endpoint as string).indexOf(":")); - let url = (endpoint as string).slice(domain.length + 1); - - if (params) { - Object.keys(params).forEach((param) => { - url = url.replace(`:${param}`, params[param]); - }); - } - - let baseURL = ""; - - switch (domain) { - case "data": - baseURL = fullstackConfig.data.url; - break; - case "api": - baseURL = fullstackConfig.api.url; - break; - } - const response = await fetch(`${baseURL}/${url}${queryString}`, { body }); - return (await response.json()) as C[D & "response"]; -}; diff --git a/mobile/src/utils/link/index.ts b/mobile/src/utils/link/index.ts deleted file mode 100644 index a99a440c6..000000000 --- a/mobile/src/utils/link/index.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { NavigationProp, ParamListBase } from "@react-navigation/core"; -import { Linking } from "react-native"; - -/** - * @function openLink - * @description Open a link in the default browser or navigate to the app's screen if the link is a deep link - * @param url The url to open - * @param navigation The navigation object - */ -export const openLink = (url: string, navigation?: NavigationProp) => { - if (url.startsWith("http")) { - try { - Linking.openURL(url); - } catch (error) { - alert("Cannot open url on browser"); - } - } else { - navigation?.navigate(url.split("/")[1].toLocaleLowerCase()); - } -}; diff --git a/mobile/src/utils/shuffle/index.ts b/mobile/src/utils/shuffle/index.ts deleted file mode 100644 index e9bb1544e..000000000 --- a/mobile/src/utils/shuffle/index.ts +++ /dev/null @@ -1,23 +0,0 @@ -/** - * @function shuffleArray - * @description Randomize the order of an array - */ -export const shuffleArray = (array: T[]) => { - let currentIndex = array.length, - temporaryValue, - randomIndex; - - // While there remain elements to shuffle... - while (0 !== currentIndex) { - // Pick a remaining element... - randomIndex = Math.floor(Math.random() * currentIndex); - currentIndex -= 1; - - // And swap it with the current element. - temporaryValue = array[currentIndex]; - array[currentIndex] = array[randomIndex]; - array[randomIndex] = temporaryValue; - } - - return array; -}; diff --git a/mobile/tsconfig.json b/mobile/tsconfig.json deleted file mode 100644 index 0e8702804..000000000 --- a/mobile/tsconfig.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "expo/tsconfig.base", - "compilerOptions": { - "strict": true, - "baseUrl": "." - }, - "include": ["src"], - "exclude": ["src/_e2e-test"] -} From 33f4426f1ed8e5e0afcc197007ea9abba6d10e1f Mon Sep 17 00:00:00 2001 From: Zakaria Mansouri Date: Tue, 17 Dec 2024 22:21:11 +0100 Subject: [PATCH 2/3] removed ui-mobile folder --- .../ui-mobile/assets/png/adaptive-icon.png | Bin 18741 -> 0 bytes packages/ui-mobile/assets/png/branching.png | Bin 4902 -> 0 bytes packages/ui-mobile/assets/png/contact.png | Bin 7098 -> 0 bytes packages/ui-mobile/assets/png/favicon.png | Bin 1804 -> 0 bytes packages/ui-mobile/assets/png/github.png | Bin 8142 -> 0 bytes packages/ui-mobile/assets/png/icon.png | Bin 23265 -> 0 bytes packages/ui-mobile/assets/png/info.png | Bin 11794 -> 0 bytes packages/ui-mobile/assets/png/logo.png | Bin 204763 -> 0 bytes packages/ui-mobile/assets/png/programmer.png | Bin 5670 -> 0 bytes packages/ui-mobile/assets/png/splash.png | Bin 25294 -> 0 bytes packages/ui-mobile/assets/png/support.png | Bin 7842 -> 0 bytes .../assets/ttf/spacemono-regular.ttf | Bin 93252 -> 0 bytes packages/ui-mobile/babel.config.js | 14 -- packages/ui-mobile/jest.config.ts | 7 - packages/ui-mobile/package.jsonc | 57 ------- .../ui-mobile/src/_hooks/use-navigation.ts | 1 - packages/ui-mobile/src/_hooks/use-theme.ts | 1 - packages/ui-mobile/src/_test/pre-test.ts | 0 packages/ui-mobile/src/_test/setup.ts | 23 --- packages/ui-mobile/src/_types/filter.ts | 27 ---- packages/ui-mobile/src/_types/option.ts | 23 --- packages/ui-mobile/src/_types/project.ts | 47 ------ packages/ui-mobile/src/_types/route-param.ts | 1 - packages/ui-mobile/src/_types/route.ts | 44 ------ packages/ui-mobile/src/_utils/constants.ts | 28 ---- packages/ui-mobile/src/app-bar/index.test.tsx | 12 -- packages/ui-mobile/src/app-bar/index.tsx | 44 ------ .../src/avatar/avatar-group/index.test.tsx | 10 -- .../src/avatar/avatar-group/index.tsx | 85 ----------- .../src/avatar/avatar-group/styles.ts | 20 --- .../src/avatar/avatar/index.test.tsx | 16 -- packages/ui-mobile/src/avatar/avatar/index.ts | 1 - packages/ui-mobile/src/badge/index.test.tsx | 10 -- packages/ui-mobile/src/badge/index.ts | 1 - .../bottom-sheet-scroll-view/index.test.tsx | 15 -- .../bottom-sheet-scroll-view/index.ts | 1 - .../bottom-sheet/bottom-sheet/index.test.tsx | 15 -- .../src/bottom-sheet/bottom-sheet/index.tsx | 34 ----- .../src/bottom-sheet/bottom-sheet/styles.ts | 12 -- packages/ui-mobile/src/button/index.test.tsx | 15 -- packages/ui-mobile/src/button/index.ts | 1 - .../ui-mobile/src/card/card/index.test.tsx | 15 -- packages/ui-mobile/src/card/card/index.ts | 1 - .../src/card/contribute-card/index.test.tsx | 30 ---- .../src/card/contribute-card/index.tsx | 140 ------------------ .../src/card/contribute-card/styles.ts | 54 ------- .../src/card/project-card/index.test.tsx | 19 --- .../ui-mobile/src/card/project-card/index.tsx | 127 ---------------- .../ui-mobile/src/card/project-card/styles.ts | 51 ------- .../ui-mobile/src/checkbox/index.test.tsx | 10 -- packages/ui-mobile/src/checkbox/index.ts | 1 - packages/ui-mobile/src/chip/index.test.tsx | 15 -- packages/ui-mobile/src/chip/index.ts | 1 - packages/ui-mobile/src/divider/index.test.tsx | 10 -- packages/ui-mobile/src/divider/index.ts | 1 - .../src/drawer/drawer-actions/index.ts | 1 - .../src/drawer/drawer-content/index.test.tsx | 75 ---------- .../src/drawer/drawer-content/index.tsx | 40 ----- .../src/drawer/drawer-content/styles.ts | 27 ---- .../src/error-boundary/index.test.tsx | 15 -- .../ui-mobile/src/error-boundary/index.tsx | 56 ------- packages/ui-mobile/src/filter/index.test.tsx | 10 -- packages/ui-mobile/src/filter/index.tsx | 53 ------- packages/ui-mobile/src/list/index.test.tsx | 15 -- packages/ui-mobile/src/list/index.ts | 1 - packages/ui-mobile/src/loading/index.test.tsx | 10 -- packages/ui-mobile/src/loading/index.tsx | 53 ------- packages/ui-mobile/src/loading/styles.ts | 10 -- .../ui-mobile/src/markdown/index.test.tsx | 10 -- packages/ui-mobile/src/markdown/index.tsx | 94 ------------ .../src/navigation/drawer-nav/index.test.tsx | 31 ---- .../src/navigation/drawer-nav/index.tsx | 63 -------- .../navigation-container/index.test.tsx | 15 -- .../navigation/navigation-container/index.ts | 1 - .../src/navigation/stack-nav/index.test.tsx | 31 ---- .../src/navigation/stack-nav/index.tsx | 36 ----- .../src/text/paragraph/index.test.tsx | 10 -- .../ui-mobile/src/text/paragraph/index.ts | 1 - .../ui-mobile/src/text/text/index.test.tsx | 10 -- packages/ui-mobile/src/text/text/index.ts | 1 - .../ui-mobile/src/text/title/index.test.tsx | 10 -- packages/ui-mobile/src/text/title/index.ts | 1 - packages/ui-mobile/src/theme/index.ts | 58 -------- packages/ui-mobile/src/theme/style/color.ts | 14 -- .../src/theme/theme-provider/index.test.tsx | 15 -- .../src/theme/theme-provider/index.ts | 1 - .../ui-mobile/src/try-again/index.test.tsx | 16 -- packages/ui-mobile/src/try-again/index.tsx | 46 ------ packages/ui-mobile/tsconfig.json | 8 - 89 files changed, 1878 deletions(-) delete mode 100644 packages/ui-mobile/assets/png/adaptive-icon.png delete mode 100644 packages/ui-mobile/assets/png/branching.png delete mode 100644 packages/ui-mobile/assets/png/contact.png delete mode 100644 packages/ui-mobile/assets/png/favicon.png delete mode 100644 packages/ui-mobile/assets/png/github.png delete mode 100644 packages/ui-mobile/assets/png/icon.png delete mode 100644 packages/ui-mobile/assets/png/info.png delete mode 100644 packages/ui-mobile/assets/png/logo.png delete mode 100644 packages/ui-mobile/assets/png/programmer.png delete mode 100644 packages/ui-mobile/assets/png/splash.png delete mode 100644 packages/ui-mobile/assets/png/support.png delete mode 100644 packages/ui-mobile/assets/ttf/spacemono-regular.ttf delete mode 100644 packages/ui-mobile/babel.config.js delete mode 100644 packages/ui-mobile/jest.config.ts delete mode 100644 packages/ui-mobile/package.jsonc delete mode 100644 packages/ui-mobile/src/_hooks/use-navigation.ts delete mode 100644 packages/ui-mobile/src/_hooks/use-theme.ts delete mode 100644 packages/ui-mobile/src/_test/pre-test.ts delete mode 100644 packages/ui-mobile/src/_test/setup.ts delete mode 100644 packages/ui-mobile/src/_types/filter.ts delete mode 100644 packages/ui-mobile/src/_types/option.ts delete mode 100644 packages/ui-mobile/src/_types/project.ts delete mode 100644 packages/ui-mobile/src/_types/route-param.ts delete mode 100644 packages/ui-mobile/src/_types/route.ts delete mode 100644 packages/ui-mobile/src/_utils/constants.ts delete mode 100644 packages/ui-mobile/src/app-bar/index.test.tsx delete mode 100644 packages/ui-mobile/src/app-bar/index.tsx delete mode 100644 packages/ui-mobile/src/avatar/avatar-group/index.test.tsx delete mode 100644 packages/ui-mobile/src/avatar/avatar-group/index.tsx delete mode 100644 packages/ui-mobile/src/avatar/avatar-group/styles.ts delete mode 100644 packages/ui-mobile/src/avatar/avatar/index.test.tsx delete mode 100644 packages/ui-mobile/src/avatar/avatar/index.ts delete mode 100644 packages/ui-mobile/src/badge/index.test.tsx delete mode 100644 packages/ui-mobile/src/badge/index.ts delete mode 100644 packages/ui-mobile/src/bottom-sheet/bottom-sheet-scroll-view/index.test.tsx delete mode 100644 packages/ui-mobile/src/bottom-sheet/bottom-sheet-scroll-view/index.ts delete mode 100644 packages/ui-mobile/src/bottom-sheet/bottom-sheet/index.test.tsx delete mode 100644 packages/ui-mobile/src/bottom-sheet/bottom-sheet/index.tsx delete mode 100644 packages/ui-mobile/src/bottom-sheet/bottom-sheet/styles.ts delete mode 100644 packages/ui-mobile/src/button/index.test.tsx delete mode 100644 packages/ui-mobile/src/button/index.ts delete mode 100644 packages/ui-mobile/src/card/card/index.test.tsx delete mode 100644 packages/ui-mobile/src/card/card/index.ts delete mode 100644 packages/ui-mobile/src/card/contribute-card/index.test.tsx delete mode 100644 packages/ui-mobile/src/card/contribute-card/index.tsx delete mode 100644 packages/ui-mobile/src/card/contribute-card/styles.ts delete mode 100644 packages/ui-mobile/src/card/project-card/index.test.tsx delete mode 100644 packages/ui-mobile/src/card/project-card/index.tsx delete mode 100644 packages/ui-mobile/src/card/project-card/styles.ts delete mode 100644 packages/ui-mobile/src/checkbox/index.test.tsx delete mode 100644 packages/ui-mobile/src/checkbox/index.ts delete mode 100644 packages/ui-mobile/src/chip/index.test.tsx delete mode 100644 packages/ui-mobile/src/chip/index.ts delete mode 100644 packages/ui-mobile/src/divider/index.test.tsx delete mode 100644 packages/ui-mobile/src/divider/index.ts delete mode 100644 packages/ui-mobile/src/drawer/drawer-actions/index.ts delete mode 100644 packages/ui-mobile/src/drawer/drawer-content/index.test.tsx delete mode 100644 packages/ui-mobile/src/drawer/drawer-content/index.tsx delete mode 100644 packages/ui-mobile/src/drawer/drawer-content/styles.ts delete mode 100644 packages/ui-mobile/src/error-boundary/index.test.tsx delete mode 100644 packages/ui-mobile/src/error-boundary/index.tsx delete mode 100644 packages/ui-mobile/src/filter/index.test.tsx delete mode 100644 packages/ui-mobile/src/filter/index.tsx delete mode 100644 packages/ui-mobile/src/list/index.test.tsx delete mode 100644 packages/ui-mobile/src/list/index.ts delete mode 100644 packages/ui-mobile/src/loading/index.test.tsx delete mode 100644 packages/ui-mobile/src/loading/index.tsx delete mode 100644 packages/ui-mobile/src/loading/styles.ts delete mode 100644 packages/ui-mobile/src/markdown/index.test.tsx delete mode 100644 packages/ui-mobile/src/markdown/index.tsx delete mode 100644 packages/ui-mobile/src/navigation/drawer-nav/index.test.tsx delete mode 100644 packages/ui-mobile/src/navigation/drawer-nav/index.tsx delete mode 100644 packages/ui-mobile/src/navigation/navigation-container/index.test.tsx delete mode 100644 packages/ui-mobile/src/navigation/navigation-container/index.ts delete mode 100644 packages/ui-mobile/src/navigation/stack-nav/index.test.tsx delete mode 100644 packages/ui-mobile/src/navigation/stack-nav/index.tsx delete mode 100644 packages/ui-mobile/src/text/paragraph/index.test.tsx delete mode 100644 packages/ui-mobile/src/text/paragraph/index.ts delete mode 100644 packages/ui-mobile/src/text/text/index.test.tsx delete mode 100644 packages/ui-mobile/src/text/text/index.ts delete mode 100644 packages/ui-mobile/src/text/title/index.test.tsx delete mode 100644 packages/ui-mobile/src/text/title/index.ts delete mode 100644 packages/ui-mobile/src/theme/index.ts delete mode 100644 packages/ui-mobile/src/theme/style/color.ts delete mode 100644 packages/ui-mobile/src/theme/theme-provider/index.test.tsx delete mode 100644 packages/ui-mobile/src/theme/theme-provider/index.ts delete mode 100644 packages/ui-mobile/src/try-again/index.test.tsx delete mode 100644 packages/ui-mobile/src/try-again/index.tsx delete mode 100644 packages/ui-mobile/tsconfig.json diff --git a/packages/ui-mobile/assets/png/adaptive-icon.png b/packages/ui-mobile/assets/png/adaptive-icon.png deleted file mode 100644 index 7832a54a4ecc8e76d791d35a751c8d066bb78958..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18741 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 MJ2z);bo=}N17N5lSO5S3 diff --git a/packages/ui-mobile/assets/png/branching.png b/packages/ui-mobile/assets/png/branching.png deleted file mode 100644 index 82dec0a2398640e2fbb8729d84b505116347b417..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4902 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 GBJzK~?lWHi diff --git a/packages/ui-mobile/assets/png/contact.png b/packages/ui-mobile/assets/png/contact.png deleted file mode 100644 index 64d45ab2020f455a826c4b53c1243625bab3db8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7098 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 dmvhhy*<7T#)nqywS|3AuTp!NU& diff --git a/packages/ui-mobile/assets/png/favicon.png b/packages/ui-mobile/assets/png/favicon.png deleted file mode 100644 index 03bdf10473626e303a2d3f1130670a33ab9d559f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1804 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

1a0D0*)vDfF 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 b0jU70S2kUE^={$;k6QiTcMAwQUgq9sY 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%0Ddg@iZ69nG*Qu1c} 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 JRjgru_kRk{EKmRd diff --git a/packages/ui-mobile/assets/png/programmer.png b/packages/ui-mobile/assets/png/programmer.png deleted file mode 100644 index cc7a7f6b787f49d6e0268715125682de4ea7117a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5670 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

`Q)(I2=B84go^}W;Y?o2e_1y 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 AHvj+t diff --git a/packages/ui-mobile/assets/ttf/spacemono-regular.ttf b/packages/ui-mobile/assets/ttf/spacemono-regular.ttf deleted file mode 100644 index 28d7ff717769d29e5d1f036bfa91eea660ce8a24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 93252 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%0Ay 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 { - // eslint-disable-next-line @typescript-eslint/no-var-requires - const Reanimated = require("react-native-reanimated/mock"); - - // The mock for `call` immediately calls the callback which is incorrect - // So we override it with a no-op - Reanimated.default.call = () => undefined; - - return Reanimated; -}); - -// Silence the warning: Animated: `useNativeDriver` is not supported because the native animated module is missing -jest.mock("react-native/Libraries/Animated/NativeAnimatedHelper"); - -jest.mock("@gorhom/bottom-sheet", () => { - // eslint-disable-next-line @typescript-eslint/no-var-requires - const react = require("react-native"); - return { - __esModule: true, - default: react.View, - BottomSheetScrollView: react.ScrollView, - }; -}); diff --git a/packages/ui-mobile/src/_types/filter.ts b/packages/ui-mobile/src/_types/filter.ts deleted file mode 100644 index cea476da0..000000000 --- a/packages/ui-mobile/src/_types/filter.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { Option } from "./option"; - -/** - * Type used in `@dzcode.io/api` package to filter contributions - * @example - * let filter: Filter = { - * name: "filter", - * label: "Filter", - * options: [ - * { - * label: "All", - * name: "all", - * checked: true, - * }, - * ], - * }; - */ -export interface Filter { - /** - * the name of the filter - */ - name: string; - /** - * the options of the filter - */ - options: Option[]; -} diff --git a/packages/ui-mobile/src/_types/option.ts b/packages/ui-mobile/src/_types/option.ts deleted file mode 100644 index 719df3446..000000000 --- a/packages/ui-mobile/src/_types/option.ts +++ /dev/null @@ -1,23 +0,0 @@ -/** - * Type used in `@dzcode.io/api` package to help with filtering contributions - * @example - * let option: Option = { - * label: "All", - * name: "all", - * checked: true, - * }; - */ -export interface Option { - /** - * the label of the option - */ - label?: string; - /** - * the name of the option - */ - name: string; - /** - * whether the option is checked or not - */ - checked?: boolean; -} diff --git a/packages/ui-mobile/src/_types/project.ts b/packages/ui-mobile/src/_types/project.ts deleted file mode 100644 index e25c435c8..000000000 --- a/packages/ui-mobile/src/_types/project.ts +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Type used in `@dzcode.io/api` package to represent a project - * @example - * let project: Project = { - * slug: "dzcode-io", - * description: "dzcode.io is an open source project that aims to provide a platform for Algerian developers to share their knowledge and experience with the community.", - * githubURI: "https://github.com/dzcode-io/dzcode.io" - * }; - */ -export interface Project { - /** - * the slug of the project - */ - slug: string; - /** - * the image url of the project - */ - image?: string; - /** - * the name of the project - */ - name: string; - /** - * the description of the project - */ - description?: string; - /** - * the content of the project - */ - content?: string; - /** - * the author of the project - */ - authors?: string[]; - /** - * the contributors of the project - */ - contributors?: string[]; - /** - * the number of views of the project - */ - views?: number; - /** - * the github uri of the project - */ - githubURI?: string; -} diff --git a/packages/ui-mobile/src/_types/route-param.ts b/packages/ui-mobile/src/_types/route-param.ts deleted file mode 100644 index f7f51eca3..000000000 --- a/packages/ui-mobile/src/_types/route-param.ts +++ /dev/null @@ -1 +0,0 @@ -export { Route as RouteParam } from "@react-navigation/routers"; diff --git a/packages/ui-mobile/src/_types/route.ts b/packages/ui-mobile/src/_types/route.ts deleted file mode 100644 index 509d26459..000000000 --- a/packages/ui-mobile/src/_types/route.ts +++ /dev/null @@ -1,44 +0,0 @@ -/** - * Type used to define navigation routes - * @example - * import type { Route } from "@dzcode.io/ui-mobile/dist/_types/route"; - * import { StackNav } from "@dzcode.io/ui-mobile/dist/navigation/stack-nav"; - * import { FC } from "react"; - * import { DocumentDetailsScreen } from "./document-details"; - * import { DocumentsListScreen } from "./documents-list"; - * - * const routes: Route[] = [ - * { - * name: "documents-list", - * component: DocumentsListScreen, - * }, - * { - * name: "document-details", - * component: DocumentDetailsScreen, - * }, - * ]; - * - * export const Navigation: FC = () => { - * return ( - * - * ); - * }; - */ -export interface Route { - /** - * the name of the route - */ - name: string; - /** - * the title of the route - */ - title?: string; - /** - * the label of the route - */ - label?: string; - /** - * the component of the route - */ - component: React.ComponentType; -} diff --git a/packages/ui-mobile/src/_utils/constants.ts b/packages/ui-mobile/src/_utils/constants.ts deleted file mode 100644 index ad36f1a80..000000000 --- a/packages/ui-mobile/src/_utils/constants.ts +++ /dev/null @@ -1,28 +0,0 @@ -// padding sizes -export const SMALL_PADDING_SIZE = 5; -export const MEDIUM_PADDING_SIZE = 10; -export const LARGE_PADDING_SIZE = 25; - -// logo sizes -export const SMALL_LOGO_WIDTH = 50; -export const MEDIUM_LOGO_WIDTH = 100; -export const LARGE_LOGO_WIDTH = 260; -export const SMALL_LOGO_HEIGHT = 50; -export const MEDIUM_LOGO_HEIGHT = 100; -export const LARGE_LOGO_HEIGHT = 260; - -// margin sizes -export const SMALL_MARGIN_SIZE = 5; -export const MEDIUM_MARGIN_SIZE = 10; -export const LARGE_MARGIN_SIZE = 25; - -// text sizes -export const SMALL_TEXT_SIZE = 13; -export const MEDIUM_TEXT_SIZE = 19; -export const LARGE_TEXT_SIZE = 23; -export const BIG_TEXT_SIZE = 30; -export const HUGE_TEXT_SIZE = 50; - -// border radius sizes -export const SMALL_BORDER_RADIUS = 10; -export const MEDIUM_BORDER_RADIUS = 20; diff --git a/packages/ui-mobile/src/app-bar/index.test.tsx b/packages/ui-mobile/src/app-bar/index.test.tsx deleted file mode 100644 index 21bb30565..000000000 --- a/packages/ui-mobile/src/app-bar/index.test.tsx +++ /dev/null @@ -1,12 +0,0 @@ -import { render } from "@testing-library/react-native"; - -import { AppBar } from "."; - -describe("AppBar", () => { - it("should render", () => { - const { container } = render( - console.log("open drawer")} />, - ); - expect(container).toBeTruthy(); - }); -}); diff --git a/packages/ui-mobile/src/app-bar/index.tsx b/packages/ui-mobile/src/app-bar/index.tsx deleted file mode 100644 index 64f6aba72..000000000 --- a/packages/ui-mobile/src/app-bar/index.tsx +++ /dev/null @@ -1,44 +0,0 @@ -import { FC } from "react"; -import { Appbar, useTheme } from "react-native-paper"; - -interface AppBarProps { - /** - * the title of the app bar - */ - title: string; - /** - * the function that is called when the menu icon is pressed - */ - openDrawer: VoidFunction; -} - -/** - * AppBar component used to display the app bar in the app - * @example - * ( - * name === props.scene.route.name)?.title || ""} - * openDrawer={() => props.scene.descriptor.navigation.dispatch(DrawerActions.openDrawer())} - * /> - * )} - * /> - */ -export const AppBar: FC = ({ title, openDrawer }) => { - const theme = useTheme(); - - return ( - - {/* Appbar content */} - openDrawer()} - hasTVPreferredFocus - tvParallaxProperties={{ enabled: true }} - /> - - - ); -}; diff --git a/packages/ui-mobile/src/avatar/avatar-group/index.test.tsx b/packages/ui-mobile/src/avatar/avatar-group/index.test.tsx deleted file mode 100644 index 266d8e606..000000000 --- a/packages/ui-mobile/src/avatar/avatar-group/index.test.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import { render } from "@testing-library/react-native"; - -import { AvatarGroup } from "."; - -describe("AvatarGroup", () => { - it("should render", () => { - const { container } = render(); - expect(container).toBeTruthy(); - }); -}); diff --git a/packages/ui-mobile/src/avatar/avatar-group/index.tsx b/packages/ui-mobile/src/avatar/avatar-group/index.tsx deleted file mode 100644 index 8e8b11ab7..000000000 --- a/packages/ui-mobile/src/avatar/avatar-group/index.tsx +++ /dev/null @@ -1,85 +0,0 @@ -import type { FC } from "react"; -import React from "react"; -import type { ViewStyle } from "react-native"; -import { View } from "react-native"; -import { useTheme } from "src/_hooks/use-theme"; -import { Avatar } from "src/avatar/avatar"; - -import { avatarGroupStyles } from "./styles"; - -interface AvatarGroupProps { - /** - * max number of avatars to be shown (defaults to 3) - */ - max?: number; - /** - * list of avatar uris - */ - avatarUris: string[]; - /** - * style for avatar group container - */ - style?: ViewStyle; -} - -/** - * AvatarGroup component to display group of avatars - * @example - * - */ -export const AvatarGroup: FC = ({ max = 3, avatarUris, style }) => { - const { colors } = useTheme(); - const rest = avatarUris.length - max + 1; - return ( - - {avatarUris.map((uri, index) => { - if (index < max - 1) { - return ( - - - - ); - } else if (index === max) { - return ( - - - - ); - } else { - return ; - } - })} - - ); -}; diff --git a/packages/ui-mobile/src/avatar/avatar-group/styles.ts b/packages/ui-mobile/src/avatar/avatar-group/styles.ts deleted file mode 100644 index c3b6cf669..000000000 --- a/packages/ui-mobile/src/avatar/avatar-group/styles.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { StyleSheet } from "react-native"; -import { MEDIUM_MARGIN_SIZE, MEDIUM_TEXT_SIZE } from "src/_utils/constants"; - -export const avatarGroupStyles = StyleSheet.create({ - row: { - flexDirection: "row", - alignItems: "center", - }, - avatarContainer: { - marginRight: -MEDIUM_MARGIN_SIZE * 1.5, - borderWidth: 5, - justifyContent: "center", - alignItems: "center", - borderRadius: 64, - }, - avatarLabelText: { - fontSize: MEDIUM_TEXT_SIZE, - fontWeight: "bold", - }, -}); diff --git a/packages/ui-mobile/src/avatar/avatar/index.test.tsx b/packages/ui-mobile/src/avatar/avatar/index.test.tsx deleted file mode 100644 index 929cecb83..000000000 --- a/packages/ui-mobile/src/avatar/avatar/index.test.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import { render } from "@testing-library/react-native"; - -import { Avatar } from "."; - -describe("Avatar", () => { - it("should render", () => { - const { container } = render( - , - ); - expect(container).toBeTruthy(); - }); -}); diff --git a/packages/ui-mobile/src/avatar/avatar/index.ts b/packages/ui-mobile/src/avatar/avatar/index.ts deleted file mode 100644 index 9b6af320f..000000000 --- a/packages/ui-mobile/src/avatar/avatar/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { Avatar } from "react-native-paper"; diff --git a/packages/ui-mobile/src/badge/index.test.tsx b/packages/ui-mobile/src/badge/index.test.tsx deleted file mode 100644 index 61c448d9e..000000000 --- a/packages/ui-mobile/src/badge/index.test.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import { render } from "@testing-library/react-native"; - -import { Badge } from "."; - -describe("Badge", () => { - it("should render", () => { - const { container } = render(); - expect(container).toBeTruthy(); - }); -}); diff --git a/packages/ui-mobile/src/badge/index.ts b/packages/ui-mobile/src/badge/index.ts deleted file mode 100644 index 5857e5561..000000000 --- a/packages/ui-mobile/src/badge/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { Badge } from "react-native-paper"; diff --git a/packages/ui-mobile/src/bottom-sheet/bottom-sheet-scroll-view/index.test.tsx b/packages/ui-mobile/src/bottom-sheet/bottom-sheet-scroll-view/index.test.tsx deleted file mode 100644 index 7106442f5..000000000 --- a/packages/ui-mobile/src/bottom-sheet/bottom-sheet-scroll-view/index.test.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import { render } from "@testing-library/react-native"; -import { Text } from "react-native"; - -import { BottomSheetScrollView } from "."; - -describe("BottomSheetScrollView", () => { - it("should render", () => { - const { container } = render( - - Test - , - ); - expect(container).toBeTruthy(); - }); -}); diff --git a/packages/ui-mobile/src/bottom-sheet/bottom-sheet-scroll-view/index.ts b/packages/ui-mobile/src/bottom-sheet/bottom-sheet-scroll-view/index.ts deleted file mode 100644 index e162d9ee7..000000000 --- a/packages/ui-mobile/src/bottom-sheet/bottom-sheet-scroll-view/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { BottomSheetScrollView } from "@gorhom/bottom-sheet"; diff --git a/packages/ui-mobile/src/bottom-sheet/bottom-sheet/index.test.tsx b/packages/ui-mobile/src/bottom-sheet/bottom-sheet/index.test.tsx deleted file mode 100644 index 8f50ac21e..000000000 --- a/packages/ui-mobile/src/bottom-sheet/bottom-sheet/index.test.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import { render } from "@testing-library/react-native"; -import { Text } from "react-native"; - -import { BottomSheet } from "."; - -describe("BottomSheet", () => { - it("should render", () => { - const { container } = render( - - Test - , - ); - expect(container).toBeTruthy(); - }); -}); diff --git a/packages/ui-mobile/src/bottom-sheet/bottom-sheet/index.tsx b/packages/ui-mobile/src/bottom-sheet/bottom-sheet/index.tsx deleted file mode 100644 index 6037f60a8..000000000 --- a/packages/ui-mobile/src/bottom-sheet/bottom-sheet/index.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import { default as BottomSheetWrapper } from "@gorhom/bottom-sheet"; -import { FC } from "react"; -import { useTheme } from "src/_hooks/use-theme"; - -import { bottomSheetStyles } from "./styles"; - -interface BottomSheetProps { - /** - * the children of the bottom sheet - */ - children: React.ReactNode; -} - -/** - * BottomSheet component used to display the bottom sheet in the app - * @example - * - * Bottom Sheet Content - * - */ -export const BottomSheet: FC = ({ children }) => { - const { colors } = useTheme(); - return ( - - {children} - - ); -}; diff --git a/packages/ui-mobile/src/bottom-sheet/bottom-sheet/styles.ts b/packages/ui-mobile/src/bottom-sheet/bottom-sheet/styles.ts deleted file mode 100644 index dff7bc3ea..000000000 --- a/packages/ui-mobile/src/bottom-sheet/bottom-sheet/styles.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { StyleSheet } from "react-native"; - -export const bottomSheetStyles = StyleSheet.create({ - container: { - borderColor: "#aaa3", - borderWidth: 2, - borderRadius: 16, - - // Android - elevation: 8, - }, -}); diff --git a/packages/ui-mobile/src/button/index.test.tsx b/packages/ui-mobile/src/button/index.test.tsx deleted file mode 100644 index b87420471..000000000 --- a/packages/ui-mobile/src/button/index.test.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import { render } from "@testing-library/react-native"; -import { Text } from "react-native"; - -import { Button } from "."; - -describe("Button", () => { - it("should render", () => { - const { container } = render( - , - ); - expect(container).toBeTruthy(); - }); -}); diff --git a/packages/ui-mobile/src/button/index.ts b/packages/ui-mobile/src/button/index.ts deleted file mode 100644 index 6f0b7036f..000000000 --- a/packages/ui-mobile/src/button/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { Button } from "react-native-paper"; diff --git a/packages/ui-mobile/src/card/card/index.test.tsx b/packages/ui-mobile/src/card/card/index.test.tsx deleted file mode 100644 index fd240827e..000000000 --- a/packages/ui-mobile/src/card/card/index.test.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import { render } from "@testing-library/react-native"; -import { Text } from "react-native"; - -import { Card } from "."; - -describe("Card", () => { - it("should render", () => { - const { container } = render( - - Card - , - ); - expect(container).toBeTruthy(); - }); -}); diff --git a/packages/ui-mobile/src/card/card/index.ts b/packages/ui-mobile/src/card/card/index.ts deleted file mode 100644 index d51aefefb..000000000 --- a/packages/ui-mobile/src/card/card/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { Card } from "react-native-paper"; diff --git a/packages/ui-mobile/src/card/contribute-card/index.test.tsx b/packages/ui-mobile/src/card/contribute-card/index.test.tsx deleted file mode 100644 index b8a6a241b..000000000 --- a/packages/ui-mobile/src/card/contribute-card/index.test.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import { render } from "@testing-library/react-native"; - -import { ContributeCard } from "."; - -describe("ContributeCard", () => { - it("should render", () => { - const { container } = render( - undefined} - onPress={() => undefined} - item={{ - title: "test", - project: { - name: "test", - slug: "test", - }, - type: "issue", - labels: [], - commentsCount: 0, - createdAt: "", - updatedAt: "", - id: "", - languages: [], - url: "", - }} - />, - ); - expect(container).toBeTruthy(); - }); -}); diff --git a/packages/ui-mobile/src/card/contribute-card/index.tsx b/packages/ui-mobile/src/card/contribute-card/index.tsx deleted file mode 100644 index d471f78f9..000000000 --- a/packages/ui-mobile/src/card/contribute-card/index.tsx +++ /dev/null @@ -1,140 +0,0 @@ -import { Model } from "@dzcode.io/models/dist/_base"; -import { ContributionEntity } from "@dzcode.io/models/dist/contribution"; -import { calculateDateBetween } from "@dzcode.io/utils/dist/date/difference"; -import MaterialIcons from "@expo/vector-icons/MaterialIcons"; -import React, { FC, memo } from "react"; -import { FlatList } from "react-native"; -import { View } from "react-native"; -import { useTheme } from "src/_hooks/use-theme"; -import { Badge } from "src/badge"; -import { Card } from "src/card/card"; -import { Chip } from "src/chip"; -import { Divider } from "src/divider"; -import { Paragraph } from "src/text/paragraph"; -import { Text } from "src/text/text"; -import { Title } from "src/text/title"; -import { Colors } from "src/theme/style/color"; - -import { cardStyles } from "./styles"; - -interface ContributeCardProps { - /** - * the contribution item - */ - item: Model; - /** - * the function that is called when a chip is pressed - */ - onChipPress: (item: string) => void; - /** - * the function that is called when the contribute card is pressed - */ - onPress: () => void; -} - -const CardItem: FC = ({ item, onChipPress, onPress }: ContributeCardProps) => { - const { colors } = useTheme(); - return ( - - - {item.title} - - {item.labels.length > 0 && ( - label} - renderItem={({ item }) => ( - onChipPress(item)} style={cardStyles.chipView}> - {item} - - )} - /> - )} - {item.project.name} - language} - renderItem={({ item }) => ( - onChipPress(item)} style={cardStyles.chipView}> - {item} - - )} - /> - - - - - {item.type === "issue" ? "Learn more" : "Review changes"} - - - {item.commentsCount > 0 && ( - - - - {item.commentsCount} - - - )} - - {calculateDateBetween(new Date(item.updatedAt), new Date())} - - - - - ); -}; - -/** - * ContributeCard component used to display the contribute card in the app - * @example - * {}} - onPress={() => {}} - item={{ - title: "test", - project: { - name: "test", - slug: "test", - }, - type: "issue", - labels: [], - commentsCount: 0, - createdAt: "2023-03-04T00:00:00.000Z", - updatedAt: "2023-03-04T00:00:00.000Z", - id: "", - languages: [], - url: "", - }} - /> - */ -export const ContributeCard = memo(CardItem); diff --git a/packages/ui-mobile/src/card/contribute-card/styles.ts b/packages/ui-mobile/src/card/contribute-card/styles.ts deleted file mode 100644 index 1664e87f9..000000000 --- a/packages/ui-mobile/src/card/contribute-card/styles.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { StyleSheet } from "react-native"; -import { MEDIUM_MARGIN_SIZE, SMALL_MARGIN_SIZE, SMALL_TEXT_SIZE } from "src/_utils/constants"; - -export const cardStyles = StyleSheet.create({ - mainView: { - marginHorizontal: MEDIUM_MARGIN_SIZE, - marginVertical: MEDIUM_MARGIN_SIZE / 2, - borderWidth: 1, - }, - flatListView: { - marginTop: MEDIUM_MARGIN_SIZE, - }, - chipView: { - marginHorizontal: SMALL_MARGIN_SIZE / 2, - }, - badgeView: { - backgroundColor: "transparent", - position: "absolute", - bottom: -7, - right: -7, - fontSize: SMALL_TEXT_SIZE, - }, - marginRight: { - marginRight: MEDIUM_MARGIN_SIZE, - }, - flexRow: { - flex: 1, - flexDirection: "row", - justifyContent: "space-between", - }, - row: { - flexDirection: "row", - alignItems: "center", - }, - cardActionsView: { - flexDirection: "row", - alignItems: "center", - justifyContent: "space-between", - }, - subtitleText: { - marginTop: SMALL_MARGIN_SIZE, - }, - divider1: { - height: 1, - marginTop: 10, - marginLeft: -16, - width: "50%", - }, - divider2: { - height: 15, - width: 1, - marginRight: MEDIUM_MARGIN_SIZE, - }, -}); diff --git a/packages/ui-mobile/src/card/project-card/index.test.tsx b/packages/ui-mobile/src/card/project-card/index.test.tsx deleted file mode 100644 index 20fe79c83..000000000 --- a/packages/ui-mobile/src/card/project-card/index.test.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import { render } from "@testing-library/react-native"; - -import { ProjectCard } from "."; - -describe("ProjectCard", () => { - it("should render", () => { - const { container } = render( - undefined} - />, - ); - expect(container).toBeTruthy(); - }); -}); diff --git a/packages/ui-mobile/src/card/project-card/index.tsx b/packages/ui-mobile/src/card/project-card/index.tsx deleted file mode 100644 index caffd6d99..000000000 --- a/packages/ui-mobile/src/card/project-card/index.tsx +++ /dev/null @@ -1,127 +0,0 @@ -import { Model } from "@dzcode.io/models/dist/_base"; -import { ProjectEntity } from "@dzcode.io/models/dist/project"; -import { RepositoryEntity } from "@dzcode.io/models/dist/repository"; -import { getRepositoryURL } from "@dzcode.io/models/dist/repository-reference/utils"; -import MaterialIcons from "@expo/vector-icons/MaterialIcons"; -import { FC, memo } from "react"; -import { Dimensions } from "react-native"; -import { ScrollView } from "react-native"; -import { View } from "react-native"; -import { useTheme } from "src/_hooks/use-theme"; -import { AvatarGroup } from "src/avatar/avatar-group"; -import { Badge } from "src/badge"; -import { Button } from "src/button"; -import { Card } from "src/card/card"; -import { Chip } from "src/chip"; -import { Divider } from "src/divider"; -import { Title } from "src/text/title"; - -import { cardStyles } from "./styles"; - -interface ProjectCardProps { - project: Model & { - repositories: Model[]; - }; - openLink: (url: string) => void; -} - -const CardItem: FC = ({ - project: { name, repositories }, - - openLink, -}: ProjectCardProps) => { - const width = Dimensions.get("window").width; - const { colors } = useTheme(); - return ( - - - {name} - - - - {repositories.map((repository, index) => { - let link = `${repository.owner}/${repository.repository}`; - link = link.length >= width / 10 ? link.slice(0, width / 10) + "..." : link; - const avatarUris = repository.contributors.map((contributor) => contributor.avatarUrl); - return ( - - - - - {repository.stats.contributionCount > 0 && ( - - - - {repository.stats.contributionCount} - - - )} - - {repository.stats.languages.length > 0 && ( - - - {repository.stats.languages.map((lang) => ( - - {lang} - - ))} - - - )} - - ); - })} - - - ); -}; - -/** - * ProjectCard component used to display the project card in the app - * @prop {Model} project - the project to display - * @prop {Function} openLink - the function to open the link - * @example - * Linking.openURL(url)} - * /> - */ -export const ProjectCard = memo(CardItem); diff --git a/packages/ui-mobile/src/card/project-card/styles.ts b/packages/ui-mobile/src/card/project-card/styles.ts deleted file mode 100644 index dfdb637b4..000000000 --- a/packages/ui-mobile/src/card/project-card/styles.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { StyleSheet } from "react-native"; -import { LARGE_MARGIN_SIZE, MEDIUM_MARGIN_SIZE, MEDIUM_TEXT_SIZE } from "src/_utils/constants"; - -export const cardStyles = StyleSheet.create({ - mainView: { - marginHorizontal: MEDIUM_MARGIN_SIZE, - marginVertical: MEDIUM_MARGIN_SIZE / 2, - borderWidth: 1, - }, - reposColumn: { - flex: 1, - alignItems: "flex-start", - }, - divider1: { - height: 1, - marginTop: 10, - marginLeft: -16, - width: "50%", - }, - divider2: { - marginLeft: LARGE_MARGIN_SIZE, - height: 40, - width: 1, - marginRight: MEDIUM_MARGIN_SIZE, - }, - row: { - flexDirection: "row", - alignItems: "center", - marginBottom: MEDIUM_MARGIN_SIZE, - }, - badgeView: { - backgroundColor: "transparent", - position: "absolute", - bottom: -12, - right: -12, - fontSize: MEDIUM_TEXT_SIZE, - }, - marginRight: { - marginLeft: LARGE_MARGIN_SIZE, - }, - flatListView: { - marginLeft: MEDIUM_MARGIN_SIZE, - marginBottom: MEDIUM_MARGIN_SIZE, - }, - chipView: { - marginRight: MEDIUM_MARGIN_SIZE, - }, - avatarGroup: { - marginLeft: MEDIUM_MARGIN_SIZE, - }, -}); diff --git a/packages/ui-mobile/src/checkbox/index.test.tsx b/packages/ui-mobile/src/checkbox/index.test.tsx deleted file mode 100644 index 09bc068ef..000000000 --- a/packages/ui-mobile/src/checkbox/index.test.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import { render } from "@testing-library/react-native"; - -import { Checkbox } from "."; - -describe("Checkbox", () => { - it("should render", () => { - const { container } = render(); - expect(container).toBeTruthy(); - }); -}); diff --git a/packages/ui-mobile/src/checkbox/index.ts b/packages/ui-mobile/src/checkbox/index.ts deleted file mode 100644 index 716321308..000000000 --- a/packages/ui-mobile/src/checkbox/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { Checkbox } from "react-native-paper"; diff --git a/packages/ui-mobile/src/chip/index.test.tsx b/packages/ui-mobile/src/chip/index.test.tsx deleted file mode 100644 index 8d186aab8..000000000 --- a/packages/ui-mobile/src/chip/index.test.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import { render } from "@testing-library/react-native"; -import { Text } from "react-native"; - -import { Chip } from "."; - -describe("Chip", () => { - it("should render", () => { - const { container } = render( - - Chip - , - ); - expect(container).toBeTruthy(); - }); -}); diff --git a/packages/ui-mobile/src/chip/index.ts b/packages/ui-mobile/src/chip/index.ts deleted file mode 100644 index 5d17214da..000000000 --- a/packages/ui-mobile/src/chip/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { Chip } from "react-native-paper"; diff --git a/packages/ui-mobile/src/divider/index.test.tsx b/packages/ui-mobile/src/divider/index.test.tsx deleted file mode 100644 index 526d1ab67..000000000 --- a/packages/ui-mobile/src/divider/index.test.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import { render } from "@testing-library/react-native"; - -import { Divider } from "."; - -describe("Divider", () => { - it("should render", () => { - const { container } = render(); - expect(container).toBeTruthy(); - }); -}); diff --git a/packages/ui-mobile/src/divider/index.ts b/packages/ui-mobile/src/divider/index.ts deleted file mode 100644 index 3b84feca0..000000000 --- a/packages/ui-mobile/src/divider/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { Divider } from "react-native-paper"; diff --git a/packages/ui-mobile/src/drawer/drawer-actions/index.ts b/packages/ui-mobile/src/drawer/drawer-actions/index.ts deleted file mode 100644 index 3a40e729e..000000000 --- a/packages/ui-mobile/src/drawer/drawer-actions/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { DrawerActions } from "@react-navigation/native"; diff --git a/packages/ui-mobile/src/drawer/drawer-content/index.test.tsx b/packages/ui-mobile/src/drawer/drawer-content/index.test.tsx deleted file mode 100644 index 52c508cfa..000000000 --- a/packages/ui-mobile/src/drawer/drawer-content/index.test.tsx +++ /dev/null @@ -1,75 +0,0 @@ -import { render } from "@testing-library/react-native"; -import { SafeAreaProvider } from "react-native-safe-area-context"; - -import { DrawerContent } from "."; - -describe("DrawerContent", () => { - it("should render", () => { - const props = { - progress: { - " __value": 0, - isNativelyInitialized: jest.fn(), - }, - state: { - index: 0, - key: "drawer", - routeNames: ["Home"], - routes: [ - { - key: "Home", - name: "Home", - }, - ], - stale: false, - type: "drawer", - history: [], - }, - navigation: { - canGoBack: jest.fn(), - dangerouslyGetParent: jest.fn(), - dangerouslyGetState: jest.fn(), - dispatch: jest.fn(), - emit: jest.fn(), - goBack: jest.fn(), - isFocused: jest.fn(), - navigate: jest.fn(), - reset: jest.fn(), - setParams: jest.fn(), - toggleDrawer: jest.fn(), - closeDrawer: jest.fn(), - openDrawer: jest.fn(), - getParent: jest.fn(), - getState: jest.fn(), - jumpTo: jest.fn(), - }, - descriptors: { - Home: { - navigation: { - canGoBack: jest.fn(), - dangerouslyGetParent: jest.fn(), - dangerouslyGetState: jest.fn(), - dispatch: jest.fn(), - goBack: jest.fn(), - isFocused: jest.fn(), - navigate: jest.fn(), - reset: jest.fn(), - setParams: jest.fn(), - getParent: jest.fn(), - getState: jest.fn(), - addListener: jest.fn(), - removeListener: jest.fn(), - setOptions: jest.fn(), - }, - options: {}, - render: jest.fn(), - }, - }, - }; - const { container } = render( - - - , - ); - expect(container).toBeTruthy(); - }); -}); diff --git a/packages/ui-mobile/src/drawer/drawer-content/index.tsx b/packages/ui-mobile/src/drawer/drawer-content/index.tsx deleted file mode 100644 index b1020aaf5..000000000 --- a/packages/ui-mobile/src/drawer/drawer-content/index.tsx +++ /dev/null @@ -1,40 +0,0 @@ -/* @eslint-disable @typescript-eslint/no-var-requires */ -import { - DrawerContentComponentProps, - DrawerContentScrollView, - DrawerItemList, -} from "@react-navigation/drawer"; -import { FC } from "react"; -import { Image, SafeAreaView, View } from "react-native"; -import { Text } from "react-native-paper"; - -import { drawerStyles } from "./styles"; - -interface DrawerContentProps extends DrawerContentComponentProps { - /** - * the version of the app - */ - version: string; -} - -/** - * DrawerContent component used to display the drawer content in the app - * @example - * - * @see https://reactnavigation.org/docs/drawer-navigator/ - */ -export const DrawerContent: FC = (props) => { - return ( - - - {/* dzcode.io logo */} - - - {props.version} - - {/* Drawer items */} - - - - ); -}; diff --git a/packages/ui-mobile/src/drawer/drawer-content/styles.ts b/packages/ui-mobile/src/drawer/drawer-content/styles.ts deleted file mode 100644 index a98c43214..000000000 --- a/packages/ui-mobile/src/drawer/drawer-content/styles.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { StyleSheet } from "react-native"; -import { - LARGE_LOGO_WIDTH, - LARGE_MARGIN_SIZE, - MEDIUM_MARGIN_SIZE, - SMALL_LOGO_HEIGHT, - SMALL_MARGIN_SIZE, -} from "src/_utils/constants"; - -export const drawerStyles = StyleSheet.create({ - logoView: { - width: LARGE_LOGO_WIDTH, - height: SMALL_LOGO_HEIGHT, - resizeMode: "stretch", - margin: MEDIUM_MARGIN_SIZE, - marginTop: LARGE_MARGIN_SIZE, - marginBottom: 0, - }, - version: { - margin: MEDIUM_MARGIN_SIZE, - marginBottom: LARGE_MARGIN_SIZE, - textAlign: "center", - }, - switchView: { - marginHorizontal: SMALL_MARGIN_SIZE, - }, -}); diff --git a/packages/ui-mobile/src/error-boundary/index.test.tsx b/packages/ui-mobile/src/error-boundary/index.test.tsx deleted file mode 100644 index ed4bea366..000000000 --- a/packages/ui-mobile/src/error-boundary/index.test.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import { render } from "@testing-library/react-native"; -import { View } from "react-native"; - -import { ErrorBoundary } from "."; - -describe("ErrorBoundary", () => { - it("should render", () => { - const { container } = render( - - - , - ); - expect(container).toBeTruthy(); - }); -}); diff --git a/packages/ui-mobile/src/error-boundary/index.tsx b/packages/ui-mobile/src/error-boundary/index.tsx deleted file mode 100644 index 0d3de2950..000000000 --- a/packages/ui-mobile/src/error-boundary/index.tsx +++ /dev/null @@ -1,56 +0,0 @@ -import { ErrorBoundary as SentryErrorBoundary } from "@sentry/react-native"; -import { FC } from "react"; -import { Linking, View } from "react-native"; -import { Button, Headline } from "react-native-paper"; - -interface ErrorBoundaryProps { - /** - * the children of the error boundary - */ - children?: React.ReactNode; - /** - * the message to display when an error is caught - */ - message?: string; -} - -/** - * ErrorBoundary component used to display a fallback UI when an error is caught - * @example - * - * Content - * - */ -export const ErrorBoundary: FC = ({ - children, - message = "Ops, something broke, we're checking on our end...", -}) => ( - - {message} - - - } - > - {children} - -); diff --git a/packages/ui-mobile/src/filter/index.test.tsx b/packages/ui-mobile/src/filter/index.test.tsx deleted file mode 100644 index c137ccc30..000000000 --- a/packages/ui-mobile/src/filter/index.test.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import { render } from "@testing-library/react-native"; - -import { Filters } from "."; - -describe("Filters", () => { - it("should render", () => { - const { container } = render( undefined} />); - expect(container).toBeTruthy(); - }); -}); diff --git a/packages/ui-mobile/src/filter/index.tsx b/packages/ui-mobile/src/filter/index.tsx deleted file mode 100644 index 286ea55f1..000000000 --- a/packages/ui-mobile/src/filter/index.tsx +++ /dev/null @@ -1,53 +0,0 @@ -import { FC } from "react"; -import type { Filter } from "src/_types/filter"; -import { Checkbox } from "src/checkbox"; -import { List } from "src/list"; - -interface FilterProps { - /** - * the filters to display - */ - filters: Filter[]; - /** - * the function to call when a checkbox is pressed - */ - onCheckboxPress: (filterName: string, optionName: string) => void; -} - -/** - * Filters component used to display the list of filters coming from `@dzcode.io/api` in the app - * @example - * console.log(filterName, optionName)} - * /> - */ -export const Filters: FC = ({ filters, onCheckboxPress }) => { - return ( - - {filters.map(({ name: filterName, options }) => ( - - {options.map(({ label: optionLabel, name: optionName, checked }) => ( - ( - { - onCheckboxPress(filterName, optionName); - }} - /> - )} - onPress={() => { - onCheckboxPress(filterName, optionName); - }} - /> - ))} - - ))} - - ); -}; diff --git a/packages/ui-mobile/src/list/index.test.tsx b/packages/ui-mobile/src/list/index.test.tsx deleted file mode 100644 index e0a0300cd..000000000 --- a/packages/ui-mobile/src/list/index.test.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import { render } from "@testing-library/react-native"; -import { Text } from "react-native"; - -import { List } from "."; - -describe("List", () => { - it("should render", () => { - const { container } = render( - - List - , - ); - expect(container).toBeTruthy(); - }); -}); diff --git a/packages/ui-mobile/src/list/index.ts b/packages/ui-mobile/src/list/index.ts deleted file mode 100644 index ac1027cc8..000000000 --- a/packages/ui-mobile/src/list/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { List } from "react-native-paper"; diff --git a/packages/ui-mobile/src/loading/index.test.tsx b/packages/ui-mobile/src/loading/index.test.tsx deleted file mode 100644 index 59205911d..000000000 --- a/packages/ui-mobile/src/loading/index.test.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import { render } from "@testing-library/react-native"; - -import { DZCodeLoading } from "."; - -describe("DZCodeLoading", () => { - it("should render", () => { - const { container } = render(); - expect(container).toBeTruthy(); - }); -}); diff --git a/packages/ui-mobile/src/loading/index.tsx b/packages/ui-mobile/src/loading/index.tsx deleted file mode 100644 index 6b7d1a8af..000000000 --- a/packages/ui-mobile/src/loading/index.tsx +++ /dev/null @@ -1,53 +0,0 @@ -import { FC, useEffect, useState } from "react"; -import { Animated, ImageStyle } from "react-native"; - -import { dzcodeLoadingStyles } from "./styles"; - -interface DZCodeLoadingProps { - /** - * the style of the dzcode.io logo - */ - style?: ImageStyle; -} -/** - * DZCodeLoading component used to display the dzcode.io loading logo in the app - * @example - * - * @see https://reactnative.dev/docs/image#style - */ - -export const DZCodeLoading: FC = ({ style }: DZCodeLoadingProps) => { - const [rotateAnimValue, setRotateAnimValue] = useState(new Animated.Value(0)); - - useEffect(() => { - Animated.loop( - Animated.spring(rotateAnimValue, { - toValue: 1, - friction: 5, - useNativeDriver: true, - }), - ).start(() => { - setRotateAnimValue(new Animated.Value(0)); - }); - }, []); - - return ( - - ); -}; diff --git a/packages/ui-mobile/src/loading/styles.ts b/packages/ui-mobile/src/loading/styles.ts deleted file mode 100644 index a6ee64dab..000000000 --- a/packages/ui-mobile/src/loading/styles.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { StyleSheet } from "react-native"; -import { SMALL_LOGO_HEIGHT, SMALL_LOGO_WIDTH } from "src/_utils/constants"; - -export const dzcodeLoadingStyles = StyleSheet.create({ - imageView: { - width: SMALL_LOGO_WIDTH, - height: SMALL_LOGO_HEIGHT, - resizeMode: "contain", - }, -}); diff --git a/packages/ui-mobile/src/markdown/index.test.tsx b/packages/ui-mobile/src/markdown/index.test.tsx deleted file mode 100644 index d44876f42..000000000 --- a/packages/ui-mobile/src/markdown/index.test.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import { render } from "@testing-library/react-native"; - -import { Markdown } from "."; - -describe("Markdown", () => { - it("should render", () => { - const { container } = render(); - expect(container).toBeTruthy(); - }); -}); diff --git a/packages/ui-mobile/src/markdown/index.tsx b/packages/ui-mobile/src/markdown/index.tsx deleted file mode 100644 index d6e249525..000000000 --- a/packages/ui-mobile/src/markdown/index.tsx +++ /dev/null @@ -1,94 +0,0 @@ -import { Roboto_400Regular, Roboto_700Bold, useFonts } from "@expo-google-fonts/roboto"; -import { FC } from "react"; -import { View } from "react-native"; -import { default as MarkdownDisplay, MarkdownIt } from "react-native-markdown-display"; -import { useTheme } from "src/_hooks/use-theme"; -import { LARGE_MARGIN_SIZE } from "src/_utils/constants"; -import { DZCodeLoading } from "src/loading"; - -interface MarkdownProps { - /** - * the markdown content to display - */ - content: string; - /** - * the function to open the link - */ - onLinkPress?: (url: string) => void; -} - -/** - * Markdown component used to display markdown content - * @example - * Linking.openURL(url)} - * /> - */ -export const Markdown: FC = ({ content, onLinkPress }) => { - const [fontsLoaded] = useFonts({ - Roboto_400Regular, - Roboto_700Bold, - }); - const { colors } = useTheme(); - - if (!fontsLoaded) { - return ( - - - - ); - } else { - return ( - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-expect-error - { - onLinkPress?.(url); - return true; - }} - > - {content} - - ); - } -}; diff --git a/packages/ui-mobile/src/navigation/drawer-nav/index.test.tsx b/packages/ui-mobile/src/navigation/drawer-nav/index.test.tsx deleted file mode 100644 index 560f7b387..000000000 --- a/packages/ui-mobile/src/navigation/drawer-nav/index.test.tsx +++ /dev/null @@ -1,31 +0,0 @@ -import { NavigationContainer } from "@react-navigation/native"; -import { act, render } from "@testing-library/react-native"; -import { FC } from "react"; -import { View } from "react-native"; -import type { Route } from "src/_types/route"; - -import { DrawerNav } from "."; - -const Home: FC = () => ; - -const routes: Route[] = [ - { - name: "Home", - component: Home, - label: "Home", - title: "Home", - }, -]; - -describe("DrawerNav", () => { - it("should render", async () => { - const { container } = render( - - - , - ); - await act(async () => { - expect(container).toBeTruthy(); - }); - }); -}); diff --git a/packages/ui-mobile/src/navigation/drawer-nav/index.tsx b/packages/ui-mobile/src/navigation/drawer-nav/index.tsx deleted file mode 100644 index 1fd8bb6d8..000000000 --- a/packages/ui-mobile/src/navigation/drawer-nav/index.tsx +++ /dev/null @@ -1,63 +0,0 @@ -import { createDrawerNavigator, DrawerContentComponentProps } from "@react-navigation/drawer"; -import { DrawerHeaderProps } from "@react-navigation/drawer/lib/typescript/src/types"; -import { FC } from "react"; -import type { Route } from "src/_types/route"; - -const { Navigator, Screen } = createDrawerNavigator(); - -interface DrawerNavProps { - /** - * the routes of the drawer navigation - */ - routes: Route[]; - /** - * the initial route name of the drawer navigation - */ - initialRouteName?: string; - /** - * the header of the drawer navigation - */ - header?: (props: DrawerHeaderProps) => React.ReactNode; - /** - * the drawer content of the drawer navigation - */ - drawerContent?: (props: DrawerContentComponentProps) => React.ReactNode; -} - -/** - * DrawerNav component used to create a drawer navigation - * @example - * ( - * name === props.scene.route.name)?.title || ""} - * openDrawer={() => props.scene.descriptor.navigation.dispatch(DrawerActions.openDrawer())} - * /> - * )} - * drawerContent={(props) => } - * /> - * @see https://reactnavigation.org/docs/drawer-navigator/ - */ -export const DrawerNav: FC = ({ - routes, - initialRouteName, - header, - drawerContent, -}) => { - return ( - - {routes.map(({ name, component, label }) => ( - - ))} - - ); -}; diff --git a/packages/ui-mobile/src/navigation/navigation-container/index.test.tsx b/packages/ui-mobile/src/navigation/navigation-container/index.test.tsx deleted file mode 100644 index b33bc6917..000000000 --- a/packages/ui-mobile/src/navigation/navigation-container/index.test.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import { render } from "@testing-library/react-native"; -import { Text } from "react-native"; - -import { NavigationContainer } from "."; - -describe("NavigationContainer", () => { - it("should render", () => { - const { container } = render( - - Test - , - ); - expect(container).toBeTruthy(); - }); -}); diff --git a/packages/ui-mobile/src/navigation/navigation-container/index.ts b/packages/ui-mobile/src/navigation/navigation-container/index.ts deleted file mode 100644 index 95e3d2dd0..000000000 --- a/packages/ui-mobile/src/navigation/navigation-container/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { NavigationContainer } from "@react-navigation/native"; diff --git a/packages/ui-mobile/src/navigation/stack-nav/index.test.tsx b/packages/ui-mobile/src/navigation/stack-nav/index.test.tsx deleted file mode 100644 index 035a74027..000000000 --- a/packages/ui-mobile/src/navigation/stack-nav/index.test.tsx +++ /dev/null @@ -1,31 +0,0 @@ -import { NavigationContainer } from "@react-navigation/native"; -import { act, render } from "@testing-library/react-native"; -import { FC } from "react"; -import { View } from "react-native"; -import type { Route } from "src/_types/route"; - -import { StackNav } from "."; - -const Home: FC = () => ; - -const routes: Route[] = [ - { - name: "Home", - component: Home, - label: "Home", - title: "Home", - }, -]; - -describe("StackNav", () => { - it("should render", async () => { - const { container } = render( - - - , - ); - await act(async () => { - expect(container).toBeTruthy(); - }); - }); -}); diff --git a/packages/ui-mobile/src/navigation/stack-nav/index.tsx b/packages/ui-mobile/src/navigation/stack-nav/index.tsx deleted file mode 100644 index cc38552e7..000000000 --- a/packages/ui-mobile/src/navigation/stack-nav/index.tsx +++ /dev/null @@ -1,36 +0,0 @@ -import { createStackNavigator } from "@react-navigation/stack"; -import { FC } from "react"; -import type { Route } from "src/_types/route"; - -const { Navigator, Screen } = createStackNavigator(); - -interface StackNavProps { - /** - * the routes of the stack navigation - */ - routes: Route[]; - /** - * the initial route name of the stack navigation - */ - initialRouteName?: string; -} - -/** - * StackNav component used to create a stack navigation - * @example - * - * @see https://reactnavigation.org/docs/stack-navigator/ - */ -export const StackNav: FC = ({ routes, initialRouteName }) => { - return ( - null }}> - {routes.map(({ name, component, label }) => ( - - ))} - - ); -}; diff --git a/packages/ui-mobile/src/text/paragraph/index.test.tsx b/packages/ui-mobile/src/text/paragraph/index.test.tsx deleted file mode 100644 index fa43dcf7a..000000000 --- a/packages/ui-mobile/src/text/paragraph/index.test.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import { render } from "@testing-library/react-native"; - -import { Paragraph } from "."; - -describe("Paragraph", () => { - it("should render", () => { - const { container } = render(Text); - expect(container).toBeTruthy(); - }); -}); diff --git a/packages/ui-mobile/src/text/paragraph/index.ts b/packages/ui-mobile/src/text/paragraph/index.ts deleted file mode 100644 index 616ca7a5b..000000000 --- a/packages/ui-mobile/src/text/paragraph/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { Paragraph } from "react-native-paper"; diff --git a/packages/ui-mobile/src/text/text/index.test.tsx b/packages/ui-mobile/src/text/text/index.test.tsx deleted file mode 100644 index a80b324a7..000000000 --- a/packages/ui-mobile/src/text/text/index.test.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import { render } from "@testing-library/react-native"; - -import { Text } from "."; - -describe("Text", () => { - it("should render", () => { - const { container } = render(Text); - expect(container).toBeTruthy(); - }); -}); diff --git a/packages/ui-mobile/src/text/text/index.ts b/packages/ui-mobile/src/text/text/index.ts deleted file mode 100644 index 2df09a2dd..000000000 --- a/packages/ui-mobile/src/text/text/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { Text } from "react-native-paper"; diff --git a/packages/ui-mobile/src/text/title/index.test.tsx b/packages/ui-mobile/src/text/title/index.test.tsx deleted file mode 100644 index bc5d22b00..000000000 --- a/packages/ui-mobile/src/text/title/index.test.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import { render } from "@testing-library/react-native"; - -import { Title } from "."; - -describe("Title", () => { - it("should render", () => { - const { container } = render(Text); - expect(container).toBeTruthy(); - }); -}); diff --git a/packages/ui-mobile/src/text/title/index.ts b/packages/ui-mobile/src/text/title/index.ts deleted file mode 100644 index 1d7b73605..000000000 --- a/packages/ui-mobile/src/text/title/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { Title } from "react-native-paper"; diff --git a/packages/ui-mobile/src/theme/index.ts b/packages/ui-mobile/src/theme/index.ts deleted file mode 100644 index 52cd4f776..000000000 --- a/packages/ui-mobile/src/theme/index.ts +++ /dev/null @@ -1,58 +0,0 @@ -import { - DarkTheme as NavigationDarkTheme, - DefaultTheme as NavigationDefaultTheme, -} from "@react-navigation/native"; -import { - DefaultTheme as PaperDefaultTheme, - MD3DarkTheme as PaperDarkTheme, -} from "react-native-paper"; -import { Colors } from "src/theme/style/color"; - -// define combined default theme -const CombinedDefaultTheme = { - ...PaperDefaultTheme, - ...NavigationDefaultTheme, - colors: { - ...PaperDefaultTheme.colors, - ...NavigationDefaultTheme.colors, - }, -}; - -// define combined dark theme -const CombinedDarkTheme = { - ...PaperDarkTheme, - ...NavigationDarkTheme, - colors: { - ...PaperDarkTheme.colors, - ...NavigationDarkTheme.colors, - background: Colors.black, - }, -}; - -/** - * default theme for the app - * @see https://callstack.github.io/react-native-paper/theming.html - * @see https://reactnavigation.org/docs/themes/ - */ -export const defaultTheme = { - ...CombinedDefaultTheme, - colors: { - ...CombinedDefaultTheme.colors, - primary: Colors.primary, - accent: Colors.accent, - }, -}; - -/** - * dark theme for the app - * @see https://callstack.github.io/react-native-paper/theming.html - * @see https://reactnavigation.org/docs/themes/ - */ -export const darkTheme = { - ...CombinedDarkTheme, - colors: { - ...CombinedDarkTheme.colors, - primary: Colors.primary, - accent: Colors.accent, - }, -}; diff --git a/packages/ui-mobile/src/theme/style/color.ts b/packages/ui-mobile/src/theme/style/color.ts deleted file mode 100644 index f340dab43..000000000 --- a/packages/ui-mobile/src/theme/style/color.ts +++ /dev/null @@ -1,14 +0,0 @@ -/** - * Colors used in the app - */ -export const Colors = { - primary: "#43a047", - accent: "#50C255", - white: "#fff", - light: "#fff", - black: "#000", - dark: "#282c34", - grey: "#757575", - darkGrey: "#1d1d1d", - violet: "#a371f7", -}; diff --git a/packages/ui-mobile/src/theme/theme-provider/index.test.tsx b/packages/ui-mobile/src/theme/theme-provider/index.test.tsx deleted file mode 100644 index e7f298c33..000000000 --- a/packages/ui-mobile/src/theme/theme-provider/index.test.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import { render } from "@testing-library/react-native"; -import { Text } from "react-native"; - -import { ThemeProvider } from "."; - -describe("ThemeProvider", () => { - it("should render", () => { - const { container } = render( - - Hello - , - ); - expect(container).toBeTruthy(); - }); -}); diff --git a/packages/ui-mobile/src/theme/theme-provider/index.ts b/packages/ui-mobile/src/theme/theme-provider/index.ts deleted file mode 100644 index c38e7e2d7..000000000 --- a/packages/ui-mobile/src/theme/theme-provider/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { Provider as ThemeProvider } from "react-native-paper"; diff --git a/packages/ui-mobile/src/try-again/index.test.tsx b/packages/ui-mobile/src/try-again/index.test.tsx deleted file mode 100644 index f81e57a9d..000000000 --- a/packages/ui-mobile/src/try-again/index.test.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import { render } from "@testing-library/react-native"; - -import { TryAgain } from "."; - -describe("TryAgain", () => { - it("should render", () => { - const { container } = render( - console.log("do something")} - />, - ); - expect(container).toBeTruthy(); - }); -}); diff --git a/packages/ui-mobile/src/try-again/index.tsx b/packages/ui-mobile/src/try-again/index.tsx deleted file mode 100644 index a9a06982d..000000000 --- a/packages/ui-mobile/src/try-again/index.tsx +++ /dev/null @@ -1,46 +0,0 @@ -import { FC } from "react"; -import { View } from "react-native"; -import { Button, Headline } from "react-native-paper"; - -interface TryAgainProps { - /** - * the function to call when the button is clicked - */ - onClick: () => void; - /** - * the error message to display - */ - error: string; - /** - * the action to display on the button - */ - action: string; -} - -/** - * TryAgain component used to display a button to try again when an error is caught - * @example - * {}} - * error="Ops, something broke, we're checking on our end..." - * action="Try again" - * /> - */ -export const TryAgain: FC = ({ error, action, onClick }) => { - return ( - - {error} - - - ); -}; diff --git a/packages/ui-mobile/tsconfig.json b/packages/ui-mobile/tsconfig.json deleted file mode 100644 index 5a6dd7979..000000000 --- a/packages/ui-mobile/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "@dzcode.io/tooling/tsconfig.json", - "compilerOptions": { - "outDir": "dist", - "baseUrl": "." - }, - "include": ["src", "jest.config.js"] -} From 4ac96d8ad55e79109406d8045962131931d546f8 Mon Sep 17 00:00:00 2001 From: Zakaria Mansouri Date: Tue, 17 Dec 2024 22:28:27 +0100 Subject: [PATCH 3/3] removed mobile related code --- .github/ISSUE_TEMPLATE/bug_report.md | 2 +- .gitignore | 3 --- packages/tooling/.prettierignore | 3 --- packages/tooling/sentry-release.ts | 9 --------- packages/tooling/version-apply.ts | 11 ----------- web/src/components/locale/dictionary.ts | 12 ------------ 6 files changed, 1 insertion(+), 39 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 1a028fc3a..a1cb39fe1 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -24,7 +24,7 @@ If applicable, add screenshots to help explain your problem. **Environment:** -- OS: [e.g. iOS] +- OS: [e.g. Windows] - Browser : [e.g. IE] - Version [e.g. 9] diff --git a/.gitignore b/.gitignore index 3d15193ae..3d4574c59 100644 --- a/.gitignore +++ b/.gitignore @@ -33,8 +33,5 @@ cloudflare/public/* .wrangler **/cloudflare/wrangler.toml -# mobile -mobile/.expo - # data data/nodemon.json diff --git a/packages/tooling/.prettierignore b/packages/tooling/.prettierignore index 6b3bec763..e7bc2a296 100644 --- a/packages/tooling/.prettierignore +++ b/packages/tooling/.prettierignore @@ -9,9 +9,6 @@ oracle-cloud/build bundle .bundle-info.json -# mobile -.expo - ./.* .editorconfig .gitignore diff --git a/packages/tooling/sentry-release.ts b/packages/tooling/sentry-release.ts index 26acfc352..9bcdebd4c 100644 --- a/packages/tooling/sentry-release.ts +++ b/packages/tooling/sentry-release.ts @@ -19,15 +19,6 @@ if (!authToken) throw new Error("Please provide a authToken"); const org = "dzcode"; const project = scope; -if (scope === "mobile") { - console.log(`Creating, publishing and deploying a new Sentry release ...`); - const mobileScript = `SENTRY_AUTH_TOKEN=${authToken} SENTRY_ORG=${org} SENTRY_PROJECT=${project} SENTRY_RELEASE=${scope}@${version} SENTRY_DEPLOY_ENV=${environment} SENTRY_DIST=0 expo export --dump-sourcemap`; - console.log(`running:\n${mobileScript}`); - const mobileScriptStdout = String(execSync(mobileScript)); - console.log(mobileScriptStdout); - process.exit(0); -} - console.log(`Creating a Sentry release draft ...`); const releaseScript = `sentry-cli --auth-token ${authToken} releases --org ${org} new --project ${project} ${scope}@${version}`; console.log(`running:\n${releaseScript}`); diff --git a/packages/tooling/version-apply.ts b/packages/tooling/version-apply.ts index 4db61679e..4b31c7eb0 100644 --- a/packages/tooling/version-apply.ts +++ b/packages/tooling/version-apply.ts @@ -32,17 +32,6 @@ dependencies.forEach(({ location }) => { console.log(`Applied version ${version} to ${packageJsonPath}`); modifiedFilePaths.push(packageJsonPath); } - - const appJsonPath = join(location, "app.json"); - if (existsSync(appJsonPath)) { - const appJsonContent = require(appJsonPath); // eslint-disable-line @typescript-eslint/no-require-imports - appJsonContent.expo.version = cleanVersion; - appJsonContent.expo.ios.buildNumber = cleanVersion; - appJsonContent.expo.android.versionCode = Number(cleanVersion.replace(/\D/g, "")); - writeFileSync(appJsonPath, JSON.stringify(appJsonContent, null, 2)); - console.log(`Applied version ${version} to ${appJsonPath}`); - modifiedFilePaths.push(appJsonPath); - } }); // Run prettier to make sure the modified files are properly formatted diff --git a/web/src/components/locale/dictionary.ts b/web/src/components/locale/dictionary.ts index d54b86db2..7432c0640 100644 --- a/web/src/components/locale/dictionary.ts +++ b/web/src/components/locale/dictionary.ts @@ -26,10 +26,6 @@ export const dictionary = { "footer-category-link-text-projects": { en: "Projects", ar: "مشاريع" }, "footer-category-link-text-articles": { en: "Articles", ar: "مقالات" }, "footer-category-link-text-faq": { en: "FAQ", ar: "اسئلة / اجوبة" }, - "footer-category-title-mobile": { en: "Mobile", ar: "تطبيق جوال" }, - "footer-category-link-text-android": { en: "Android", ar: "أندرويد" }, - "footer-category-link-text-ios": { en: "iOS", ar: "ايفون" }, - "footer-category-link-text-expo": { en: "Expo", ar: "اكسبو" }, "footer-category-title-social-media": { en: "Social Media", ar: "وسائل التواصل الاجتماعي", @@ -187,14 +183,6 @@ Besides the open tasks on [/Contribute](/Contribute) page, you can also contribu en: "Make a Contribution", ar: "قدم مساهمة", }, - "landing-mobile-title": { - en: "Try the mobile app from AppStore or PlayStore", - ar: "جرب تطبيق الهاتف المحمول من AppStore أو PlayStore", - }, - "landing-mobile-subtitle": { - en: "Meet the DzCode i/o mobile app and stay up-to-date with the state of Algerian open-source software on iOS and Android.", - ar: "تعرف على تطبيق DzCode i / o للجوال وابق على اطلاع دائم بأحدث البرامج مفتوحة المصدر الجزائرية على iOS و Android.", - }, "landing-milestones-title": { en: "Project roadmap", ar: "خارطة طريق المشروع",