Giter VIP home page Giter VIP logo

chafan-pwa's People

Contributors

agdholo avatar dependabot[bot] avatar izgzhen avatar lynzrand avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

chafan-pwa's Issues

RouterLink

Currently replacing a with RouterLink without other changes are introducing many silent bugs. The root cause is that currently the component is not fully reactive w.r.t. the params.

Lightweight markup language for comments etc.

v1 (deprecated): I used v-html and a very simple replace based translator -- which is fundamentally broken.

v2 (current): Now I try to reuse the vditor (as in SimpleEditor/SimpleViewer), but it is hard to cut down its features that are not wanted in a lightweight input box.

I can't find good open-source implementation of similar feature, so I tried the two approaches above. But apparently they are not ideal.

eslint problem with vue file

@lynzrand Currently, if you run on the latest codebase:

$ yarn run eslint src/components/NewInviteLinkBtn.vue
  0:0  error  Parsing error: "parserOptions.project" has been set for @typescript-eslint/parser.
The file does not match your project config: src/components/NewInviteLinkBtn.vue.
The extension for the file (.vue) is non-standard. You should add "parserOptions.extraFileExtensions" to your config

I tried to add the parserOptions.extraFileExtensions as suggested

diff --git a/.eslintrc.js b/.eslintrc.js
index e51111a..6e479af 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -27,6 +27,7 @@ module.exports = {
   parserOptions: {
     project: 'tsconfig.json',
     sourceType: 'module',
+    extraFileExtensions: ['.vue']
   },
   plugins: ['@typescript-eslint'],
   rules: {

but then rerun the same check will throw:

/Users/zhen/projects/apps/chafan-frontend/src/components/NewInviteLinkBtn.vue
  3:6  error  Parsing error: '>' expected

使用 <v-sheet> 替换多余的 <v-card> 来成为基底

问题说明:

目前存在有很多地方作为基底样式(<div> <v-sheet>)的地方使用 来布局。
这样会导致内部可能无法与整体布局对其,无法直接覆写 vuetify vCard 内部样式(会因为以上情况导致样式重复应用) #26

解决方案:

清理代码并用 <v-sheet> 来替换。

Review if API use is missing error handler

Currently, most of the API use are wrapped inside dispatchCaptureApiError or dispatchCaptureApiErrorWithErrorHandler to handle the erroneous cases when the API server is timing out, failing, or returning non-200 responses.

Editor improvements

目前的 vditor 是选用了多个现成的解决方案后的折中结果。但是 vditor 本身有很多行为无法定制(以至于现在我们用的是我改了代码的 fork),整体上的美观和方便程度和一流的编辑器/渲染器体验仍相差甚远(比较对象:知乎,medium,notion 等)。

但是无论做何改进,最重要的需要保持的特点是源格式为 Markdown-based。

封装重复组件

问题说明:

目前有大量的组件代码重复,例如各种 <CardComponent>

解决方案:

创建 base 组件来提供统一的布局/样式,然后供给其他组件应用。

样例:

<template>
  <v-card v-bind="$attrs">
    <slot />
  </v-card>
</template>

<script>
export default {
  name: "BaseCard"
};
</script>

为一些按钮添加鼠标悬浮时弹出的简短说明

有一些按钮的图形不能很好地暗示功能,也许增加一些悬浮说明更好。

期望改进的例子:

期望达到的效果:

Prettier

Does it conflict with ESLint/TSLint?

Font review

(思源黑体配的 Source Sans 不好看,要不要把英文字体换成 Inter
(Inter 可以考虑用可变字体减小大小,思源在 google fonts 上应该是可以按需加载的
(啊 两个应该都在 google fonts 上有,另外 google fonts 有一个国内可用的反代:fonts.loli.net

@lynzrand

设计主题切换功能

目前大多数内容已经组件化,不过需要进一步抽象;还需要加入一个 persistent state 记录用户的主题偏好(类似 LangPicker)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.